From b5c2488dbc305bc58f545d0c62cecba64493cc8d Mon Sep 17 00:00:00 2001 From: druid23 Date: Sat, 2 Oct 2010 01:08:57 +0100 Subject: [PATCH] Changes to Echo handling modified: ../build.sh modified: EchoPopUp.vala modified: SettingsStructures.vala --- build.sh | 3 +-- src/EchoPopUp.vala | 30 +++++++++++++++++++++--------- src/SettingsStructures.vala | 2 +- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/build.sh b/build.sh index 86345fd..6c5e591 100755 --- a/build.sh +++ b/build.sh @@ -2,8 +2,7 @@ if [ ! -d "bin" ] ; then mkdir bin fi -#/home/druid23/MyDocs/vala/vala-0.9.4/compiler/valac \ -valac \ +/home/druid23/MyDocs/vala/vala-0.9.4/compiler/valac \ --pkg gtk+-2.0 \ --pkg hildon-1 \ --pkg hildon-fm-2 \ diff --git a/src/EchoPopUp.vala b/src/EchoPopUp.vala index 404163b..377db13 100644 --- a/src/EchoPopUp.vala +++ b/src/EchoPopUp.vala @@ -23,7 +23,9 @@ public class EchoPopUp : Hildon.Dialog { Gtk.HScale feedback_slider; Gtk.HScale intensity_slider; - const uint64 MAX_DELAY = 1 * Time.Milliseconds.SECOND; + //const uint64 MAX_DELAY = Time.Milliseconds.SECOND / 2; + const uint64 MIN_DELAY = 0; + uint64 MAX_DELAY; public signal void delay_updated(uint64 val); public signal void feedback_updated(double val); @@ -32,12 +34,14 @@ public class EchoPopUp : Hildon.Dialog { public EchoPopUp (string title, Gtk.Widget parent) { this.set_title(title); this.set_parent(parent); + MAX_DELAY = Time.Milliseconds.SECOND / 2; construct_interface(SettingsStructures.EchoSettings()); } public EchoPopUp.with_settings (string title, Gtk.Widget parent, SettingsStructures.EchoSettings settings) { this.set_title(title); this.set_parent(parent); + MAX_DELAY = settings.max_delay; construct_interface(settings); } @@ -54,25 +58,33 @@ public class EchoPopUp : Hildon.Dialog { public void set_settings_structure(SettingsStructures.EchoSettings settings) { // ignore active for now // ignore max_delay for now + MAX_DELAY = settings.max_delay; this.set_delay(settings.delay); this.set_feedback(settings.feedback); this.set_intensity(settings.intensity); } - + private void update_values() { + delay_updated(get_delay()); + feedback_updated(get_feedback()); + intensity_updated(get_intensity()); + } private void construct_interface(SettingsStructures.EchoSettings settings) { - this.set_default_response(Gtk.ResponseType.ACCEPT); - this.add_button(Gtk.STOCK_CLOSE, Gtk.ResponseType.ACCEPT); + //this.close.connect(update_values); + + this.set_default_response(Gtk.ResponseType.CANCEL); + Gtk.Button closeBtn = (Gtk.Button)this.add_button(Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT); + closeBtn.clicked.connect(update_values); Gtk.VBox control_area = (Gtk.VBox)this.get_content_area(); Gtk.HBox delay_bar = new Gtk.HBox(false, 4); Gtk.Label delay_label = new Gtk.Label("Delay (ms): "); - delay_slider = new Gtk.HScale.with_range(0, MAX_DELAY, Time.Milliseconds.MILLISECOND); + delay_slider = new Gtk.HScale.with_range((double)MIN_DELAY, (double)MAX_DELAY, (double)((MAX_DELAY - MIN_DELAY) / 100)); delay_slider.set_value_pos(Gtk.PositionType.LEFT); delay_slider.set_value(settings.delay); - delay_slider.value_changed.connect((s) => {delay_updated((uint64)(s.get_value()) * Time.Nanoseconds.MILLISECOND);}); + //delay_slider.value_changed.connect((s) => {delay_updated((uint64)(s.get_value()) * Time.Nanoseconds.MILLISECOND);}); delay_bar.pack_start(delay_label, false, false, 2); delay_bar.pack_start(delay_slider, true, true, 2); @@ -84,19 +96,19 @@ public class EchoPopUp : Hildon.Dialog { feedback_slider = new Gtk.HScale.with_range(0.0, 1.0, 0.05); feedback_slider.set_value_pos(Gtk.PositionType.LEFT); feedback_slider.set_value(settings.feedback); - feedback_slider.value_changed.connect((s) => {feedback_updated(s.get_value());}); + //feedback_slider.value_changed.connect((s) => {feedback_updated(s.get_value());}); feedback_bar.pack_start(feedback_label, false, false, 2); feedback_bar.pack_start(feedback_slider, true, true, 2); control_area.pack_start(feedback_bar, true, true, 2); - Gtk.HBox intensity_bar = new Gtk.HBox(false, 4); + Gtk.HBox intensity_bar = new Gtk.HBox(false, 4); Gtk.Label intensity_label = new Gtk.Label("Intensity (ratio): "); intensity_slider = new Gtk.HScale.with_range(0.0, 1.0, 0.05); intensity_slider.set_value_pos(Gtk.PositionType.LEFT); intensity_slider.set_value(settings.intensity); - intensity_slider.value_changed.connect((s) => {intensity_updated(s.get_value());}); + //intensity_slider.value_changed.connect((s) => {intensity_updated(s.get_value());}); intensity_bar.pack_start(intensity_label, false, false, 2); intensity_bar.pack_start(intensity_slider, true, true, 2); diff --git a/src/SettingsStructures.vala b/src/SettingsStructures.vala index 1b67831..1df4800 100644 --- a/src/SettingsStructures.vala +++ b/src/SettingsStructures.vala @@ -280,7 +280,7 @@ namespace IdWorks { public EchoSettings() { this.active = false; - this.max_delay = 1 * Time.Nanoseconds.SECOND; + this.max_delay = Time.Milliseconds.SECOND / 2; this.delay = 0; this.feedback = 0; this.intensity = 0; -- 1.7.9.5