From 2089fd1823c26539e36a6eca4d8603b1d13c392e Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Fri, 31 Jul 2009 00:18:35 +0000 Subject: [PATCH] Add gtkui.common.get_deluge_icon() and use it --- deluge/ui/gtkui/aboutdialog.py | 10 +--------- deluge/ui/gtkui/common.py | 18 ++++++++++++++++++ deluge/ui/gtkui/connectionmanager.py | 9 +-------- deluge/ui/gtkui/edittrackersdialog.py | 10 +--------- deluge/ui/gtkui/mainwindow.py | 10 ++-------- deluge/ui/gtkui/menubar.py | 6 +----- deluge/ui/gtkui/preferences.py | 9 +-------- 7 files changed, 25 insertions(+), 47 deletions(-) diff --git a/deluge/ui/gtkui/aboutdialog.py b/deluge/ui/gtkui/aboutdialog.py index 2da024ef2..c5591a218 100644 --- a/deluge/ui/gtkui/aboutdialog.py +++ b/deluge/ui/gtkui/aboutdialog.py @@ -74,15 +74,7 @@ if not, see .")) self.about.set_website("http://deluge-torrent.org") self.about.set_website_label("http://deluge-torrent.org") - if deluge.common.windows_check(): - self.about.set_icon(common.get_logo(32)) - else: - try: - icon_theme = gtk.icon_theme_get_default() - self.about.set_icon(icon_theme.load_icon("deluge", 32, 0)) - except: - self.about.set_icon(common.get_logo(32)) - + self.about.set_icon(common.get_deluge_icon()) self.about.set_logo(gtk.gdk.pixbuf_new_from_file( deluge.common.get_pixmap("deluge-about.png"))) diff --git a/deluge/ui/gtkui/common.py b/deluge/ui/gtkui/common.py index dce080757..b0012ba36 100644 --- a/deluge/ui/gtkui/common.py +++ b/deluge/ui/gtkui/common.py @@ -207,3 +207,21 @@ def reparent_iter(treestore, itr, parent, move_siblings=False): treestore.remove(to_remove) move_children(itr, parent) + +def get_deluge_icon(): + """ + Returns the deluge icon for use in setting a dialogs icon. It will first + attempt to get the icon from the theme and will fallback to using an image + that is distributed with the package. + + """ + import deluge.common + if deluge.common.windows_check(): + return deluge.common.get_logo(32) + else: + try: + icon_theme = gtk.icon_theme_get_default() + return icon_theme.load_icon("deluge", 32, 0) + except: + return deluge.common.get_logo(32) + diff --git a/deluge/ui/gtkui/connectionmanager.py b/deluge/ui/gtkui/connectionmanager.py index 7f3ff6f9f..7e95b46d6 100644 --- a/deluge/ui/gtkui/connectionmanager.py +++ b/deluge/ui/gtkui/connectionmanager.py @@ -123,14 +123,7 @@ class ConnectionManager(component.Component): self.connection_manager = self.glade.get_widget("connection_manager") self.connection_manager.set_transient_for(self.window.window) - if deluge.common.windows_check(): - self.connection_manager.set_icon(common.get_logo(32)) - else: - try: - icon_theme = gtk.icon_theme_get_default() - self.connection_manager.set_icon(icon_theme.load_icon("deluge", 32, 0)) - except: - self.connection_manager.set_icon(common.get_logo(32)) + self.connection_manager.set_icon(common.get_deluge_icon()) self.glade.get_widget("image1").set_from_pixbuf(common.get_logo(32)) diff --git a/deluge/ui/gtkui/edittrackersdialog.py b/deluge/ui/gtkui/edittrackersdialog.py index 798549b9c..c7f857b83 100644 --- a/deluge/ui/gtkui/edittrackersdialog.py +++ b/deluge/ui/gtkui/edittrackersdialog.py @@ -56,15 +56,7 @@ class EditTrackersDialog: self.add_tracker_dialog.set_transient_for(self.dialog) self.edit_tracker_entry = self.glade.get_widget("edit_tracker_entry") self.edit_tracker_entry.set_transient_for(self.dialog) - - if deluge.common.windows_check(): - self.dialog.set_icon(common.get_logo(32)) - else: - try: - icon_theme = gtk.icon_theme_get_default() - self.dialog.set_icon(icon_theme.load_icon("deluge", 32, 0)) - except: - self.dialog.set_icon(common.get_logo(32)) + self.dialog.set_icon(common.get_deluge_icon()) if parent != None: self.dialog.set_transient_for(parent) diff --git a/deluge/ui/gtkui/mainwindow.py b/deluge/ui/gtkui/mainwindow.py index a5d51f6d2..0140ba89b 100644 --- a/deluge/ui/gtkui/mainwindow.py +++ b/deluge/ui/gtkui/mainwindow.py @@ -63,14 +63,8 @@ class MainWindow(component.Component): self.window = self.main_glade.get_widget("main_window") - if deluge.common.windows_check(): - self.window.set_icon(common.get_logo(32)) - else: - try: - icon_theme = gtk.icon_theme_get_default() - self.window.set_icon(icon_theme.load_icon("deluge", 32, 0)) - except: - self.window.set_icon(common.get_logo(32)) + self.window.set_icon(common.get_deluge_icon()) + self.vpaned = self.main_glade.get_widget("vpaned") self.initial_vpaned_position = self.config["window_pane_position"] diff --git a/deluge/ui/gtkui/menubar.py b/deluge/ui/gtkui/menubar.py index d738d9333..b9ac772a7 100644 --- a/deluge/ui/gtkui/menubar.py +++ b/deluge/ui/gtkui/menubar.py @@ -324,11 +324,7 @@ class MenuBar(component.Component): gtk.RESPONSE_CANCEL, gtk.STOCK_OK, gtk.RESPONSE_OK)) chooser.set_local_only(True) if not deluge.common.windows_check(): - try: - icon_theme = gtk.icon_theme_get_default() - chooser.set_icon(icon_theme.load_icon("deluge", 32, 0)) - except: - chooser.set_icon(common.get_logo(32)) + chooser.set_icon(common.get_deluge_icon()) chooser.set_property("skip-taskbar-hint", True) chooser.set_current_folder(config["choose_directory_dialog_path"]) if chooser.run() == gtk.RESPONSE_OK: diff --git a/deluge/ui/gtkui/preferences.py b/deluge/ui/gtkui/preferences.py index f287aed54..b9057213f 100644 --- a/deluge/ui/gtkui/preferences.py +++ b/deluge/ui/gtkui/preferences.py @@ -56,14 +56,7 @@ class Preferences(component.Component): pkg_resources.resource_filename("deluge.ui.gtkui", "glade/preferences_dialog.glade")) self.pref_dialog = self.glade.get_widget("pref_dialog") - if deluge.common.windows_check(): - self.pref_dialog.set_icon(common.get_logo(32)) - else: - try: - icon_theme = gtk.icon_theme_get_default() - self.pref_dialog.set_icon(icon_theme.load_icon("deluge", 32, 0)) - except: - self.pref_dialog.set_icon(common.get_logo(32)) + self.pref_dialog.set_icon(common.get_deluge_icon()) self.treeview = self.glade.get_widget("treeview") self.notebook = self.glade.get_widget("notebook") self.gtkui_config = ConfigManager("gtkui.conf")