def __setup_toolbar(self): if self.app.config.get('general', 'use_internal_icons'): toolbar_buttons = [ ('decodeandcut', 'decodeandcut.png', "Dekodieren und Schneiden", Action.DECODEANDCUT), ('decode', 'decode.png', 'Dekodieren', Action.DECODE), ('delete', 'bin.png', "In den Müll verschieben", Action.DELETE), ('archive', 'archive.png', "Archivieren", Action.ARCHIVE), ('cut', 'cut.png', "Schneiden", Action.CUT), ('restore', 'restore.png', "Wiederherstellen", Action.RESTORE), ('rename', 'rename.png', "Umbenennen", Action.RENAME), ('new_folder', 'new_folder.png', "Neuer Ordner", Action.NEW_FOLDER), ('real_delete', 'delete.png', "Löschen", Action.REAL_DELETE) ] else: toolbar_buttons = [ ('decodeandcut', ['dialog-password', 'edit-cut-symbolic'], "Dekodieren und Schneiden", Action.DECODEANDCUT), ('decode', 'dialog-password', 'Dekodieren', Action.DECODE), ('delete', 'user-trash', "In den Müll verschieben", Action.DELETE), ('archive', 'system-file-manager', "Archivieren", Action.ARCHIVE), ('cut', 'edit-cut', "Schneiden", Action.CUT), ('restore', 'view-refresh', "Wiederherstellen", Action.RESTORE), ('rename', 'edit-rename', "Umbenennen", Action.RENAME), ('new_folder', 'folder-new', "Neuer Ordner", Action.NEW_FOLDER), ('real_delete', 'edit-delete', "Löschen", Action.REAL_DELETE), ] self.__toolbar_buttons = {} for key, image_name, text, action in toolbar_buttons: if self.app.config.get('general', 'use_internal_icons'): image = Gtk.Image.new_from_file( path.get_image_path(image_name)) else: # Gtk.IconSize.LARGE_TOOLBAR if type(image_name) == type( []): # It's a list so we create an emblemed icon try: image = Gtk.Image.new_from_gicon( Gio.EmblemedIcon.new( Gio.ThemedIcon.new(image_name[0]), Gio.Emblem.new( Gio.ThemedIcon.new(image_name[1]))), self.app.config.get('general', 'icon_size')) except: pass else: try: image = Gtk.Image.new_from_pixbuf( Gtk.IconTheme.get_default().load_icon( image_name, self.app.config.get('general', 'icon_size'), 0)) except: pass image.show() if key == "cut" or key == "decodeandcut": self.__toolbar_buttons[key] = Gtk.MenuToolButton.new( image, text) self.__toolbar_buttons[key].set_menu( self.__get_cut_menu(action)) else: self.__toolbar_buttons[key] = Gtk.ToolButton.new(image, text) self.__toolbar_buttons[key].connect("clicked", self._on_toolbutton_clicked, action) self.__toolbar_buttons[key].show() self.__sets_of_toolbars = { # ~ Section.PLANNING: ['plan_add', 'plan_edit', 'plan_remove', 'plan_search'], # ~ Section.DOWNLOAD: ['download_add_link', 'download_start', 'download_stop','download_remove'], Section.OTRKEY: ['decodeandcut', 'decode', 'delete', 'real_delete'], Section.VIDEO_UNCUT: ['cut', 'delete', 'real_delete', 'archive'], Section.VIDEO_CUT: ['archive', 'delete', 'real_delete', 'cut', 'rename'], Section.ARCHIVE: ['delete', 'real_delete', 'rename', 'new_folder'], Section.TRASH: ['real_delete', 'restore'], Section.TRASH_AVI: ['real_delete', 'restore'], Section.TRASH_OTRKEY: ['real_delete', 'restore'] } if self.app.config.get('general', 'hide_archive_buttons'): for section, buttons in self.__sets_of_toolbars.items(): if 'archive' in buttons: buttons.remove('archive') self.__sets_of_toolbars[section] = buttons # create sets of toolbuttons for section, button_names in self.__sets_of_toolbars.items(): toolbar_buttons = [] for button_name in button_names: toolbar_buttons.append(self.__toolbar_buttons[button_name]) self.__sets_of_toolbars[section] = toolbar_buttons # toolbar_search self.search_tool_item = EntrySearchToolItem("Durchsuchen") self.builder.get_object('toolbar_search').insert( self.search_tool_item, -1) self.search_tool_item.connect('search', lambda w, search: self.do_search(search)) self.search_tool_item.connect('clear', self.on_search_clear)
def __setup_toolbar(self): toolbar_buttons = [ ('decodeandcut', 'decodeandcut.png', "Dekodieren und Schneiden", Action.DECODEANDCUT), ('decode', 'decode.png', 'Dekodieren', Action.DECODE), ('delete', 'bin.png', "In den Müll verschieben", Action.DELETE), ('archive', 'archive.png', "Archivieren", Action.ARCHIVE), ('cut', 'cut.png', "Schneiden", Action.CUT), ('restore', 'restore.png', "Wiederherstellen", Action.RESTORE), ('rename', 'rename.png', "Umbenennen", Action.RENAME), ('new_folder', 'new_folder.png', "Neuer Ordner", Action.NEW_FOLDER), ('real_delete', 'delete.png', "Löschen", Action.REAL_DELETE), ('plan_add', 'film_add.png', "Hinzufügen", Action.PLAN_ADD), ('plan_remove', 'film_delete.png', "Löschen", Action.PLAN_REMOVE), ('plan_edit', 'film_edit.png', "Bearbeiten", Action.PLAN_EDIT), ('plan_search', 'film_search.png', "Auf Mirror suchen", Action.PLAN_SEARCH), ('download_add', 'add_download.png', "Download hinzufügen", Action.DOWNLOAD_ADD), ('download_add_link', 'add_download.png', "Link hinzufügen", Action.DOWNLOAD_ADD_LINK), ('download_start', 'download_start.png', "Start", Action.DOWNLOAD_START), ('download_stop', 'download_stop.png', "Stop", Action.DOWNLOAD_STOP), ('download_remove', 'delete.png', "Löschen", Action.DOWNLOAD_REMOVE), ] self.__toolbar_buttons = {} for key, image_name, text, action in toolbar_buttons: image = Gtk.Image.new_from_file(path.get_image_path(image_name)) image.show() if key == "cut" or key == "decodeandcut": self.__toolbar_buttons[key] = Gtk.MenuToolButton.new( image, text) self.__toolbar_buttons[key].set_menu( self.__get_cut_menu(action)) else: self.__toolbar_buttons[key] = Gtk.ToolButton.new(image, text) self.__toolbar_buttons[key].connect("clicked", self._on_toolbutton_clicked, action) self.__toolbar_buttons[key].show() self.__sets_of_toolbars = { Section.PLANNING: ['plan_add', 'plan_edit', 'plan_remove', 'plan_search'], Section.DOWNLOAD: [ 'download_add_link', 'download_start', 'download_stop', 'download_remove' ], Section.OTRKEY: ['decodeandcut', 'decode', 'delete', 'real_delete'], Section.VIDEO_UNCUT: ['cut', 'delete', 'real_delete', 'archive'], Section.VIDEO_CUT: ['archive', 'delete', 'real_delete', 'cut', 'rename'], Section.ARCHIVE: ['delete', 'real_delete', 'rename', 'new_folder'], Section.TRASH: ['real_delete', 'restore'] } # create sets of toolbuttons for section, button_names in self.__sets_of_toolbars.items(): toolbar_buttons = [] for button_name in button_names: toolbar_buttons.append(self.__toolbar_buttons[button_name]) self.__sets_of_toolbars[section] = toolbar_buttons # toolbar_search self.search_tool_item = EntrySearchToolItem("Durchsuchen") self.builder.get_object('toolbar_search').insert( self.search_tool_item, -1) self.search_tool_item.connect('search', lambda w, search: self.do_search(search)) self.search_tool_item.connect('clear', self.on_search_clear)