diff --git a/src/filetransfers_window.py b/src/filetransfers_window.py index 4c92233e1..34ddaa9f0 100644 --- a/src/filetransfers_window.py +++ b/src/filetransfers_window.py @@ -49,7 +49,7 @@ class FileTransfersWindow: self.tree = self.xml.get_widget('transfers_list') self.cancel_button = self.xml.get_widget('cancel_button') self.pause_button = self.xml.get_widget('pause_restore_button') - self.remove_button = self.xml.get_widget('remove_button') + self.cleanup_button = self.xml.get_widget('cleanup_button') self.notify_ft_checkbox = self.xml.get_widget( 'notify_ft_complete_checkbox') notify = gajim.config.get('notify_on_file_complete') @@ -105,10 +105,6 @@ class FileTransfersWindow: self.pause_menuitem = popup_xml.get_widget('pause_menuitem') self.continue_menuitem = popup_xml.get_widget('continue_menuitem') self.remove_menuitem = popup_xml.get_widget('remove_menuitem') - self.clean_up_menuitem = popup_xml.get_widget('clean_up_menuitem') - if gtk.gtk_version >= (2, 6, 0) and gtk.pygtk_version >= (2, 6, 0): - self.pause_button.set_image(gtk.image_new_from_stock( - gtk.STOCK_MEDIA_PAUSE, gtk.ICON_SIZE_MENU)) popup_xml.signal_autoconnect(self) def find_transfer_by_jid(self, account, jid): @@ -172,9 +168,8 @@ class FileTransfersWindow: [_('_Open Containing Folder'), gtk.RESPONSE_ACCEPT], [ gtk.STOCK_OK, gtk.RESPONSE_OK ]]) button = dialog.get_button(1) - if gtk.gtk_version >= (2, 6, 0) and gtk.pygtk_version >= (2, 6, 0): - button.set_image(gtk.image_new_from_stock( - gtk.STOCK_DIRECTORY, gtk.ICON_SIZE_BUTTON)) + button.set_image(gtk.image_new_from_stock( + gtk.STOCK_DIRECTORY, gtk.ICON_SIZE_BUTTON)) dialog.show_all() if file_props['type'] == 's': button.hide() @@ -530,7 +525,7 @@ _('Connection with peer cannot be established.')) self.pause_button.set_sensitive(False) self.pause_menuitem.set_sensitive(False) self.continue_menuitem.set_sensitive(False) - self.remove_button.set_sensitive(False) + self.cleanup_button.set_sensitive(False) self.remove_menuitem.set_sensitive(False) self.cancel_button.set_sensitive(False) self.cancel_menuitem.set_sensitive(False) @@ -545,7 +540,6 @@ _('Connection with peer cannot be established.')) current_iter = self.model.get_iter(path) sid = self.model[current_iter][4].decode('utf-8') file_props = self.files_props[sid[0]][sid[1:]] - self.remove_button.set_sensitive(is_row_selected) self.remove_menuitem.set_sensitive(is_row_selected) self.open_folder_menuitem.set_sensitive(is_row_selected) is_stopped = False @@ -596,31 +590,26 @@ _('Connection with peer cannot be established.')) self.set_buttons_sensitive(path, is_selected) return True - def on_remove_button_clicked(self, widget): - selected = self.tree.get_selection().get_selected() - if selected is None or selected[1] is None: - return - s_iter = selected[1] - sid = self.model[s_iter][4].decode('utf-8') - file_props = self.files_props[sid[0]][sid[1:]] - if not file_props.has_key('tt_account'): - # file transfer is not set yet - return - account = file_props['tt_account'] - if not gajim.connections.has_key(account): - # no connection to the account - return - gajim.connections[account].remove_transfer(file_props) - self.model.remove(s_iter) + def on_cleanup_button_clicked(self, widget): + i = len(self.model) - 1 + while i >= 0: + iter = self.model.get_iter((i)) + sid = self.model[iter][4].decode('utf-8') + file_props = self.files_props[sid[0]][sid[1:]] + if file_props.has_key('completed') and file_props['completed']: + self.model.remove(iter) + elif file_props.has_key('stopped') and file_props['stopped']: + self.model.remove(iter) + i -= 1 + self.tree.get_selection().unselect_all() self.set_all_insensitive() def toggle_pause_continue(self, status): if status: label = _('Pause') self.pause_button.set_label(label) - if gtk.gtk_version >= (2, 6, 0) and gtk.pygtk_version >= (2, 6, 0): - self.pause_button.set_image(gtk.image_new_from_stock( - gtk.STOCK_MEDIA_PAUSE, gtk.ICON_SIZE_MENU)) + self.pause_button.set_image(gtk.image_new_from_stock( + gtk.STOCK_MEDIA_PAUSE, gtk.ICON_SIZE_MENU)) self.pause_menuitem.set_sensitive(True) self.pause_menuitem.set_no_show_all(False) @@ -630,9 +619,8 @@ _('Connection with peer cannot be established.')) else: label = _('_Continue') self.pause_button.set_label(label) - if gtk.gtk_version >= (2, 6, 0) and gtk.pygtk_version >= (2, 6, 0): - self.pause_button.set_image(gtk.image_new_from_stock( - gtk.STOCK_MEDIA_PLAY, gtk.ICON_SIZE_MENU)) + self.pause_button.set_image(gtk.image_new_from_stock( + gtk.STOCK_MEDIA_PLAY, gtk.ICON_SIZE_MENU)) self.pause_menuitem.hide() self.pause_menuitem.set_no_show_all(True) self.continue_menuitem.set_sensitive(True) @@ -705,9 +693,9 @@ _('Connection with peer cannot be established.')) def show_context_menu(self, event, iter): # change the sensitive propery of the buttons and menuitems if len(self.model) == 0: - self.clean_up_menuitem.set_sensitive(False) + self.cleanup_button.set_sensitive(False) else: - self.clean_up_menuitem.set_sensitive(True) + self.cleanup_button.set_sensitive(True) path = None if iter is not None: path = self.model.get_path(iter) @@ -776,21 +764,6 @@ _('Connection with peer cannot be established.')) if path is not None: return True - - def on_clean_up_menuitem_activate(self, widget): - i = len(self.model) - 1 - while i >= 0: - iter = self.model.get_iter((i)) - sid = self.model[iter][4].decode('utf-8') - file_props = self.files_props[sid[0]][sid[1:]] - if file_props.has_key('completed') and file_props['completed']: - self.model.remove(iter) - elif file_props.has_key('stopped') and file_props['stopped']: - self.model.remove(iter) - i -= 1 - self.tree.get_selection().unselect_all() - self.set_all_insensitive() - def on_open_folder_menuitem_activate(self, widget): selected = self.tree.get_selection().get_selected() if selected is None or selected[1] is None: @@ -815,7 +788,22 @@ _('Connection with peer cannot be established.')) #FIXME: change the stock def on_remove_menuitem_activate(self, widget): - self.on_remove_button_clicked(widget) + selected = self.tree.get_selection().get_selected() + if selected is None or selected[1] is None: + return + s_iter = selected[1] + sid = self.model[s_iter][4].decode('utf-8') + file_props = self.files_props[sid[0]][sid[1:]] + if not file_props.has_key('tt_account'): + # file transfer is not set yet + return + account = file_props['tt_account'] + if not gajim.connections.has_key(account): + # no connection to the account + return + gajim.connections[account].remove_transfer(file_props) + self.model.remove(s_iter) + self.set_all_insensitive() def on_file_transfers_window_key_press_event(self, widget, event): if event.keyval == gtk.keysyms.Escape: # ESCAPE diff --git a/src/gtkgui.glade b/src/gtkgui.glade index 6923720fb..74c1adead 100644 --- a/src/gtkgui.glade +++ b/src/gtkgui.glade @@ -18648,13 +18648,12 @@ Maybe I'll refactor later 6 - + True False + Removes completed, canceled and failed file transfers from the list True True - gtk-remove - True GTK_RELIEF_NORMAL True @@ -18662,7 +18661,71 @@ Maybe I'll refactor later This action removes single file transfer from the list. If the transfer is active, it is first stopped and then removed - + + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-clear + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Clean _up + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + @@ -18672,11 +18735,73 @@ Maybe I'll refactor later False True True - _Pause - True GTK_RELIEF_NORMAL True + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-media-pause + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + _Pause + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + @@ -18767,7 +18892,7 @@ Maybe I'll refactor later - + True gtk-media-play 1 @@ -18787,7 +18912,7 @@ Maybe I'll refactor later - + True gtk-media-pause 1 @@ -18821,7 +18946,7 @@ Maybe I'll refactor later - + True gtk-directory 1 @@ -18833,27 +18958,6 @@ Maybe I'll refactor later - - - - Removes completed, canceled and failed file transfers from the list - Clean _up - True - - - - - True - gtk-clear - 1 - 0.5 - 0.5 - 0 - 0 - - - -