diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/resources/#Main_Window.glade# b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/resources/#Main_Window.glade# new file mode 100644 index 0000000..17d0a5e --- /dev/null +++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/resources/#Main_Window.glade# @@ -0,0 +1,592 @@ + + + + + + True + False + gtk-apply + 3 + + + True + False + gtk-apply + 3 + + + True + False + gtk-apply + 3 + + + True + False + gtk-apply + 3 + + + 800 + 600 + False + center + 1670 + 830 + pyfm.png + center + + + + + True + False + vertical + top + + + True + False + + + True + False + + + True + False + _File + True + + + True + False + + + gtk-new + True + False + True + True + + + + + gtk-open + True + False + True + True + + + + + gtk-save + True + False + True + True + + + + + gtk-save-as + True + False + True + True + + + + + True + False + + + + + gtk-quit + True + False + True + True + + + + + + + + + True + False + _Edit + True + + + True + False + + + gtk-cut + True + False + True + True + + + + + gtk-copy + True + False + True + True + + + + + + gtk-paste + True + False + True + True + + + + + gtk-delete + True + False + True + True + + + + + + + + + True + False + _View + True + + + + + True + False + _Help + True + + + True + False + + + gtk-about + True + False + True + True + + + + + + + + + True + True + 0 + + + + + True + False + 5 + start + + + tggl_notebook_1 + True + True + True + tggl_notebook_1_img + True + + + + True + True + 0 + + + + + tggl_notebook_2 + True + True + True + tggl_notebook_2_img + True + + + + True + True + 1 + + + + + tggl_notebook_3 + True + True + True + tggl_notebook_3_img + True + + + + True + True + 2 + + + + + tggl_notebook_4 + True + True + True + tggl_notebook_4_img + True + + + + True + True + 3 + + + + + False + True + 1 + + + + + + True + False + False + False + False + False + + + True + True + 2 + + + + + False + True + 0 + + + + + True + False + + + gtk-home + go_home + True + True + True + True + True + + + + False + True + 0 + + + + + gtk-refresh + refresh_view + True + True + True + True + True + + + + False + True + 1 + + + + + gtk-go-up + go_up + True + True + True + True + True + + + + False + True + 2 + + + + + path_entry + True + True + True + Path... + + + + True + True + 3 + + + + + gtk-add + create_tab + True + True + True + True + True + + + + False + True + 4 + + + + + False + True + 1 + + + + + True + True + True + True + vertical + True + + + True + True + 5 + True + True + True + + + notebook1 + True + True + True + 5 + 5 + 5 + 5 + False + True + + + + + + + + + + + + + + + + + + + + + + True + True + + + + + notebook2 + True + True + 5 + 5 + 5 + 5 + False + True + + + + + + + + + + + + + + + + + + + + + + True + True + + + + + True + True + + + + + True + True + 5 + True + True + True + + + notebook3 + True + True + 5 + 5 + 5 + 5 + False + True + + + + + + + + + + + + + + + + + + + + + + True + True + + + + + notebook4 + True + True + 5 + 5 + 5 + False + True + + + + + + + + + + + + + + + + + + + + + + True + True + + + + + True + True + + + + + True + True + 2 + + + + + + diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Signals.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Signals.py index b4e05e3..8b94abe 100644 --- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Signals.py +++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Signals.py @@ -106,7 +106,7 @@ class Signals(PaneMixin, WindowMixin): if "alt" in keyname: self.altDown = False - if (self.ctrlDown and keyname == "h") or keyname == "home": + if (self.ctrlDown and keyname == "slash") or keyname == "home": self.builder.get_object("go_home").released() if self.ctrlDown and keyname == "r": self.builder.get_object("refresh_view").released() @@ -117,16 +117,12 @@ class Signals(PaneMixin, WindowMixin): if self.ctrlDown and keyname == "t": self.builder.get_object("create_tab").released() if self.ctrlDown and keyname == "w": - print("[close tab] stub...") + self.keyboard_close_tab() - if self.ctrlDown and keyname == "period": - wid, tid = self.window_controller.get_active_data() - view = self.get_fm_window(wid).get_view_by_id(tid) - view.hide_hidden = not view.hide_hidden - view.load_directory() - self.builder.get_object("refresh_view").released() + if self.ctrlDown and keyname == "h": + self.show_hide_hidden_files() if self.ctrlDown and keyname == "c": - print("[copy] stub...") + self.copy_file() if self.ctrlDown and keyname == "v": print("[paste] stub...") diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/TabMixin.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/TabMixin.py index 5c22607..02f8650 100644 --- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/TabMixin.py +++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/TabMixin.py @@ -31,11 +31,12 @@ class TabMixin(WidgetMixin): self.load_store(view, store) self.set_window_title() - def close_tab(self, widget, eve): - notebook = widget.get_parent().get_parent() - page = notebook.get_current_page() - tid = self.get_tab_id_from_tab_box(widget.get_parent()) + def close_tab(self, button, eve=None): + notebook = button.get_parent().get_parent() + tid = self.get_tab_id_from_tab_box(button.get_parent()) wid = int(notebook.get_name()[-1]) + scroll = self.builder.get_object(f"{wid}|{tid}") + page = notebook.page_num(scroll) self.get_fm_window(wid).delete_view_by_id(tid) notebook.remove_page(page) @@ -55,6 +56,9 @@ class TabMixin(WidgetMixin): def get_tab_label(self, notebook, iconview): return notebook.get_tab_label(iconview.get_parent()).get_children()[0] + def get_tab_close(self, notebook, iconview): + return notebook.get_tab_label(iconview.get_parent()).get_children()[1] + def get_tab_iconview_from_notebook(self, notebook): return notebook.get_children()[1].get_children()[0] @@ -91,8 +95,22 @@ class TabMixin(WidgetMixin): tab_label.set_label(view.get_end_of_path()) self.set_window_title() + def keyboard_close_tab(self): + wid, tid = self.window_controller.get_active_data() + notebook = self.builder.get_object(f"window_{wid}") + iconview = self.get_tab_iconview_from_notebook(notebook) + close = self.get_tab_close(notebook, iconview) + close.released() # File control events + def show_hide_hidden_files(self): + wid, tid = self.window_controller.get_active_data() + view = self.get_fm_window(wid).get_view_by_id(tid) + view.hide_hidden = not view.hide_hidden + view.load_directory() + self.builder.get_object("refresh_view").released() + + def get_uris(self, store, treePaths=None): uris = [] @@ -138,7 +156,7 @@ class TabMixin(WidgetMixin): for path in treePaths: itr = store.get_iter(path) file = store.get(itr, 1)[0] - # print(file) + print(file) # uris = self.get_uris(store, treePaths) # print(uris) diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/WidgetMixin.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/WidgetMixin.py index 517d3bc..8c0f0ac 100644 --- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/WidgetMixin.py +++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/WidgetMixin.py @@ -86,7 +86,7 @@ class WidgetMixin: tab = Gtk.Box() label = Gtk.Label() tid = Gtk.Label() - close = Gtk.EventBox() + close = Gtk.Button() icon = Gtk.Image(stock=Gtk.STOCK_CLOSE) label.set_label(f"{view.get_end_of_path()}") @@ -100,7 +100,7 @@ class WidgetMixin: tab.add(close) tab.add(tid) - close.connect("button_release_event", self.close_tab) + close.connect("released", self.close_tab) tab.show_all() tid.hide() return tab @@ -140,6 +140,7 @@ class WidgetMixin: grid.show_all() scroll.add(grid) grid.set_name(f"{wid}|{view.id}") + self.builder.expose_object(f"{wid}|{view.id}", scroll) return scroll, store def create_grid_treeview_widget(self, view, wid): @@ -187,6 +188,7 @@ class WidgetMixin: scroll.add(grid) grid.set_name(f"{wid}|{view.id}") grid.columns_autosize() + self.builder.expose_object(f"{wid}|{view.id}", scroll) return scroll, store