Revision
16164
Author
jmesquita
Date
2010-01-05 16:16:46 -0600 (Tue, 05 Jan 2010)

Log Message

Start persisting settings. Portaudio devices are persisted.

Modified Paths

Added Paths

Diff

Modified: freeswitch/trunk/fscomm/conf/portaudio.conf.xml (16163 => 16164)


--- freeswitch/trunk/fscomm/conf/portaudio.conf.xml	2010-01-05 20:54:45 UTC (rev 16163)
+++ freeswitch/trunk/fscomm/conf/portaudio.conf.xml	2010-01-05 22:16:46 UTC (rev 16164)
@@ -8,11 +8,11 @@
                 <!--<param name="ringdev" value="${ringdev}"/>-->
                 <param name="ring-file" value="${ring-file}"/>
                 <param name="ring-interval" value="${ring-interval}"/>
-                <param name="hold-file" value="$${hold_music}"/>
+                <param name="hold-file" value="${hold-file}"/>
                 <!--<param name="timer-name" value="soft"/>-->
                 <param name="dialplan" value="XML"/>
-                <param name="cid-name" value="$${outbound_caller_name}"/>
-                <param name="cid-num" value="$${outbound_caller_number}"/>
+                <param name="cid-name" value="${cid-name}"/>
+                <param name="cid-num" value="${cid-num}"/>
                 <param name="sample-rate" value="48000"/>
                 <param name="codec-ms" value="10"/>
             </settings>

Modified: freeswitch/trunk/fscomm/mod_qsettings/mod_qsettings.cpp (16163 => 16164)


--- freeswitch/trunk/fscomm/mod_qsettings/mod_qsettings.cpp	2010-01-05 20:54:45 UTC (rev 16163)
+++ freeswitch/trunk/fscomm/mod_qsettings/mod_qsettings.cpp	2010-01-05 22:16:46 UTC (rev 16164)
@@ -66,12 +66,15 @@
     /* Open template file and expand all strings based on QSettings */
     QByteArray tmplContents(tmplFile.readAll());
     tmplFile.close();
-    _settings->beginGroup("FreeSIWTCH/conf");
+
+    _settings->beginGroup("FreeSWITCH/conf");
     _settings->beginGroup(tmpl);
     foreach(QString k, _settings->childKeys())
     {
         switch_event_add_header_string(e, SWITCH_STACK_BOTTOM, k.toAscii().constData(), _settings->value(k).toByteArray().constData());
     }
+    _settings->endGroup();
+    _settings->endGroup();
 
     char *res = switch_event_expand_headers(e, tmplContents.data());
     switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Template %s as follows:\n%s", tmpl.toAscii().constData(), res);

Modified: freeswitch/trunk/fscomm/prefdialog.cpp (16163 => 16164)


--- freeswitch/trunk/fscomm/prefdialog.cpp	2010-01-05 20:54:45 UTC (rev 16163)
+++ freeswitch/trunk/fscomm/prefdialog.cpp	2010-01-05 22:16:46 UTC (rev 16164)
@@ -7,6 +7,8 @@
     ui(new Ui::PrefDialog)
 {
     ui->setupUi(this);
+    _settings = new QSettings();
+    connect(this, SIGNAL(accepted()), this, SLOT(configAccepted()));
     getPaDevlist();
 }
 
@@ -15,6 +17,25 @@
     delete ui;
 }
 
