}
}
+public class StatusIcon : Gtk.Button
+{
+ private Gtk.Image image_widget;
+
+ public signal void activate();
+
+ public StatusIcon()
+ {
+ relief = Gtk.ReliefStyle.NONE;
+ image_widget = new Gtk.Image();
+ image = image_widget;
+ clicked += on_clicked;
+ }
+
+ public void set_from_file(string file)
+ {
+ image_widget.set_from_file(file);
+ }
+
+ public void install()
+ {
+ zavai.ui.main.status.status_icons.pack_start(this, false, false, 0);
+ }
+
+ private void on_clicked(Gtk.Button b)
+ {
+ activate();
+ }
+}
+
public class CommandButton : Gtk.Button
{
private string command;
protected string service_name;
protected string label_start;
protected string label_stop;
- protected Gtk.StatusIcon status_icon;
+ protected zavai.StatusIcon status_icon;
protected int fix_status = 0;
public GPSRequestLink()
zavai.gps.gps.device.FixStatusChanged += on_fix_status_changed;
// GPS status icon
- status_icon = new Gtk.StatusIcon();
- status_icon.set_visible(true);
+ status_icon = new zavai.StatusIcon();
+ status_icon.install();
status_icon.activate += on_status_activate;
update_icon();
}
public class Status : Applet
{
+ public Gtk.HBox status_icons;
public Clock clock;
public AppletPushLink menu;
public Status(string label)
{
_label = label;
+ status_icons = new Gtk.HBox(false, 0);
clock = new Clock();
menu = new AppletPushLink("menu.main");
+ pack_start(status_icons, false, false, 0);
pack_start(clock, false, false, 0);
pack_end(menu, false, false, 0);
}
zavai.registry.register_menu("menu.main", new zavai.Menu("Main menu"));
// User interface
+ zavai.ui.main.init();
zavai.ui.gps.init();
zavai.ui.power.init();
zavai.ui.kbd.init();
zavai.ui.wm.init();
zavai.ui.polygen.init();
zavai.ui.debug.init();
- zavai.ui.main.init();
//zavai.app.show_applet("menu.main");
zavai.app.show_applet("zavai.status");