Search changes, plugin changes

This commit is contained in:
2022-10-27 17:23:27 -05:00
parent d0612a2b37
commit eeef0a4330
10 changed files with 87 additions and 128 deletions

View File

@@ -79,9 +79,6 @@ class Controller_Data:
self.is_pane4_hidden = False
self.override_drop_dest = None
self.is_searching = False
self.search_icon_grid = None
self.search_tab = None
self.cancel_creation = False
self.skip_edit = False

View File

@@ -102,24 +102,27 @@ class WidgetFileActionMixin:
self.set_bottom_labels(tab)
def popup_search_files(self, wid, keyname):
entry = self.builder.get_object(f"win{wid}_search_field")
self.builder.get_object(f"win{wid}_search").popup()
entry.set_text(keyname)
entry.grab_focus_without_selecting()
entry.set_position(-1)
def do_file_search(self, widget, eve=None):
query = widget.get_text().lower()
self.search_icon_grid.unselect_all()
for i, file in enumerate(self.search_tab.get_files()):
if query and query in file[0].lower():
path = Gtk.TreePath().new_from_indices([i])
self.search_icon_grid.select_path(path)
if not self.ctrl_down and not self.shift_down and not self.alt_down:
target = widget.get_name()
notebook = self.builder.get_object(target)
page = notebook.get_current_page()
nth_page = notebook.get_nth_page(page)
icon_grid = nth_page.get_children()[0]
items = self.search_icon_grid.get_selected_items()
if len(items) > 0:
self.search_icon_grid.scroll_to_path(items[-1], True, 0.5, 0.5)
wid, tid = icon_grid.get_name().split("|")
tab = self.get_fm_window(wid).get_tab_by_id(tid)
query = widget.get_text().lower()
icon_grid.unselect_all()
for i, file in enumerate(tab.get_files()):
if query and query in file[0].lower():
path = Gtk.TreePath().new_from_indices([i])
icon_grid.select_path(path)
items = icon_grid.get_selected_items()
if len(items) == 1:
icon_grid.scroll_to_path(items[-1], True, 0.5, 0.5)
def open_files(self):

View File

@@ -161,9 +161,6 @@ class WindowMixin(TabMixin):
def grid_set_selected_items(self, icons_grid):
self.selected_files = icons_grid.get_selected_items()
def grid_cursor_toggled(self, icons_grid):
print("wat...")
def grid_icon_single_click(self, icons_grid, eve):
try:
self.path_menu.popdown()

View File

@@ -11,4 +11,4 @@ from .show_hide_mixin import ShowHideMixin
class UIMixin(WidgetFileActionMixin, PaneMixin, WindowMixin, ShowHideMixin):
pass
...

View File

@@ -21,7 +21,6 @@ class KeyboardSignalsMixin:
self.ctrl_down = False
self.shift_down = False
self.alt_down = False
self.is_searching = False
def on_global_key_press_controller(self, eve, user_data):
keyname = Gdk.keyval_name(user_data.keyval).lower()
@@ -62,21 +61,6 @@ class KeyboardSignalsMixin:
if keyname in ["1", "kp_1", "2", "kp_2", "3", "kp_3", "4", "kp_4"]:
self.builder.get_object(f"tggl_notebook_{keyname.strip('kp_')}").released()
if re.fullmatch(valid_keyvalue_pat, keyname):
if not self.is_searching and not self.ctrl_down \
and not self.shift_down and not self.alt_down:
focused_obj = self.window.get_focus()
if isinstance(focused_obj, Gtk.IconView):
self.is_searching = True
state = self.get_current_state()
self.search_tab = state.tab
self.search_icon_grid = state.icon_grid
self.unset_keys_and_data()
self.popup_search_files(state.wid, keyname)
return True
def handle_plugin_key_event(self, sender, eve_type):
event_system.emit(eve_type)