From f4ff115d520598843812d4b842001e712fb0687e Mon Sep 17 00:00:00 2001 From: Michael Kielstra Date: Sun, 11 Nov 2018 13:30:25 -0500 Subject: [PATCH] Added close-after-file-select functionality for one-off searches. Fix another typo --- catfish/CatfishWindow.py | 14 +++++- catfish_lib/CatfishSettings.py | 1 + catfish_lib/Window.py | 5 +- data/ui/CatfishWindow.ui | 19 +++++++ po/catfish.pot | 92 ++++++++++++++++++---------------- 5 files changed, 83 insertions(+), 48 deletions(-) diff --git a/catfish/CatfishWindow.py b/catfish/CatfishWindow.py index b09d8f1..4a69e14 100644 --- a/catfish/CatfishWindow.py +++ b/catfish/CatfishWindow.py @@ -134,6 +134,8 @@ class CatfishWindow(Window): self.fulltext = builder.get_named_object("menus.application.fulltext") self.sidebar_toggle_menu = builder.get_named_object( "menus.application.advanced") + self.close_after_select = builder.get_named_object( + "menus.application.closeafterselect") # -- Sidebar -- # self.button_time_custom = builder.get_named_object( @@ -345,10 +347,10 @@ class CatfishWindow(Window): self.app_menu_event = not self.app_menu_event if not self.app_menu_event: return - if listbox.get_row_at_index(5) == row: + if listbox.get_row_at_index(6) == row: listbox.get_parent().hide() self.on_menu_update_index_activate(row) - if listbox.get_row_at_index(6) == row: + if listbox.get_row_at_index(7) == row: listbox.get_parent().hide() self.on_mnu_about_activate(row) @@ -497,6 +499,8 @@ class CatfishWindow(Window): self.fulltext.set_active(self.options.fulltext) self.sidebar_toggle_menu.set_active( self.settings.get_setting('show-sidebar')) + self.close_after_select.set_active( + self.settings.get_setting('close-after-select')) self.show_thumbnail = self.options.thumbnails @@ -873,6 +877,10 @@ class CatfishWindow(Window): def on_menu_update_index_activate(self, widget): """Show the Update Search Index dialog.""" self.update_index_dialog.show() + + def on_menu_closeafterselect_toggled(self, widget): + active = widget.get_active() + self.settings.set_setting('close-after-select', active) # -- Sidebar -- # def on_sidebar_toggle_toggled(self, widget): @@ -950,6 +958,8 @@ class CatfishWindow(Window): command = ['xdg-open', filename] try: subprocess.Popen(command, shell=False) + if(self.settings.get_setting('close-after-select')): + self.destroy() return except Exception as msg: logger.debug('Exception encountered while opening %s.' + diff --git a/catfish_lib/CatfishSettings.py b/catfish_lib/CatfishSettings.py index f1b0626..bb4fb0f 100644 --- a/catfish_lib/CatfishSettings.py +++ b/catfish_lib/CatfishSettings.py @@ -24,6 +24,7 @@ default_settings = { 'use-headerbar': True, 'show-hidden-files': False, 'show-sidebar': False, + 'close-after-select': True, 'window-width': 650, 'window-height': 470, 'window-x': -1, diff --git a/catfish_lib/Window.py b/catfish_lib/Window.py index 61cb005..3aa2f47 100644 --- a/catfish_lib/Window.py +++ b/catfish_lib/Window.py @@ -56,7 +56,8 @@ __builder__ = { "hidden": "application_menu_hidden", "fulltext": "application_menu_fulltext", "advanced": "application_menu_advanced", - "update": "application_menu_update" + "update": "application_menu_update", + "closeafterselect": "application_menu_closeafterselect" }, # File Context Menu "file": { @@ -348,4 +349,4 @@ class Window(Gtk.Window): def on_catfish_window_configure_event(self, widget, event): pos = self.get_position() self.settings.set_setting('window-x', pos.root_x) - self.settings.set_setting('window-y', pos.root_y) \ No newline at end of file + self.settings.set_setting('window-y', pos.root_y) diff --git a/data/ui/CatfishWindow.ui b/data/ui/CatfishWindow.ui index 73820c1..0c4f627 100644 --- a/data/ui/CatfishWindow.ui +++ b/data/ui/CatfishWindow.ui @@ -1221,6 +1221,25 @@ + + + 100 + True + True + + + Close _on Selection + True + True + False + True + 0 + True + + + + + True diff --git a/po/catfish.pot b/po/catfish.pot index 5a1dbf9..c050589 100644 --- a/po/catfish.pot +++ b/po/catfish.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-02 07:56-0400\n" +"POT-Creation-Date: 2018-11-11 13:20-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../catfish.desktop.in.h:1 ../data/ui/CatfishWindow.ui.h:28 -#: ../catfish/CatfishWindow.py:665 +#: ../catfish/CatfishWindow.py:669 msgid "Catfish File Search" msgstr "" @@ -121,7 +121,7 @@ msgstr "" msgid "End Date" msgstr "" -#: ../data/ui/CatfishWindow.ui.h:23 ../catfish_lib/Window.py:217 +#: ../data/ui/CatfishWindow.ui.h:23 ../catfish_lib/Window.py:218 msgid "Catfish" msgstr "" @@ -137,7 +137,7 @@ msgstr "" msgid "File Type" msgstr "" -#: ../data/ui/CatfishWindow.ui.h:27 ../catfish/CatfishWindow.py:1132 +#: ../data/ui/CatfishWindow.ui.h:27 ../catfish/CatfishWindow.py:1142 msgid "Modified" msgstr "" @@ -191,34 +191,38 @@ msgid "Show _Sidebar" msgstr "" #: ../data/ui/CatfishWindow.ui.h:39 -msgid "_Update Search Index…" +msgid "Close _on Selection" msgstr "" #: ../data/ui/CatfishWindow.ui.h:40 -msgid "_About" +msgid "_Update Search Index…" msgstr "" #: ../data/ui/CatfishWindow.ui.h:41 -msgid "Update Search Database" +msgid "_About" msgstr "" #: ../data/ui/CatfishWindow.ui.h:42 -msgid "Unlock" +msgid "Update Search Database" msgstr "" #: ../data/ui/CatfishWindow.ui.h:43 -msgid "Database:" +msgid "Unlock" msgstr "" #: ../data/ui/CatfishWindow.ui.h:44 -msgid "Updated:" +msgid "Database:" msgstr "" #: ../data/ui/CatfishWindow.ui.h:45 -msgid "Update Search Database" +msgid "Updated:" msgstr "" #: ../data/ui/CatfishWindow.ui.h:46 +msgid "Update Search Database" +msgstr "" + +#: ../data/ui/CatfishWindow.ui.h:47 msgid "" "For faster search results, the search database needs to be refreshed.\n" "This action requires administrative rights." @@ -274,152 +278,152 @@ msgstr "" msgid "%s (invalid encoding)" msgstr "" -#: ../catfish/CatfishWindow.py:237 +#: ../catfish/CatfishWindow.py:239 msgid "Unknown" msgstr "" -#: ../catfish/CatfishWindow.py:241 +#: ../catfish/CatfishWindow.py:243 msgid "Never" msgstr "" -#: ../catfish/CatfishWindow.py:633 +#: ../catfish/CatfishWindow.py:637 msgid "An error occurred while updating the database." msgstr "" -#: ../catfish/CatfishWindow.py:635 +#: ../catfish/CatfishWindow.py:639 msgid "Authentication failed." msgstr "" -#: ../catfish/CatfishWindow.py:641 +#: ../catfish/CatfishWindow.py:645 msgid "Authentication cancelled." msgstr "" -#: ../catfish/CatfishWindow.py:647 +#: ../catfish/CatfishWindow.py:651 msgid "Search database updated successfully." msgstr "" #. Set the dialog status to running. -#: ../catfish/CatfishWindow.py:722 +#: ../catfish/CatfishWindow.py:726 msgid "Updating..." msgstr "" -#: ../catfish/CatfishWindow.py:756 +#: ../catfish/CatfishWindow.py:760 msgid "Stop Search" msgstr "" -#: ../catfish/CatfishWindow.py:757 +#: ../catfish/CatfishWindow.py:761 msgid "" "Search is in progress...\n" "Press the cancel button or the Escape key to stop." msgstr "" -#: ../catfish/CatfishWindow.py:766 +#: ../catfish/CatfishWindow.py:770 msgid "Begin Search" msgstr "" -#: ../catfish/CatfishWindow.py:958 +#: ../catfish/CatfishWindow.py:968 #, python-format msgid "\"%s\" could not be opened." msgstr "" -#: ../catfish/CatfishWindow.py:1004 +#: ../catfish/CatfishWindow.py:1014 #, python-format msgid "\"%s\" could not be saved." msgstr "" -#: ../catfish/CatfishWindow.py:1021 +#: ../catfish/CatfishWindow.py:1031 #, python-format msgid "\"%s\" could not be deleted." msgstr "" -#: ../catfish/CatfishWindow.py:1061 +#: ../catfish/CatfishWindow.py:1071 #, python-format msgid "Save \"%s\" as…" msgstr "" -#: ../catfish/CatfishWindow.py:1096 +#: ../catfish/CatfishWindow.py:1106 #, python-format msgid "" "Are you sure that you want to \n" "permanently delete \"%s\"?" msgstr "" -#: ../catfish/CatfishWindow.py:1100 +#: ../catfish/CatfishWindow.py:1110 #, python-format msgid "" "Are you sure that you want to \n" "permanently delete the %i selected files?" msgstr "" -#: ../catfish/CatfishWindow.py:1103 +#: ../catfish/CatfishWindow.py:1113 msgid "If you delete a file, it is permanently lost." msgstr "" -#: ../catfish/CatfishWindow.py:1126 +#: ../catfish/CatfishWindow.py:1136 msgid "Filename" msgstr "" -#: ../catfish/CatfishWindow.py:1128 +#: ../catfish/CatfishWindow.py:1138 msgid "Size" msgstr "" -#: ../catfish/CatfishWindow.py:1130 +#: ../catfish/CatfishWindow.py:1140 msgid "Location" msgstr "" -#: ../catfish/CatfishWindow.py:1142 +#: ../catfish/CatfishWindow.py:1152 msgid "Preview" msgstr "" -#: ../catfish/CatfishWindow.py:1150 +#: ../catfish/CatfishWindow.py:1160 msgid "Details" msgstr "" -#: ../catfish/CatfishWindow.py:1369 +#: ../catfish/CatfishWindow.py:1379 msgid "Today" msgstr "" -#: ../catfish/CatfishWindow.py:1371 +#: ../catfish/CatfishWindow.py:1381 msgid "Yesterday" msgstr "" -#: ../catfish/CatfishWindow.py:1452 +#: ../catfish/CatfishWindow.py:1462 msgid "No files found." msgstr "" -#: ../catfish/CatfishWindow.py:1454 +#: ../catfish/CatfishWindow.py:1464 msgid "" "Try making your search less specific\n" "or try another directory." msgstr "" -#: ../catfish/CatfishWindow.py:1460 +#: ../catfish/CatfishWindow.py:1470 msgid "1 file found." msgstr "" -#: ../catfish/CatfishWindow.py:1462 +#: ../catfish/CatfishWindow.py:1472 #, python-format msgid "%i files found." msgstr "" -#: ../catfish/CatfishWindow.py:1468 +#: ../catfish/CatfishWindow.py:1478 msgid "bytes" msgstr "" -#: ../catfish/CatfishWindow.py:1576 ../catfish/CatfishWindow.py:1585 +#: ../catfish/CatfishWindow.py:1586 ../catfish/CatfishWindow.py:1595 msgid "Searching…" msgstr "" -#: ../catfish/CatfishWindow.py:1578 +#: ../catfish/CatfishWindow.py:1588 msgid "Results will be displayed as soon as they are found." msgstr "" -#: ../catfish/CatfishWindow.py:1583 +#: ../catfish/CatfishWindow.py:1593 #, python-format msgid "Searching for \"%s\"" msgstr "" -#: ../catfish/CatfishWindow.py:1672 +#: ../catfish/CatfishWindow.py:1682 #, python-format msgid "Search results for \"%s\"" msgstr "" -- 2.17.1