From: Philipp Zabel Date: Sun, 24 Jan 2010 22:48:46 +0000 (+0100) Subject: Add another status menu button icon for the disabled state X-Git-Tag: v0.0.3-1~1 X-Git-Url: https://vcs.maemo.org/git/?a=commitdiff_plain;h=6a438ff52706d03dfe4264c70c9b3d22e780aec9;hp=e4752f70fdab31edf3d4d0507c01171efcac15a7;p=tor-status Add another status menu button icon for the disabled state --- diff --git a/Makefile.am b/Makefile.am index c138b7e..a0aaec9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -14,7 +14,8 @@ hildonstatusmenudesktopentry_DATA = \ data/status-area-applet-tor.desktop icon48_DATA = \ - data/tor_onion.png + data/statusarea_tor_enabled.png \ + data/statusarea_tor_disabled.png icon18_DATA = \ data/statusarea_tor_connected.png \ diff --git a/data/statusarea_tor_disabled.png b/data/statusarea_tor_disabled.png new file mode 100644 index 0000000..f3deccc Binary files /dev/null and b/data/statusarea_tor_disabled.png differ diff --git a/data/statusarea_tor_enabled.png b/data/statusarea_tor_enabled.png new file mode 100644 index 0000000..29935de Binary files /dev/null and b/data/statusarea_tor_enabled.png differ diff --git a/data/tor_onion.png b/data/tor_onion.png deleted file mode 100644 index 29935de..0000000 Binary files a/data/tor_onion.png and /dev/null differ diff --git a/src/status-area-applet-tor.vala b/src/status-area-applet-tor.vala index b503232..8461817 100644 --- a/src/status-area-applet-tor.vala +++ b/src/status-area-applet-tor.vala @@ -55,6 +55,8 @@ class TorStatusMenuItem : HD.StatusMenuItem { // Icons Gdk.Pixbuf icon_connecting; Gdk.Pixbuf icon_connected; + Gtk.Image icon_enabled; + Gtk.Image icon_disabled; // ConIc, GConf and Osso context Osso.Context osso; @@ -74,36 +76,51 @@ class TorStatusMenuItem : HD.StatusMenuItem { * Update status area icon and status menu button value */ private void update_status () { - Gtk.IconTheme icon_theme; - Gdk.Pixbuf pixbuf; - if (tor_enabled && tor_connected && icon_connected == null) try { - icon_theme = Gtk.IconTheme.get_default (); - pixbuf = icon_theme.load_icon ("statusarea_tor_connected", - STATUS_AREA_ICON_SIZE, - Gtk.IconLookupFlags.NO_SVG); + var icon_theme = Gtk.IconTheme.get_default (); + var pixbuf = icon_theme.load_icon ("statusarea_tor_connected", + STATUS_AREA_ICON_SIZE, + Gtk.IconLookupFlags.NO_SVG); icon_connected = pixbuf; } catch (Error e) { error (e.message); } if (tor_enabled && !tor_connected && icon_connecting == null) try { - icon_theme = Gtk.IconTheme.get_default (); - pixbuf = icon_theme.load_icon ("statusarea_tor_connecting", - STATUS_AREA_ICON_SIZE, - Gtk.IconLookupFlags.NO_SVG); + var icon_theme = Gtk.IconTheme.get_default (); + var pixbuf = icon_theme.load_icon ("statusarea_tor_connecting", + STATUS_AREA_ICON_SIZE, + Gtk.IconLookupFlags.NO_SVG); icon_connecting = pixbuf; } catch (Error e) { error (e.message); } + if (tor_enabled && icon_enabled == null) try { + var icon_theme = Gtk.IconTheme.get_default(); + var pixbuf = icon_theme.load_icon ("statusarea_tor_enabled", + STATUS_MENU_ICON_SIZE, + Gtk.IconLookupFlags.NO_SVG); + icon_enabled = new Gtk.Image.from_pixbuf (pixbuf); + } catch (Error e) { + error (e.message); + } + if (!tor_enabled && icon_disabled == null) try { + var icon_theme = Gtk.IconTheme.get_default(); + var pixbuf = icon_theme.load_icon ("statusarea_tor_disabled", + STATUS_MENU_ICON_SIZE, + Gtk.IconLookupFlags.NO_SVG); + icon_disabled = new Gtk.Image.from_pixbuf (pixbuf); + } catch (Error e) { + error (e.message); + } if (conic_connected && tor_enabled) { - pixbuf = tor_connected ? icon_connected : icon_connecting; + set_status_area_icon (tor_connected ? icon_connected : icon_connecting); button.set_value (tor_connected ? _("Connected") : _("Connecting ...")); } else { - pixbuf = null; + set_status_area_icon (null); button.set_value (tor_enabled ? _("Disconnected") : _("Disabled")); } - set_status_area_icon (pixbuf); + button.set_image (tor_enabled ? icon_enabled : icon_disabled); } /** @@ -344,25 +361,11 @@ class TorStatusMenuItem : HD.StatusMenuItem { } private void create_widgets () { - Gtk.IconTheme icon_theme; - Gdk.Pixbuf pixbuf; - Gtk.Image image; - // Status menu button button = new Hildon.Button.with_text (Hildon.SizeType.FINGER_HEIGHT, Hildon.ButtonArrangement.VERTICAL, _("The Onion Router"), tor_enabled ? _("Enabled") : _("Disabled")); - icon_theme = Gtk.IconTheme.get_default(); - try { - pixbuf = icon_theme.load_icon ("tor_onion", - STATUS_MENU_ICON_SIZE, - Gtk.IconLookupFlags.NO_SVG); - image = new Gtk.Image.from_pixbuf (pixbuf); - button.set_image (image); - } catch (Error e) { - error (e.message); - } button.set_alignment (0.0f, 0.5f, 1.0f, 1.0f); button.set_style (Hildon.ButtonStyle.PICKER); button.clicked.connect (button_clicked_cb);