var pannable = new Hildon.PannableArea ();
var vbox = new Gtk.VBox (false, 0);
- foreach (LedCommandRX51 command in lpv.pattern.engine1) {
- var label = new Gtk.Label ("0x%04x".printf (command.code));
+ foreach (LedCommand command in lpv.pattern.engine1) {
+ var command_widget = new LedCommandWidget (command);
- vbox.pack_start (label, false, false, 0);
+ vbox.pack_start (command_widget, false, false, 0);
}
pannable.add_with_viewport (vbox);
void on_response (int response) {
if (response == 1) {
- // Test pattern
+ Timeout.add (200, delayed_spawn);
+ return;
}
if (response == Gtk.ResponseType.ACCEPT) {
if (pattern.dump () != lpv.pattern.dump ()) {
}
}
}
+
+ bool delayed_spawn () {
+ try {
+ int exit_status;
+ string error;
+ var command = "sudo /usr/bin/led-pattern-helper test \"" +
+ lpv.pattern.dump () + "\"";
+ Process.spawn_command_line_sync (command, null, out error, out exit_status);
+ if (exit_status != 0) {
+ var information = "Exit status: %d\n%s".printf (exit_status, error);
+ Hildon.Banner.show_information (null, null, information);
+ }
+ } catch (SpawnError e) {
+ Hildon.Banner.show_information (null, null, e.message);
+ }
+
+ return false;
+ }
}