+void PrefDialog::configAccepted()
+{
+    _settings->beginGroup("FreeSWITCH/conf");
+
+    _settings->beginGroup("portaudio.conf");
+    _settings->setValue("cid-name", ui->PaCallerIdNameEdit->text());
+    _settings->setValue("cid-num", ui->PaCallerIdNumEdit->text());
+    _settings->setValue("indev", ui->PaIndevCombo->currentIndex());
+    _settings->setValue("outdev", ui->PaOutdevCombo->currentIndex());
+    _settings->setValue("ringdev", ui->PaRingdevCombo->currentIndex());
+    _settings->setValue("ring-file", ui->PaRingFileEdit->text());
+    _settings->setValue("ring-interval", ui->PaRingIntervalSpin->value());
+    _settings->setValue("hold-file", ui->PaHoldFileEdit->text());
+    _settings->endGroup();
+
+    _settings->endGroup();
+
+}
+
 void PrefDialog::getPaDevlist()
 {
     QString result;

Modified: freeswitch/trunk/fscomm/prefdialog.h (16163 => 16164)


--- freeswitch/trunk/fscomm/prefdialog.h	2010-01-05 20:54:45 UTC (rev 16163)
+++ freeswitch/trunk/fscomm/prefdialog.h	2010-01-05 22:16:46 UTC (rev 16164)
@@ -3,6 +3,7 @@
 
 #include <QDialog>
 #include <QDomDocument>
+#include <QSettings>
 #include <fshost.h>
 
 namespace Ui {
@@ -18,10 +19,14 @@
 protected:
     void changeEvent(QEvent *e);
 
+private slots:
+    void configAccepted();
+
 private:
     void getPaDevlist(void);
     Ui::PrefDialog *ui;
     QDomDocument _xmlPaDevList;
+    QSettings *_settings;
 };
 
 #endif // PREFDIALOG_H

Modified: freeswitch/trunk/fscomm/prefdialog.ui (16163 => 16164)


--- freeswitch/trunk/fscomm/prefdialog.ui	2010-01-05 20:54:45 UTC (rev 16163)
+++ freeswitch/trunk/fscomm/prefdialog.ui	2010-01-05 22:16:46 UTC (rev 16164)
@@ -6,317 +6,301 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>477</width>
-    <height>356</height>
+    <width>661</width>
+    <height>437</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Preferences</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout_3">
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
+  <layout class="QGridLayout" name="gridLayout_2">
+   <item row="0" column="0">
+    <widget class="QListWidget" name="listSections">
+     <property name="minimumSize">
+      <size>
+       <width>120</width>
+       <height>0</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>120</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="showDropIndicator" stdset="0">
+      <bool>false</bool>
+     </property>
+     <property name="dragDropMode">
+      <enum>QAbstractItemView::NoDragDrop</enum>
+     </property>
+     <property name="iconSize">
+      <size>
+       <width>96</width>
+       <height>84</height>
+      </size>
+     </property>
+     <property name="movement">
+      <enum>QListView::Static</enum>
+     </property>
+     <property name="flow">
+      <enum>QListView::LeftToRight</enum>
+     </property>
+     <property name="isWrapping" stdset="0">
+      <bool>true</bool>
+     </property>
+     <property name="spacing">
+      <number>12</number>
+     </property>
+     <property name="viewMode">
+      <enum>QListView::IconMode</enum>
+     </property>
      <item>
-      <widget class="QListWidget" name="listSections">
-       <property name="minimumSize">
-        <size>
-         <width>120</width>
-         <height>0</height>
-        </size>
-       </property>
-       <property name="maximumSize">
-        <size>
-         <width>120</width>
-         <height>16777215</height>
-        </size>
-       </property>
-       <property name="showDropIndicator" stdset="0">
-        <bool>false</bool>
-       </property>
-       <property name="dragDropMode">
-        <enum>QAbstractItemView::NoDragDrop</enum>
-       </property>
-       <property name="iconSize">
-        <size>
-         <width>96</width>
-         <height>84</height>
-        </size>
-       </property>
-       <property name="movement">
-        <enum>QListView::Static</enum>
-       </property>
-       <property name="flow">
-        <enum>QListView::LeftToRight</enum>
-       </property>
-       <property name="isWrapping" stdset="0">
-        <bool>true</bool>
-       </property>
-       <property name="spacing">
-        <number>12</number>
-       </property>
-       <property name="viewMode">
-        <enum>QListView::IconMode</enum>
-       </property>
+      <property name="text">
+       <string>Sofia</string>
+      </property>
+      <property name="icon">
+       <iconset resource="resources.qrc">
+        <normaloff>:/images/pref_sip.png</normaloff>:/images/pref_sip.png</iconset>
+      </property>
+     </item>
+     <item>
+      <property name="text">
+       <string>PortAudio</string>
+      </property>
+      <property name="icon">
+       <iconset resource="resources.qrc">
+        <normaloff>:/images/pref_audio.gif</normaloff>:/images/pref_audio.gif</iconset>
+      </property>
+     </item>
+     <item>
+      <property name="text">
+       <string>General</string>
+      </property>
+      <property name="icon">
+       <iconset resource="resources.qrc">
+        <normaloff>:/images/pref_general.jpg</normaloff>:/images/pref_general.jpg</iconset>
+      </property>
+     </item>
+    </widget>
+   </item>
+   <item row="0" column="1">
+    <widget class="QStackedWidget" name="stackedWidget">
+     <property name="currentIndex">
+      <number>1</number>
+     </property>
+     <widget class="QWidget" name="page">
+      <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
-        <property name="text">
-         <string>Sofia</string>
-        </property>
-        <property name="icon">
-         <iconset resource="resources.qrc">
-          <normaloff>:/images/pref_sip.png</normaloff>:/images/pref_sip.png</iconset>
-        </property>
+        <widget class="QGroupBox" name="groupBox">
+         <property name="title">
+          <string>Global Settings</string>
+         </property>
+         <layout class="QFormLayout" name="formLayout">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label">
+            <property name="text">
+             <string>log-level</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="logLevelSpin"/>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>auto-restart</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QComboBox" name="autoRestartCombo"/>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_3">
+            <property name="text">
+             <string>debug-presence</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QSpinBox" name="debugPresenceSpin"/>
+          </item>
+         </layout>
+        </widget>
        </item>
        <item>
-        <property name="text">
-         <string>PortAudio</string>
-        </property>
-        <property name="icon">
-         <iconset resource="resources.qrc">
-          <normaloff>:/images/pref_audio.gif</normaloff>:/images/pref_audio.gif</iconset>
-        </property>
+        <widget class="QGroupBox" name="groupBox_2">
+         <property name="title">
+          <string>Softphone Profile</string>
+         </property>
+         <layout class="QFormLayout" name="formLayout_2">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="text">
+             <string>user-agent-string</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="userAgentStringEdit"/>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_5">
+            <property name="text">
+             <string>debug</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QSpinBox" name="debugSpin"/>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_6">
+            <property name="text">
+             <string>sip-trace</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QComboBox" name="sipTraceCombo"/>
+          </item>
+         </layout>
+        </widget>
        </item>
-      </widget>
-     </item>
-     <item>
-      <widget class="QStackedWidget" name="stackedWidget">
-       <property name="currentIndex">
-        <number>1</number>
-       </property>
-       <widget class="QWidget" name="page">
-        <layout class="QVBoxLayout" name="verticalLayout_2">
-         <item>
-          <widget class="QGroupBox" name="groupBox">
-           <property name="title">
-            <string>Global Settings</string>
-           </property>
-           <layout class="QFormLayout" name="formLayout">
-            <item row="0" column="0">
-             <widget class="QLabel" name="label">
-              <property name="text">
-               <string>log-level</string>
-              </property>
-             </widget>
-            </item>
-            <item row="0" column="1">
-             <widget class="QSpinBox" name="spinBox"/>
-            </item>
-            <item row="1" column="0">
-             <widget class="QLabel" name="label_2">
-              <property name="text">
-               <string>auto-restart</string>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="1">
-             <widget class="QComboBox" name="comboBox"/>
-            </item>
-            <item row="2" column="0">
-             <widget class="QLabel" name="label_3">
-              <property name="text">
-               <string>debug-presence</string>
-              </property>
-             </widget>
-            </item>
-            <item row="2" column="1">
-             <widget class="QSpinBox" name="spinBox_2"/>
-            </item>
-           </layout>
-          </widget>
-         </item>
-         <item>
-          <widget class="QGroupBox" name="groupBox_2">
-           <property name="title">
-            <string>Softphone Profile</string>
-           </property>
-           <layout class="QFormLayout" name="formLayout_2">
-            <item row="0" column="0">
-             <widget class="QLabel" name="label_4">
-              <property name="text">
-               <string>user-agent-string</string>
-              </property>
-             </widget>
-            </item>
-            <item row="0" column="1">
-             <widget class="QLineEdit" name="lineEdit"/>
-            </item>
-            <item row="1" column="0">
-             <widget class="QLabel" name="label_5">
-              <property name="text">
-               <string>debug</string>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="1">
-             <widget class="QSpinBox" name="spinBox_3"/>
-            </item>
-            <item row="2" column="0">
-             <widget class="QLabel" name="label_6">
-              <property name="text">
-               <string>sip-trace</string>
-              </property>
-             </widget>
-            </item>
-            <item row="2" column="1">
-             <widget class="QComboBox" name="comboBox_2"/>
-            </item>
-           </layout>
-          </widget>
-         </item>
-        </layout>
-       </widget>
-       <widget class="QWidget" name="page_2">
-        <layout class="QVBoxLayout" name="verticalLayout">
-         <item>
-          <widget class="QGroupBox" name="groupBox_3">
-           <property name="title">
-            <string>Devices</string>
-           </property>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="page_2">
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <widget class="QGroupBox" name="groupBox_3">
+         <property name="title">
+          <string>Devices</string>
+         </property>
+         <layout class="QFormLayout" name="formLayout_3">
+          <item row="0" column="0">
            <widget class="QLabel" name="label_7">
-            <property name="geometry">
-             <rect>
-              <x>72</x>
-              <y>34</y>
-              <width>34</width>
-              <height>17</height>
-             </rect>
-            </property>
             <property name="text">
              <string>indev</string>
             </property>
            </widget>
-           <widget class="QComboBox" name="PaIndevCombo">
-            <property name="geometry">
-             <rect>
-              <x>111</x>
-              <y>32</y>
-              <width>111</width>
-              <height>26</height>
-             </rect>
+          </item>
+          <item row="0" column="1">
+           <widget class="QComboBox" name="PaIndevCombo"/>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_8">
+            <property name="text">
+             <string>outdev</string>
             </property>
            </widget>
-           <widget class="QLabel" name="label_8">
-            <property name="geometry">
-             <rect>
-              <x>63</x>
-              <y>64</y>
-              <width>43</width>
-              <height>17</height>
-             </rect>
+          </item>
+          <item row="1" column="1">
+           <widget class="QComboBox" name="PaOutdevCombo"/>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_9">
+            <property name="text">
+             <string>rindgev</string>
             </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QComboBox" name="PaRingdevCombo"/>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox_4">
+         <property name="title">
+          <string>Files</string>
+         </property>
+         <layout class="QGridLayout" name="gridLayout">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_10">
             <property name="text">
-             <string>outdev</string>
+             <string>ring-file</string>
             </property>
            </widget>
-           <widget class="QComboBox" name="PaOutdevCombo">
-            <property name="geometry">
-             <rect>
-              <x>111</x>
-              <y>62</y>
-              <width>111</width>
-              <height>26</height>
-             </rect>
+          </item>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="PaRingFileEdit">
+            <property name="text">
+             <string>tone_stream://%(2000,4000,440.0,480.0);loops=20</string>
             </property>
            </widget>
-           <widget class="QLabel" name="label_9">
-            <property name="geometry">
-             <rect>
-              <x>59</x>
-              <y>94</y>
-              <width>47</width>
-              <height>17</height>
-             </rect>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_12">
+            <property name="text">
+             <string>ring-interval</string>
             </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QSpinBox" name="PaRingIntervalSpin"/>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_11">
             <property name="text">
-             <string>rindgev</string>
+             <string>hold-file</string>
             </property>
            </widget>
-           <widget class="QComboBox" name="PaRingdevCombo">
-            <property name="geometry">
-             <rect>
-              <x>111</x>
-              <y>92</y>
-              <width>111</width>
-              <height>26</height>
-             </rect>
+          </item>
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="PaHoldFileEdit"/>
+          </item>
+         </layout>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="page_3">
+      <layout class="QVBoxLayout" name="verticalLayout_3">
+       <item>
+        <widget class="QGroupBox" name="groupBox_5">
+         <property name="title">
+          <string>User Information</string>
+         </property>
+         <layout class="QFormLayout" name="formLayout_4">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_13">
+            <property name="text">
+             <string>CallerID Name:</string>
             </property>
            </widget>
-          </widget>
-         </item>
-         <item>
-          <widget class="QGroupBox" name="groupBox_4">
-           <property name="title">
-            <string>Files</string>
-           </property>
-           <layout class="QFormLayout" name="formLayout_3">
-            <item row="0" column="0">
-             <widget class="QLabel" name="label_10">
-              <property name="text">
-               <string>ring-file</string>
-              </property>
-             </widget>
-            </item>
-            <item row="0" column="1">
-             <widget class="QLineEdit" name="lineEdit_2">
-              <property name="text">
-               <string>tone_stream://%(2000,4000,440.0,480.0);loops=20</string>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="0">
-             <widget class="QLabel" name="label_12">
-              <property name="text">
-               <string>ring-interval</string>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="1">
-             <widget class="QSpinBox" name="spinBox_4"/>
-            </item>
-            <item row="2" column="0">
-             <widget class="QLabel" name="label_11">
-              <property name="text">
-               <string>hold-file</string>
-              </property>
-             </widget>
-            </item>
-            <item row="2" column="1">
-             <widget class="QLineEdit" name="lineEdit_3"/>
-            </item>
-           </layout>
-          </widget>
-         </item>
-        </layout>
-       </widget>
-      </widget>
-     </item>
-    </layout>
+          </item>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="PaCallerIdNameEdit"/>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_14">
+            <property name="text">
+             <string>CallerID Number:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="PaCallerIdNumEdit"/>
+          </item>
+         </layout>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
    </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout_2">
-     <item>
-      <spacer name="horizontalSpacer">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>40</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QDialogButtonBox" name="buttonBox">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="standardButtons">
-        <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-       </property>
-      </widget>
-     </item>
-    </layout>
+   <item row="1" column="1">
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
    </item>
   </layout>
  </widget>

Added: freeswitch/trunk/fscomm/resources/pref_general.jpg


(Binary files differ)
Property changes on: freeswitch/trunk/fscomm/resources/pref_general.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream

Modified: freeswitch/trunk/fscomm/resources.qrc (16163 => 16164)


--- freeswitch/trunk/fscomm/resources.qrc	2010-01-05 20:54:45 UTC (rev 16163)
+++ freeswitch/trunk/fscomm/resources.qrc	2010-01-05 22:16:46 UTC (rev 16164)
@@ -3,6 +3,7 @@
         <file alias="splash.png">resources/splash.png</file>
         <file alias="pref_sip.png">resources/pref_sip.png</file>
         <file alias="pref_audio.gif">resources/pref_audio.gif</file>
+        <file alias="pref_general.jpg">resources/pref_general.jpg</file>
     </qresource>
     <qresource prefix="/confs">
         <file alias="freeswitch.xml">conf/freeswitch.xml</file>