From c744ee7276b1be5504f386fd7e5c917d612de235 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Wed, 24 Feb 2010 18:19:35 +0100 Subject: [PATCH] Use LED pattern helper to test LED patterns --- src/led-program-dialog.vala | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/led-program-dialog.vala b/src/led-program-dialog.vala index bb7c4ff..2fec429 100644 --- a/src/led-program-dialog.vala +++ b/src/led-program-dialog.vala @@ -36,10 +36,10 @@ class LedProgramDialog : Gtk.Dialog { 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); @@ -55,7 +55,8 @@ class LedProgramDialog : Gtk.Dialog { 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 ()) { @@ -63,4 +64,22 @@ class LedProgramDialog : Gtk.Dialog { } } } + + 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; + } } -- 1.7.9.5