Start persisting settings. Portaudio devices are persisted.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16164 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
João Mesquita 2010-01-05 22:16:46 +00:00
parent f6ed8b27c1
commit 4ba291d413
7 changed files with 303 additions and 289 deletions

View File

@ -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>

View File

@ -66,12 +66,15 @@ switch_xml_t XMLBinding::getConfigXML(QString tmpl)
/* 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);

View File

@ -7,6 +7,8 @@ PrefDialog::PrefDialog(QWidget *parent) :
ui(new Ui::PrefDialog)
{
ui->setupUi(this);
_settings = new QSettings();
connect(this, SIGNAL(accepted()), this, SLOT(configAccepted()));
getPaDevlist();
}
@ -15,6 +17,25 @@ PrefDialog::~PrefDialog()
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;

View File

@ -3,6 +3,7 @@
#include <QDialog>
#include <QDomDocument>
#include <QSettings>
#include <fshost.h>
namespace Ui {
@ -18,10 +19,14 @@ public:
protected:
void changeEvent(QEvent *e);
private slots:
void configAccepted();
private:
void getPaDevlist(void);
Ui::PrefDialog *ui;
QDomDocument _xmlPaDevList;
QSettings *_settings;
};
#endif // PREFDIALOG_H

View File

@ -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>
<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>
</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>
</widget>
<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>
<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>
<widget class="QLabel" name="label_7">
<property name="geometry">
<rect>
<x>72</x>
<y>34</y>
<width>34</width>
<height>17</height>
</rect>
<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>
<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>
<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>
</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="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>
</property>
</widget>
</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="geometry">
<rect>
<x>63</x>
<y>64</y>
<width>43</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>outdev</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>
</property>
</widget>
</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="geometry">
<rect>
<x>59</x>
<y>94</y>
<width>47</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>rindgev</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="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>ring-file</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="PaRingFileEdit">
<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="PaRingIntervalSpin"/>
</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="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>
</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>

View File

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB