* Made radical list button work as a toggle.
authorUrban Wallasch <urban.wallasch@freenet.de>
Thu, 24 Jun 2021 15:56:39 +0000 (17:56 +0200)
committerUrban Wallasch <urban.wallasch@freenet.de>
Thu, 24 Jun 2021 15:56:39 +0000 (17:56 +0200)
* Added tool tips to some GUI elements.
* Added icon to kanjidic file select button in preferences.
* Minor GUI text changes.

jiten-pai.py
kanjidic.py

index 794829ae607c88083b2eca2723fc8917cb190952..0f6957a494766f01d689d61ca711e9f88b35fc53 100755 (executable)
@@ -701,18 +701,21 @@ class prefDialog(QDialog):
         # fonts
         fonts_group = zQGroupBox('Fonts')
         self.nfont_button = QPushButton('Normal Font')
+        self.nfont_button.setToolTip('Select font used in explanatory result text.')
         self.nfont_button.setMinimumWidth(130)
         self.nfont_button.clicked.connect(lambda: self.font_select(self.nfont_edit))
         self.nfont_edit = QLineEdit(cfg['nfont'] + ', ' + str(cfg['nfont_sz']))
         self.nfont_edit.setMinimumWidth(300)
         self.nfont_edit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
         self.lfont_button = QPushButton('Large Font')
+        self.lfont_button.setToolTip('Select font used for headwords in results.')
         self.lfont_button.setMinimumWidth(130)
         self.lfont_button.clicked.connect(lambda: self.font_select(self.lfont_edit))
         self.lfont_edit = QLineEdit(cfg['lfont'] + ', ' + str(cfg['lfont_sz']))
         self.lfont_edit.setMinimumWidth(300)
         self.lfont_edit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
         self.color_button = QPushButton('Highlight Color')
+        self.color_button.setToolTip('Select color used to highlight search terms in results and property names in KanjiDic.')
         self.color_button.setMinimumWidth(130)
         self.color_button.clicked.connect(lambda: self.color_select(self.color_edit))
         self.color_edit = QLineEdit(cfg['hl_col'])
@@ -725,10 +728,11 @@ class prefDialog(QDialog):
         fonts_layout.addRow(self.nfont_button, self.nfont_edit)
         fonts_layout.addRow(self.lfont_button, self.lfont_edit)
         fonts_layout.addRow(self.color_button, self.color_edit)
-        fonts_layout.addRow('Sample', self.font_sample)
+        fonts_layout.addRow('Font Sample:', self.font_sample)
         # search options
         search_group = zQGroupBox('Search Options')
-        self.search_deinflect = QCheckBox('&Verb Deinflection (experimental)')
+        self.search_deinflect = QCheckBox('&Verb Deinflection')
+        self.search_deinflect.setToolTip('Enable search heuristic for possibly inflected verbs or adjectives.')
         self.search_deinflect.setChecked(cfg['deinflect'])
         self.search_deinflect.setEnabled(_vconj_loaded)
         search_layout = zQVBoxLayout(search_group)
@@ -736,7 +740,9 @@ class prefDialog(QDialog):
         search_layout.addSpacing(10)
         # kanjidic options
         kdic_group = zQGroupBox('Kanji Dictionary')
-        self.kdic_button = QPushButton(cfg['kanjidic'])
+        file_icon = self.style().standardIcon(QStyle.SP_FileIcon)
+        self.kdic_button = QPushButton(file_icon, cfg['kanjidic'])
+        self.kdic_button.setToolTip('Select location of kanjidic file.')
         self.kdic_button.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
         self.kdic_button.clicked.connect(self.kanji_dict)
         kdic_layout = zQVBoxLayout(kdic_group)
@@ -1070,6 +1076,7 @@ class jpMainWindow(QMainWindow):
         self.genopt_alldict = QRadioButton('Search All D&ictionaries')
         self.genopt_alldict.setChecked(cfg['dict_all'])
         self.genopt_auto = QCheckBox('A&uto Adjust Options')
+        self.genopt_auto.setToolTip('Relax options when current search settings yield no results.')
         self.genopt_auto.setTristate(False)
         self.genopt_auto.setChecked(cfg['auto_adj'])
         self.genopt_dolimit = QCheckBox('&Limit Results: ')
index 3c5f3ea8fb9a3ec0e7b1f9d18ad21ce3d932e54b..934fb5fc887b4c1504f934718cd8968368e85d72 100755 (executable)
@@ -642,8 +642,10 @@ class kdMainWindow(QDialog):
         self.rad_search_clearbtn.setDefault(False)
         self.rad_search_clearbtn.setAutoDefault(False)
         self.rad_search_listbtn = QPushButton('&Radical List')
+        self.rad_search_listbtn.setToolTip('Toggle interactive radical list.')
+        self.rad_search_listbtn.setCheckable(True)
         self.rad_search_listbtn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
-        self.rad_search_listbtn.clicked.connect(self.show_radlist)
+        self.rad_search_listbtn.clicked.connect(lambda: self.show_radlist(self.rad_search_listbtn.isChecked()))
         self.rad_search_listbtn.setDefault(False)
         self.rad_search_listbtn.setAutoDefault(False)
         rad_search_layout = zQHBoxLayout()
@@ -653,6 +655,7 @@ class kdMainWindow(QDialog):
         # full text search
         text_search_layout = zQHBoxLayout()
         self.text_search_check = QCheckBox('Full Text Search:')
+        self.text_search_check.setToolTip('Perform a case insensitive full text search in raw kanjidic file.')
         self.text_search_check.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
         self.text_search_box = QComboBox()
         self.text_search_box.setMinimumWidth(200)
@@ -750,17 +753,20 @@ class kdMainWindow(QDialog):
         msg = '<span style="color:red;">%s</span>\n' % msg
         self.info_pane.setHtml(self.info_pane.toHtml() + msg)
 
-    def show_radlist(self):
-        if not self.radlist:
-            x, y, w, h = self.geometry().getRect()
-            fw = self.frameGeometry().width()
-            geo = QRect(x + fw, y, min(w, 600), max(h, 600))
-            self.radlist = kdRadicalList(toggle_action=self.on_radical_toggled, geo=geo)
-            self.on_rad_search_edit()
-            self.update_search()
-        self.radlist.update_btns(None)
-        self.radlist.show()
-        self.radlist.activateWindow()
+    def show_radlist(self, show=True):
+        if show:
+            if not self.radlist:
+                x, y, w, h = self.geometry().getRect()
+                fw = self.frameGeometry().width()
+                geo = QRect(x + fw, y, min(w, 600), max(h, 600))
+                self.radlist = kdRadicalList(toggle_action=self.on_radical_toggled, geo=geo)
+                self.on_rad_search_edit()
+                self.update_search()
+            self.radlist.update_btns(None)
+            self.radlist.show()
+            self.radlist.activateWindow()
+        elif self.radlist:
+            self.radlist.hide()
 
     def stroke_search_toggle(self):
         en = self.stroke_search_check.isChecked()