summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsamr7 <samr7@126591fb-c623-4b62-a76d-97a8e4f34109>2008-12-01 05:59:08 +0000
committersamr7 <samr7@126591fb-c623-4b62-a76d-97a8e4f34109>2008-12-01 05:59:08 +0000
commit250105e34505046f8a639bf8b6b66939cbb1a99d (patch)
tree19c9b1c35eee88196a32aa6cf2dd45e827f11b06
parentfbd4578983f7f95752f87ab394ebda04312be789 (diff)
downloadnohands-250105e34505046f8a639bf8b6b66939cbb1a99d.tar.gz
Stop using gtk.Dialog.run(), as I have no idea how to support handling
ctrl+C from the command line underneath it. git-svn-id: http://nohands.svn.sourceforge.net/svnroot/nohands/trunk@53 126591fb-c623-4b62-a76d-97a8e4f34109
-rw-r--r--data/hfconsole.glade1106
-rwxr-xr-xdata/hfconsole.in106
2 files changed, 618 insertions, 594 deletions
diff --git a/data/hfconsole.glade b/data/hfconsole.glade
index 5ec2327..962e6ce 100644
--- a/data/hfconsole.glade
+++ b/data/hfconsole.glade
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Mon Nov 24 02:58:39 2008 -->
+<!--Generated with glade3 3.4.5 on Sun Nov 30 21:42:50 2008 -->
<glade-interface>
<widget class="GtkWindow" id="MainWindow">
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -180,43 +180,49 @@
<property name="row_spacing">8</property>
<property name="homogeneous">True</property>
<child>
- <widget class="GtkButton" id="DigitButton1">
+ <widget class="GtkButton" id="DigitButtonPnd">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="1"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="1"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="#"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="#"/>
<child>
- <widget class="GtkLabel" id="DigitLabel1">
+ <widget class="GtkLabel" id="DigitLabelPnd">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;1&lt;/span&gt;
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;#&lt;/span&gt;
</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
</child>
</widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ </packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButton2">
+ <widget class="GtkButton" id="DigitButton0">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="2"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="2"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="0"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="0"/>
<child>
- <widget class="GtkLabel" id="DigitLabel2">
+ <widget class="GtkLabel" id="DigitLabel0">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;2&lt;/span&gt;
-abc</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;0&lt;/span&gt;
+</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
@@ -225,76 +231,80 @@ abc</property>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButton3">
+ <widget class="GtkButton" id="DigitButtonAst">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="3"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="3"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="*"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="*"/>
<child>
- <widget class="GtkLabel" id="DigitLabel3">
+ <widget class="GtkLabel" id="DigitLabelAst">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;3&lt;/span&gt;
-def</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;*&lt;/span&gt;
+</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
</child>
</widget>
<packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButton4">
+ <widget class="GtkButton" id="DigitButton9">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="4"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="4"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="9"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="9"/>
<child>
- <widget class="GtkLabel" id="DigitLabel4">
+ <widget class="GtkLabel" id="DigitLabel9">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;4&lt;/span&gt;
-ghi</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;9&lt;/span&gt;
+wxyz</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
</child>
</widget>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButton5">
+ <widget class="GtkButton" id="DigitButton8">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="5"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="5"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="8"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="8"/>
<child>
- <widget class="GtkLabel" id="DigitLabel5">
+ <widget class="GtkLabel" id="DigitLabel8">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;5&lt;/span&gt;
-jkl</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;8&lt;/span&gt;
+tuv</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
@@ -303,80 +313,80 @@ jkl</property>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButton6">
+ <widget class="GtkButton" id="DigitButton7">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="6"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="6"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="7"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="7"/>
<child>
- <widget class="GtkLabel" id="DigitLabel6">
+ <widget class="GtkLabel" id="DigitLabel7">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;6&lt;/span&gt;
-mno</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;7&lt;/span&gt;
+pqrs</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
</child>
</widget>
<packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButton7">
+ <widget class="GtkButton" id="DigitButton6">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="7"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="7"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="6"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="6"/>
<child>
- <widget class="GtkLabel" id="DigitLabel7">
+ <widget class="GtkLabel" id="DigitLabel6">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;7&lt;/span&gt;
-pqrs</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;6&lt;/span&gt;
+mno</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
</child>
</widget>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButton8">
+ <widget class="GtkButton" id="DigitButton5">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="8"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="8"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="5"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="5"/>
<child>
- <widget class="GtkLabel" id="DigitLabel8">
+ <widget class="GtkLabel" id="DigitLabel5">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;8&lt;/span&gt;
-tuv</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;5&lt;/span&gt;
+jkl</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
@@ -385,80 +395,78 @@ tuv</property>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButton9">
+ <widget class="GtkButton" id="DigitButton4">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="9"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="9"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="4"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="4"/>
<child>
- <widget class="GtkLabel" id="DigitLabel9">
+ <widget class="GtkLabel" id="DigitLabel4">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;9&lt;/span&gt;
-wxyz</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;4&lt;/span&gt;
+ghi</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
</child>
</widget>
<packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButtonAst">
+ <widget class="GtkButton" id="DigitButton3">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="*"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="*"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="3"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="3"/>
<child>
- <widget class="GtkLabel" id="DigitLabelAst">
+ <widget class="GtkLabel" id="DigitLabel3">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;*&lt;/span&gt;
-</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;3&lt;/span&gt;
+def</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
</child>
</widget>
<packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButton0">
+ <widget class="GtkButton" id="DigitButton2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="0"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="0"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="2"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="2"/>
<child>
- <widget class="GtkLabel" id="DigitLabel0">
+ <widget class="GtkLabel" id="DigitLabel2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;0&lt;/span&gt;
-</property>
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;2&lt;/span&gt;
+abc</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
@@ -467,37 +475,29 @@ wxyz</property>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="DigitButtonPnd">
+ <widget class="GtkButton" id="DigitButton1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="focus_on_click">False</property>
<property name="response_id">0</property>
- <signal name="pressed" handler="DigitButton_pressed_cb" object="#"/>
- <signal name="clicked" handler="DigitButton_clicked_cb" object="#"/>
+ <signal name="pressed" handler="DigitButton_pressed_cb" object="1"/>
+ <signal name="clicked" handler="DigitButton_clicked_cb" object="1"/>
<child>
- <widget class="GtkLabel" id="DigitLabelPnd">
+ <widget class="GtkLabel" id="DigitLabel1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;#&lt;/span&gt;
+ <property name="label" translatable="yes">&lt;span size="xx-large" weight="heavy"&gt;1&lt;/span&gt;
</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
</widget>
</child>
</widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- </packing>
</child>
</widget>
<packing>
@@ -755,6 +755,164 @@ wxyz</property>
<property name="column_spacing">8</property>
<property name="row_spacing">8</property>
<child>
+ <widget class="GtkComboBoxEntry" id="ConfigDriverDevList">
+ <property name="visible">True</property>
+ <child internal-child="entry">
+ <widget class="GtkEntry" id="ConfigDriverOpts">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkCheckButton" id="ConfigMinOutBufferHint">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Output Buffer</property>
+ <property name="xalign">0</property>
+ <property name="response_id">0</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="ConfigMinOutBufferHint_toggled_cb"/>
+ </widget>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkCheckButton" id="ConfigPacketIntervalHint">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Packet Interval</property>
+ <property name="xalign">0</property>
+ <property name="response_id">0</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="ConfigPacketIntervalHint_toggled_cb"/>
+ </widget>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="ConfigMinOutBufferLabel">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">0ms</property>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHScale" id="ConfigPacketInterval">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">1 0 1 0.01 0.10000000000000001 0</property>
+ <property name="restrict_to_fill_level">False</property>
+ <property name="fill_level">1</property>
+ <property name="digits">0</property>
+ <property name="draw_value">False</property>
+ <property name="value_pos">GTK_POS_RIGHT</property>
+ <signal name="value_changed" handler="ConfigPacketInterval_value_changed_cb"/>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="ConfigPacketIntervalLabel">
+ <property name="width_request">64</property>
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">0ms</property>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Driver</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHScale" id="ConfigMinOutBuffer">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">1 0 1 0.01 0.10000000000000001 0</property>
+ <property name="draw_value">False</property>
+ <property name="value_pos">GTK_POS_RIGHT</property>
+ <signal name="value_changed" handler="ConfigMinOutBuffer_value_changed_cb"/>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Device / Options</property>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkComboBox" id="ConfigDriver">
+ <property name="visible">True</property>
+ <property name="items" translatable="yes"></property>
+ <signal name="changed" handler="ConfigDriver_changed_cb"/>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
<widget class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -871,164 +1029,6 @@ wxyz</property>
<property name="y_options"></property>
</packing>
</child>
- <child>
- <widget class="GtkComboBox" id="ConfigDriver">
- <property name="visible">True</property>
- <property name="items" translatable="yes"></property>
- <signal name="changed" handler="ConfigDriver_changed_cb"/>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label7">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Device / Options</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkHScale" id="ConfigMinOutBuffer">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">1 0 1 0.01 0.10000000000000001 0</property>
- <property name="draw_value">False</property>
- <property name="value_pos">GTK_POS_RIGHT</property>
- <signal name="value_changed" handler="ConfigMinOutBuffer_value_changed_cb"/>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label6">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Driver</property>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="ConfigPacketIntervalLabel">
- <property name="width_request">64</property>
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">0ms</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkHScale" id="ConfigPacketInterval">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">1 0 1 0.01 0.10000000000000001 0</property>
- <property name="restrict_to_fill_level">False</property>
- <property name="fill_level">1</property>
- <property name="digits">0</property>
- <property name="draw_value">False</property>
- <property name="value_pos">GTK_POS_RIGHT</property>
- <signal name="value_changed" handler="ConfigPacketInterval_value_changed_cb"/>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="ConfigMinOutBufferLabel">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">0ms</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkCheckButton" id="ConfigPacketIntervalHint">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Packet Interval</property>
- <property name="xalign">0</property>
- <property name="response_id">0</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="ConfigPacketIntervalHint_toggled_cb"/>
- </widget>
- <packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkCheckButton" id="ConfigMinOutBufferHint">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Output Buffer</property>
- <property name="xalign">0</property>
- <property name="response_id">0</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="ConfigMinOutBufferHint_toggled_cb"/>
- </widget>
- <packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkComboBoxEntry" id="ConfigDriverDevList">
- <property name="visible">True</property>
- <child internal-child="entry">
- <widget class="GtkEntry" id="ConfigDriverOpts">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
</widget>
<packing>
<property name="position">1</property>
@@ -1063,92 +1063,87 @@ wxyz</property>
<property name="column_spacing">10</property>
<property name="row_spacing">10</property>
<child>
- <widget class="GtkLabel" id="ConfigEchoCancelTailLabel">
- <property name="width_request">64</property>
+ <widget class="GtkLabel" id="ConfigDereverbDecayLabel">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">0ms</property>
+ <property name="label" translatable="yes">0</property>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkHScale" id="ConfigEchoCancelTail">
+ <widget class="GtkLabel" id="ConfigDereverbValueLabel">
<property name="visible">True</property>
- <property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="adjustment">0 0 1 0.01 0.10000000000000001 0</property>
- <property name="draw_value">False</property>
- <signal name="value_changed" handler="ConfigEchoCancelTail_value_changed_cb"/>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">0</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="ConfigEchoCancel">
+ <widget class="GtkCheckButton" id="ConfigDenoise">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Echo Cancelation</property>
+ <property name="label" translatable="yes">Noise Reduction</property>
+ <property name="xalign">0</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="ConfigEchoCancel_toggled_cb"/>
+ <signal name="toggled" handler="ConfigDenoise_toggled_cb"/>
</widget>
<packing>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
+ <property name="right_attach">3</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="ConfigAutoGainLabel">
+ <widget class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">0</property>
+ <property name="label" translatable="yes">Auto Gain</property>
</widget>
<packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkHScale" id="ConfigAutoGain">
+ <widget class="GtkCheckButton" id="ConfigDereverb">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="adjustment">0 0 20 1 10 0</property>
- <property name="digits">0</property>
- <property name="draw_value">False</property>
- <property name="value_pos">GTK_POS_RIGHT</property>
- <signal name="value_changed" handler="ConfigAutoGain_value_changed_cb"/>
+ <property name="label" translatable="yes">Dereverb</property>
+ <property name="response_id">0</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="ConfigDereverb_toggled_cb"/>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkHScale" id="ConfigDereverbDecay">
+ <widget class="GtkHScale" id="ConfigDereverbValue">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -1156,18 +1151,18 @@ wxyz</property>
<property name="digits">2</property>
<property name="draw_value">False</property>
<property name="value_pos">GTK_POS_RIGHT</property>
- <signal name="value_changed" handler="ConfigDereverbDecay_value_changed_cb"/>
+ <signal name="value_changed" handler="ConfigDereverbValue_value_changed_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkHScale" id="ConfigDereverbValue">
+ <widget class="GtkHScale" id="ConfigDereverbDecay">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -1175,92 +1170,97 @@ wxyz</property>
<property name="digits">2</property>
<property name="draw_value">False</property>
<property name="value_pos">GTK_POS_RIGHT</property>
- <signal name="value_changed" handler="ConfigDereverbValue_value_changed_cb"/>
+ <signal name="value_changed" handler="ConfigDereverbDecay_value_changed_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="ConfigDereverb">
+ <widget class="GtkHScale" id="ConfigAutoGain">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Dereverb</property>
- <property name="response_id">0</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="ConfigDereverb_toggled_cb"/>
+ <property name="adjustment">0 0 20 1 10 0</property>
+ <property name="digits">0</property>
+ <property name="draw_value">False</property>
+ <property name="value_pos">GTK_POS_RIGHT</property>
+ <signal name="value_changed" handler="ConfigAutoGain_value_changed_cb"/>
</widget>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label10">
+ <widget class="GtkLabel" id="ConfigAutoGainLabel">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">Auto Gain</property>
+ <property name="label" translatable="yes">0</property>
</widget>
<packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="ConfigDenoise">
+ <widget class="GtkCheckButton" id="ConfigEchoCancel">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Noise Reduction</property>
- <property name="xalign">0</property>
+ <property name="label" translatable="yes">Echo Cancelation</property>
<property name="response_id">0</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="ConfigDenoise_toggled_cb"/>
+ <signal name="toggled" handler="ConfigEchoCancel_toggled_cb"/>
</widget>
<packing>
- <property name="right_attach">3</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="ConfigDereverbValueLabel">
+ <widget class="GtkHScale" id="ConfigEchoCancelTail">
<property name="visible">True</property>
+ <property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">0</property>
+ <property name="adjustment">0 0 1 0.01 0.10000000000000001 0</property>
+ <property name="draw_value">False</property>
+ <signal name="value_changed" handler="ConfigEchoCancelTail_value_changed_cb"/>
</widget>
<packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="ConfigDereverbDecayLabel">
+ <widget class="GtkLabel" id="ConfigEchoCancelTailLabel">
+ <property name="width_request">64</property>
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">0</property>
+ <property name="label" translatable="yes">0ms</property>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
@@ -1317,25 +1317,40 @@ wxyz</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkFileChooserButton" id="ConfigRingerFile">
+ <widget class="GtkEntry" id="ConfigAudioDetachCommand">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <signal name="file_set" handler="ConfigRingerFile_file_set_cb"/>
+ <property name="can_focus">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label19">
+ <widget class="GtkEntry" id="ConfigAudioAttachCommand">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label35">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">Ringer Sound:</property>
+ <property name="label" translatable="yes">Audio Detach Command:</property>
</widget>
<packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
@@ -1354,41 +1369,26 @@ wxyz</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label35">
+ <widget class="GtkLabel" id="label19">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">Audio Detach Command:</property>
+ <property name="label" translatable="yes">Ringer Sound:</property>
</widget>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="ConfigAudioAttachCommand">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkEntry" id="ConfigAudioDetachCommand">
+ <widget class="GtkFileChooserButton" id="ConfigRingerFile">
<property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <signal name="file_set" handler="ConfigRingerFile_file_set_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
@@ -1426,6 +1426,7 @@ wxyz</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">OK</property>
<property name="response_id">0</property>
+ <signal name="clicked" handler="ConfigOk_clicked_cb"/>
</widget>
</child>
<child>
@@ -1435,6 +1436,7 @@ wxyz</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">Cancel</property>
<property name="response_id">1</property>
+ <signal name="clicked" handler="ConfigCancel_clicked_cb"/>
</widget>
<packing>
<property name="position">1</property>
@@ -1468,55 +1470,52 @@ wxyz</property>
<property name="column_spacing">8</property>
<property name="row_spacing">8</property>
<child>
- <widget class="GtkLabel" id="label14">
+ <widget class="GtkLabel" id="label24">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">&lt;b&gt;1. Record a sound clip of spoken language
- &lt;i&gt;Try to leave pauses and quiet moments during this clip.&lt;/i&gt;&lt;/b&gt;</property>
+ <property name="label" translatable="yes">The first step will begin when you click &lt;i&gt;Forward&lt;/i&gt;.</property>
<property name="use_markup">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11">
+ <widget class="GtkLabel" id="emptylabel2">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">To test your signal processing settings, we will perform three steps:</property>
- <property name="use_markup">True</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label17">
+ <widget class="GtkLabel" id="emptylabel">
+ <property name="visible">True</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkArrow" id="arrow1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">&lt;b&gt;2.&lt;/b&gt; Play back the sound clip while recording a second clip
- &lt;i&gt;This will simulate a full duplex conversation, with the clip
- recorded in step one as coming from the remote party.&lt;/i&gt;</property>
- <property name="use_markup">True</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
@@ -1539,50 +1538,53 @@ wxyz</property>
</packing>
</child>
<child>
- <widget class="GtkArrow" id="arrow1">
+ <widget class="GtkLabel" id="label17">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">&lt;b&gt;2.&lt;/b&gt; Play back the sound clip while recording a second clip
+ &lt;i&gt;This will simulate a full duplex conversation, with the clip
+ recorded in step one as coming from the remote party.&lt;/i&gt;</property>
+ <property name="use_markup">True</property>
</widget>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="emptylabel">
- <property name="visible">True</property>
- </widget>
- <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="emptylabel2">
+ <widget class="GtkLabel" id="label11">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">To test your signal processing settings, we will perform three steps:</property>
+ <property name="use_markup">True</property>
</widget>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">5</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label24">
+ <widget class="GtkLabel" id="label14">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">The first step will begin when you click &lt;i&gt;Forward&lt;/i&gt;.</property>
+ <property name="label" translatable="yes">&lt;b&gt;1. Record a sound clip of spoken language
+ &lt;i&gt;Try to leave pauses and quiet moments during this clip.&lt;/i&gt;&lt;/b&gt;</property>
<property name="use_markup">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
@@ -1604,66 +1606,51 @@ wxyz</property>
<property name="column_spacing">8</property>
<property name="row_spacing">8</property>
<child>
- <widget class="GtkToggleButton" id="DspTestRecStart1">
+ <widget class="GtkLabel" id="label8">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">gtk-media-record</property>
- <property name="use_stock">True</property>
- <property name="response_id">0</property>
- <signal name="toggled" handler="DspTestRecStart1_toggled_cb"/>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"> Click &lt;i&gt;Record&lt;/i&gt; to begin</property>
+ <property name="use_markup">True</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">5</property>
- <property name="bottom_attach">6</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label12">
+ <widget class="GtkProgressBar" id="DspTestRecPosition1">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">&lt;b&gt;1. Record a sound clip of spoken language
- &lt;i&gt;Try to leave pauses and quiet moments during this clip.&lt;/i&gt;&lt;/b&gt;</property>
- <property name="use_markup">True</property>
+ <property name="show_text">True</property>
+ <property name="text" translatable="yes">Record Progress</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label22">
+ <widget class="GtkLabel" id="emptylabel4">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">To test your signal processing settings, we will perform three steps:</property>
- <property name="use_markup">True</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">6</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkArrow" id="arrow2">
+ <widget class="GtkLabel" id="emptylabel1">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
</widget>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
@@ -1683,53 +1670,68 @@ wxyz</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="emptylabel1">
+ <widget class="GtkArrow" id="arrow2">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
</widget>
<packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="emptylabel4">
+ <widget class="GtkLabel" id="label22">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">To test your signal processing settings, we will perform three steps:</property>
+ <property name="use_markup">True</property>
</widget>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">6</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkProgressBar" id="DspTestRecPosition1">
+ <widget class="GtkLabel" id="label12">
<property name="visible">True</property>
- <property name="show_text">True</property>
- <property name="text" translatable="yes">Record Progress</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">&lt;b&gt;1. Record a sound clip of spoken language
+ &lt;i&gt;Try to leave pauses and quiet moments during this clip.&lt;/i&gt;&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label8">
+ <widget class="GtkToggleButton" id="DspTestRecStart1">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes"> Click &lt;i&gt;Record&lt;/i&gt; to begin</property>
- <property name="use_markup">True</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">gtk-media-record</property>
+ <property name="use_stock">True</property>
+ <property name="response_id">0</property>
+ <signal name="toggled" handler="DspTestRecStart1_toggled_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
</packing>
</child>
</widget>
@@ -1748,51 +1750,67 @@ wxyz</property>
<property name="column_spacing">8</property>
<property name="row_spacing">8</property>
<child>
- <widget class="GtkLabel" id="label26">
+ <widget class="GtkLabel" id="label9">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes"> Click &lt;i&gt;Record&lt;/i&gt; to begin</property>
+ <property name="label" translatable="yes">&lt;b&gt;2. Play back the sound clip while recording a second clip
+ &lt;i&gt;This will simulate a full duplex conversation, with the clip
+ recorded in step one as coming from the remote party.&lt;/i&gt;&lt;/b&gt;</property>
<property name="use_markup">True</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkProgressBar" id="DspTestRecPosition2">
+ <widget class="GtkToggleButton" id="DspTestRecStart2">
<property name="visible">True</property>
- <property name="show_text">True</property>
- <property name="text" translatable="yes">Record Progress</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">gtk-media-record</property>
+ <property name="use_stock">True</property>
+ <property name="response_id">0</property>
+ <signal name="toggled" handler="DspTestRecStart2_toggled_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="emptylabel8">
+ <widget class="GtkLabel" id="label25">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">You are currently on Step 2 of the digital signal processing test:</property>
+ <property name="use_markup">True</property>
</widget>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">6</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="emptylabel7">
+ <widget class="GtkArrow" id="arrow4">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
</widget>
<packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
@@ -1812,69 +1830,53 @@ wxyz</property>
</packing>
</child>
<child>
- <widget class="GtkArrow" id="arrow4">
+ <widget class="GtkLabel" id="emptylabel7">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
</widget>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label25">
+ <widget class="GtkLabel" id="emptylabel8">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">You are currently on Step 2 of the digital signal processing test:</property>
- <property name="use_markup">True</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">6</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkToggleButton" id="DspTestRecStart2">
+ <widget class="GtkProgressBar" id="DspTestRecPosition2">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">gtk-media-record</property>
- <property name="use_stock">True</property>
- <property name="response_id">0</property>
- <signal name="toggled" handler="DspTestRecStart2_toggled_cb"/>
+ <property name="show_text">True</property>
+ <property name="text" translatable="yes">Record Progress</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">5</property>
- <property name="bottom_attach">6</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label9">
+ <widget class="GtkLabel" id="label26">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">&lt;b&gt;2. Play back the sound clip while recording a second clip
- &lt;i&gt;This will simulate a full duplex conversation, with the clip
- recorded in step one as coming from the remote party.&lt;/i&gt;&lt;/b&gt;</property>
+ <property name="label" translatable="yes"> Click &lt;i&gt;Record&lt;/i&gt; to begin</property>
<property name="use_markup">True</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
</packing>
</child>
</widget>
@@ -1893,119 +1895,119 @@ wxyz</property>
<property name="column_spacing">8</property>
<property name="row_spacing">8</property>
<child>
- <widget class="GtkLabel" id="label23">
+ <widget class="GtkToggleButton" id="DspTestPlayStart">
<property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">&lt;b&gt;3. Play back the second clip
- &lt;i&gt;This is what the remote party would hear for the
- conversation as simulated in step two.&lt;/i&gt;&lt;/b&gt;</property>
- <property name="use_markup">True</property>
+ <property name="label" translatable="yes">gtk-media-play</property>
+ <property name="use_stock">True</property>
+ <property name="response_id">0</property>
+ <signal name="toggled" handler="DspTestPlayStart_toggled_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options"></property>
+ <property name="y_options">GTK_EXPAND</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label13">
+ <widget class="GtkLabel" id="label16">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes"> Click &lt;i&gt;Play&lt;/i&gt; to begin</property>
+ <property name="label" translatable="yes">You are currently on Step 3 of the digital signal processing test:</property>
<property name="use_markup">True</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkProgressBar" id="DspTestPlayPosition">
+ <widget class="GtkArrow" id="arrow3">
<property name="visible">True</property>
- <property name="show_text">True</property>
- <property name="text" translatable="yes">Playback Progress</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="emptylabel5">
+ <widget class="GtkLabel" id="emptylabel6">
<property name="visible">True</property>
</widget>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="emptylabel6">
+ <widget class="GtkLabel" id="emptylabel5">
<property name="visible">True</property>
</widget>
<packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkArrow" id="arrow3">
+ <widget class="GtkProgressBar" id="DspTestPlayPosition">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="show_text">True</property>
+ <property name="text" translatable="yes">Playback Progress</property>
</widget>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label16">
+ <widget class="GtkLabel" id="label13">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">You are currently on Step 3 of the digital signal processing test:</property>
+ <property name="label" translatable="yes"> Click &lt;i&gt;Play&lt;/i&gt; to begin</property>
<property name="use_markup">True</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
</packing>
</child>
<child>
- <widget class="GtkToggleButton" id="DspTestPlayStart">
+ <widget class="GtkLabel" id="label23">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">gtk-media-play</property>
- <property name="use_stock">True</property>
- <property name="response_id">0</property>
- <signal name="toggled" handler="DspTestPlayStart_toggled_cb"/>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">&lt;b&gt;3. Play back the second clip
+ &lt;i&gt;This is what the remote party would hear for the
+ conversation as simulated in step two.&lt;/i&gt;&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="x_options"></property>
- <property name="y_options">GTK_EXPAND</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
</widget>
@@ -2081,6 +2083,7 @@ wxyz</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Rescan</property>
<property name="response_id">-1</property>
+ <signal name="clicked" handler="ScanRestart_clicked_cb"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -2094,6 +2097,7 @@ wxyz</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">History</property>
<property name="response_id">-2</property>
+ <signal name="clicked" handler="ScanHistory_clicked_cb"/>
</widget>
<packing>
<property name="position">1</property>
@@ -2107,6 +2111,7 @@ wxyz</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">Cancel</property>
<property name="response_id">1</property>
+ <signal name="clicked" handler="ScanCancel_clicked_cb"/>
</widget>
<packing>
<property name="pack_type">GTK_PACK_END</property>
@@ -2121,6 +2126,7 @@ wxyz</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">OK</property>
<property name="response_id">0</property>
+ <signal name="clicked" handler="ScanOK_clicked_cb"/>
</widget>
<packing>
<property name="pack_type">GTK_PACK_END</property>
@@ -2482,6 +2488,7 @@ Drop Active</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">Cancel</property>
<property name="response_id">1</property>
+ <signal name="clicked" handler="HistoryCancel_clicked_cb"/>
</widget>
<packing>
<property name="position">1</property>
@@ -2495,6 +2502,7 @@ Drop Active</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">OK</property>
<property name="response_id">0</property>
+ <signal name="clicked" handler="HistoryOK_clicked_cb"/>
</widget>
<packing>
<property name="pack_type">GTK_PACK_END</property>
diff --git a/data/hfconsole.in b/data/hfconsole.in
index 2867f37..2feb953 100755
--- a/data/hfconsole.in
+++ b/data/hfconsole.in
@@ -170,8 +170,19 @@ class HfConsole:
# Callbacks for the scan dialog
"on_ScanDialog_close" : gtk.main_quit,
+ "ScanOK_clicked_cb" : self.scan_ok_clicked,
+ "ScanCancel_clicked_cb" : self.scan_cancel_clicked,
+ "ScanHistory_clicked_cb" : self.scan_history_clicked,
+ "ScanRestart_clicked_cb" : self.scan_restart_clicked,
+
+ # Callbacks for the history dialog
+ "HistoryOK_clicked_cb" : self.history_ok_clicked,
+ "HistoryCancel_clicked_cb" :
+ self.history_cancel_clicked,
# Callbacks for the config dialog
+ "ConfigOk_clicked_cb" : self.config_ok_clicked,
+ "ConfigCancel_clicked_cb" : self.config_cancel_clicked,
"ConfigDriver_changed_cb" :
self.config_driver_changed,
"ConfigPacketIntervalHint_toggled_cb" :
@@ -303,6 +314,7 @@ class HfConsole:
except dbus.exceptions.DBusException, (ex):
self.fatal('Could not connect to D-Bus:\n' +
str(ex))
+ return
try:
self.hfpd = dbus.Interface(
@@ -326,10 +338,11 @@ class HfConsole:
str(ex) + '\n\n' +
'Ensure that hfpd and its D-Bus service ' +
'file are installed correctly.\n' +
- 'If the problem persists, try starting '
+ 'If the problem persists, try starting ' +
'hfpd manually, e.g. \"hfpd\", or out ' +
' of your build directory, e.g. ' +
'\"hfpd/hfpd\"')
+ return
try:
v = self.getprop_hfpd('Version')
@@ -344,6 +357,7 @@ class HfConsole:
'Ensure that hfpd is installed correctly.\n' +
'If the problem persists, try \"killall hfpd\"') %
(v, my_version))
+ return
elif v != my_version:
self.fatal(('Version mismatch with hfpd!\n'
'hfpd version: %d\n' +
@@ -353,6 +367,7 @@ class HfConsole:
'out of your build directory, e.g. ' +
'\"data/hfconsole\"') %
(v, my_version))
+ return
self.configfile_name = os.path.expanduser('~/.hfconsolerc')
self.configfile = ConfigParser.ConfigParser()
@@ -416,6 +431,7 @@ class HfConsole:
if (ex.get_dbus_name() !=
'net.sf.nohands.hfpd.Error'):
self.fatal(ex.get_dbus_message())
+ return
self.setprop_hfpd('AutoRestart', True)
ags = self.getprop_hfpd('AudioGateways')
for x in ags:
@@ -435,13 +451,15 @@ class HfConsole:
dlg.set_title(self['MainWindow'].get_title())
dlg.set_transient_for(self['MainWindow'])
dlg.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
- dlg.run()
- dlg.hide()
+ dlg.show()
+ return dlg
- def fatal(self, msg):
- self.error_message(msg)
+ def fatal_closed(self, widget, response):
# dbus-python needs to fix its exception handler
os._exit(1)
+ def fatal(self, msg):
+ dlg = self.error_message(msg)
+ dlg.connect('response', self.fatal_closed)
class AudioGateway:
def image_button(self, toggle, stock, tip):
@@ -947,31 +965,12 @@ class HfConsole:
def scan_open(self, but):
dlg = self['ScanDialog']
- result = 2
-
if not self.scan_restart():
self.error_message('Could not start inquiry')
return
-
- while True:
- dlg.show()
- result = dlg.run()
- if result == -1:
- if not self.scan_restart():
- self.error_message(
- 'Could not start inquiry')
- continue
- elif result == -2:
- result = self.history_open()
- if not result:
- continue
- (store, iter) = result
- result = 0
- elif result == 0:
- assert (self.scanselect.count_selected_rows()
- <= 1)
- (store, iter) = self.scanselect.get_selected()
- break
+ dlg.show()
+ def scan_close(self):
+ dlg = self['ScanDialog']
dlg.hide()
if self.inquiry:
try:
@@ -979,13 +978,24 @@ class HfConsole:
except:
pass
self.inquiry = False
- if result != 0:
- return
+ def scan_create_session(self, store, iter):
# Create a session for the selected bdaddr
+ self.scan_close()
assert store and iter
addr = store.get_value(iter, 2)
self.ag_add_to_config(addr)
self.add_audiogateway(addr)
+ def scan_ok_clicked(self, widget):
+ assert (self.scanselect.count_selected_rows() <= 1)
+ (store, iter) = self.scanselect.get_selected()
+ self.scan_create_session(store, iter)
+ def scan_cancel_clicked(self,widget):
+ self.scan_close()
+ def scan_history_clicked(self, widget):
+ self.history_open()
+ def scan_restart_clicked(self, widget):
+ if not self.scan_restart():
+ self.error_message('Could not start inquiry')
def scan_select(self, selection):
if not selection.count_selected_rows():
self['ScanOK'].set_sensitive(False)
@@ -1049,15 +1059,17 @@ class HfConsole:
else:
name = "%s (%s)" % (name, addr)
self.historyresults.append(row=[name, 0, addr])
-
dlg.show()
- res = dlg.run()
+ def history_close(self):
+ dlg = self['HistoryDialog']
dlg.hide()
- if res == 1:
- return None
+ def history_ok_clicked(self, widget):
+ self.history_close()
assert self.historyselect.count_selected_rows() <= 1
- return self.historyselect.get_selected()
-
+ (store, iter) = self.historyselect.get_selected()
+ self.scan_create_session(store, iter)
+ def history_cancel_clicked(self, widget):
+ self.history_close()
def history_select(self, selection):
if not selection.count_selected_rows():
self['HistoryOK'].set_sensitive(False)
@@ -1121,20 +1133,24 @@ class HfConsole:
cmd = self.command_audio_attach_dcmd
if cmd:
self['ConfigAudioDetachCommand'].set_text(cmd)
-
+ self.config_savecfg = savecfg
dlg.show()
- result = dlg.run()
+ def config_close(self):
+ dlg = self['ConfigDialog']
dlg.hide()
self['ConfigFeedbackTest'].set_active(False)
- if result == 1:
- # Restore the save values
- self.config_restore_vals(savecfg)
- else:
- self.config_save_vals()
del self.config
if hasattr(self, 'loopback_active'):
del self.loopback_active
-
+ if hasattr(self, 'config_savecfg'):
+ del self.config_savecfg
+ def config_ok_clicked(self, widget):
+ self.config_save_vals()
+ self.config_close()
+ def config_cancel_clicked(self, widget):
+ # Restore the save values
+ self.config_restore_vals(self.config_savecfg)
+ self.config_close()
def config_get_vals(self):
spr = self.soundio_props.GetAll('net.sf.nohands.hfpd.SoundIo')
hfpr = self.hfpd_props.GetAll('net.sf.nohands.hfpd.HandsFree')
@@ -1628,7 +1644,7 @@ class HfConsole:
self.soundio_status_msg_clear()
self.soundio_status_msgid = self['StatusBar'].push(
self.soundio_status_ctx,
- msg);
+ msg)
if timeout:
self.soundio_status_timeout = gobject.timeout_add(
timeout, self.soundio_status_msg_clear)
@@ -1648,7 +1664,7 @@ class HfConsole:
else:
return
self.soundio_status_msg(msg, 5000)
- self.soundio_skew_type = skewtype;
+ self.soundio_skew_type = skewtype
if self.soundio_skew_monitor:
self.soundio_skew_monitor(skewtype, count)