From 2dc158f2bad00744c2d735fdfda6b859eb26bee2 Mon Sep 17 00:00:00 2001 From: Urban Wallasch Date: Thu, 24 Jun 2021 17:56:39 +0200 Subject: [PATCH] * Made radical list button work as a toggle. * Added tool tips to some GUI elements. * Added icon to kanjidic file select button in preferences. * Minor GUI text changes. --- jiten-pai.py | 13 ++++++++++--- kanjidic.py | 30 ++++++++++++++++++------------ 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/jiten-pai.py b/jiten-pai.py index 794829a..0f6957a 100755 --- a/jiten-pai.py +++ b/jiten-pai.py @@ -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: ') diff --git a/kanjidic.py b/kanjidic.py index 3c5f3ea..934fb5f 100755 --- a/kanjidic.py +++ b/kanjidic.py @@ -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 = '%s\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() -- 2.30.2