}
}
-/*
-class GPSOn(gtk.ToggleAction):
- states = [_("GPS always on"), _("GPS on when needed")]
-
- def __init__(self, registry, **kw):
- self.state = 0
- super(GPSOn, self).__init__("menu.main.gps.alwayson", self.states[self.state], None, None)
-
- self.registry = registry
- self.set_active(False)
-
- self.connect("toggled", self.on_toggle)
-
- def on_toggle(self, *args):
- self.state = (self.state + 1) % len(self.states)
- self.set_property("label", self.states[self.state])
- if self.get_active():
- self.start()
- else:
- self.stop()
-
- def start(self):
- self.registry.resource("gps").connect("gps", self)
-
- def stop(self):
- self.registry.resource("gps").disconnect("gps", self)
-
-class GPXTracer(gtk.ToggleAction):
- states = [_("Start GPX trace"), _("Stop GPX trace")]
-
- def __init__(self, registry, **kw):
- self.state = 0
- super(GPXTracer, self).__init__("menu.main.gps.gpx", self.states[self.state], None, None)
-
- self.registry = registry
- self.set_active(False)
-
- self.connect("toggled", self.on_toggle)
-
- def on_toggle(self, *args):
- self.state = (self.state + 1) % len(self.states)
- self.set_property("label", self.states[self.state])
- if self.get_active():
- self.start()
- else:
- self.stop()
-
- def start(self):
- zavai.info("GPX trace started")
- self.registry.resource("gpx").connect("gpx", self)
-
- def stop(self):
- zavai.info("GPX trace ended")
- self.registry.resource("gpx").disconnect("gpx", self)
-
-public class Waypoint : BigButton
-{
- public Waypoint()
- {
- set_label("Take waypoint");
- zavai.gps.gpx.tracking_changed += on_gpx_tracking_changed;
- clicked += on_clicked;
- set_sensitive(zavai.gps.gpx.tracking);
- }
-
- protected void on_gpx_tracking_changed(zavai.gps.GPX gpx, bool new_state)
- {
-stderr.printf("Toggled %d\n", (int)new_state);
- set_sensitive(new_state);
- }
-
- protected void on_clicked()
- {
-stderr.printf("Activate\n");
- zavai.gps.gpx.waypoint();
- }
-}
-
-class GPXAudioTracer(gtk.ToggleAction):
- states = [_("Start GPX and audio trace"), _("Stop GPX and audio trace")]
-
- def __init__(self, registry, **kw):
- self.state = 0
- super(GPXAudioTracer, self).__init__("menu.main.gps.gpxaudio", self.states[self.state], None, None)
-
- self.registry = registry
- self.recorder = zavai.Recorder(registry)
- self.set_active(False)
-
- self.connect("toggled", self.on_toggle)
-
- def shutdown(self):
- self.recorder.stop()
- super(GPXAudioTracer, self).shutdown()
-
- def on_toggle(self, *args):
- self.state = (self.state + 1) % len(self.states)
- self.set_property("label", self.states[self.state])
- if self.get_active():
- self.start()
- else:
- self.stop()
-
- def start(self):
- zavai.info("GPX trace started")
- gpx = self.registry.resource("gpx")
- gpx.connect("gpx", self)
- gpx.add_activity_monitor(self.on_gpx_activity_changed)
-
- def stop(self):
- zavai.info("GPX trace ended")
- gpx = self.registry.resource("gpx")
- gpx.disconnect("gpx", self)
- self.recorder.stop()
- gpx.del_activity_monitor(self.on_gpx_activity_changed)
-
- def on_gpx_activity_changed(self, gpx, state):
- if state:
- self.recorder.start(gpx.basename + ".wav")
- else:
- self.recorder.stop()
-*/
-
public class KeyboardIcon : Gtk.StatusIcon
{
bool requested = false;
public KeyboardIcon()
{
activate += on_activate;
+ zavai.ui.power.power.screen_lock_changed += on_screen_lock_changed;
+
update_icon();
}
keyboard.release("keyboardicon");
}
+ protected void on_screen_lock_changed(bool val)
+ {
+ update_icon();
+ }
+
protected void update_icon()
{
- string name = zavai.config.icondir + "/" + (requested ? "kbd_on.png" : "kbd_off.png");
+ string name = zavai.config.icondir + "/";
+ if (zavai.ui.power.power.screen_locked)
+ name += "screen_lock.png";
+ else
+ name += (requested ? "kbd_on.png" : "kbd_off.png");
stderr.printf("load icon from %s\n", name);
set_from_file(name);
}