From 2d952aaa48dd99353635400196a4f087d450944b Mon Sep 17 00:00:00 2001 From: Marcos Pinto Date: Thu, 9 Aug 2007 01:26:33 +0000 Subject: [PATCH] add open file to file_menu --- glade/file_tab_menu.glade | 16 ++++++++++++++++ plugins/TorrentFiles/tab_files.py | 16 +++++++++++++++- src/files.py | 4 ++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/glade/file_tab_menu.glade b/glade/file_tab_menu.glade index 3aad125a9..5cbb62829 100644 --- a/glade/file_tab_menu.glade +++ b/glade/file_tab_menu.glade @@ -4,6 +4,22 @@ True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + _Open File + True + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + gtk-open + + + + True diff --git a/plugins/TorrentFiles/tab_files.py b/plugins/TorrentFiles/tab_files.py index 2854cb073..d0c354ef8 100644 --- a/plugins/TorrentFiles/tab_files.py +++ b/plugins/TorrentFiles/tab_files.py @@ -35,7 +35,21 @@ class FilesTabManager(FilesBaseManager): self.compact_allocation_warning() else: super(FilesTabManager, self).priority_clicked(widget) - + + def open_file(self, widget): + self.open_image = gtk.Image() + self.open_image.set_from_stock(gtk.STOCK_OPEN) + self.open_speed_menuitem = gtk.ImageMenuItem(_("OPen File")) + self.open_speed_menuitem.set_image(self.down_image) + + selected_paths = self.file_view.get_selection().get_selected_rows()[1] + import os + for path in selected_paths: + child_path = self.file_store_sorted.\ + convert_path_to_child_path(path) + os.system("xdg-open %s/%s" %(self.manager.unique_IDs[self.file_unique_id].save_dir, \ + self.file_store.get_value(self.file_store.get_iter(child_path), 0))) + # From core to UI def prepare_file_store(self): if not self.file_store_dict: diff --git a/src/files.py b/src/files.py index d93f24e7a..56940a4b6 100644 --- a/src/files.py +++ b/src/files.py @@ -49,6 +49,7 @@ class FilesBaseManager(object): domain='deluge') self.file_menu = file_glade.get_widget("file_tab_menu") file_glade.signal_autoconnect({ + "open_file" : self.open_file, "select_all": self.file_select_all, "unselect_all": self.file_unselect_all, "priority_dont_download": self.priority_clicked, @@ -64,6 +65,9 @@ class FilesBaseManager(object): # order as we get files from manager.get_torrent_file_info() self.file_store_sorted = gtk.TreeModelSort(self.file_store) + def open_file(self): + pass + def build_file_view(self): def priority(column, cell, model, iter, data): priority = common.fpriority(model.get_value(iter, data))