Skip to content

Commit 549013c

Browse files
committed
save search term in self.search on every change
1 parent ad65abe commit 549013c

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

devdocs_desktop.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def __init__(self):
3333
self.args.add_argument('s', metavar='STR', help='the string to search', nargs='?', default='')
3434

3535
self.app_url = 'https://devdocs.io'
36-
self.search = self.args.parse_args().s
36+
self.search = self.args.parse_args().s.strip()
3737
self.open_link = False
3838
self.filter = ''
3939
self.options = self.read_settings_json('cookies')
@@ -282,19 +282,17 @@ def on_window_main_key_release_event(self, _widget, event):
282282
self.on_window_main_search_key_release_event(kname, event)
283283

284284
def on_window_main_search_key_release_event(self, kname, event):
285-
text = self.header_search.get_text()
286-
value = bool(text.strip())
287285
focus = self.header_search.has_focus()
288286

289-
if kname == 'Escape' and value:
290-
self.reset_header_search()
287+
if kname == 'Escape' and bool(self.search):
288+
self.header_search.set_text('')
291289

292290
if kname == 'Escape':
293291
self.header_search.grab_focus()
294292

295293
if kname == 'BackSpace' and not focus:
296294
self.header_search.grab_focus_without_selecting()
297-
self.header_search.delete_text(len(text) - 1, -1)
295+
self.header_search.delete_text(len(self.search) - 1, -1)
298296
self.header_search.set_position(-1)
299297

300298
if kname == 'slash' and not focus:
@@ -307,22 +305,18 @@ def on_window_main_search_key_release_event(self, kname, event):
307305

308306
def on_window_main_key_press_event(self, _widget, event):
309307
kname = Gdk.keyval_name(event.keyval)
310-
text = self.header_search.get_text()
311-
value = bool(text.strip())
312308
search = self.header_sbox.get_visible()
313309

314-
if kname == 'Tab' and value and search:
310+
if kname == 'Tab' and bool(self.search) and search:
315311
self.js_keyboard_event('._search', 9)
316312
self.js_element_value('._search-tag', self.update_header_filter)
317313

318314
return True
319315

320316
def on_header_search_entry_key_press_event(self, _widget, event):
321317
kname = Gdk.keyval_name(event.keyval)
322-
text = self.header_search.get_text()
323-
value = bool(text.strip())
324318

325-
if kname == 'BackSpace' and not value:
319+
if kname == 'BackSpace' and not bool(self.search):
326320
self.js_keyboard_event('._search', 8)
327321
self.js_element_value('._search-tag', self.update_header_filter)
328322

@@ -357,7 +351,8 @@ def on_header_button_reload_clicked(self, _widget):
357351
self.webview.reload()
358352

359353
def on_header_search_entry_search_changed(self, widget):
360-
self.js_form_input(widget.get_text())
354+
self.search = widget.get_text().strip()
355+
self.js_form_input(self.search)
361356

362357
def on_menu_main_link_clicked(self, widget):
363358
link = Gtk.Buildable.get_name(widget).split('_')[-1]

0 commit comments

Comments
 (0)