From 8719778d2245c7a3f668630324c240d1bca149e8 Mon Sep 17 00:00:00 2001 From: Sergio Costas Date: Wed, 2 Jan 2019 23:25:45 +0100 Subject: [PATCH] Add projects to Recent files in GTK Now, when a Devede project is opened or saved, it is added to the list of Recent files, thus being shown there when choosing to open a project. --- src/devedeng/opensave.py | 6 ++---- src/devedeng/project.py | 13 ++++++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/devedeng/opensave.py b/src/devedeng/opensave.py index ceb7770..ad03b5b 100644 --- a/src/devedeng/opensave.py +++ b/src/devedeng/opensave.py @@ -33,11 +33,9 @@ class opensave_window: builder.set_translation_domain(self.config.gettext_domain) if self.save: - builder.add_from_file(os.path.join( - self.config.glade, "wsave_project.ui")) + builder.add_from_file(os.path.join(self.config.glade, "wsave_project.ui")) else: - builder.add_from_file(os.path.join( - self.config.glade, "wopen_project.ui")) + builder.add_from_file(os.path.join(self.config.glade, "wopen_project.ui")) builder.connect_signals(self) w_window = builder.get_object("data_project") if current_file is not None: diff --git a/src/devedeng/project.py b/src/devedeng/project.py index 8eb1d64..ce2765d 100644 --- a/src/devedeng/project.py +++ b/src/devedeng/project.py @@ -15,7 +15,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see -from gi.repository import Gtk, Gdk +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GLib import os import time import shutil @@ -701,6 +703,9 @@ class devede_project: with open(self.project_file, 'wb') as f: pickle.dump(project, f, 3) + recent_mgr = Gtk.RecentManager.get_default() + uri = GLib.filename_to_uri(self.project_file) + recent_mgr.add_item(uri) def load_project(self, project_file): @@ -730,10 +735,12 @@ class devede_project: self.wliststore_files.append([new_file, new_file.title_name, True, self.duration_to_string( new_file.get_duration()), new_file.show_in_menu]) if (len(error_list) != 0): - devedeng.message.message_window(_("The following files in the project could not be added again:"), _( - "Error while adding files"), error_list) + devedeng.message.message_window(_("The following files in the project could not be added again:"), _("Error while adding files"), error_list) self.set_interface_status(None) self.refresh_disc_usage() + recent_mgr = Gtk.RecentManager.get_default() + uri = GLib.filename_to_uri(self.project_file) + recent_mgr.add_item(uri) def on_multiproperties_activate(self, b):