diff options
Diffstat (limited to 'FileShare.activity/GuiView.py')
-rw-r--r-- | FileShare.activity/GuiView.py | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/FileShare.activity/GuiView.py b/FileShare.activity/GuiView.py index cbf782b..c9dcb57 100644 --- a/FileShare.activity/GuiView.py +++ b/FileShare.activity/GuiView.py @@ -36,6 +36,44 @@ class GuiHandler(): self.treeview = tree self.tb_alert = None self.guiView = handle + + def requestAddFavorites(self, widget, data=None): + _logger.info('Requesting to add all favorites') + + from ShareFavorites import load_journal_table + + favorites = load_journal_table() + + for jobject in favorites: + self.show_throbber(True, _("Packaging Object") ) + try: + file_obj = self.activity.build_file( jobject ) + except InShareException: + self._alert(_("Object Not Added"), _("Object already shared")) + self.show_throbber( False ) + next + + # No problems continue + self.show_throbber( False ) + + # Add To UI + self._addFileToUIList( file_obj.id, file_obj ) + + # Register File with activity share list + self.activity._registerShareFile( file_obj.id, file_obj ) + + # Upload to server? + if data and data.has_key('upload'): + self.show_throbber(True, _("Uploading Object to server")) + def send(): + try: + self.activity.send_file_to_server( file_obj.id, file_obj ) + except FileUploadFailure: + self._alert( _("Failed to upload object") ) + self._remFileFromUIList( file_obj.id ) + self.activity.delete_file( file_obj.id ) + self.show_throbber( False ) + threading.Thread(target=send).start() def requestAddFile(self, widget, data=None): _logger.info('Requesting to add file') @@ -302,13 +340,15 @@ class GuiView(gtk.ScrolledWindow): self.action_buttons['add'] = ToolButton('fs_gtk-add') self.action_buttons['add'].set_tooltip(_("Add Object")) + self.action_buttons['add_fav'] = ToolButton('emblem-favorite') + self.action_buttons['add_fav'].set_tooltip(_("Add Favorites")) + self.action_buttons['rem'] = ToolButton('fs_gtk-remove') self.action_buttons['rem'].set_tooltip(_("Remove Object(s)")) self.action_buttons['save'] = ToolButton('filesave') self.action_buttons['save'].set_tooltip( _("Copy Object(s) to Journal") ) - self.action_buttons['down'] = ToolButton('epiphany-download') self.action_buttons['down'].set_tooltip( _('Download Object(s)') ) @@ -321,11 +361,13 @@ class GuiView(gtk.ScrolledWindow): if self.activity.isServer: self.action_buttons['add'].connect("clicked", self.guiHandler.requestAddFile, None) + self.action_buttons['add_fav'].connect("clicked", self.guiHandler.requestAddFavorites, None) self.action_buttons['save'].connect("clicked", self.guiHandler.requestInsFile, None) self.action_buttons['rem'].connect("clicked", self.guiHandler.requestRemFile, None) self.action_buttons['server'].connect("clicked", self.guiHandler.switch_to_server, None) self.action_bar.insert(self.action_buttons['add'], -1) + #self.action_bar.insert(self.action_buttons['add_fav'], -1) self.action_bar.insert(self.action_buttons['save'], -1) self.action_bar.insert(self.action_buttons['rem'], -1) self.action_bar.insert(self.action_buttons['server'], -1) @@ -345,9 +387,11 @@ class GuiView(gtk.ScrolledWindow): if self.activity._mode == 'SERVER' and self.activity._user_permissions != 0: self.action_buttons['add'].connect("clicked", self.guiHandler.requestAddFile, {'upload':True}) + self.action_buttons['add_fav'].connect("clicked", self.guiHandler.requestAddFavorites, {'upload':True}) self.action_buttons['rem'].connect("clicked", self.guiHandler.requestRemFile, {'remove':True}) self.action_bar.insert(self.action_buttons['add'], -1) + self.action_bar.insert(self.action_buttons['add_fav'], -1) self.action_bar.insert(self.action_buttons['rem'], -1) if self.activity._user_permissions == 2: |