Search changes, plugin changes
This commit is contained in:
@@ -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
|
||||
|
@@ -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):
|
||||
|
@@ -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()
|
||||
|
@@ -11,4 +11,4 @@ from .show_hide_mixin import ShowHideMixin
|
||||
|
||||
|
||||
class UIMixin(WidgetFileActionMixin, PaneMixin, WindowMixin, ShowHideMixin):
|
||||
pass
|
||||
...
|
||||
|
@@ -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)
|
||||
|
||||
|
Reference in New Issue
Block a user