From: gregor herrmann Date: Sun, 14 Mar 2010 23:30:51 +0000 (+0100) Subject: start wifi statusicon X-Git-Url: https://git.toastfreeware.priv.at/gregoa/zavai.git/commitdiff_plain/2e4c5a9125d92f7cbb2766f718fa01688a7daff2?hp=1bbd2d389cd6356a946fff157f9bc99f4f92c692 start wifi statusicon --- diff --git a/src/app_wifi.vala b/src/app_wifi.vala index b694be5..57d22d5 100644 --- a/src/app_wifi.vala +++ b/src/app_wifi.vala @@ -24,10 +24,57 @@ namespace zavai { namespace ui { namespace wifi { +public class WifiIcon : Gtk.StatusIcon +{ + bool requested = false; + + public WifiIcon() + { + activate += on_activate; + update_icon(); + } + + private void on_activate() + { + requested = !requested; + update_icon(); + if (requested) + { + //zavai.wifi.wifi.start(); + stderr.printf("wifi should be started here\n"); + stderr.printf("wifi status: %d\n", (int) zavai.wifi.wifi.started); + } + else + { + //zavai.wifi.wifi.stop(); + stderr.printf("wifi should be stopped here\n"); + stderr.printf("wifi status: %d\n", (int) zavai.wifi.wifi.started); + } + } + + protected void update_icon() + { + string name = zavai.config.icondir + "/"; + name += (active() ? "wifi_1.png" : "wifi_0.png"); + stderr.printf("load icon from %s\n", name); + set_from_file(name); + } + + private bool active() + { + return zavai.wifi.wifi.started; + } +} + +WifiIcon icon; + public void init() { // Menus zavai.menu_misc.add_service_toggle(zavai.wifi.wifi, "Start Wifi", "Stop Wifi"); + // Icon + icon = new WifiIcon(); + icon.set_visible(true); } }