diff --git a/src/calibre/gui2/tweak_book/search.py b/src/calibre/gui2/tweak_book/search.py index bb13e8f69b..59305baa96 100644 --- a/src/calibre/gui2/tweak_book/search.py +++ b/src/calibre/gui2/tweak_book/search.py @@ -232,6 +232,13 @@ class SearchWidget(QWidget): self.fhl = fhl = QHBoxLayout(w) fhl.setContentsMargins(0, 0, 0, 0) fhl.addWidget(fb, stretch=10, alignment=Qt.AlignVCenter) + self.ae_func = b = QPushButton(_('Create/&edit'), self) + fhl.addWidget(b) + self.rm_func = b = QPushButton(_('Remo&ve'), self) + fhl.addWidget(b) + self.fsep = f = QFrame(self) + f.setFrameShape(f.VLine) + fhl.addWidget(f) self.fb = fb = PushButton(_('&Find'), 'find', self) self.rfb = rfb = PushButton(_('Replace a&nd Find'), 'replace-find', self) @@ -536,6 +543,20 @@ class EditSearch(QFrame): # {{{ la.setBuddy(r) l.addWidget(la), l.addWidget(r) + self.functions_container = w = QWidget() + l.addWidget(w) + w.g = g = QGridLayout(w) + self.la7 = la = QLabel(_('F&unction:')) + self.function = f = FunctionBox(self) + g.addWidget(la), g.addWidget(f) + g.setContentsMargins(0, 0, 0, 0) + la.setBuddy(f) + self.ae_func = b = QPushButton(_('Create/&edit'), self) + g.addWidget(b, 1, 1) + g.setColumnStretch(0, 10) + self.rm_func = b = QPushButton(_('Remo&ve'), self) + g.addWidget(b, 1, 2) + self.case_sensitive = c = QCheckBox(_('Case sensitive')) self.h = h = QHBoxLayout() l.addLayout(h) @@ -557,6 +578,15 @@ class EditSearch(QFrame): # {{{ h.addWidget(b) b.clicked.connect(self.emit_done) + self.mode_box.currentIndexChanged[int].connect(self.mode_changed) + self.mode_changed(self.mode_box.currentIndex()) + + def mode_changed(self, idx): + self.dot_all.setVisible(idx > 0) + self.functions_container.setVisible(idx == 2) + self.la3.setVisible(idx < 2) + self.replace.setVisible(idx < 2) + def show_search(self, search=None, search_index=-1, state=None): self.title.setText('