Add all the new stuff to persist accounts and sofia configs. Still not working, but a lot work as been done and panes not working are disabled.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16235 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
João Mesquita committed 2010-01-11 04:40:39 +00:00
1 parent 72d143d0da
commit fb79c1bfe4
14 files changed
+405 -235

No files matched your search

+48 -7
View File
@@ -1,4 +1,5 @@
#include <QSettings>
#include <QtGui>
#include "accountdialog.h"
#include "ui_accountdialog.h"
@@ -9,6 +10,8 @@ AccountDialog::AccountDialog(QWidget *parent) :
ui->setupUi(this);
_settings = new QSettings;
connect(this, SIGNAL(accepted()), this, SLOT(writeConfig()));
connect(ui->sofiaExtraParamAddBtn, SIGNAL(clicked()), this, SLOT(addExtraParam()));
connect(ui->sofiaExtraParamRemBtn, SIGNAL(clicked()), this, SLOT(remExtraParam()));
}
AccountDialog::~AccountDialog()
@@ -16,6 +19,42 @@ AccountDialog::~AccountDialog()
delete ui;
}
void AccountDialog::remExtraParam()
{
QList<QTableWidgetSelectionRange> sel = ui->sofiaExtraParamTable->selectedRanges();
foreach(QTableWidgetSelectionRange range, sel)
{
int offset =0;
for(int row = range.topRow(); row<=range.bottomRow(); row++)
{
ui->sofiaExtraParamTable->removeRow(row-offset);
offset++;
}
}
}
void AccountDialog::addExtraParam()
{
bool ok;
QString paramName = QInputDialog::getText(this, tr("Add parameter."),
tr("New parameter name:"), QLineEdit::Normal,
NULL, &ok);
if (!ok)
return;
QString paramVal = QInputDialog::getText(this, tr("Add parameter."),
tr("New parameter value:"), QLineEdit::Normal,
NULL, &ok);
if (!ok)
return;
QTableWidgetItem* paramNameItem = new QTableWidgetItem(paramName);
QTableWidgetItem* paramValItem = new QTableWidgetItem(paramVal);
ui->sofiaExtraParamTable->setRowCount(ui->sofiaExtraParamTable->rowCount()+1);
ui->sofiaExtraParamTable->setItem(ui->sofiaExtraParamTable->rowCount()-1,0,paramNameItem);
ui->sofiaExtraParamTable->setItem(ui->sofiaExtraParamTable->rowCount()-1,1,paramValItem);
}
void AccountDialog::writeConfig()
{
_settings->beginGroup("FreeSWITCH/conf/accounts");
@@ -23,19 +62,21 @@ void AccountDialog::writeConfig()
_settings->beginGroup(ui->sofiaGwNameEdit->text());
_settings->setValue("username", ui->sofiaGwUsernameEdit->text());
_settings->setValue("realm", ui->sofiaGwRealmEdit->text());
_settings->setValue("from-user", ui->sofiaGwFromUserEdit->text());
_settings->setValue("from-domain", ui->sofiaGwFromDomainEdit->text());
_settings->setValue("password", ui->sofiaGwPasswordEdit->text());
_settings->setValue("extension", ui->sofiaGwExtensionEdit->text());
_settings->setValue("proxy", ui->sofiaGwProxyEdit->text());
_settings->setValue("register-proxy", ui->sofiaGwRegisterProxyEdit->text());
_settings->setValue("expire-seconds", ui->sofiaGwExpireSecondsSpin->value());
_settings->setValue("register", ui->sofiaGwRegisterCombo->currentText());
_settings->setValue("register-transport", ui->sofiaGwRegisterTransportCombo->currentText());
_settings->setValue("retry-seconds", ui->sofiaGwRetrySecondsSpin->value());
_settings->setValue("caller-id-in-from", ui->sofiaGwCallerIdInFromCombo->currentText());
_settings->setValue("contact-params", ui->sofiaGwContactParamsEdit->text());
_settings->setValue("ping", ui->sofiaGwPingSpin->value());
_settings->beginGroup("customParams");
for (int i = 0; i< ui->sofiaExtraParamTable->rowCount(); i++)
{
_settings->setValue(ui->sofiaExtraParamTable->item(i, 0)->text(),
ui->sofiaExtraParamTable->item(i, 1)->text());
}
_settings->endGroup();
_settings->endGroup();
_settings->endGroup();