diff --git a/sflphone-qt/Account.cpp b/sflphone-qt/Account.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5b2af91b9f41437790b8f0e3b0b4e167cfa4e666 --- /dev/null +++ b/sflphone-qt/Account.cpp @@ -0,0 +1,134 @@ +#include "Account.h" +#include "sflphone_const.h" +#include "daemon_interface_singleton.h" + +const QString account_state_name(account_state_t & s) +{ + QString state; + switch(s) + { + case ACCOUNT_STATE_REGISTERED: + state = QApplication::translate("ConfigurationDialog", "Registered", 0, QApplication::UnicodeUTF8); + break; + case ACCOUNT_STATE_UNREGISTERED: + state = QApplication::translate("ConfigurationDialog", "Not Registered", 0, QApplication::UnicodeUTF8); + break; + case ACCOUNT_STATE_TRYING: + state = QApplication::translate("ConfigurationDialog", "Trying...", 0, QApplication::UnicodeUTF8); + break; + case ACCOUNT_STATE_ERROR: + state = QApplication::translate("ConfigurationDialog", "Error", 0, QApplication::UnicodeUTF8); + break; + case ACCOUNT_STATE_ERROR_AUTH: + state = QApplication::translate("ConfigurationDialog", "Bad authentification", 0, QApplication::UnicodeUTF8); + break; + case ACCOUNT_STATE_ERROR_NETWORK: + state = QApplication::translate("ConfigurationDialog", "Network unreachable", 0, QApplication::UnicodeUTF8); + break; + case ACCOUNT_STATE_ERROR_HOST: + state = QApplication::translate("ConfigurationDialog", "Host unreachable", 0, QApplication::UnicodeUTF8); + break; + case ACCOUNT_STATE_ERROR_CONF_STUN: + state = QApplication::translate("ConfigurationDialog", "Stun configuration error", 0, QApplication::UnicodeUTF8); + break; + case ACCOUNT_STATE_ERROR_EXIST_STUN: + state = QApplication::translate("ConfigurationDialog", "Stun server invalid", 0, QApplication::UnicodeUTF8); + break; + default: + state = QApplication::translate("ConfigurationDialog", "Invalid", 0, QApplication::UnicodeUTF8); + break; + } + return state; +} + +//Constructors +Account::Account(QListWidgetItem & _item, QString & alias) +{ + accountDetails = new MapStringString(); + (*accountDetails)[ACCOUNT_ALIAS] = alias; + item = & _item; +} +/* +Account::Account(QString & _accountId, MapStringString & _accountDetails, account_state_t & _state) +{ + *accountDetails = _accountDetails; + *accountId = _accountId; + *state = _state; +} +*/ +Account::Account(QString & _accountId) +{ + accountDetails = & DaemonInterfaceSingleton::getInstance().getAccountDetails(_accountId).value(); +} + +Account::~Account() +{ + delete accountId; + delete accountDetails; + delete state; + delete item; +} + +//Getters +QString & Account::getAccountId() +{ + return *accountId; +} + +MapStringString & Account::getAccountDetails() +{ + return *accountDetails; +} + +account_state_t & Account::getState() +{ + return *state; +} + +QListWidgetItem & Account::getItem() +{ + return *item; +} + +QString Account::getStateName() +{ + return account_state_name(*state); +} + +QString Account::getAccountDetail(QString & param) +{ + return (*accountDetails)[param]; +} +/* +QString Account::getAccountDetail(std::string param) +{ + return (*accountDetails)[QString(param)]; +} +*/ +//Setters +/* +void Account::setAccountId(QString id) +{ + accountId = id; +} +*/ +void Account::setAccountDetails(MapStringString m) +{ + *accountDetails = m; +} +/* +void Account::setState(account_state_t s) +{ + +} +*/ +void Account::setAccountDetail(QString param, QString val) +{ + (*accountDetails)[param] = val; +} + +//Operators +bool Account::operator==(const Account& a)const +{ + return *accountId == *a.accountId; +} diff --git a/sflphone-qt/Account.h b/sflphone-qt/Account.h new file mode 100644 index 0000000000000000000000000000000000000000..492cde7a804022bd11b60d0fc34a9a18af3785a0 --- /dev/null +++ b/sflphone-qt/Account.h @@ -0,0 +1,78 @@ +#ifndef HEADER_ACCOUNT +#define HEADER_ACCOUNT + + + +#include <QtGui> +#include "metatypes.h" + +/** @enum account_state_t + * This enum have all the states an account can take. + */ +typedef enum +{ + /** Invalid state */ + ACCOUNT_STATE_INVALID = 0, + /** The account is registered */ + ACCOUNT_STATE_REGISTERED, + /** The account is not registered */ + ACCOUNT_STATE_UNREGISTERED, + /** The account is trying to register */ + ACCOUNT_STATE_TRYING, + /** Error state. The account is not registered */ + ACCOUNT_STATE_ERROR, + /** An authentification error occured. Wrong password or wrong username. The account is not registered */ + ACCOUNT_STATE_ERROR_AUTH, + /** The network is unreachable. The account is not registered */ + ACCOUNT_STATE_ERROR_NETWORK, + /** Host is unreachable. The account is not registered */ + ACCOUNT_STATE_ERROR_HOST, + /** Stun server configuration error. The account is not registered */ + ACCOUNT_STATE_ERROR_CONF_STUN, + /** Stun server is not existing. The account is not registered */ + ACCOUNT_STATE_ERROR_EXIST_STUN + +} account_state_t; + +const QString account_state_name(account_state_t & s); + +class Account{ + +private: + + QString * accountId; + MapStringString * accountDetails; + account_state_t * state; + QListWidgetItem * item; + +public: + + //Constructors + Account(QListWidgetItem & _item, QString & alias); + //Account(QString & _accountId, MapStringString & _accountDetails, account_state_t & _state); + Account(QString & _accountId); + ~Account(); + + //Getters + QString & getAccountId(); + MapStringString & getAccountDetails(); + account_state_t & getState(); + QListWidgetItem & getItem(); + QString getStateName(); + QString getAccountDetail(QString & param); + //QString getAccountDetail(std::string param); + + //Setters + //void setAccountId(QString id); + void setAccountDetails(MapStringString m); + //void setState(account_state_t s); + void setAccountDetail(QString param, QString val); + + //Operators + bool operator==(const Account&)const; + +}; + + + +#endif \ No newline at end of file diff --git a/sflphone-qt/AccountList.cpp b/sflphone-qt/AccountList.cpp new file mode 100644 index 0000000000000000000000000000000000000000..99ca88a7718891c220f04e98d8b6e23b4f10f8f9 --- /dev/null +++ b/sflphone-qt/AccountList.cpp @@ -0,0 +1,82 @@ +#include "AccountList.h" + + +//Constructors + +AccountList::AccountList(VectorString & _accountIds) +{ + accounts = new QVector<Account *>(); + for (int i = 0; i < _accountIds.size(); ++i){ + (*accounts) += new Account(_accountIds[i]); + } +} + +AccountList::AccountList(QStringList & _accountIds) +{ + accounts = new QVector<Account *>(); + for (int i = 0; i < _accountIds.size(); ++i){ + (*accounts) += new Account(_accountIds[i]); + } +} + +AccountList::~AccountList() +{ + delete accounts; +} + +//Getters +QVector<Account *> & AccountList::getAccounts() +{ + return *accounts; +} + +Account * AccountList::getAccountById(QString & id) +{ + for (int i = 0; i < accounts->size(); ++i){ + if ((*accounts)[i]->getAccountId() == id) + return (*accounts)[i]; + } + return NULL; +} + +QVector<Account *> AccountList::getAccountByState(account_state_t & state) +{ + QVector<Account *> v; + for (int i = 0; i < accounts->size(); ++i){ + if ((*accounts)[i]->getState() == state) + v += (*accounts)[i]; + } + return v; + +} +/* +Account AccountList::getAccountByRow(int row) +{ + +} +*/ +Account * AccountList::getAccountByItem(QListWidgetItem * item) +{ + for (int i = 0; i < accounts->size(); ++i){ + if ( &(*accounts)[i]->getItem() == item) + return (*accounts)[i]; + } + return NULL; +} + +int AccountList::getSize() +{ + return accounts->size(); +} + +//Setters +/* +void AccountList::addAccount(Account & account) +{ + accounts->add(account); +} +*/ +void AccountList::addAccount(QListWidgetItem & _item, QString & alias) +{ + (*accounts) += new Account(_item, alias); +} diff --git a/sflphone-qt/AccountList.h b/sflphone-qt/AccountList.h new file mode 100644 index 0000000000000000000000000000000000000000..db01d88c1164d299b4ef72bf875ea646c7ba7a7f --- /dev/null +++ b/sflphone-qt/AccountList.h @@ -0,0 +1,36 @@ +#ifndef HEADER_ACCOUNTLIST +#define HEADER_ACCOUNTLIST + +#include <QtGui> +#include "Account.h" + +class AccountList{ + +private: + + QVector<Account *> * accounts; + +public: + + //Constructors + AccountList(VectorString & _accountIds); + AccountList(QStringList & _accountIds); + ~AccountList(); + + //Getters + QVector<Account *> & getAccounts(); + Account * getAccountById(QString & id); + QVector<Account *> getAccountByState(account_state_t & id); + //Account * getAccountByRow(int row); + Account * getAccountByItem(QListWidgetItem * item); + int getSize(); + + //Setters + //void addAccount(Account & account); + void addAccount(QListWidgetItem & _item, QString & alias); +}; + + + + +#endif \ No newline at end of file diff --git a/sflphone-qt/ConfigDialog.cpp b/sflphone-qt/ConfigDialog.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c7bbf96075021301209f01fd837f52cb2f4ccbee --- /dev/null +++ b/sflphone-qt/ConfigDialog.cpp @@ -0,0 +1,97 @@ +#include <QtGui> +#include <QtCore> +#include <iostream> +#include <stdarg.h> +#include "sflphone_const.h" +#include "metatypes.h" +#include "ConfigDialog.h" + +using namespace std; + +ConfigurationDialog::ConfigurationDialog(QDialog *parent) : QDialog(parent) +{ + + setupUi(this); + + registerCommTypes(); + + daemon = new DaemonInterface("org.sflphone.SFLphone", "/org/sflphone/SFLphone/ConfigurationManager", + QDBusConnection::sessionBus(), this); + + + QDBusReply<QStringList> r = (daemon->getAccountList()); + QStringList accountIds= r.value(); + //accountIds = r.value(); + QString str = accountIds[0]; + QDBusReply<MapStringString> r2 = (daemon->getAccountDetails(str)); + //string st = accountIds[0].toStdString(); + //QString str = "youpi"; + //cout << str; + //accountList = new AccountList(accountIds); + +} + +void ConfigurationDialog::on_buttonNouveauCompte_clicked() +{ + QString itemName = QInputDialog::getText(this, "Item", "Enter new item"); + itemName = itemName.simplified(); + if (!itemName.isEmpty()) { + listWidgetComptes->addItem(itemName); + int r = listWidgetComptes->count() - 1; + QListWidgetItem * item = listWidgetComptes->item(r); + item->setCheckState(Qt::Unchecked); + item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEditable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled); + accountList->addAccount(*item, itemName); + listWidgetComptes->setCurrentRow(r); + } +} + +void ConfigurationDialog::on_listWidgetComptes_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous ) +{ + saveAccount(previous); + loadAccount(current); +} + +void ConfigurationDialog::loadAccount(QListWidgetItem * item) +{ + Account * a = accountList->getAccountByItem(item); + if(! a ) + { + cout << "Chargement d'un compte inexistant\n"; + } + else + { + edit1_Alias->setText( a->getAccountDetail(*(new QString(ACCOUNT_ALIAS)))); + edit2_Protocole->setCurrentIndex(getProtocoleIndex(a->getAccountDetail(*(new QString(ACCOUNT_TYPE))))); + edit3_Serveur->setText( a->getAccountDetail(*(new QString(ACCOUNT_HOSTNAME)))); + edit4_Usager->setText( a->getAccountDetail(*(new QString(ACCOUNT_USERNAME)))); + edit5_Mdp->setText( a->getAccountDetail(*(new QString(ACCOUNT_PASSWORD)))); + edit6_BoiteVocale->setText( a->getAccountDetail(*(new QString(ACCOUNT_MAILBOX)))); + } +} + + +void ConfigurationDialog::saveAccount(QListWidgetItem * item) +{ + Account * a = accountList->getAccountByItem(item); + if(! a) + { + cout << "Sauvegarde d'un compte inexistant\n"; + } + else + { + a->setAccountDetail(ACCOUNT_ALIAS, edit1_Alias->text()); + a->setAccountDetail(ACCOUNT_TYPE, getIndexProtocole(edit2_Protocole->currentIndex())); + a->setAccountDetail(ACCOUNT_HOSTNAME, edit3_Serveur->text()); + a->setAccountDetail(ACCOUNT_USERNAME, edit4_Usager->text()); + a->setAccountDetail(ACCOUNT_PASSWORD, edit5_Mdp->text()); + a->setAccountDetail(ACCOUNT_MAILBOX, edit6_BoiteVocale->text()); + } +} + + + +void ConfigurationDialog::on_edit1_Alias_textChanged(const QString & text) +{ + listWidgetComptes->currentItem()->setText(text); +} diff --git a/sflphone-qt/ConfigDialog.h b/sflphone-qt/ConfigDialog.h new file mode 100644 index 0000000000000000000000000000000000000000..3b3cf95f64f04282f6f527a3bf42870688398dce --- /dev/null +++ b/sflphone-qt/ConfigDialog.h @@ -0,0 +1,36 @@ +#ifndef HEADER_CONFIGDIALOG +#define HEADER_CONFIGDIALOG + +#include <QtGui> +#include "ui_ConfigDialog.h" +#include "daemon_interface_p.h" +#include "AccountList.h" + +//struct QListViewItem; + +class DaemonInterface; + +class ConfigurationDialog : public QDialog, private Ui::ConfigurationDialog +{ + Q_OBJECT + +public: + ConfigurationDialog(QDialog *parent = 0); + void loadAccount(QListWidgetItem * item); + void saveAccount(QListWidgetItem * item); + +private: + DaemonInterface * daemon; + AccountList * accountList; + + + private slots: + /* Insérez les prototypes de vos slots personnalisés ici */ + void on_buttonNouveauCompte_clicked(); + void on_edit1_Alias_textChanged(const QString & text); + void on_listWidgetComptes_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous ); +}; + + + +#endif diff --git a/sflphone-qt/ConfigDialog.ui b/sflphone-qt/ConfigDialog.ui new file mode 100644 index 0000000000000000000000000000000000000000..2cf49be18a6ba501941c5dbb5856c40e6aeab463 --- /dev/null +++ b/sflphone-qt/ConfigDialog.ui @@ -0,0 +1,1112 @@ +<ui version="4.0" > + <author>Jérémy Quentin</author> + <class>ConfigurationDialog</class> + <widget class="QDialog" name="ConfigurationDialog" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>504</width> + <height>392</height> + </rect> + </property> + <property name="minimumSize" > + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="windowTitle" > + <string>Dialog</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout" > + <property name="margin" > + <number>1</number> + </property> + <item> + <layout class="QHBoxLayout" name="horizontalLayoutDialog" > + <property name="sizeConstraint" > + <enum>QLayout::SetDefaultConstraint</enum> + </property> + <item> + <widget class="QListWidget" name="listOptions" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Expanding" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize" > + <size> + <width>100</width> + <height>300</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + <property name="sizeIncrement" > + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="mouseTracking" > + <bool>false</bool> + </property> + <property name="contextMenuPolicy" > + <enum>Qt::DefaultContextMenu</enum> + </property> + <property name="acceptDrops" > + <bool>false</bool> + </property> + <property name="layoutDirection" > + <enum>Qt::LeftToRight</enum> + </property> + <property name="autoFillBackground" > + <bool>true</bool> + </property> + <property name="autoScrollMargin" > + <number>16</number> + </property> + <property name="editTriggers" > + <set>QAbstractItemView::AllEditTriggers</set> + </property> + <property name="dragEnabled" > + <bool>true</bool> + </property> + <property name="iconSize" > + <size> + <width>200</width> + <height>200</height> + </size> + </property> + <property name="textElideMode" > + <enum>Qt::ElideMiddle</enum> + </property> + <property name="verticalScrollMode" > + <enum>QAbstractItemView::ScrollPerItem</enum> + </property> + <property name="horizontalScrollMode" > + <enum>QAbstractItemView::ScrollPerItem</enum> + </property> + <property name="movement" > + <enum>QListView::Static</enum> + </property> + <property name="flow" > + <enum>QListView::TopToBottom</enum> + </property> + <property name="resizeMode" > + <enum>QListView::Adjust</enum> + </property> + <property name="layoutMode" > + <enum>QListView::SinglePass</enum> + </property> + <property name="viewMode" > + <enum>QListView::IconMode</enum> + </property> + <property name="modelColumn" > + <number>0</number> + </property> + <property name="uniformItemSizes" > + <bool>false</bool> + </property> + <property name="wordWrap" > + <bool>false</bool> + </property> + <property name="sortingEnabled" > + <bool>false</bool> + </property> + <item> + <property name="text" > + <string>Général</string> + </property> + <property name="icon" > + <iconset resource="../../sflphone-qt/resources.qrc" > + <normaloff>:/Images/sflphone.png</normaloff>:/Images/sflphone.png</iconset> + </property> + </item> + <item> + <property name="text" > + <string>Affichage</string> + </property> + <property name="icon" > + <iconset resource="../../sflphone-qt/resources.qrc" > + <normaloff>:/Images/sflphone.png</normaloff>:/Images/sflphone.png</iconset> + </property> + </item> + <item> + <property name="text" > + <string>Comptes</string> + </property> + <property name="icon" > + <iconset resource="../../sflphone-qt/resources.qrc" > + <normaloff>:/Images/stock_person.svg</normaloff>:/Images/stock_person.svg</iconset> + </property> + </item> + <item> + <property name="text" > + <string>Audio</string> + </property> + <property name="icon" > + <iconset resource="../../sflphone-qt/resources.qrc" > + <normaloff>:/Images/icon_volume_off.svg</normaloff>:/Images/icon_volume_off.svg</iconset> + </property> + </item> + </widget> + </item> + <item> + <widget class="Line" name="lineOptions" > + <property name="orientation" > + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QStackedWidget" name="stackedWidgetOptions" > + <property name="currentIndex" > + <number>2</number> + </property> + <widget class="QWidget" name="page_General" > + <layout class="QVBoxLayout" name="verticalLayout_18" > + <property name="leftMargin" > + <number>4</number> + </property> + <item> + <widget class="QLabel" name="label_ConfGeneral" > + <property name="text" > + <string>Configuration des paramètres généraux</string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_ConfGeneral" > + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox1_Historique" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title" > + <string>Historique des appels</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_19" > + <item> + <widget class="QWidget" native="1" name="widget_CapaciteHist" > + <layout class="QHBoxLayout" name="horizontalLayout_10" > + <item> + <widget class="QLabel" name="label_Capacite" > + <property name="text" > + <string>&Capacité</string> + </property> + <property name="buddy" > + <cstring>horizontalSlider</cstring> + </property> + </widget> + </item> + <item> + <widget class="QSlider" name="horizontalSlider" > + <property name="maximum" > + <number>100</number> + </property> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="spinBox_CapaciteHist" /> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QToolButton" name="toolButtonEffacerHist" > + <property name="text" > + <string>&Effacer l'Historique</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox2_Connexion" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title" > + <string>Connexion</string> + </property> + <layout class="QFormLayout" name="formLayout_12" > + <item row="0" column="0" > + <widget class="QLabel" name="label_PortSIP" > + <property name="text" > + <string>Port SIP</string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QSpinBox" name="spinBox_PortSIP" /> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QWidget" native="1" name="widget_RemplissageConfGeneral" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Expanding" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_Affichage" > + <layout class="QVBoxLayout" name="verticalLayout_9" > + <item> + <widget class="QLabel" name="label_ConfAffichage" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text" > + <string>Configuration de l'affichage</string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_ConfAffichage" > + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QFrame" name="frameAffichage" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Preferred" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow" > + <enum>QFrame::Raised</enum> + </property> + <layout class="QVBoxLayout" name="verticalLayout_8" > + <item> + <widget class="QLabel" name="label1_Notifications" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text" > + <string>Activer les notifications du bureau</string> + </property> + </widget> + </item> + <item> + <widget class="QWidget" native="1" name="widget1_Notifications" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_5" > + <item> + <widget class="QCheckBox" name="checkBox1_NotifAppels" > + <property name="text" > + <string>&Appels entrants</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkBox2_NotifMessages" > + <property name="text" > + <string>&Messages vocaux</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QLabel" name="label2_FenetrePrincipale" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text" > + <string>Faire apparaître la fenêtre principale</string> + </property> + </widget> + </item> + <item> + <widget class="QWidget" native="1" name="widget_FenetrePrincipale" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_6" > + <item> + <widget class="QCheckBox" name="checkBox1_FenDemarrage" > + <property name="text" > + <string>Au &démarrage</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkBox2_FenAppel" > + <property name="text" > + <string>Lors d'un appel &entrant</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QWidget" native="1" name="widget_5" /> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_Comptes" > + <layout class="QVBoxLayout" name="verticalLayout_2" > + <item> + <widget class="QLabel" name="label_ConfComptes" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Preferred" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text" > + <string>Configuration des comptes utilisateur</string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_ConfComptes" > + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QWidget" native="1" name="widget1_ConfComptes" > + <layout class="QHBoxLayout" name="horizontalLayout_3" > + <item> + <widget class="QFrame" name="frame1_ListeComptes" > + <property name="minimumSize" > + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>16777215</width> + <height>16777215</height> + </size> + </property> + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow" > + <enum>QFrame::Raised</enum> + </property> + <layout class="QVBoxLayout" name="verticalLayout_6" > + <item> + <widget class="QListWidget" name="listWidgetComptes" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Expanding" hsizetype="Fixed" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize" > + <size> + <width>150</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>150</width> + <height>16777215</height> + </size> + </property> + <property name="dragEnabled" > + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBoxGestionComptes" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Preferred" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize" > + <size> + <width>16777215</width> + <height>16777215</height> + </size> + </property> + <property name="layoutDirection" > + <enum>Qt::RightToLeft</enum> + </property> + <property name="title" > + <string/> + </property> + <property name="alignment" > + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_2" > + <property name="spacing" > + <number>0</number> + </property> + <property name="margin" > + <number>0</number> + </property> + <item> + <widget class="QToolButton" name="buttonSupprimerCompte" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text" > + <string/> + </property> + <property name="icon" > + <iconset resource="../../sflphone-qt/resources.qrc" > + <normaloff>:/Images/hang_up.svg</normaloff>:/Images/hang_up.svg</iconset> + </property> + <property name="shortcut" > + <string>+</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="buttonNouveauCompte" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="sizeIncrement" > + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="text" > + <string>...</string> + </property> + <property name="icon" > + <iconset resource="../../sflphone-qt/resources.qrc" > + <normaloff>:/Images/accept.svg</normaloff>:/Images/accept.svg</iconset> + </property> + </widget> + </item> + </layout> + <zorder>buttonSupprimerCompte</zorder> + <zorder>toolButton</zorder> + <zorder>toolButton_2</zorder> + <zorder>buttonNouveauCompte</zorder> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QFrame" name="frame2_EditComptes" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Expanding" hsizetype="Expanding" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow" > + <enum>QFrame::Raised</enum> + </property> + <layout class="QFormLayout" name="formLayout_2" > + <property name="fieldGrowthPolicy" > + <enum>QFormLayout::ExpandingFieldsGrow</enum> + </property> + <item row="0" column="0" > + <widget class="QLabel" name="label1_Alias" > + <property name="text" > + <string>&Alias</string> + </property> + <property name="buddy" > + <cstring>edit1_Alias</cstring> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QLineEdit" name="edit1_Alias" > + <property name="minimumSize" > + <size> + <width>0</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item row="1" column="0" > + <widget class="QLabel" name="label2_Protocole" > + <property name="text" > + <string>&Protocole</string> + </property> + <property name="buddy" > + <cstring>edit2_Protocole</cstring> + </property> + </widget> + </item> + <item row="2" column="0" > + <widget class="QLabel" name="label3_Serveur" > + <property name="text" > + <string>&Serveur</string> + </property> + <property name="buddy" > + <cstring>edit3_Serveur</cstring> + </property> + </widget> + </item> + <item row="3" column="0" > + <widget class="QLabel" name="label4_Usager" > + <property name="text" > + <string>&Usager</string> + </property> + <property name="buddy" > + <cstring>edit4_Usager</cstring> + </property> + </widget> + </item> + <item row="4" column="0" > + <widget class="QLabel" name="label5_Mdp" > + <property name="text" > + <string>&Mot de Passe</string> + </property> + <property name="buddy" > + <cstring>edit5_Mdp</cstring> + </property> + </widget> + </item> + <item row="5" column="0" > + <widget class="QLabel" name="label6_BoiteVocale" > + <property name="text" > + <string>&Boîte Vocale</string> + </property> + <property name="buddy" > + <cstring>edit6_BoiteVocale</cstring> + </property> + </widget> + </item> + <item row="2" column="1" > + <widget class="QLineEdit" name="edit3_Serveur" > + <property name="minimumSize" > + <size> + <width>0</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item row="3" column="1" > + <widget class="QLineEdit" name="edit4_Usager" /> + </item> + <item row="4" column="1" > + <widget class="QLineEdit" name="edit5_Mdp" > + <property name="echoMode" > + <enum>QLineEdit::Password</enum> + </property> + </widget> + </item> + <item row="5" column="1" > + <widget class="QLineEdit" name="edit6_BoiteVocale" /> + </item> + <item row="1" column="1" > + <widget class="QComboBox" name="edit2_Protocole" > + <item> + <property name="text" > + <string>SIP</string> + </property> + </item> + <item> + <property name="text" > + <string>IAX</string> + </property> + </item> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_ConfComptesCommuns" > + <property name="title" > + <string/> + </property> + <layout class="QVBoxLayout" name="verticalLayout_10" > + <item> + <widget class="QLabel" name="label_ConfComptesCommus" > + <property name="text" > + <string>Les paramètres STUN seront appliqués à tous les comptes</string> + </property> + </widget> + </item> + <item> + <layout class="QFormLayout" name="formLayoutConfComptesCommus" > + <property name="fieldGrowthPolicy" > + <enum>QFormLayout::ExpandingFieldsGrow</enum> + </property> + <item row="0" column="0" > + <widget class="QCheckBox" name="checkBoxStun" > + <property name="text" > + <string>Activer Stun</string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QLineEdit" name="lineEdit_Stun" > + <property name="enabled" > + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_Audio" > + <layout class="QVBoxLayout" name="verticalLayout_5" > + <item> + <widget class="QLabel" name="label_ConfAudio" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text" > + <string>Configuration des paramètres audio</string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_ConfAudio" > + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox1_Audio" > + <property name="title" > + <string/> + </property> + <layout class="QFormLayout" name="formLayout_3" > + <item row="0" column="0" > + <widget class="QLabel" name="label_Interface" > + <property name="text" > + <string>&Interface audio</string> + </property> + <property name="buddy" > + <cstring>comboBox_Interface</cstring> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QComboBox" name="comboBox_Interface" > + <property name="minimumSize" > + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <item> + <property name="text" > + <string>ALSA</string> + </property> + </item> + <item> + <property name="text" > + <string>PulseAudio</string> + </property> + </item> + </widget> + </item> + <item row="1" column="0" > + <widget class="QCheckBox" name="checkBox_Sonneries" > + <property name="text" > + <string>&Activer les sonneries</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox2_Codecs" > + <property name="title" > + <string>&Codecs</string> + </property> + <layout class="QGridLayout" name="gridLayout" > + <item row="0" column="0" > + <widget class="QTableView" name="tableViewCodecs" > + <property name="dragEnabled" > + <bool>true</bool> + </property> + <property name="sortingEnabled" > + <bool>true</bool> + </property> + </widget> + </item> + <item row="0" column="2" > + <layout class="QVBoxLayout" name="verticalLayout_OrdreCodecs" > + <property name="leftMargin" > + <number>0</number> + </property> + <property name="rightMargin" > + <number>0</number> + </property> + <item> + <widget class="QToolButton" name="toolButton_MonterCodec" > + <property name="text" > + <string>...</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="toolButton_DescendreCodec" > + <property name="text" > + <string>...</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QStackedWidget" name="stackedWidget_ParametresSpecif" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="currentIndex" > + <number>1</number> + </property> + <widget class="QWidget" name="page1_Alsa" > + <layout class="QVBoxLayout" name="verticalLayout_20" > + <property name="margin" > + <number>0</number> + </property> + <item> + <widget class="QGroupBox" name="groupBox_Alsa" > + <property name="title" > + <string>Paramètres ALSA</string> + </property> + <layout class="QFormLayout" name="formLayout_4" > + <item row="2" column="1" > + <widget class="QComboBox" name="comboBox2_Entree" > + <property name="minimumSize" > + <size> + <width>100</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item row="2" column="0" > + <widget class="QLabel" name="label2_Entree" > + <property name="text" > + <string>&Entrée</string> + </property> + <property name="buddy" > + <cstring>comboBox2_Entree</cstring> + </property> + </widget> + </item> + <item row="3" column="0" > + <widget class="QLabel" name="label3_Sortie" > + <property name="text" > + <string>&Sortie</string> + </property> + <property name="buddy" > + <cstring>comboBox3_Sortie</cstring> + </property> + </widget> + </item> + <item row="3" column="1" > + <widget class="QComboBox" name="comboBox3_Sortie" > + <property name="minimumSize" > + <size> + <width>100</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item row="0" column="0" > + <widget class="QLabel" name="label1_GreffonAlsa" > + <property name="text" > + <string>&Greffon ALSA</string> + </property> + <property name="buddy" > + <cstring>comboBox1_GreffonAlsa</cstring> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QComboBox" name="comboBox1_GreffonAlsa" > + <property name="minimumSize" > + <size> + <width>100</width> + <height>0</height> + </size> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="page2_PulseAudio" > + <layout class="QVBoxLayout" name="verticalLayout_7" > + <item> + <widget class="QGroupBox" name="groupBox_PulseAudio" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Preferred" hsizetype="Expanding" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title" > + <string>Paramètres PulseAudio</string> + </property> + <layout class="QFormLayout" name="formLayout_11" > + <item row="0" column="0" > + <widget class="QCheckBox" name="checkBox_ModifVolumeApps" > + <property name="text" > + <string>Autoriser à &modifier le volume des autres applications</string> + </property> + </widget> + </item> + <item row="1" column="0" > + <widget class="QPushButton" name="pushButton" > + <property name="text" > + <string>PushButton</string> + </property> + <property name="default" > + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </item> + <item> + <widget class="Line" name="lineDialog" > + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBoxDialog" > + <property name="layoutDirection" > + <enum>Qt::LeftToRight</enum> + </property> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons" > + <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::RestoreDefaults</set> + </property> + <property name="centerButtons" > + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </widget> + <layoutdefault spacing="4" margin="4" /> + <resources> + <include location="../../sflphone-qt/resources.qrc" /> + </resources> + <connections> + <connection> + <sender>buttonBoxDialog</sender> + <signal>accepted()</signal> + <receiver>ConfigurationDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel" > + <x>231</x> + <y>390</y> + </hint> + <hint type="destinationlabel" > + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBoxDialog</sender> + <signal>rejected()</signal> + <receiver>ConfigurationDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel" > + <x>299</x> + <y>390</y> + </hint> + <hint type="destinationlabel" > + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>listOptions</sender> + <signal>currentRowChanged(int)</signal> + <receiver>stackedWidgetOptions</receiver> + <slot>setCurrentIndex(int)</slot> + <hints> + <hint type="sourcelabel" > + <x>73</x> + <y>92</y> + </hint> + <hint type="destinationlabel" > + <x>191</x> + <y>82</y> + </hint> + </hints> + </connection> + <connection> + <sender>checkBoxStun</sender> + <signal>toggled(bool)</signal> + <receiver>lineEdit_Stun</receiver> + <slot>setEnabled(bool)</slot> + <hints> + <hint type="sourcelabel" > + <x>228</x> + <y>319</y> + </hint> + <hint type="destinationlabel" > + <x>441</x> + <y>319</y> + </hint> + </hints> + </connection> + <connection> + <sender>comboBox_Interface</sender> + <signal>currentIndexChanged(int)</signal> + <receiver>stackedWidget_ParametresSpecif</receiver> + <slot>setCurrentIndex(int)</slot> + <hints> + <hint type="sourcelabel" > + <x>378</x> + <y>52</y> + </hint> + <hint type="destinationlabel" > + <x>331</x> + <y>342</y> + </hint> + </hints> + </connection> + <connection> + <sender>horizontalSlider</sender> + <signal>valueChanged(int)</signal> + <receiver>spinBox_CapaciteHist</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel" > + <x>170</x> + <y>31</y> + </hint> + <hint type="destinationlabel" > + <x>196</x> + <y>31</y> + </hint> + </hints> + </connection> + <connection> + <sender>spinBox_CapaciteHist</sender> + <signal>valueChanged(int)</signal> + <receiver>horizontalSlider</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel" > + <x>196</x> + <y>31</y> + </hint> + <hint type="destinationlabel" > + <x>170</x> + <y>31</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/sflphone-qt/accept.svg b/sflphone-qt/accept.svg new file mode 100644 index 0000000000000000000000000000000000000000..8d84af6b017730112f197bf2eafd5c0c00adbace --- /dev/null +++ b/sflphone-qt/accept.svg @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="24" + height="24" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.46" + version="1.0" + sodipodi:docbase="/home/plbeaudoin/SFLPhone/sflphone/sflphone-gtk/pixmaps" + sodipodi:docname="accept.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> + <defs + id="defs4"> + <linearGradient + inkscape:collect="always" + id="linearGradient2433"> + <stop + style="stop-color:#008000;stop-opacity:1;" + offset="0" + id="stop2435" /> + <stop + style="stop-color:#008000;stop-opacity:0;" + offset="1" + id="stop2437" /> + </linearGradient> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 12 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="24 : 12 : 1" + inkscape:persp3d-origin="12 : 8 : 1" + id="perspective32" /> + <linearGradient + id="linearGradient4269"> + <stop + style="stop-color:#26b000;stop-opacity:1;" + offset="0" + id="stop4271" /> + <stop + style="stop-color:#26b000;stop-opacity:0;" + offset="1" + id="stop4273" /> + </linearGradient> + <linearGradient + id="linearGradient4183"> + <stop + id="stop4185" + offset="0" + style="stop-color:#26b000;stop-opacity:1;" /> + <stop + id="stop4187" + offset="1" + style="stop-color:#145f00;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient4167"> + <stop + style="stop-color:#80000e;stop-opacity:1;" + offset="0" + id="stop4169" /> + <stop + style="stop-color:#b00014;stop-opacity:0;" + offset="1" + id="stop4171" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4269" + id="linearGradient4275" + x1="15.630395" + y1="22.874208" + x2="15.630395" + y2="8.5305319" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.256521,0,0,-1.256521,-7.854319,28.773309)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2433" + id="linearGradient2439" + x1="2.965755" + y1="-0.80084854" + x2="32.578228" + y2="16.739393" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="16" + inkscape:cx="18.87396" + inkscape:cy="2.756874" + inkscape:document-units="px" + inkscape:current-layer="layer1" + width="32px" + height="32px" + showguides="true" + inkscape:guide-bbox="true" + inkscape:window-width="1331" + inkscape:window-height="922" + inkscape:window-x="169" + inkscape:window-y="24" + showgrid="false"> + <sodipodi:guide + orientation="vertical" + position="15.982143" + id="guide3146" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Calque 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="opacity:1;fill:url(#linearGradient4275);fill-opacity:1;stroke:none;stroke-width:0.625;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 7.3417195,21.902705 L 7.3417195,9.4553023 L 3.2972955,9.4553023 L 12.250001,0.03140142 L 21.202707,9.4553023 L 17.158282,9.4553023 L 17.158282,21.902705 L 7.3417195,21.902705 z " + id="rect4262" /> + <g + id="g2181" + transform="matrix(0.8753565,0,0,0.8754652,-11.955751,23.215691)" + style="fill:none;stroke:#000000;stroke-opacity:0.44968554"> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.65573961;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.44968554" + d="M 41.109694,-0.41817229 C 40.505298,0.20454826 39.040867,0.77635346 37.592239,0.77635106 C 36.102089,0.77635106 34.114653,0.15682998 33.532659,-0.49267807 L 33.569913,-2.0031726 L 33.569913,-3.0835065 C 31.027414,-3.5787101 30.997014,-3.8285637 27.525623,-3.8285643 C 24.054233,-3.8285649 23.830777,-3.5759718 21.29017,-3.0462535 L 21.29017,-0.3436665 C 20.685773,0.27905404 19.221343,0.87609843 17.772714,0.87609724 C 16.282564,0.87609724 14.623294,0.43325774 13.915083,-0.41817229 L 14.138601,-5.7646408 C 18.129172,-7.3187814 22.030595,-8.3970767 27.437882,-8.5586077 C 32.38601,-8.450833 36.259126,-7.7053161 40.886177,-5.8763994 L 41.109694,-0.41817229 z " + id="path2183" + sodipodi:nodetypes="csccczccsccccc" /> + </g> + <g + id="g4160" + transform="matrix(0.880119,0,0,0.880119,-2.1102174,12.142342)" + style="fill:url(#linearGradient2439);fill-opacity:1"> + <path + sodipodi:nodetypes="cccsccsccsccc" + id="path3153" + d="M 16.100095,4.59375 C 10.946289,4.7477067 7.2256019,5.7999634 3.4220983,7.28125 L 3.2345983,10.227679 C 3.7846813,10.972881 5.0136533,11.508929 6.4220983,11.508929 C 7.7912983,11.508929 8.9758403,11.004648 9.5470983,10.290179 L 9.5470983,9.1875 C 11.968608,8.682612 12.862258,8.4375 16.125,8.4375 C 19.479577,8.4375001 20.38467,8.6842603 22.807982,9.15625 L 22.807982,10.165179 C 23.37924,10.879648 24.563781,11.383929 25.932982,11.383929 C 27.341427,11.383929 28.53915,10.847881 29.089232,10.102679 L 28.901732,7.15625 C 24.491586,5.413068 20.816266,4.6964725 16.100095,4.59375 z " + style="opacity:1;fill:url(#linearGradient2439);fill-opacity:1;stroke:#0f5600;stroke-width:0.62500000000000000;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cccsccc" + id="path3161" + d="M 6.4075414,13.019293 C 7.7882612,13.019293 8.983936,12.610489 9.5600003,12.01696 L 9.5600003,10.430989 C 8.8231919,11.109285 7.789205,11.494948 6.4075414,11.494948 C 4.9854414,11.494948 3.9881276,11.13019 3.2127675,10.48174 L 3.2127675,11.966208 C 3.7674786,12.585269 4.9872465,13.019293 6.4075414,13.019293 z " + style="opacity:1;fill:url(#linearGradient2439);fill-opacity:1;stroke:#0f5600;stroke-width:0.57204323999999995;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cccsccc" + id="path4140" + d="M 25.967532,12.944669 C 27.348252,12.944669 28.543927,12.535865 29.119991,11.942336 L 29.119991,10.356365 C 28.383183,11.034661 27.349196,11.420324 25.967532,11.420324 C 24.545432,11.420324 23.548118,11.055566 22.772758,10.407116 L 22.772758,11.891584 C 23.327469,12.510645 24.547237,12.944669 25.967532,12.944669 z " + style="opacity:1;fill:url(#linearGradient2439);fill-opacity:1;stroke:#0f5600;stroke-width:0.57204323999999995;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cccsccc" + id="path4246" + d="M 6.6822725,11.157918 C 8.0629923,11.157918 8.7535908,10.73333 9.3296551,10.139801 L 9.8978659,7.4805434 C 9.1610575,8.1588394 8.1270706,8.5445024 6.745407,8.5445024 C 5.323307,8.5445024 4.4996132,8.1797444 3.7242531,7.5312944 L 3.4874986,10.104833 C 4.0422097,10.723894 5.2619776,11.157918 6.6822725,11.157918 z " + style="opacity:1;fill:url(#linearGradient2439);fill-opacity:1;stroke:none;stroke-width:0.57204323999999995;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cccsccc" + id="path4258" + d="M 25.633599,11.055324 C 24.252879,11.055324 23.56228,10.630736 22.986216,10.037207 L 22.418005,7.3779497 C 23.154814,8.0562457 24.188801,8.4419087 25.570464,8.4419087 C 26.992564,8.4419087 27.816258,8.0771507 28.591618,7.4287007 L 28.828373,10.002239 C 28.273662,10.6213 27.053894,11.055324 25.633599,11.055324 z " + style="opacity:1;fill:url(#linearGradient2439);fill-opacity:1;stroke:none;stroke-width:0.57204323999999995;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + </g> + </g> +</svg> diff --git a/sflphone-qt/config_en.ts b/sflphone-qt/config_en.ts new file mode 100644 index 0000000000000000000000000000000000000000..1819343595da581d5dc8ec7676a5c24e7422a7dd --- /dev/null +++ b/sflphone-qt/config_en.ts @@ -0,0 +1,181 @@ +<!DOCTYPE TS><TS> +<context> + <name>ConfigurationDialog</name> + <message> + <source>Dialog</source> + <translation>Dialog</translation> + </message> + <message encoding="UTF-8"> + <source>Général</source> + <translation>General</translation> + </message> + <message> + <source>Affichage</source> + <translation>Display</translation> + </message> + <message> + <source>Comptes</source> + <translation>Accounts</translation> + </message> + <message> + <source>Audio</source> + <translation>Audio</translation> + </message> + <message encoding="UTF-8"> + <source>Configuration des paramètres généraux</source> + <translation>General settings</translation> + </message> + <message> + <source>Historique des appels</source> + <translation>Call history</translation> + </message> + <message encoding="UTF-8"> + <source>&Capacité</source> + <translation>&Capacity</translation> + </message> + <message> + <source>&Effacer l'Historique</source> + <translation>&Clean history</translation> + </message> + <message> + <source>Connexion</source> + <translation>Connection</translation> + </message> + <message> + <source>Port SIP</source> + <translation>SIP port</translation> + </message> + <message> + <source>Configuration de l'affichage</source> + <translation>Display settings</translation> + </message> + <message> + <source>Activer les notifications du bureau</source> + <translation>Enable desktop notifications</translation> + </message> + <message> + <source>&Appels entrants</source> + <translation>Calls</translation> + </message> + <message> + <source>&Messages vocaux</source> + <translation>Vocal messages</translation> + </message> + <message encoding="UTF-8"> + <source>Faire apparaître la fenêtre principale</source> + <translation>Show the main window</translation> + </message> + <message encoding="UTF-8"> + <source>Au &démarrage</source> + <translation>At &start</translation> + </message> + <message> + <source>Lors d'un appel &entrant</source> + <translation>When &receiving a call</translation> + </message> + <message> + <source>Configuration des comptes utilisateur</source> + <translation>Acounts settings</translation> + </message> + <message> + <source>+</source> + <translation>+</translation> + </message> + <message> + <source>...</source> + <translation>...</translation> + </message> + <message> + <source>&Alias</source> + <translation>&Alias</translation> + </message> + <message> + <source>&Protocole</source> + <translation>&Protocole</translation> + </message> + <message> + <source>&Serveur</source> + <translation>&Server</translation> + </message> + <message> + <source>&Usager</source> + <translation>&User</translation> + </message> + <message> + <source>&Mot de Passe</source> + <translation>Pass&Word</translation> + </message> + <message encoding="UTF-8"> + <source>&Boîte Vocale</source> + <translation>&Voicemail</translation> + </message> + <message> + <source>SIP</source> + <translation>SIP</translation> + </message> + <message> + <source>IAX</source> + <translation>IAX</translation> + </message> + <message encoding="UTF-8"> + <source>Les paramètres STUN seront appliqués à tous les comptes</source> + <translation>STUN settings will be applied on all accounts</translation> + </message> + <message> + <source>Activer Stun</source> + <translation>Enable STUN</translation> + </message> + <message encoding="UTF-8"> + <source>Configuration des paramètres audio</source> + <translation>Audio settings</translation> + </message> + <message> + <source>&Interface audio</source> + <translation>Audio &interface</translation> + </message> + <message> + <source>ALSA</source> + <translation>ALSA</translation> + </message> + <message> + <source>PulseAudio</source> + <translation>PulseAudio</translation> + </message> + <message> + <source>&Activer les sonneries</source> + <translation>Enable &ringtones</translation> + </message> + <message> + <source>&Codecs</source> + <translation>&Codecs</translation> + </message> + <message encoding="UTF-8"> + <source>Paramètres ALSA</source> + <translation>ALSA settings</translation> + </message> + <message encoding="UTF-8"> + <source>&Entrée</source> + <translation>&Entry</translation> + </message> + <message> + <source>&Sortie</source> + <translation>&Out</translation> + </message> + <message> + <source>&Greffon ALSA</source> + <translation>ALSA &plugin</translation> + </message> + <message encoding="UTF-8"> + <source>Paramètres PulseAudio</source> + <translation>Pulseaudio settings</translation> + </message> + <message encoding="UTF-8"> + <source>Autoriser à &modifier le volume des autres applications</source> + <translation>Allow to &modify other applications' volume</translation> + </message> + <message> + <source>PushButton</source> + <translation>PushButton</translation> + </message> +</context> +</TS> diff --git a/sflphone-qt/daemon_interface.cpp b/sflphone-qt/daemon_interface.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c6d316c988a78b519b49d60c515869608108b4ce --- /dev/null +++ b/sflphone-qt/daemon_interface.cpp @@ -0,0 +1,26 @@ +/* + * This file was generated by dbusxml2cpp version 0.6 + * Command line was: dbusxml2cpp -c DaemonInterface -p daemon_interface_p.h:daemon_interface.cpp -i metatypes.h configurationmanager-introspec.xml + * + * dbusxml2cpp is Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). + * + * This is an auto-generated file. + * This file may have been hand-edited. Look for HAND-EDIT comments + * before re-generating it. + */ + +#include "daemon_interface_p.h" + +/* + * Implementation of interface class DaemonInterface + */ + +DaemonInterface::DaemonInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent) + : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent) +{ +} + +DaemonInterface::~DaemonInterface() +{ +} + diff --git a/sflphone-qt/daemon_interface_p.h b/sflphone-qt/daemon_interface_p.h new file mode 100644 index 0000000000000000000000000000000000000000..f3cf9d1ed2edb357424a29642ef106e00ba8e9d9 --- /dev/null +++ b/sflphone-qt/daemon_interface_p.h @@ -0,0 +1,412 @@ +/* + * This file was generated by dbusxml2cpp version 0.6 + * Command line was: dbusxml2cpp -c DaemonInterface -p daemon_interface_p.h:daemon_interface.cpp -i metatypes.h configurationmanager-introspec.xml + * + * dbusxml2cpp is Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). + * + * This is an auto-generated file. + * Do not edit! All changes made to it will be lost. + */ + +#ifndef DAEMON_INTERFACE_P_H_1234818066 +#define DAEMON_INTERFACE_P_H_1234818066 + +#include <QtCore/QObject> +#include <QtCore/QByteArray> +#include <QtCore/QList> +#include <QtCore/QMap> +#include <QtCore/QString> +#include <QtCore/QStringList> +#include <QtCore/QVariant> +#include <QtDBus/QtDBus> +#include "metatypes.h" + +/* + * Proxy class for interface org.sflphone.SFLphone.ConfigurationManager + */ +class DaemonInterface: public QDBusAbstractInterface +{ + Q_OBJECT +public: + static inline const char *staticInterfaceName() + { return "org.sflphone.SFLphone.ConfigurationManager"; } + +public: + DaemonInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0); + + ~DaemonInterface(); + +public Q_SLOTS: // METHODS + inline QDBusReply<void> addAccount(MapStringString details) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(details); + return callWithArgumentList(QDBus::Block, QLatin1String("addAccount"), argumentList); + } + + inline QDBusReply<void> enableStun() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("enableStun"), argumentList); + } + + inline QDBusReply<MapStringString> getAccountDetails(const QString &accountID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID); + return callWithArgumentList(QDBus::Block, QLatin1String("getAccountDetails"), argumentList); + } + + inline QDBusReply<QStringList> getAccountList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getAccountList"), argumentList); + } + + inline QDBusReply<QStringList> getActiveCodecList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getActiveCodecList"), argumentList); + } + + inline QDBusReply<int> getAudioDeviceIndex(const QString &name) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(name); + return callWithArgumentList(QDBus::Block, QLatin1String("getAudioDeviceIndex"), argumentList); + } + + inline QDBusReply<QStringList> getAudioInputDeviceList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getAudioInputDeviceList"), argumentList); + } + + inline QDBusReply<int> getAudioManager() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getAudioManager"), argumentList); + } + + inline QDBusReply<QStringList> getAudioOutputDeviceList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getAudioOutputDeviceList"), argumentList); + } + + inline QDBusReply<QStringList> getCodecDetails(int payload) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(payload); + return callWithArgumentList(QDBus::Block, QLatin1String("getCodecDetails"), argumentList); + } + + inline QDBusReply<QStringList> getCodecList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getCodecList"), argumentList); + } + + inline QDBusReply<QStringList> getCurrentAudioDevicesIndex() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getCurrentAudioDevicesIndex"), argumentList); + } + + inline QDBusReply<QString> getCurrentAudioOutputPlugin() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getCurrentAudioOutputPlugin"), argumentList); + } + + inline QDBusReply<int> getDialpad() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getDialpad"), argumentList); + } + + inline QDBusReply<QStringList> getInputAudioPluginList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getInputAudioPluginList"), argumentList); + } + + inline QDBusReply<int> getMailNotify() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getMailNotify"), argumentList); + } + + inline QDBusReply<int> getMaxCalls() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getMaxCalls"), argumentList); + } + + inline QDBusReply<int> getNotify() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getNotify"), argumentList); + } + + inline QDBusReply<QStringList> getOutputAudioPluginList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getOutputAudioPluginList"), argumentList); + } + + inline QDBusReply<QStringList> getPlaybackDeviceList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getPlaybackDeviceList"), argumentList); + } + + inline QDBusReply<int> getPulseAppVolumeControl() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getPulseAppVolumeControl"), argumentList); + } + + inline QDBusReply<QStringList> getRecordDeviceList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getRecordDeviceList"), argumentList); + } + + inline QDBusReply<QString> getRingtoneChoice() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getRingtoneChoice"), argumentList); + } + + inline QDBusReply<QStringList> getRingtoneList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getRingtoneList"), argumentList); + } + + inline QDBusReply<int> getSearchbar() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getSearchbar"), argumentList); + } + + inline QDBusReply<int> getSipPort() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getSipPort"), argumentList); + } + + inline QDBusReply<QString> getStunServer() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getStunServer"), argumentList); + } + + inline QDBusReply<QStringList> getToneLocaleList() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getToneLocaleList"), argumentList); + } + + inline QDBusReply<QString> getVersion() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getVersion"), argumentList); + } + + inline QDBusReply<int> getVolumeControls() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("getVolumeControls"), argumentList); + } + + inline QDBusReply<int> isIax2Enabled() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("isIax2Enabled"), argumentList); + } + + inline QDBusReply<int> isRingtoneEnabled() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("isRingtoneEnabled"), argumentList); + } + + inline QDBusReply<int> isStartHidden() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("isStartHidden"), argumentList); + } + + inline QDBusReply<int> isStunEnabled() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("isStunEnabled"), argumentList); + } + + inline QDBusReply<int> popupMode() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("popupMode"), argumentList); + } + + inline QDBusReply<void> removeAccount(const QString &accoundID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accoundID); + return callWithArgumentList(QDBus::Block, QLatin1String("removeAccount"), argumentList); + } + + inline QDBusReply<void> ringtoneEnabled() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("ringtoneEnabled"), argumentList); + } + + inline QDBusReply<void> sendRegister(const QString &accountID, int expire) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID) << qVariantFromValue(expire); + return callWithArgumentList(QDBus::Block, QLatin1String("sendRegister"), argumentList); + } + + inline QDBusReply<void> setAccountDetails(const QString &accountID, MapStringString details) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID) << qVariantFromValue(details); + return callWithArgumentList(QDBus::Block, QLatin1String("setAccountDetails"), argumentList); + } + + inline QDBusReply<void> setActiveCodecList(const QStringList &list) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(list); + return callWithArgumentList(QDBus::Block, QLatin1String("setActiveCodecList"), argumentList); + } + + inline QDBusReply<void> setAudioInputDevice(int index) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(index); + return callWithArgumentList(QDBus::Block, QLatin1String("setAudioInputDevice"), argumentList); + } + + inline QDBusReply<void> setAudioManager(int api) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(api); + return callWithArgumentList(QDBus::Block, QLatin1String("setAudioManager"), argumentList); + } + + inline QDBusReply<void> setAudioOutputDevice(int index) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(index); + return callWithArgumentList(QDBus::Block, QLatin1String("setAudioOutputDevice"), argumentList); + } + + inline QDBusReply<void> setDialpad() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("setDialpad"), argumentList); + } + + inline QDBusReply<void> setInputAudioPlugin(const QString &audioPlugin) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(audioPlugin); + return callWithArgumentList(QDBus::Block, QLatin1String("setInputAudioPlugin"), argumentList); + } + + inline QDBusReply<void> setMailNotify() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("setMailNotify"), argumentList); + } + + inline QDBusReply<void> setMaxCalls(int calls) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(calls); + return callWithArgumentList(QDBus::Block, QLatin1String("setMaxCalls"), argumentList); + } + + inline QDBusReply<void> setNotify() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("setNotify"), argumentList); + } + + inline QDBusReply<void> setOutputAudioPlugin(const QString &audioPlugin) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(audioPlugin); + return callWithArgumentList(QDBus::Block, QLatin1String("setOutputAudioPlugin"), argumentList); + } + + inline QDBusReply<void> setPulseAppVolumeControl() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("setPulseAppVolumeControl"), argumentList); + } + + inline QDBusReply<void> setRingtoneChoice(const QString &tone) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(tone); + return callWithArgumentList(QDBus::Block, QLatin1String("setRingtoneChoice"), argumentList); + } + + inline QDBusReply<void> setSearchbar() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("setSearchbar"), argumentList); + } + + inline QDBusReply<void> setSipPort(int port) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(port); + return callWithArgumentList(QDBus::Block, QLatin1String("setSipPort"), argumentList); + } + + inline QDBusReply<void> setStunServer(const QString &server) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(server); + return callWithArgumentList(QDBus::Block, QLatin1String("setStunServer"), argumentList); + } + + inline QDBusReply<void> setVolumeControls() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("setVolumeControls"), argumentList); + } + + inline QDBusReply<void> startHidden() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("startHidden"), argumentList); + } + + inline QDBusReply<void> switchPopupMode() + { + QList<QVariant> argumentList; + return callWithArgumentList(QDBus::Block, QLatin1String("switchPopupMode"), argumentList); + } + +Q_SIGNALS: // SIGNALS + void accountsChanged(); + void errorAlert(int code); + void parametersChanged(MapStringString details); +}; + +namespace org { + namespace sflphone { + namespace SFLphone { + typedef ::DaemonInterface ConfigurationManager; + } + } +} +#endif diff --git a/sflphone-qt/daemon_interface_singleton.cpp b/sflphone-qt/daemon_interface_singleton.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7257b97a1d875c95c9915114c063eb83ae94c395 --- /dev/null +++ b/sflphone-qt/daemon_interface_singleton.cpp @@ -0,0 +1,13 @@ +#include "daemon_interface_singleton.h" + + +DaemonInterface * DaemonInterfaceSingleton::daemon = new DaemonInterface("org.sflphone.SFLphone", "/org/sflphone/SFLphone/ConfigurationManager", QDBusConnection::sessionBus()); + + +DaemonInterface & DaemonInterfaceSingleton::getInstance(){ + if(!daemon){ + daemon = new DaemonInterface("org.sflphone.SFLphone", "/org/sflphone/SFLphone/ConfigurationManager", QDBusConnection::sessionBus()); + } + return *daemon; +} + \ No newline at end of file diff --git a/sflphone-qt/daemon_interface_singleton.h b/sflphone-qt/daemon_interface_singleton.h new file mode 100644 index 0000000000000000000000000000000000000000..35c21ae01755b5531962db9008a00afcb91e6340 --- /dev/null +++ b/sflphone-qt/daemon_interface_singleton.h @@ -0,0 +1,15 @@ +#include "daemon_interface_p.h" + +class DaemonInterfaceSingleton +{ + +private: + + static DaemonInterface * daemon; + +public: + + //TODO verifier pointeur ou pas pour singleton en c++ + static DaemonInterface & getInstance(); + +}; diff --git a/sflphone-qt/hang_up.svg b/sflphone-qt/hang_up.svg new file mode 100644 index 0000000000000000000000000000000000000000..8fa89cfe6e7eb35f4102ecfbdbc598fd183408c2 --- /dev/null +++ b/sflphone-qt/hang_up.svg @@ -0,0 +1,772 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="24" + height="24" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.46" + version="1.0" + sodipodi:docbase="/home/plbeaudoin/SFLPhone/sflphone/sflphone-gtk/pixmaps" + sodipodi:docname="hang_up.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> + <defs + id="defs4"> + <linearGradient + inkscape:collect="always" + id="linearGradient2500"> + <stop + style="stop-color:#800000;stop-opacity:1;" + offset="0" + id="stop2502" /> + <stop + style="stop-color:#800000;stop-opacity:0;" + offset="1" + id="stop2504" /> + </linearGradient> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 12 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="24 : 12 : 1" + inkscape:persp3d-origin="12 : 8 : 1" + id="perspective127" /> + <linearGradient + id="linearGradient4357" + inkscape:collect="always"> + <stop + id="stop4359" + offset="0" + style="stop-color:#b00000;stop-opacity:1" /> + <stop + id="stop4361" + offset="1" + style="stop-color:#b02100;stop-opacity:0" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient4269"> + <stop + style="stop-color:#b00014;stop-opacity:1;" + offset="0" + id="stop4271" /> + <stop + style="stop-color:#b00014;stop-opacity:0;" + offset="1" + id="stop4273" /> + </linearGradient> + <linearGradient + id="linearGradient4183"> + <stop + id="stop4185" + offset="0" + style="stop-color:#b00014;stop-opacity:1;" /> + <stop + id="stop4187" + offset="1" + style="stop-color:#70000c;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient4167"> + <stop + style="stop-color:#80000e;stop-opacity:1;" + offset="0" + id="stop4169" /> + <stop + style="stop-color:#b00014;stop-opacity:0;" + offset="1" + id="stop4171" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4167" + id="linearGradient4173" + x1="7.1249466" + y1="23.946518" + x2="20.06057" + y2="16.478132" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(6.313453e-2,-0.384275)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4357" + id="linearGradient4275" + x1="15.630395" + y1="22.874208" + x2="15.806232" + y2="6.6770978" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.158192,0,0,1.158192,-6.593576,-2.538854)" /> + <linearGradient + id="linearGradient2278"> + <stop + style="stop-color:#ffffff;stop-opacity:0" + offset="0" + id="stop2280" /> + <stop + style="stop-color:#fefee7;stop-opacity:0.89308178" + offset="1" + id="stop2282" /> + </linearGradient> + <linearGradient + id="linearGradient2284"> + <stop + style="stop-color:#1db000;stop-opacity:1;" + offset="0" + id="stop2286" /> + <stop + style="stop-color:#1db000;stop-opacity:0;" + offset="1" + id="stop2288" /> + </linearGradient> + <linearGradient + id="linearGradient2290"> + <stop + id="stop2292" + offset="0" + style="stop-color:#1db000;stop-opacity:1;" /> + <stop + id="stop2294" + offset="1" + style="stop-color:#0f5f00;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient2392"> + <stop + style="stop-color:#80000e;stop-opacity:1;" + offset="0" + id="stop2394" /> + <stop + style="stop-color:#b00014;stop-opacity:0;" + offset="1" + id="stop2396" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4183" + id="linearGradient2390" + x1="16.826796" + y1="6.7288713" + x2="27.5625" + y2="22.512505" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)" /> + <linearGradient + y2="13.920053" + x2="6.8378897" + y1="12.625902" + x1="2.0651877" + gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)" + gradientUnits="userSpaceOnUse" + id="linearGradient2304" + xlink:href="#linearGradient4269" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(0.426158,-2.762136)" + gradientUnits="userSpaceOnUse" + y2="13.920053" + x2="6.8378897" + y1="12.625902" + x1="2.0651877" + id="linearGradient2306" + xlink:href="#linearGradient4269" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="10.576721" + x2="14.013638" + y1="2.7028866" + x1="15.647213" + id="linearGradient2386" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(-0.947018,-0.885198)" + gradientUnits="userSpaceOnUse" + y2="12.535715" + x2="31.31678" + y1="12.535715" + x1="24.397505" + id="linearGradient2310" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(1.262691,-1.100752)" + gradientUnits="userSpaceOnUse" + y2="12.825893" + x2="7.9239235" + y1="12.825893" + x1="1.0046476" + id="linearGradient2312" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2380"> + <stop + id="stop2316" + offset="0" + style="stop-color:#80000e;stop-opacity:1;" /> + <stop + id="stop2318" + offset="1" + style="stop-color:#b00014;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2376"> + <stop + style="stop-color:#26b000;stop-opacity:1;" + offset="0" + id="stop2322" /> + <stop + style="stop-color:#145f00;stop-opacity:1;" + offset="1" + id="stop2324" /> + </linearGradient> + <linearGradient + id="linearGradient2326"> + <stop + id="stop2328" + offset="0" + style="stop-color:#26b000;stop-opacity:1;" /> + <stop + id="stop2330" + offset="1" + style="stop-color:#26b000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4183" + id="linearGradient2332" + gradientUnits="userSpaceOnUse" + x1="15.647213" + y1="2.7028866" + x2="14.013638" + y2="10.576721" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4183" + id="linearGradient2334" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(1.262691,-1.100752)" + x1="10.57493" + y1="12.115559" + x2="-0.68574232" + y2="12.115559" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4183" + id="linearGradient2336" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-0.947018,-0.885198)" + x1="31.692968" + y1="11.264216" + x2="23.888865" + y2="13.35532" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4269" + id="linearGradient2338" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0.426158,-2.762136)" + x1="7.8517423" + y1="15.912388" + x2="7.1114841" + y2="11.597325" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4269" + id="linearGradient2340" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)" + x1="2.0651877" + y1="12.625902" + x2="6.8378897" + y2="13.920053" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4045" + id="radialGradient2342" + cx="19.285715" + cy="9.8571424" + fx="19.285715" + fy="9.8571424" + r="10.885714" + gradientUnits="userSpaceOnUse" + spreadMethod="reflect" + gradientTransform="matrix(0.418975,2.444023e-18,-2.444023e-18,0.418975,11.20548,5.727248)" /> + <linearGradient + gradientTransform="matrix(1.256521,0,0,-1.256521,-7.854319,28.773309)" + gradientUnits="userSpaceOnUse" + y2="8.5305319" + x2="15.630395" + y1="22.874208" + x1="15.630395" + id="linearGradient2444" + xlink:href="#linearGradient4269" + inkscape:collect="always" /> + <linearGradient + y2="13.920053" + x2="6.8378897" + y1="12.625902" + x1="2.0651877" + gradientTransform="matrix(-1,0,0,1,31.179578,-2.86473)" + gradientUnits="userSpaceOnUse" + id="linearGradient2442" + xlink:href="#linearGradient4269" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(1.1362892,-2.762136)" + gradientUnits="userSpaceOnUse" + y2="13.920053" + x2="6.8378897" + y1="12.625902" + x1="2.0651877" + id="linearGradient2440" + xlink:href="#linearGradient4269" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="10.576721" + x2="14.013638" + y1="2.7028866" + x1="15.647213" + id="linearGradient2438" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(-1.9107675,-0.885198)" + gradientUnits="userSpaceOnUse" + y2="12.535715" + x2="31.31678" + y1="12.535715" + x1="24.397505" + id="linearGradient2436" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(1.9220986,-1.100752)" + gradientUnits="userSpaceOnUse" + y2="12.825893" + x2="7.9239235" + y1="12.825893" + x1="1.0046476" + id="linearGradient2434" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2428"> + <stop + id="stop2430" + offset="0" + style="stop-color:#80000e;stop-opacity:1;" /> + <stop + id="stop2432" + offset="1" + style="stop-color:#b00014;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2422"> + <stop + style="stop-color:#26b000;stop-opacity:1;" + offset="0" + id="stop2424" /> + <stop + style="stop-color:#145f00;stop-opacity:1;" + offset="1" + id="stop2426" /> + </linearGradient> + <linearGradient + id="linearGradient2416"> + <stop + id="stop2418" + offset="0" + style="stop-color:#26b000;stop-opacity:1;" /> + <stop + id="stop2420" + offset="1" + style="stop-color:#26b000;stop-opacity:0;" /> + </linearGradient> + <radialGradient + gradientTransform="matrix(0.418975,0,0,0.418975,11.20548,5.727248)" + spreadMethod="reflect" + gradientUnits="userSpaceOnUse" + r="10.885714" + fy="9.8571424" + fx="19.285715" + cy="9.8571424" + cx="19.285715" + id="radialGradient4051" + xlink:href="#linearGradient4045" + inkscape:collect="always" /> + <linearGradient + y2="13.920053" + x2="6.8378897" + y1="12.625902" + x1="2.0651877" + gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)" + gradientUnits="userSpaceOnUse" + id="linearGradient1414" + xlink:href="#linearGradient4269" + inkscape:collect="always" /> + <linearGradient + y2="11.597325" + x2="7.1114841" + y1="15.912388" + x1="7.8517423" + gradientTransform="translate(0.426158,-2.762136)" + gradientUnits="userSpaceOnUse" + id="linearGradient1412" + xlink:href="#linearGradient4269" + inkscape:collect="always" /> + <linearGradient + y2="13.35532" + x2="23.888865" + y1="11.264216" + x1="31.692968" + gradientTransform="translate(-0.947018,-0.885198)" + gradientUnits="userSpaceOnUse" + id="linearGradient1410" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + y2="12.115559" + x2="-0.68574232" + y1="12.115559" + x1="10.57493" + gradientTransform="translate(1.262691,-1.100752)" + gradientUnits="userSpaceOnUse" + id="linearGradient1408" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + y2="10.576721" + x2="14.013638" + y1="2.7028866" + x1="15.647213" + gradientUnits="userSpaceOnUse" + id="linearGradient1406" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + id="linearGradient1362"> + <stop + style="stop-color:#26b000;stop-opacity:1;" + offset="0" + id="stop1364" /> + <stop + style="stop-color:#26b000;stop-opacity:0;" + offset="1" + id="stop1366" /> + </linearGradient> + <linearGradient + id="linearGradient1368"> + <stop + id="stop1370" + offset="0" + style="stop-color:#26b000;stop-opacity:1;" /> + <stop + id="stop1372" + offset="1" + style="stop-color:#145f00;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient1374"> + <stop + style="stop-color:#80000e;stop-opacity:1;" + offset="0" + id="stop1376" /> + <stop + style="stop-color:#b00014;stop-opacity:0;" + offset="1" + id="stop1378" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4183" + id="linearGradient1380" + x1="1.0046476" + y1="12.825893" + x2="7.9239235" + y2="12.825893" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(1.262691,-1.100752)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4183" + id="linearGradient1382" + x1="24.397505" + y1="12.535715" + x2="31.31678" + y2="12.535715" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-0.947018,-0.885198)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4183" + id="linearGradient1384" + x1="15.647213" + y1="2.7028866" + x2="14.013638" + y2="10.576721" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4269" + id="linearGradient1386" + x1="2.0651877" + y1="12.625902" + x2="6.8378897" + y2="13.920053" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0.426158,-2.762136)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4269" + id="linearGradient1388" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)" + x1="2.0651877" + y1="12.625902" + x2="6.8378897" + y2="13.920053" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4269" + id="linearGradient2325" + x1="15.630395" + y1="22.874208" + x2="15.806232" + y2="6.6770978" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.62913,0,0,-1.62913,-10.06608,39.71987)" /> + <linearGradient + gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)" + gradientUnits="userSpaceOnUse" + y2="22.512505" + x2="27.5625" + y1="6.7288713" + x1="16.826796" + id="linearGradient2224" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + y2="13.920053" + x2="6.8378897" + y1="12.625902" + x1="2.0651877" + gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)" + gradientUnits="userSpaceOnUse" + id="linearGradient2322" + xlink:href="#linearGradient4269" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(0.426158,-2.762136)" + gradientUnits="userSpaceOnUse" + y2="11.597325" + x2="7.1114841" + y1="15.912388" + x1="7.8517423" + id="linearGradient2320" + xlink:href="#linearGradient4269" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="10.576721" + x2="14.013638" + y1="2.7028866" + x1="15.647213" + id="linearGradient2318" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(-0.947018,-0.885198)" + gradientUnits="userSpaceOnUse" + y2="13.35532" + x2="23.888865" + y1="11.264216" + x1="31.692968" + id="linearGradient2316" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(1.262691,-1.100752)" + gradientUnits="userSpaceOnUse" + y2="12.115559" + x2="-0.68574232" + y1="12.115559" + x1="10.57493" + id="linearGradient2314" + xlink:href="#linearGradient4183" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2308"> + <stop + id="stop2310" + offset="0" + style="stop-color:#80000e;stop-opacity:1;" /> + <stop + id="stop2312" + offset="1" + style="stop-color:#b00014;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2302"> + <stop + style="stop-color:#1db000;stop-opacity:1;" + offset="0" + id="stop2304" /> + <stop + style="stop-color:#0f5f00;stop-opacity:1;" + offset="1" + id="stop2306" /> + </linearGradient> + <linearGradient + id="linearGradient2296"> + <stop + id="stop2298" + offset="0" + style="stop-color:#1db000;stop-opacity:1;" /> + <stop + id="stop2300" + offset="1" + style="stop-color:#1db000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient4045"> + <stop + id="stop4047" + offset="0" + style="stop-color:#ffffff;stop-opacity:0" /> + <stop + id="stop4049" + offset="1" + style="stop-color:#fcfbcb;stop-opacity:1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2500" + id="linearGradient2506" + x1="4.9409747" + y1="16.528652" + x2="6.2092013" + y2="-3.3282857" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="22.4" + inkscape:cx="16.277456" + inkscape:cy="16.683708" + inkscape:document-units="px" + inkscape:current-layer="layer1" + width="32px" + height="32px" + showguides="true" + inkscape:guide-bbox="true" + inkscape:window-width="1014" + inkscape:window-height="722" + inkscape:window-x="5" + inkscape:window-y="49" + showgrid="false"> + <sodipodi:guide + orientation="horizontal" + position="8.0357143" + id="guide3144" /> + <sodipodi:guide + orientation="vertical" + position="15.982143" + id="guide3146" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Calque 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="opacity:1;fill:url(#linearGradient4275);fill-opacity:1;stroke:none;stroke-width:0.625;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 7.4133112,3.7940921 L 7.4133112,15.267435 L 3.6853797,15.267435 L 11.9375,23.953878 L 20.18962,15.267435 L 16.461688,15.267435 L 16.461688,3.7940921 L 7.4133112,3.7940921 z " + id="rect4262" /> + <g + id="g2407" + inkscape:label="Calque 1" + transform="matrix(-0.5,0.8660254,-0.8660254,-0.5,28.570435,0.9317453)" + style="fill:url(#linearGradient2506);fill-opacity:1"> + <g + transform="translate(14.730114,-3.4355522)" + inkscape:label="Calque 1" + id="g2364" + style="fill:url(#linearGradient2506);fill-opacity:1.0"> + <g + id="g2446" + inkscape:label="Calque 1" + transform="translate(7.9455775,4.2707653)" + style="fill:url(#linearGradient2506);fill-opacity:1.0"> + <g + style="fill:url(#linearGradient2506);stroke:#000000;stroke-opacity:0.44968554999999999;fill-opacity:1.0" + transform="matrix(-0.4376782,-0.758081,0.7581751,-0.4377326,3.5952686,30.820492)" + id="g2181"> + <path + sodipodi:nodetypes="csccczccsccccc" + id="path2183" + d="M 41.109694,-0.41817229 C 40.505298,0.20454826 39.040867,0.77635346 37.592239,0.77635106 C 36.102089,0.77635106 34.114653,0.15682998 33.532659,-0.49267807 L 33.569913,-2.0031726 L 33.569913,-3.0835065 C 31.027414,-3.5787101 30.997014,-3.8285637 27.525623,-3.8285643 C 24.054233,-3.8285649 23.830777,-3.5759718 21.29017,-3.0462535 L 21.29017,-0.3436665 C 20.685773,0.27905404 19.221343,0.87609843 17.772714,0.87609724 C 16.282564,0.87609724 14.623294,0.43325774 13.915083,-0.41817229 L 14.138601,-5.7646408 C 18.129172,-7.3187814 22.030595,-8.3970767 27.437882,-8.5586077 C 32.38601,-8.450833 36.259126,-7.7053161 40.886177,-5.8763994 L 41.109694,-0.41817229 z " + style="opacity:1;fill:url(#linearGradient2506);fill-opacity:1.0;stroke:#000000;stroke-width:0.65573961000000003;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.44968554999999999" /> + </g> + <g + transform="matrix(-0.4400595,-0.7622054,0.7622054,-0.4400595,-10.917299,27.830684)" + id="g2451" + style="fill:url(#linearGradient2506);fill-opacity:1.0"> + <path + style="opacity:1;fill:url(#linearGradient2506);fill-opacity:1.0;stroke:#561500;stroke-width:0.62500000000000000;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 16.100095,4.59375 C 10.946289,4.7477067 7.2256019,5.7999634 3.4220983,7.28125 L 3.2345983,10.227679 C 3.7846813,10.972881 5.0136533,11.508929 6.4220983,11.508929 C 7.7912983,11.508929 8.9758403,11.004648 9.5470983,10.290179 L 9.5470983,9.1875 C 11.968608,8.682612 12.862258,8.4375 16.125,8.4375 C 19.479577,8.4375001 20.38467,8.6842603 22.807982,9.15625 L 22.807982,10.165179 C 23.37924,10.879648 24.563781,11.383929 25.932982,11.383929 C 27.341427,11.383929 28.53915,10.847881 29.089232,10.102679 L 28.901732,7.15625 C 24.491586,5.413068 20.816266,4.6964725 16.100095,4.59375 z " + id="path2453" + sodipodi:nodetypes="cccsccsccsccc" /> + <path + style="opacity:1;fill:url(#linearGradient2506);fill-opacity:1.0;stroke:#561500;stroke-width:0.57204323999999995;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 6.4075414,13.019293 C 7.7882612,13.019293 8.983936,12.610489 9.5600003,12.01696 L 9.5600003,10.430989 C 8.8231919,11.109285 7.789205,11.494948 6.4075414,11.494948 C 4.9854414,11.494948 3.9881276,11.13019 3.2127675,10.48174 L 3.2127675,11.966208 C 3.7674786,12.585269 4.9872465,13.019293 6.4075414,13.019293 z " + id="path2455" + sodipodi:nodetypes="cccsccc" /> + <path + style="opacity:1;fill:url(#linearGradient2506);fill-opacity:1.0;stroke:#561500;stroke-width:0.57204323999999995;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 25.967532,12.944669 C 27.348252,12.944669 28.543927,12.535865 29.119991,11.942336 L 29.119991,10.356365 C 28.383183,11.034661 27.349196,11.420324 25.967532,11.420324 C 24.545432,11.420324 23.548118,11.055566 22.772758,10.407116 L 22.772758,11.891584 C 23.327469,12.510645 24.547237,12.944669 25.967532,12.944669 z " + id="path2457" + sodipodi:nodetypes="cccsccc" /> + <path + style="opacity:1;fill:url(#linearGradient2506);fill-opacity:1.0;stroke:none;stroke-width:0.57204323999999995;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 6.6822725,11.157918 C 8.0629923,11.157918 8.7535908,10.73333 9.3296551,10.139801 L 9.0644746,7.3100024 C 8.3276662,7.9882984 8.1270706,8.5445024 6.745407,8.5445024 C 5.323307,8.5445024 4.4996132,8.1797444 3.7242531,7.5312944 L 3.4874986,10.104833 C 4.0422097,10.723894 5.2619776,11.157918 6.6822725,11.157918 z " + id="path2459" + sodipodi:nodetypes="cccsccc" /> + <path + style="opacity:1;fill:url(#linearGradient2506);fill-opacity:1.0;stroke:none;stroke-width:0.57204323999999995;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 25.633599,11.055324 C 24.252879,11.055324 23.56228,10.630736 22.986216,10.037207 L 22.418005,7.3779497 C 23.154814,8.0562457 24.188801,8.4419087 25.570464,8.4419087 C 26.992564,8.4419087 27.816258,8.0771507 28.591618,7.4287007 L 28.828373,10.002239 C 28.273662,10.6213 27.053894,11.055324 25.633599,11.055324 z " + id="path2461" + sodipodi:nodetypes="cccsccc" /> + </g> + </g> + </g> + </g> + </g> +</svg> diff --git a/sflphone-qt/main.cpp b/sflphone-qt/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..521ca5597c4362cff35b38f0e5a190dafda4a4cd --- /dev/null +++ b/sflphone-qt/main.cpp @@ -0,0 +1,19 @@ +#include <QApplication> +#include <QtGui> +#include "ConfigDialog.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + + QString locale = QLocale::system().name(); + + QTranslator translator; + translator.load(QString("config_") + locale); + app.installTranslator(&translator); + + ConfigurationDialog fenetre; + fenetre.show(); + + return app.exec(); +} diff --git a/sflphone-qt/metatypes.h b/sflphone-qt/metatypes.h new file mode 100644 index 0000000000000000000000000000000000000000..4f308db1d2b51db1072f70474cb13412bb95fec1 --- /dev/null +++ b/sflphone-qt/metatypes.h @@ -0,0 +1,23 @@ +#ifndef METATYPES_H +#define METATYPES_H + +#include <QtCore/QList> +#include <QtCore/QMetaType> +#include <QtDBus/QtDBus> +#include <qmap.h> +#include <qstring.h> + +//class MapStringString:public QMap<QString, QString>{}; +typedef QMap<QString, QString> MapStringString; +typedef QVector<QString> VectorString; + +Q_DECLARE_METATYPE(MapStringString) +//Q_DECLARE_METATYPE(VectorString) + + +inline void registerCommTypes() { + qDBusRegisterMetaType<MapStringString>(); + //qDBusRegisterMetaType<VectorString>(); +} + +#endif \ No newline at end of file diff --git a/sflphone-qt/moc_ConfigDialog.cpp b/sflphone-qt/moc_ConfigDialog.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7679cdba167333d231b1fc87d9b644c6ac5a7ce4 --- /dev/null +++ b/sflphone-qt/moc_ConfigDialog.cpp @@ -0,0 +1,80 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'ConfigDialog.h' +** +** Created: Wed Feb 18 14:02:53 2009 +** by: The Qt Meta Object Compiler version 59 (Qt 4.4.3) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "ConfigDialog.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'ConfigDialog.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 59 +#error "This file was generated using the moc from 4.4.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_ConfigurationDialog[] = { + + // content: + 1, // revision + 0, // classname + 0, 0, // classinfo + 3, 10, // methods + 0, 0, // properties + 0, 0, // enums/sets + + // slots: signature, parameters, type, tag, flags + 21, 20, 20, 20, 0x08, + 59, 54, 20, 20, 0x08, + 112, 95, 20, 20, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_ConfigurationDialog[] = { + "ConfigurationDialog\0\0" + "on_buttonNouveauCompte_clicked()\0text\0" + "on_edit1_Alias_textChanged(QString)\0" + "current,previous\0" + "on_listWidgetComptes_currentItemChanged(QListWidgetItem*,QListWidgetIt" + "em*)\0" +}; + +const QMetaObject ConfigurationDialog::staticMetaObject = { + { &QDialog::staticMetaObject, qt_meta_stringdata_ConfigurationDialog, + qt_meta_data_ConfigurationDialog, 0 } +}; + +const QMetaObject *ConfigurationDialog::metaObject() const +{ + return &staticMetaObject; +} + +void *ConfigurationDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ConfigurationDialog)) + return static_cast<void*>(const_cast< ConfigurationDialog*>(this)); + return QDialog::qt_metacast(_clname); +} + +int ConfigurationDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: on_buttonNouveauCompte_clicked(); break; + case 1: on_edit1_Alias_textChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 2: on_listWidgetComptes_currentItemChanged((*reinterpret_cast< QListWidgetItem*(*)>(_a[1])),(*reinterpret_cast< QListWidgetItem*(*)>(_a[2]))); break; + } + _id -= 3; + } + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-qt/moc_daemon_interface_p.cpp b/sflphone-qt/moc_daemon_interface_p.cpp new file mode 100644 index 0000000000000000000000000000000000000000..38150b98b9887e05cbddd1f54247de6406818fee --- /dev/null +++ b/sflphone-qt/moc_daemon_interface_p.cpp @@ -0,0 +1,309 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'daemon_interface_p.h' +** +** Created: Wed Feb 18 11:29:38 2009 +** by: The Qt Meta Object Compiler version 59 (Qt 4.4.3) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "daemon_interface_p.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'daemon_interface_p.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 59 +#error "This file was generated using the moc from 4.4.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_DaemonInterface[] = { + + // content: + 1, // revision + 0, // classname + 0, 0, // classinfo + 60, 10, // methods + 0, 0, // properties + 0, 0, // enums/sets + + // signals: signature, parameters, type, tag, flags + 17, 16, 16, 16, 0x05, + 40, 35, 16, 16, 0x05, + 64, 56, 16, 16, 0x05, + + // slots: signature, parameters, type, tag, flags + 116, 56, 99, 16, 0x0a, + 144, 16, 99, 16, 0x0a, + 195, 185, 157, 16, 0x0a, + 246, 16, 222, 16, 0x0a, + 263, 16, 222, 16, 0x0a, + 305, 300, 284, 16, 0x0a, + 334, 16, 222, 16, 0x0a, + 360, 16, 284, 16, 0x0a, + 378, 16, 222, 16, 0x0a, + 413, 405, 222, 16, 0x0a, + 434, 16, 222, 16, 0x0a, + 449, 16, 222, 16, 0x0a, + 499, 16, 479, 16, 0x0a, + 529, 16, 284, 16, 0x0a, + 542, 16, 222, 16, 0x0a, + 568, 16, 284, 16, 0x0a, + 584, 16, 284, 16, 0x0a, + 598, 16, 284, 16, 0x0a, + 610, 16, 222, 16, 0x0a, + 637, 16, 222, 16, 0x0a, + 661, 16, 284, 16, 0x0a, + 688, 16, 222, 16, 0x0a, + 710, 16, 479, 16, 0x0a, + 730, 16, 222, 16, 0x0a, + 748, 16, 284, 16, 0x0a, + 763, 16, 284, 16, 0x0a, + 776, 16, 479, 16, 0x0a, + 792, 16, 222, 16, 0x0a, + 812, 16, 479, 16, 0x0a, + 825, 16, 284, 16, 0x0a, + 845, 16, 284, 16, 0x0a, + 861, 16, 284, 16, 0x0a, + 881, 16, 284, 16, 0x0a, + 897, 16, 284, 16, 0x0a, + 913, 16, 284, 16, 0x0a, + 935, 925, 99, 16, 0x0a, + 958, 16, 99, 16, 0x0a, + 993, 976, 99, 16, 0x0a, + 1037, 1019, 99, 16, 0x0a, + 1085, 1080, 99, 16, 0x0a, + 1123, 1117, 99, 16, 0x0a, + 1152, 1148, 99, 16, 0x0a, + 1173, 1117, 99, 16, 0x0a, + 1199, 16, 99, 16, 0x0a, + 1224, 1212, 99, 16, 0x0a, + 1253, 16, 99, 16, 0x0a, + 1275, 1269, 99, 16, 0x0a, + 1292, 16, 99, 16, 0x0a, + 1304, 1212, 99, 16, 0x0a, + 1334, 16, 99, 16, 0x0a, + 1366, 1361, 99, 16, 0x0a, + 1393, 16, 99, 16, 0x0a, + 1413, 1408, 99, 16, 0x0a, + 1436, 1429, 99, 16, 0x0a, + 1459, 16, 99, 16, 0x0a, + 1479, 16, 99, 16, 0x0a, + 1493, 16, 99, 16, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_DaemonInterface[] = { + "DaemonInterface\0\0accountsChanged()\0" + "code\0errorAlert(int)\0details\0" + "parametersChanged(MapStringString)\0" + "QDBusReply<void>\0addAccount(MapStringString)\0" + "enableStun()\0QDBusReply<MapStringString>\0" + "accountID\0getAccountDetails(QString)\0" + "QDBusReply<QStringList>\0getAccountList()\0" + "getActiveCodecList()\0QDBusReply<int>\0" + "name\0getAudioDeviceIndex(QString)\0" + "getAudioInputDeviceList()\0getAudioManager()\0" + "getAudioOutputDeviceList()\0payload\0" + "getCodecDetails(int)\0getCodecList()\0" + "getCurrentAudioDevicesIndex()\0" + "QDBusReply<QString>\0getCurrentAudioOutputPlugin()\0" + "getDialpad()\0getInputAudioPluginList()\0" + "getMailNotify()\0getMaxCalls()\0getNotify()\0" + "getOutputAudioPluginList()\0" + "getPlaybackDeviceList()\0" + "getPulseAppVolumeControl()\0" + "getRecordDeviceList()\0getRingtoneChoice()\0" + "getRingtoneList()\0getSearchbar()\0" + "getSipPort()\0getStunServer()\0" + "getToneLocaleList()\0getVersion()\0" + "getVolumeControls()\0isIax2Enabled()\0" + "isRingtoneEnabled()\0isStartHidden()\0" + "isStunEnabled()\0popupMode()\0accoundID\0" + "removeAccount(QString)\0ringtoneEnabled()\0" + "accountID,expire\0sendRegister(QString,int)\0" + "accountID,details\0" + "setAccountDetails(QString,MapStringString)\0" + "list\0setActiveCodecList(QStringList)\0" + "index\0setAudioInputDevice(int)\0api\0" + "setAudioManager(int)\0setAudioOutputDevice(int)\0" + "setDialpad()\0audioPlugin\0" + "setInputAudioPlugin(QString)\0" + "setMailNotify()\0calls\0setMaxCalls(int)\0" + "setNotify()\0setOutputAudioPlugin(QString)\0" + "setPulseAppVolumeControl()\0tone\0" + "setRingtoneChoice(QString)\0setSearchbar()\0" + "port\0setSipPort(int)\0server\0" + "setStunServer(QString)\0setVolumeControls()\0" + "startHidden()\0switchPopupMode()\0" +}; + +const QMetaObject DaemonInterface::staticMetaObject = { + { &QDBusAbstractInterface::staticMetaObject, qt_meta_stringdata_DaemonInterface, + qt_meta_data_DaemonInterface, 0 } +}; + +const QMetaObject *DaemonInterface::metaObject() const +{ + return &staticMetaObject; +} + +void *DaemonInterface::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_DaemonInterface)) + return static_cast<void*>(const_cast< DaemonInterface*>(this)); + return QDBusAbstractInterface::qt_metacast(_clname); +} + +int DaemonInterface::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDBusAbstractInterface::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: accountsChanged(); break; + case 1: errorAlert((*reinterpret_cast< int(*)>(_a[1]))); break; + case 2: parametersChanged((*reinterpret_cast< MapStringString(*)>(_a[1]))); break; + case 3: { QDBusReply<void> _r = addAccount((*reinterpret_cast< MapStringString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 4: { QDBusReply<void> _r = enableStun(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 5: { QDBusReply<MapStringString> _r = getAccountDetails((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<MapStringString>*>(_a[0]) = _r; } break; + case 6: { QDBusReply<QStringList> _r = getAccountList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 7: { QDBusReply<QStringList> _r = getActiveCodecList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 8: { QDBusReply<int> _r = getAudioDeviceIndex((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 9: { QDBusReply<QStringList> _r = getAudioInputDeviceList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 10: { QDBusReply<int> _r = getAudioManager(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 11: { QDBusReply<QStringList> _r = getAudioOutputDeviceList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 12: { QDBusReply<QStringList> _r = getCodecDetails((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 13: { QDBusReply<QStringList> _r = getCodecList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 14: { QDBusReply<QStringList> _r = getCurrentAudioDevicesIndex(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 15: { QDBusReply<QString> _r = getCurrentAudioOutputPlugin(); + if (_a[0]) *reinterpret_cast< QDBusReply<QString>*>(_a[0]) = _r; } break; + case 16: { QDBusReply<int> _r = getDialpad(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 17: { QDBusReply<QStringList> _r = getInputAudioPluginList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 18: { QDBusReply<int> _r = getMailNotify(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 19: { QDBusReply<int> _r = getMaxCalls(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 20: { QDBusReply<int> _r = getNotify(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 21: { QDBusReply<QStringList> _r = getOutputAudioPluginList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 22: { QDBusReply<QStringList> _r = getPlaybackDeviceList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 23: { QDBusReply<int> _r = getPulseAppVolumeControl(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 24: { QDBusReply<QStringList> _r = getRecordDeviceList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 25: { QDBusReply<QString> _r = getRingtoneChoice(); + if (_a[0]) *reinterpret_cast< QDBusReply<QString>*>(_a[0]) = _r; } break; + case 26: { QDBusReply<QStringList> _r = getRingtoneList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 27: { QDBusReply<int> _r = getSearchbar(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 28: { QDBusReply<int> _r = getSipPort(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 29: { QDBusReply<QString> _r = getStunServer(); + if (_a[0]) *reinterpret_cast< QDBusReply<QString>*>(_a[0]) = _r; } break; + case 30: { QDBusReply<QStringList> _r = getToneLocaleList(); + if (_a[0]) *reinterpret_cast< QDBusReply<QStringList>*>(_a[0]) = _r; } break; + case 31: { QDBusReply<QString> _r = getVersion(); + if (_a[0]) *reinterpret_cast< QDBusReply<QString>*>(_a[0]) = _r; } break; + case 32: { QDBusReply<int> _r = getVolumeControls(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 33: { QDBusReply<int> _r = isIax2Enabled(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 34: { QDBusReply<int> _r = isRingtoneEnabled(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 35: { QDBusReply<int> _r = isStartHidden(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 36: { QDBusReply<int> _r = isStunEnabled(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 37: { QDBusReply<int> _r = popupMode(); + if (_a[0]) *reinterpret_cast< QDBusReply<int>*>(_a[0]) = _r; } break; + case 38: { QDBusReply<void> _r = removeAccount((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 39: { QDBusReply<void> _r = ringtoneEnabled(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 40: { QDBusReply<void> _r = sendRegister((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 41: { QDBusReply<void> _r = setAccountDetails((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< MapStringString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 42: { QDBusReply<void> _r = setActiveCodecList((*reinterpret_cast< const QStringList(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 43: { QDBusReply<void> _r = setAudioInputDevice((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 44: { QDBusReply<void> _r = setAudioManager((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 45: { QDBusReply<void> _r = setAudioOutputDevice((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 46: { QDBusReply<void> _r = setDialpad(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 47: { QDBusReply<void> _r = setInputAudioPlugin((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 48: { QDBusReply<void> _r = setMailNotify(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 49: { QDBusReply<void> _r = setMaxCalls((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 50: { QDBusReply<void> _r = setNotify(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 51: { QDBusReply<void> _r = setOutputAudioPlugin((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 52: { QDBusReply<void> _r = setPulseAppVolumeControl(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 53: { QDBusReply<void> _r = setRingtoneChoice((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 54: { QDBusReply<void> _r = setSearchbar(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 55: { QDBusReply<void> _r = setSipPort((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 56: { QDBusReply<void> _r = setStunServer((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 57: { QDBusReply<void> _r = setVolumeControls(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 58: { QDBusReply<void> _r = startHidden(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + case 59: { QDBusReply<void> _r = switchPopupMode(); + if (_a[0]) *reinterpret_cast< QDBusReply<void>*>(_a[0]) = _r; } break; + } + _id -= 60; + } + return _id; +} + +// SIGNAL 0 +void DaemonInterface::accountsChanged() +{ + QMetaObject::activate(this, &staticMetaObject, 0, 0); +} + +// SIGNAL 1 +void DaemonInterface::errorAlert(int _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} + +// SIGNAL 2 +void DaemonInterface::parametersChanged(MapStringString _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 2, _a); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-qt/sans kwidgets.pro b/sflphone-qt/sans kwidgets.pro new file mode 100644 index 0000000000000000000000000000000000000000..4b5dff7f7451eb51455d933db0357a76ad02fb72 --- /dev/null +++ b/sflphone-qt/sans kwidgets.pro @@ -0,0 +1,27 @@ +###################################################################### +# Automatically generated by qmake (2.01a) mer. f�vr. 18 11:08:41 2009 +###################################################################### + +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +CONFIG += qdbus uitools debug + +# Input +HEADERS += Account.h \ + AccountList.h \ + ConfigDialog.h \ + daemon_interface_p.h \ + daemon_interface_singleton.h \ + metatypes.h \ + sflphone_const.h +FORMS += ConfigDialog.ui +SOURCES += Account.cpp \ + AccountList.cpp \ + ConfigDialog.cpp \ + daemon_interface.cpp \ + daemon_interface_singleton.cpp \ + main.cpp \ + sflphone_const.cpp +TRANSLATIONS += config_en.ts diff --git a/sflphone-qt/sflphone_const.cpp b/sflphone-qt/sflphone_const.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d7787e92a548b24107c0053f2c32c12e4615f84a --- /dev/null +++ b/sflphone-qt/sflphone_const.cpp @@ -0,0 +1,19 @@ +#include "sflphone_const.h" + +int getProtocoleIndex(QString protocoleName) +{ + if(protocoleName == (QString)"SIP") + return 0; + if(protocoleName == (QString)"IAX") + return 1; + return -1; +} + +QString getIndexProtocole(int protocoleIndex) +{ + if(protocoleIndex == 0) + return "SIP"; + if(protocoleIndex == 1) + return "IAX"; + return NULL; +} \ No newline at end of file diff --git a/sflphone-qt/sflphone_const.h b/sflphone-qt/sflphone_const.h new file mode 100644 index 0000000000000000000000000000000000000000..fc118c93fa3fe18f154402a20f13faada7cadb4f --- /dev/null +++ b/sflphone-qt/sflphone_const.h @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2008 Savoir-Faire Linux inc. + * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __SFLPHONE_CONST_H +#define __SFLPHONE_CONST_H + +#include <libintl.h> +#include <QtGui> + +/* @file sflphone_const.h + * @brief Contains the global variables for the client code + */ + +/** Locale */ +#define _(STRING) gettext( STRING ) + +/** Warnings unused variables **/ +#define UNUSED_VAR(var) (void*)var + +#define UNUSED __attribute__((__unused__)) + +#define ACCOUNT_TYPE "Account.type" +#define ACCOUNT_ALIAS "Account.alias" +#define ACCOUNT_ENABLED "Account.enable" +#define ACCOUNT_MAILBOX "Account.mailbox" +#define ACCOUNT_HOSTNAME "hostname" +#define ACCOUNT_USERNAME "username" +#define ACCOUNT_PASSWORD "password" +#define ACCOUNT_SIP_STUN_SERVER "STUN.server" +#define ACCOUNT_SIP_STUN_ENABLED "STUN.enable" + +/** Error while opening capture device */ +#define ALSA_CAPTURE_DEVICE 0x0001 +/** Error while opening playback device */ +#define ALSA_PLAYBACK_DEVICE 0x0010 +/** Error pulseaudio */ +#define PULSEAUDIO_NOT_RUNNING 0x0100 + + + +/** Tone to play when no voice mails */ +#define TONE_WITHOUT_MESSAGE 0 +/** Tone to play when voice mails */ +#define TONE_WITH_MESSAGE 1 +/** Tells if the main window is reduced to the system tray or not */ +#define MINIMIZED TRUE +/** Behaviour of the main window on incoming calls */ +#define __POPUP_WINDOW ( dbus_popup_mode() ) +/** Show/Hide the dialpad */ +#define SHOW_DIALPAD ( dbus_get_dialpad() ) +/** Show/Hide the volume controls */ +#define SHOW_VOLUME ( dbus_get_volume_controls() ) +/** Show/Hide the dialpad */ +#define SHOW_SEARCHBAR ( dbus_get_searchbar() ) +/** Show/Hide the alsa configuration panel */ +#define SHOW_ALSA_CONF ( dbus_get_audio_manager() == ALSA ) + +/** Audio Managers */ +#define ALSA 0 +#define PULSEAUDIO 1 + +/** Notification levels */ +#define __NOTIF_LEVEL_MIN 0 +#define __NOTIF_LEVEL_MED 1 +#define __NOTIF_LEVEL_HIGH 2 + +/** Messages ID for the status bar - Incoming calls */ +#define __MSG_INCOMING_CALL 0 +/** Messages ID for the status bar - Calling */ +#define __MSG_CALLING 1 +/** Messages ID for the status bar - Voice mails notification */ +#define __MSG_VOICE_MAILS 2 +/** Messages ID for the status bar - Current account */ +#define __MSG_ACCOUNT_DEFAULT 3 + +/** Desktop notifications - Time before to close the notification*/ +#define __TIMEOUT_MODE "default" +/** Desktop notifications - Time before to close the notification*/ +#define __TIMEOUT_TIME 18000 // 30 secondes + +//TODO constantes pour protocoles +int getProtocoleIndex(QString protocoleName); + +QString getIndexProtocole(int protocoleIndex); + +#endif diff --git a/sflphone-qt/ui_ConfigDialog.h b/sflphone-qt/ui_ConfigDialog.h new file mode 100644 index 0000000000000000000000000000000000000000..353f33bda2af0dfaad7f97a3ef418dcfa9088869 --- /dev/null +++ b/sflphone-qt/ui_ConfigDialog.h @@ -0,0 +1,912 @@ +/******************************************************************************** +** Form generated from reading ui file 'ConfigDialog.ui' +** +** Created: Tue Feb 17 11:57:42 2009 +** by: Qt User Interface Compiler version 4.4.3 +** +** WARNING! All changes made in this file will be lost when recompiling ui file! +********************************************************************************/ + +#ifndef UI_CONFIGDIALOG_H +#define UI_CONFIGDIALOG_H + +#include <QtCore/QVariant> +#include <QtGui/QAction> +#include <QtGui/QApplication> +#include <QtGui/QButtonGroup> +#include <QtGui/QCheckBox> +#include <QtGui/QComboBox> +#include <QtGui/QDialog> +#include <QtGui/QDialogButtonBox> +#include <QtGui/QFormLayout> +#include <QtGui/QFrame> +#include <QtGui/QGridLayout> +#include <QtGui/QGroupBox> +#include <QtGui/QHBoxLayout> +#include <QtGui/QLabel> +#include <QtGui/QLineEdit> +#include <QtGui/QListWidget> +#include <QtGui/QPushButton> +#include <QtGui/QSlider> +#include <QtGui/QSpinBox> +#include <QtGui/QStackedWidget> +#include <QtGui/QTableView> +#include <QtGui/QToolButton> +#include <QtGui/QVBoxLayout> +#include <QtGui/QWidget> + +QT_BEGIN_NAMESPACE + +class Ui_ConfigurationDialog +{ +public: + QVBoxLayout *verticalLayout; + QHBoxLayout *horizontalLayoutDialog; + QListWidget *listOptions; + QFrame *lineOptions; + QStackedWidget *stackedWidgetOptions; + QWidget *page_General; + QVBoxLayout *verticalLayout_18; + QLabel *label_ConfGeneral; + QFrame *line_ConfGeneral; + QGroupBox *groupBox1_Historique; + QVBoxLayout *verticalLayout_19; + QWidget *widget_CapaciteHist; + QHBoxLayout *horizontalLayout_10; + QLabel *label_Capacite; + QSlider *horizontalSlider; + QSpinBox *spinBox_CapaciteHist; + QToolButton *toolButtonEffacerHist; + QGroupBox *groupBox2_Connexion; + QFormLayout *formLayout_12; + QLabel *label_PortSIP; + QSpinBox *spinBox_PortSIP; + QWidget *widget_RemplissageConfGeneral; + QWidget *page_Affichage; + QVBoxLayout *verticalLayout_9; + QLabel *label_ConfAffichage; + QFrame *line_ConfAffichage; + QFrame *frameAffichage; + QVBoxLayout *verticalLayout_8; + QLabel *label1_Notifications; + QWidget *widget1_Notifications; + QHBoxLayout *horizontalLayout_5; + QCheckBox *checkBox1_NotifAppels; + QCheckBox *checkBox2_NotifMessages; + QLabel *label2_FenetrePrincipale; + QWidget *widget_FenetrePrincipale; + QHBoxLayout *horizontalLayout_6; + QCheckBox *checkBox1_FenDemarrage; + QCheckBox *checkBox2_FenAppel; + QWidget *widget_5; + QWidget *page_Comptes; + QVBoxLayout *verticalLayout_2; + QLabel *label_ConfComptes; + QFrame *line_ConfComptes; + QWidget *widget1_ConfComptes; + QHBoxLayout *horizontalLayout_3; + QFrame *frame1_ListeComptes; + QVBoxLayout *verticalLayout_6; + QListWidget *listWidgetComptes; + QGroupBox *groupBoxGestionComptes; + QHBoxLayout *horizontalLayout_2; + QToolButton *buttonSupprimerCompte; + QToolButton *buttonNouveauCompte; + QFrame *frame2_EditComptes; + QFormLayout *formLayout_2; + QLabel *label1_Alias; + QLineEdit *edit1_Alias; + QLabel *label2_Protocole; + QLabel *label3_Serveur; + QLabel *label4_Usager; + QLabel *label5_Mdp; + QLabel *label6_BoiteVocale; + QLineEdit *edit3_Serveur; + QLineEdit *edit4_Usager; + QLineEdit *edit5_Mdp; + QLineEdit *edit6_BoiteVocale; + QComboBox *edit2_Protocole; + QGroupBox *groupBox_ConfComptesCommuns; + QVBoxLayout *verticalLayout_10; + QLabel *label_ConfComptesCommus; + QFormLayout *formLayoutConfComptesCommus; + QCheckBox *checkBoxStun; + QLineEdit *lineEdit_Stun; + QWidget *page_Audio; + QVBoxLayout *verticalLayout_5; + QLabel *label_ConfAudio; + QFrame *line_ConfAudio; + QGroupBox *groupBox1_Audio; + QFormLayout *formLayout_3; + QLabel *label_Interface; + QComboBox *comboBox_Interface; + QCheckBox *checkBox_Sonneries; + QGroupBox *groupBox2_Codecs; + QGridLayout *gridLayout; + QTableView *tableViewCodecs; + QVBoxLayout *verticalLayout_OrdreCodecs; + QToolButton *toolButton_MonterCodec; + QToolButton *toolButton_DescendreCodec; + QStackedWidget *stackedWidget_ParametresSpecif; + QWidget *page1_Alsa; + QVBoxLayout *verticalLayout_20; + QGroupBox *groupBox_Alsa; + QFormLayout *formLayout_4; + QComboBox *comboBox2_Entree; + QLabel *label2_Entree; + QLabel *label3_Sortie; + QComboBox *comboBox3_Sortie; + QLabel *label1_GreffonAlsa; + QComboBox *comboBox1_GreffonAlsa; + QWidget *page2_PulseAudio; + QVBoxLayout *verticalLayout_7; + QGroupBox *groupBox_PulseAudio; + QFormLayout *formLayout_11; + QCheckBox *checkBox_ModifVolumeApps; + QPushButton *pushButton; + QFrame *lineDialog; + QDialogButtonBox *buttonBoxDialog; + + void setupUi(QDialog *ConfigurationDialog) + { + if (ConfigurationDialog->objectName().isEmpty()) + ConfigurationDialog->setObjectName(QString::fromUtf8("ConfigurationDialog")); + ConfigurationDialog->resize(504, 392); + ConfigurationDialog->setMinimumSize(QSize(0, 0)); + verticalLayout = new QVBoxLayout(ConfigurationDialog); + verticalLayout->setSpacing(4); + verticalLayout->setMargin(1); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + horizontalLayoutDialog = new QHBoxLayout(); + horizontalLayoutDialog->setSpacing(4); + horizontalLayoutDialog->setObjectName(QString::fromUtf8("horizontalLayoutDialog")); + horizontalLayoutDialog->setSizeConstraint(QLayout::SetDefaultConstraint); + listOptions = new QListWidget(ConfigurationDialog); + QIcon icon; + icon.addPixmap(QPixmap(QString::fromUtf8(":/Images/sflphone.png")), QIcon::Normal, QIcon::Off); + QListWidgetItem *__listItem = new QListWidgetItem(listOptions); + __listItem->setIcon(icon); + QListWidgetItem *__listItem1 = new QListWidgetItem(listOptions); + __listItem1->setIcon(icon); + QIcon icon1; + icon1.addPixmap(QPixmap(QString::fromUtf8(":/Images/stock_person.svg")), QIcon::Normal, QIcon::Off); + QListWidgetItem *__listItem2 = new QListWidgetItem(listOptions); + __listItem2->setIcon(icon1); + QIcon icon2; + icon2.addPixmap(QPixmap(QString::fromUtf8(":/Images/icon_volume_off.svg")), QIcon::Normal, QIcon::Off); + QListWidgetItem *__listItem3 = new QListWidgetItem(listOptions); + __listItem3->setIcon(icon2); + listOptions->setObjectName(QString::fromUtf8("listOptions")); + QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(listOptions->sizePolicy().hasHeightForWidth()); + listOptions->setSizePolicy(sizePolicy); + listOptions->setMinimumSize(QSize(100, 300)); + listOptions->setMaximumSize(QSize(100, 16777215)); + listOptions->setSizeIncrement(QSize(0, 0)); + listOptions->setMouseTracking(false); + listOptions->setContextMenuPolicy(Qt::DefaultContextMenu); + listOptions->setAcceptDrops(false); + listOptions->setLayoutDirection(Qt::LeftToRight); + listOptions->setAutoFillBackground(true); + listOptions->setAutoScrollMargin(16); + listOptions->setEditTriggers(QAbstractItemView::AllEditTriggers); + listOptions->setDragEnabled(true); + listOptions->setIconSize(QSize(200, 200)); + listOptions->setTextElideMode(Qt::ElideMiddle); + listOptions->setVerticalScrollMode(QAbstractItemView::ScrollPerItem); + listOptions->setHorizontalScrollMode(QAbstractItemView::ScrollPerItem); + listOptions->setMovement(QListView::Static); + listOptions->setFlow(QListView::TopToBottom); + listOptions->setResizeMode(QListView::Adjust); + listOptions->setLayoutMode(QListView::SinglePass); + listOptions->setViewMode(QListView::IconMode); + listOptions->setModelColumn(0); + listOptions->setUniformItemSizes(false); + listOptions->setWordWrap(false); + listOptions->setSortingEnabled(false); + + horizontalLayoutDialog->addWidget(listOptions); + + lineOptions = new QFrame(ConfigurationDialog); + lineOptions->setObjectName(QString::fromUtf8("lineOptions")); + lineOptions->setFrameShape(QFrame::VLine); + lineOptions->setFrameShadow(QFrame::Sunken); + + horizontalLayoutDialog->addWidget(lineOptions); + + stackedWidgetOptions = new QStackedWidget(ConfigurationDialog); + stackedWidgetOptions->setObjectName(QString::fromUtf8("stackedWidgetOptions")); + page_General = new QWidget(); + page_General->setObjectName(QString::fromUtf8("page_General")); + verticalLayout_18 = new QVBoxLayout(page_General); + verticalLayout_18->setSpacing(4); + verticalLayout_18->setMargin(4); + verticalLayout_18->setObjectName(QString::fromUtf8("verticalLayout_18")); + verticalLayout_18->setContentsMargins(4, -1, -1, -1); + label_ConfGeneral = new QLabel(page_General); + label_ConfGeneral->setObjectName(QString::fromUtf8("label_ConfGeneral")); + + verticalLayout_18->addWidget(label_ConfGeneral); + + line_ConfGeneral = new QFrame(page_General); + line_ConfGeneral->setObjectName(QString::fromUtf8("line_ConfGeneral")); + line_ConfGeneral->setFrameShape(QFrame::HLine); + line_ConfGeneral->setFrameShadow(QFrame::Sunken); + + verticalLayout_18->addWidget(line_ConfGeneral); + + groupBox1_Historique = new QGroupBox(page_General); + groupBox1_Historique->setObjectName(QString::fromUtf8("groupBox1_Historique")); + QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Fixed); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(groupBox1_Historique->sizePolicy().hasHeightForWidth()); + groupBox1_Historique->setSizePolicy(sizePolicy1); + verticalLayout_19 = new QVBoxLayout(groupBox1_Historique); + verticalLayout_19->setSpacing(4); + verticalLayout_19->setMargin(4); + verticalLayout_19->setObjectName(QString::fromUtf8("verticalLayout_19")); + widget_CapaciteHist = new QWidget(groupBox1_Historique); + widget_CapaciteHist->setObjectName(QString::fromUtf8("widget_CapaciteHist")); + horizontalLayout_10 = new QHBoxLayout(widget_CapaciteHist); + horizontalLayout_10->setSpacing(4); + horizontalLayout_10->setMargin(4); + horizontalLayout_10->setObjectName(QString::fromUtf8("horizontalLayout_10")); + label_Capacite = new QLabel(widget_CapaciteHist); + label_Capacite->setObjectName(QString::fromUtf8("label_Capacite")); + + horizontalLayout_10->addWidget(label_Capacite); + + horizontalSlider = new QSlider(widget_CapaciteHist); + horizontalSlider->setObjectName(QString::fromUtf8("horizontalSlider")); + horizontalSlider->setMaximum(100); + horizontalSlider->setOrientation(Qt::Horizontal); + + horizontalLayout_10->addWidget(horizontalSlider); + + spinBox_CapaciteHist = new QSpinBox(widget_CapaciteHist); + spinBox_CapaciteHist->setObjectName(QString::fromUtf8("spinBox_CapaciteHist")); + + horizontalLayout_10->addWidget(spinBox_CapaciteHist); + + + verticalLayout_19->addWidget(widget_CapaciteHist); + + toolButtonEffacerHist = new QToolButton(groupBox1_Historique); + toolButtonEffacerHist->setObjectName(QString::fromUtf8("toolButtonEffacerHist")); + + verticalLayout_19->addWidget(toolButtonEffacerHist); + + + verticalLayout_18->addWidget(groupBox1_Historique); + + groupBox2_Connexion = new QGroupBox(page_General); + groupBox2_Connexion->setObjectName(QString::fromUtf8("groupBox2_Connexion")); + sizePolicy1.setHeightForWidth(groupBox2_Connexion->sizePolicy().hasHeightForWidth()); + groupBox2_Connexion->setSizePolicy(sizePolicy1); + formLayout_12 = new QFormLayout(groupBox2_Connexion); + formLayout_12->setSpacing(4); + formLayout_12->setMargin(4); + formLayout_12->setObjectName(QString::fromUtf8("formLayout_12")); + label_PortSIP = new QLabel(groupBox2_Connexion); + label_PortSIP->setObjectName(QString::fromUtf8("label_PortSIP")); + + formLayout_12->setWidget(0, QFormLayout::LabelRole, label_PortSIP); + + spinBox_PortSIP = new QSpinBox(groupBox2_Connexion); + spinBox_PortSIP->setObjectName(QString::fromUtf8("spinBox_PortSIP")); + + formLayout_12->setWidget(0, QFormLayout::FieldRole, spinBox_PortSIP); + + + verticalLayout_18->addWidget(groupBox2_Connexion); + + widget_RemplissageConfGeneral = new QWidget(page_General); + widget_RemplissageConfGeneral->setObjectName(QString::fromUtf8("widget_RemplissageConfGeneral")); + sizePolicy.setHeightForWidth(widget_RemplissageConfGeneral->sizePolicy().hasHeightForWidth()); + widget_RemplissageConfGeneral->setSizePolicy(sizePolicy); + + verticalLayout_18->addWidget(widget_RemplissageConfGeneral); + + stackedWidgetOptions->addWidget(page_General); + page_Affichage = new QWidget(); + page_Affichage->setObjectName(QString::fromUtf8("page_Affichage")); + verticalLayout_9 = new QVBoxLayout(page_Affichage); + verticalLayout_9->setSpacing(4); + verticalLayout_9->setMargin(4); + verticalLayout_9->setObjectName(QString::fromUtf8("verticalLayout_9")); + label_ConfAffichage = new QLabel(page_Affichage); + label_ConfAffichage->setObjectName(QString::fromUtf8("label_ConfAffichage")); + sizePolicy1.setHeightForWidth(label_ConfAffichage->sizePolicy().hasHeightForWidth()); + label_ConfAffichage->setSizePolicy(sizePolicy1); + + verticalLayout_9->addWidget(label_ConfAffichage); + + line_ConfAffichage = new QFrame(page_Affichage); + line_ConfAffichage->setObjectName(QString::fromUtf8("line_ConfAffichage")); + line_ConfAffichage->setFrameShape(QFrame::HLine); + line_ConfAffichage->setFrameShadow(QFrame::Sunken); + + verticalLayout_9->addWidget(line_ConfAffichage); + + frameAffichage = new QFrame(page_Affichage); + frameAffichage->setObjectName(QString::fromUtf8("frameAffichage")); + QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Preferred); + sizePolicy2.setHorizontalStretch(0); + sizePolicy2.setVerticalStretch(0); + sizePolicy2.setHeightForWidth(frameAffichage->sizePolicy().hasHeightForWidth()); + frameAffichage->setSizePolicy(sizePolicy2); + frameAffichage->setFrameShape(QFrame::StyledPanel); + frameAffichage->setFrameShadow(QFrame::Raised); + verticalLayout_8 = new QVBoxLayout(frameAffichage); + verticalLayout_8->setSpacing(4); + verticalLayout_8->setMargin(4); + verticalLayout_8->setObjectName(QString::fromUtf8("verticalLayout_8")); + label1_Notifications = new QLabel(frameAffichage); + label1_Notifications->setObjectName(QString::fromUtf8("label1_Notifications")); + sizePolicy1.setHeightForWidth(label1_Notifications->sizePolicy().hasHeightForWidth()); + label1_Notifications->setSizePolicy(sizePolicy1); + + verticalLayout_8->addWidget(label1_Notifications); + + widget1_Notifications = new QWidget(frameAffichage); + widget1_Notifications->setObjectName(QString::fromUtf8("widget1_Notifications")); + sizePolicy1.setHeightForWidth(widget1_Notifications->sizePolicy().hasHeightForWidth()); + widget1_Notifications->setSizePolicy(sizePolicy1); + horizontalLayout_5 = new QHBoxLayout(widget1_Notifications); + horizontalLayout_5->setSpacing(4); + horizontalLayout_5->setMargin(4); + horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5")); + checkBox1_NotifAppels = new QCheckBox(widget1_Notifications); + checkBox1_NotifAppels->setObjectName(QString::fromUtf8("checkBox1_NotifAppels")); + + horizontalLayout_5->addWidget(checkBox1_NotifAppels); + + checkBox2_NotifMessages = new QCheckBox(widget1_Notifications); + checkBox2_NotifMessages->setObjectName(QString::fromUtf8("checkBox2_NotifMessages")); + + horizontalLayout_5->addWidget(checkBox2_NotifMessages); + + + verticalLayout_8->addWidget(widget1_Notifications); + + label2_FenetrePrincipale = new QLabel(frameAffichage); + label2_FenetrePrincipale->setObjectName(QString::fromUtf8("label2_FenetrePrincipale")); + sizePolicy1.setHeightForWidth(label2_FenetrePrincipale->sizePolicy().hasHeightForWidth()); + label2_FenetrePrincipale->setSizePolicy(sizePolicy1); + + verticalLayout_8->addWidget(label2_FenetrePrincipale); + + widget_FenetrePrincipale = new QWidget(frameAffichage); + widget_FenetrePrincipale->setObjectName(QString::fromUtf8("widget_FenetrePrincipale")); + sizePolicy1.setHeightForWidth(widget_FenetrePrincipale->sizePolicy().hasHeightForWidth()); + widget_FenetrePrincipale->setSizePolicy(sizePolicy1); + horizontalLayout_6 = new QHBoxLayout(widget_FenetrePrincipale); + horizontalLayout_6->setSpacing(4); + horizontalLayout_6->setMargin(4); + horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6")); + checkBox1_FenDemarrage = new QCheckBox(widget_FenetrePrincipale); + checkBox1_FenDemarrage->setObjectName(QString::fromUtf8("checkBox1_FenDemarrage")); + + horizontalLayout_6->addWidget(checkBox1_FenDemarrage); + + checkBox2_FenAppel = new QCheckBox(widget_FenetrePrincipale); + checkBox2_FenAppel->setObjectName(QString::fromUtf8("checkBox2_FenAppel")); + + horizontalLayout_6->addWidget(checkBox2_FenAppel); + + + verticalLayout_8->addWidget(widget_FenetrePrincipale); + + widget_5 = new QWidget(frameAffichage); + widget_5->setObjectName(QString::fromUtf8("widget_5")); + + verticalLayout_8->addWidget(widget_5); + + + verticalLayout_9->addWidget(frameAffichage); + + stackedWidgetOptions->addWidget(page_Affichage); + page_Comptes = new QWidget(); + page_Comptes->setObjectName(QString::fromUtf8("page_Comptes")); + verticalLayout_2 = new QVBoxLayout(page_Comptes); + verticalLayout_2->setSpacing(4); + verticalLayout_2->setMargin(4); + verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2")); + label_ConfComptes = new QLabel(page_Comptes); + label_ConfComptes->setObjectName(QString::fromUtf8("label_ConfComptes")); + sizePolicy2.setHeightForWidth(label_ConfComptes->sizePolicy().hasHeightForWidth()); + label_ConfComptes->setSizePolicy(sizePolicy2); + + verticalLayout_2->addWidget(label_ConfComptes); + + line_ConfComptes = new QFrame(page_Comptes); + line_ConfComptes->setObjectName(QString::fromUtf8("line_ConfComptes")); + line_ConfComptes->setFrameShape(QFrame::HLine); + line_ConfComptes->setFrameShadow(QFrame::Sunken); + + verticalLayout_2->addWidget(line_ConfComptes); + + widget1_ConfComptes = new QWidget(page_Comptes); + widget1_ConfComptes->setObjectName(QString::fromUtf8("widget1_ConfComptes")); + horizontalLayout_3 = new QHBoxLayout(widget1_ConfComptes); + horizontalLayout_3->setSpacing(4); + horizontalLayout_3->setMargin(4); + horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3")); + frame1_ListeComptes = new QFrame(widget1_ConfComptes); + frame1_ListeComptes->setObjectName(QString::fromUtf8("frame1_ListeComptes")); + frame1_ListeComptes->setMinimumSize(QSize(0, 0)); + frame1_ListeComptes->setMaximumSize(QSize(16777215, 16777215)); + frame1_ListeComptes->setFrameShape(QFrame::StyledPanel); + frame1_ListeComptes->setFrameShadow(QFrame::Raised); + verticalLayout_6 = new QVBoxLayout(frame1_ListeComptes); + verticalLayout_6->setSpacing(4); + verticalLayout_6->setMargin(4); + verticalLayout_6->setObjectName(QString::fromUtf8("verticalLayout_6")); + listWidgetComptes = new QListWidget(frame1_ListeComptes); + listWidgetComptes->setObjectName(QString::fromUtf8("listWidgetComptes")); + QSizePolicy sizePolicy3(QSizePolicy::Fixed, QSizePolicy::Expanding); + sizePolicy3.setHorizontalStretch(0); + sizePolicy3.setVerticalStretch(0); + sizePolicy3.setHeightForWidth(listWidgetComptes->sizePolicy().hasHeightForWidth()); + listWidgetComptes->setSizePolicy(sizePolicy3); + listWidgetComptes->setMinimumSize(QSize(150, 0)); + listWidgetComptes->setMaximumSize(QSize(150, 16777215)); + listWidgetComptes->setDragEnabled(true); + + verticalLayout_6->addWidget(listWidgetComptes); + + groupBoxGestionComptes = new QGroupBox(frame1_ListeComptes); + groupBoxGestionComptes->setObjectName(QString::fromUtf8("groupBoxGestionComptes")); + sizePolicy2.setHeightForWidth(groupBoxGestionComptes->sizePolicy().hasHeightForWidth()); + groupBoxGestionComptes->setSizePolicy(sizePolicy2); + groupBoxGestionComptes->setMaximumSize(QSize(16777215, 16777215)); + groupBoxGestionComptes->setLayoutDirection(Qt::RightToLeft); + groupBoxGestionComptes->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + horizontalLayout_2 = new QHBoxLayout(groupBoxGestionComptes); + horizontalLayout_2->setSpacing(0); + horizontalLayout_2->setMargin(0); + horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2")); + buttonSupprimerCompte = new QToolButton(groupBoxGestionComptes); + buttonSupprimerCompte->setObjectName(QString::fromUtf8("buttonSupprimerCompte")); + sizePolicy1.setHeightForWidth(buttonSupprimerCompte->sizePolicy().hasHeightForWidth()); + buttonSupprimerCompte->setSizePolicy(sizePolicy1); + QIcon icon3; + icon3.addPixmap(QPixmap(QString::fromUtf8(":/Images/hang_up.svg")), QIcon::Normal, QIcon::Off); + buttonSupprimerCompte->setIcon(icon3); + + horizontalLayout_2->addWidget(buttonSupprimerCompte); + + buttonNouveauCompte = new QToolButton(groupBoxGestionComptes); + buttonNouveauCompte->setObjectName(QString::fromUtf8("buttonNouveauCompte")); + sizePolicy1.setHeightForWidth(buttonNouveauCompte->sizePolicy().hasHeightForWidth()); + buttonNouveauCompte->setSizePolicy(sizePolicy1); + buttonNouveauCompte->setSizeIncrement(QSize(0, 0)); + QIcon icon4; + icon4.addPixmap(QPixmap(QString::fromUtf8(":/Images/accept.svg")), QIcon::Normal, QIcon::Off); + buttonNouveauCompte->setIcon(icon4); + + horizontalLayout_2->addWidget(buttonNouveauCompte); + + buttonSupprimerCompte->raise(); + buttonNouveauCompte->raise(); + + verticalLayout_6->addWidget(groupBoxGestionComptes); + + + horizontalLayout_3->addWidget(frame1_ListeComptes); + + frame2_EditComptes = new QFrame(widget1_ConfComptes); + frame2_EditComptes->setObjectName(QString::fromUtf8("frame2_EditComptes")); + QSizePolicy sizePolicy4(QSizePolicy::Expanding, QSizePolicy::Expanding); + sizePolicy4.setHorizontalStretch(0); + sizePolicy4.setVerticalStretch(0); + sizePolicy4.setHeightForWidth(frame2_EditComptes->sizePolicy().hasHeightForWidth()); + frame2_EditComptes->setSizePolicy(sizePolicy4); + frame2_EditComptes->setFrameShape(QFrame::StyledPanel); + frame2_EditComptes->setFrameShadow(QFrame::Raised); + formLayout_2 = new QFormLayout(frame2_EditComptes); + formLayout_2->setSpacing(4); + formLayout_2->setMargin(4); + formLayout_2->setObjectName(QString::fromUtf8("formLayout_2")); + formLayout_2->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); + label1_Alias = new QLabel(frame2_EditComptes); + label1_Alias->setObjectName(QString::fromUtf8("label1_Alias")); + + formLayout_2->setWidget(0, QFormLayout::LabelRole, label1_Alias); + + edit1_Alias = new QLineEdit(frame2_EditComptes); + edit1_Alias->setObjectName(QString::fromUtf8("edit1_Alias")); + edit1_Alias->setMinimumSize(QSize(0, 0)); + + formLayout_2->setWidget(0, QFormLayout::FieldRole, edit1_Alias); + + label2_Protocole = new QLabel(frame2_EditComptes); + label2_Protocole->setObjectName(QString::fromUtf8("label2_Protocole")); + + formLayout_2->setWidget(1, QFormLayout::LabelRole, label2_Protocole); + + label3_Serveur = new QLabel(frame2_EditComptes); + label3_Serveur->setObjectName(QString::fromUtf8("label3_Serveur")); + + formLayout_2->setWidget(2, QFormLayout::LabelRole, label3_Serveur); + + label4_Usager = new QLabel(frame2_EditComptes); + label4_Usager->setObjectName(QString::fromUtf8("label4_Usager")); + + formLayout_2->setWidget(3, QFormLayout::LabelRole, label4_Usager); + + label5_Mdp = new QLabel(frame2_EditComptes); + label5_Mdp->setObjectName(QString::fromUtf8("label5_Mdp")); + + formLayout_2->setWidget(4, QFormLayout::LabelRole, label5_Mdp); + + label6_BoiteVocale = new QLabel(frame2_EditComptes); + label6_BoiteVocale->setObjectName(QString::fromUtf8("label6_BoiteVocale")); + + formLayout_2->setWidget(5, QFormLayout::LabelRole, label6_BoiteVocale); + + edit3_Serveur = new QLineEdit(frame2_EditComptes); + edit3_Serveur->setObjectName(QString::fromUtf8("edit3_Serveur")); + edit3_Serveur->setMinimumSize(QSize(0, 0)); + + formLayout_2->setWidget(2, QFormLayout::FieldRole, edit3_Serveur); + + edit4_Usager = new QLineEdit(frame2_EditComptes); + edit4_Usager->setObjectName(QString::fromUtf8("edit4_Usager")); + + formLayout_2->setWidget(3, QFormLayout::FieldRole, edit4_Usager); + + edit5_Mdp = new QLineEdit(frame2_EditComptes); + edit5_Mdp->setObjectName(QString::fromUtf8("edit5_Mdp")); + edit5_Mdp->setEchoMode(QLineEdit::Password); + + formLayout_2->setWidget(4, QFormLayout::FieldRole, edit5_Mdp); + + edit6_BoiteVocale = new QLineEdit(frame2_EditComptes); + edit6_BoiteVocale->setObjectName(QString::fromUtf8("edit6_BoiteVocale")); + + formLayout_2->setWidget(5, QFormLayout::FieldRole, edit6_BoiteVocale); + + edit2_Protocole = new QComboBox(frame2_EditComptes); + edit2_Protocole->setObjectName(QString::fromUtf8("edit2_Protocole")); + + formLayout_2->setWidget(1, QFormLayout::FieldRole, edit2_Protocole); + + + horizontalLayout_3->addWidget(frame2_EditComptes); + + + verticalLayout_2->addWidget(widget1_ConfComptes); + + groupBox_ConfComptesCommuns = new QGroupBox(page_Comptes); + groupBox_ConfComptesCommuns->setObjectName(QString::fromUtf8("groupBox_ConfComptesCommuns")); + verticalLayout_10 = new QVBoxLayout(groupBox_ConfComptesCommuns); + verticalLayout_10->setSpacing(4); + verticalLayout_10->setMargin(4); + verticalLayout_10->setObjectName(QString::fromUtf8("verticalLayout_10")); + label_ConfComptesCommus = new QLabel(groupBox_ConfComptesCommuns); + label_ConfComptesCommus->setObjectName(QString::fromUtf8("label_ConfComptesCommus")); + + verticalLayout_10->addWidget(label_ConfComptesCommus); + + formLayoutConfComptesCommus = new QFormLayout(); + formLayoutConfComptesCommus->setSpacing(4); + formLayoutConfComptesCommus->setObjectName(QString::fromUtf8("formLayoutConfComptesCommus")); + formLayoutConfComptesCommus->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); + checkBoxStun = new QCheckBox(groupBox_ConfComptesCommuns); + checkBoxStun->setObjectName(QString::fromUtf8("checkBoxStun")); + + formLayoutConfComptesCommus->setWidget(0, QFormLayout::LabelRole, checkBoxStun); + + lineEdit_Stun = new QLineEdit(groupBox_ConfComptesCommuns); + lineEdit_Stun->setObjectName(QString::fromUtf8("lineEdit_Stun")); + lineEdit_Stun->setEnabled(false); + + formLayoutConfComptesCommus->setWidget(0, QFormLayout::FieldRole, lineEdit_Stun); + + + verticalLayout_10->addLayout(formLayoutConfComptesCommus); + + + verticalLayout_2->addWidget(groupBox_ConfComptesCommuns); + + stackedWidgetOptions->addWidget(page_Comptes); + page_Audio = new QWidget(); + page_Audio->setObjectName(QString::fromUtf8("page_Audio")); + verticalLayout_5 = new QVBoxLayout(page_Audio); + verticalLayout_5->setSpacing(4); + verticalLayout_5->setMargin(4); + verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5")); + label_ConfAudio = new QLabel(page_Audio); + label_ConfAudio->setObjectName(QString::fromUtf8("label_ConfAudio")); + sizePolicy1.setHeightForWidth(label_ConfAudio->sizePolicy().hasHeightForWidth()); + label_ConfAudio->setSizePolicy(sizePolicy1); + + verticalLayout_5->addWidget(label_ConfAudio); + + line_ConfAudio = new QFrame(page_Audio); + line_ConfAudio->setObjectName(QString::fromUtf8("line_ConfAudio")); + line_ConfAudio->setFrameShape(QFrame::HLine); + line_ConfAudio->setFrameShadow(QFrame::Sunken); + + verticalLayout_5->addWidget(line_ConfAudio); + + groupBox1_Audio = new QGroupBox(page_Audio); + groupBox1_Audio->setObjectName(QString::fromUtf8("groupBox1_Audio")); + formLayout_3 = new QFormLayout(groupBox1_Audio); + formLayout_3->setSpacing(4); + formLayout_3->setMargin(4); + formLayout_3->setObjectName(QString::fromUtf8("formLayout_3")); + label_Interface = new QLabel(groupBox1_Audio); + label_Interface->setObjectName(QString::fromUtf8("label_Interface")); + + formLayout_3->setWidget(0, QFormLayout::LabelRole, label_Interface); + + comboBox_Interface = new QComboBox(groupBox1_Audio); + comboBox_Interface->setObjectName(QString::fromUtf8("comboBox_Interface")); + comboBox_Interface->setMinimumSize(QSize(100, 0)); + + formLayout_3->setWidget(0, QFormLayout::FieldRole, comboBox_Interface); + + checkBox_Sonneries = new QCheckBox(groupBox1_Audio); + checkBox_Sonneries->setObjectName(QString::fromUtf8("checkBox_Sonneries")); + + formLayout_3->setWidget(1, QFormLayout::LabelRole, checkBox_Sonneries); + + + verticalLayout_5->addWidget(groupBox1_Audio); + + groupBox2_Codecs = new QGroupBox(page_Audio); + groupBox2_Codecs->setObjectName(QString::fromUtf8("groupBox2_Codecs")); + gridLayout = new QGridLayout(groupBox2_Codecs); + gridLayout->setSpacing(4); + gridLayout->setMargin(4); + gridLayout->setObjectName(QString::fromUtf8("gridLayout")); + tableViewCodecs = new QTableView(groupBox2_Codecs); + tableViewCodecs->setObjectName(QString::fromUtf8("tableViewCodecs")); + tableViewCodecs->setDragEnabled(true); + tableViewCodecs->setSortingEnabled(true); + + gridLayout->addWidget(tableViewCodecs, 0, 0, 1, 1); + + verticalLayout_OrdreCodecs = new QVBoxLayout(); + verticalLayout_OrdreCodecs->setSpacing(4); + verticalLayout_OrdreCodecs->setObjectName(QString::fromUtf8("verticalLayout_OrdreCodecs")); + verticalLayout_OrdreCodecs->setContentsMargins(0, -1, 0, -1); + toolButton_MonterCodec = new QToolButton(groupBox2_Codecs); + toolButton_MonterCodec->setObjectName(QString::fromUtf8("toolButton_MonterCodec")); + + verticalLayout_OrdreCodecs->addWidget(toolButton_MonterCodec); + + toolButton_DescendreCodec = new QToolButton(groupBox2_Codecs); + toolButton_DescendreCodec->setObjectName(QString::fromUtf8("toolButton_DescendreCodec")); + + verticalLayout_OrdreCodecs->addWidget(toolButton_DescendreCodec); + + + gridLayout->addLayout(verticalLayout_OrdreCodecs, 0, 2, 1, 1); + + + verticalLayout_5->addWidget(groupBox2_Codecs); + + stackedWidget_ParametresSpecif = new QStackedWidget(page_Audio); + stackedWidget_ParametresSpecif->setObjectName(QString::fromUtf8("stackedWidget_ParametresSpecif")); + sizePolicy1.setHeightForWidth(stackedWidget_ParametresSpecif->sizePolicy().hasHeightForWidth()); + stackedWidget_ParametresSpecif->setSizePolicy(sizePolicy1); + page1_Alsa = new QWidget(); + page1_Alsa->setObjectName(QString::fromUtf8("page1_Alsa")); + verticalLayout_20 = new QVBoxLayout(page1_Alsa); + verticalLayout_20->setSpacing(4); + verticalLayout_20->setMargin(0); + verticalLayout_20->setObjectName(QString::fromUtf8("verticalLayout_20")); + groupBox_Alsa = new QGroupBox(page1_Alsa); + groupBox_Alsa->setObjectName(QString::fromUtf8("groupBox_Alsa")); + formLayout_4 = new QFormLayout(groupBox_Alsa); + formLayout_4->setSpacing(4); + formLayout_4->setMargin(4); + formLayout_4->setObjectName(QString::fromUtf8("formLayout_4")); + comboBox2_Entree = new QComboBox(groupBox_Alsa); + comboBox2_Entree->setObjectName(QString::fromUtf8("comboBox2_Entree")); + comboBox2_Entree->setMinimumSize(QSize(100, 0)); + + formLayout_4->setWidget(2, QFormLayout::FieldRole, comboBox2_Entree); + + label2_Entree = new QLabel(groupBox_Alsa); + label2_Entree->setObjectName(QString::fromUtf8("label2_Entree")); + + formLayout_4->setWidget(2, QFormLayout::LabelRole, label2_Entree); + + label3_Sortie = new QLabel(groupBox_Alsa); + label3_Sortie->setObjectName(QString::fromUtf8("label3_Sortie")); + + formLayout_4->setWidget(3, QFormLayout::LabelRole, label3_Sortie); + + comboBox3_Sortie = new QComboBox(groupBox_Alsa); + comboBox3_Sortie->setObjectName(QString::fromUtf8("comboBox3_Sortie")); + comboBox3_Sortie->setMinimumSize(QSize(100, 0)); + + formLayout_4->setWidget(3, QFormLayout::FieldRole, comboBox3_Sortie); + + label1_GreffonAlsa = new QLabel(groupBox_Alsa); + label1_GreffonAlsa->setObjectName(QString::fromUtf8("label1_GreffonAlsa")); + + formLayout_4->setWidget(0, QFormLayout::LabelRole, label1_GreffonAlsa); + + comboBox1_GreffonAlsa = new QComboBox(groupBox_Alsa); + comboBox1_GreffonAlsa->setObjectName(QString::fromUtf8("comboBox1_GreffonAlsa")); + comboBox1_GreffonAlsa->setMinimumSize(QSize(100, 0)); + + formLayout_4->setWidget(0, QFormLayout::FieldRole, comboBox1_GreffonAlsa); + + + verticalLayout_20->addWidget(groupBox_Alsa); + + stackedWidget_ParametresSpecif->addWidget(page1_Alsa); + page2_PulseAudio = new QWidget(); + page2_PulseAudio->setObjectName(QString::fromUtf8("page2_PulseAudio")); + verticalLayout_7 = new QVBoxLayout(page2_PulseAudio); + verticalLayout_7->setSpacing(4); + verticalLayout_7->setMargin(4); + verticalLayout_7->setObjectName(QString::fromUtf8("verticalLayout_7")); + groupBox_PulseAudio = new QGroupBox(page2_PulseAudio); + groupBox_PulseAudio->setObjectName(QString::fromUtf8("groupBox_PulseAudio")); + QSizePolicy sizePolicy5(QSizePolicy::Expanding, QSizePolicy::Preferred); + sizePolicy5.setHorizontalStretch(0); + sizePolicy5.setVerticalStretch(0); + sizePolicy5.setHeightForWidth(groupBox_PulseAudio->sizePolicy().hasHeightForWidth()); + groupBox_PulseAudio->setSizePolicy(sizePolicy5); + formLayout_11 = new QFormLayout(groupBox_PulseAudio); + formLayout_11->setSpacing(4); + formLayout_11->setMargin(4); + formLayout_11->setObjectName(QString::fromUtf8("formLayout_11")); + checkBox_ModifVolumeApps = new QCheckBox(groupBox_PulseAudio); + checkBox_ModifVolumeApps->setObjectName(QString::fromUtf8("checkBox_ModifVolumeApps")); + + formLayout_11->setWidget(0, QFormLayout::LabelRole, checkBox_ModifVolumeApps); + + pushButton = new QPushButton(groupBox_PulseAudio); + pushButton->setObjectName(QString::fromUtf8("pushButton")); + pushButton->setDefault(false); + + formLayout_11->setWidget(1, QFormLayout::LabelRole, pushButton); + + + verticalLayout_7->addWidget(groupBox_PulseAudio); + + stackedWidget_ParametresSpecif->addWidget(page2_PulseAudio); + + verticalLayout_5->addWidget(stackedWidget_ParametresSpecif); + + stackedWidgetOptions->addWidget(page_Audio); + + horizontalLayoutDialog->addWidget(stackedWidgetOptions); + + + verticalLayout->addLayout(horizontalLayoutDialog); + + lineDialog = new QFrame(ConfigurationDialog); + lineDialog->setObjectName(QString::fromUtf8("lineDialog")); + lineDialog->setFrameShape(QFrame::HLine); + lineDialog->setFrameShadow(QFrame::Sunken); + + verticalLayout->addWidget(lineDialog); + + buttonBoxDialog = new QDialogButtonBox(ConfigurationDialog); + buttonBoxDialog->setObjectName(QString::fromUtf8("buttonBoxDialog")); + buttonBoxDialog->setLayoutDirection(Qt::LeftToRight); + buttonBoxDialog->setOrientation(Qt::Horizontal); + buttonBoxDialog->setStandardButtons(QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::RestoreDefaults); + buttonBoxDialog->setCenterButtons(false); + + verticalLayout->addWidget(buttonBoxDialog); + + +#ifndef QT_NO_SHORTCUT + label_Capacite->setBuddy(horizontalSlider); + label1_Alias->setBuddy(edit1_Alias); + label2_Protocole->setBuddy(edit2_Protocole); + label3_Serveur->setBuddy(edit3_Serveur); + label4_Usager->setBuddy(edit4_Usager); + label5_Mdp->setBuddy(edit5_Mdp); + label6_BoiteVocale->setBuddy(edit6_BoiteVocale); + label_Interface->setBuddy(comboBox_Interface); + label2_Entree->setBuddy(comboBox2_Entree); + label3_Sortie->setBuddy(comboBox3_Sortie); + label1_GreffonAlsa->setBuddy(comboBox1_GreffonAlsa); +#endif // QT_NO_SHORTCUT + + + retranslateUi(ConfigurationDialog); + QObject::connect(buttonBoxDialog, SIGNAL(accepted()), ConfigurationDialog, SLOT(accept())); + QObject::connect(buttonBoxDialog, SIGNAL(rejected()), ConfigurationDialog, SLOT(reject())); + QObject::connect(listOptions, SIGNAL(currentRowChanged(int)), stackedWidgetOptions, SLOT(setCurrentIndex(int))); + QObject::connect(checkBoxStun, SIGNAL(toggled(bool)), lineEdit_Stun, SLOT(setEnabled(bool))); + QObject::connect(comboBox_Interface, SIGNAL(currentIndexChanged(int)), stackedWidget_ParametresSpecif, SLOT(setCurrentIndex(int))); + QObject::connect(horizontalSlider, SIGNAL(valueChanged(int)), spinBox_CapaciteHist, SLOT(setValue(int))); + QObject::connect(spinBox_CapaciteHist, SIGNAL(valueChanged(int)), horizontalSlider, SLOT(setValue(int))); + + stackedWidgetOptions->setCurrentIndex(2); + stackedWidget_ParametresSpecif->setCurrentIndex(1); + + + QMetaObject::connectSlotsByName(ConfigurationDialog); + } // setupUi + + void retranslateUi(QDialog *ConfigurationDialog) + { + ConfigurationDialog->setWindowTitle(QApplication::translate("ConfigurationDialog", "Dialog", 0, QApplication::UnicodeUTF8)); + + const bool __sortingEnabled = listOptions->isSortingEnabled(); + listOptions->setSortingEnabled(false); + listOptions->item(0)->setText(QApplication::translate("ConfigurationDialog", "G\303\251n\303\251ral", 0, QApplication::UnicodeUTF8)); + listOptions->item(1)->setText(QApplication::translate("ConfigurationDialog", "Affichage", 0, QApplication::UnicodeUTF8)); + listOptions->item(2)->setText(QApplication::translate("ConfigurationDialog", "Comptes", 0, QApplication::UnicodeUTF8)); + listOptions->item(3)->setText(QApplication::translate("ConfigurationDialog", "Audio", 0, QApplication::UnicodeUTF8)); + + listOptions->setSortingEnabled(__sortingEnabled); + label_ConfGeneral->setText(QApplication::translate("ConfigurationDialog", "Configuration des param\303\250tres g\303\251n\303\251raux", 0, QApplication::UnicodeUTF8)); + groupBox1_Historique->setTitle(QApplication::translate("ConfigurationDialog", "Historique des appels", 0, QApplication::UnicodeUTF8)); + label_Capacite->setText(QApplication::translate("ConfigurationDialog", "&Capacit\303\251", 0, QApplication::UnicodeUTF8)); + toolButtonEffacerHist->setText(QApplication::translate("ConfigurationDialog", "&Effacer l'Historique", 0, QApplication::UnicodeUTF8)); + groupBox2_Connexion->setTitle(QApplication::translate("ConfigurationDialog", "Connexion", 0, QApplication::UnicodeUTF8)); + label_PortSIP->setText(QApplication::translate("ConfigurationDialog", "Port SIP", 0, QApplication::UnicodeUTF8)); + label_ConfAffichage->setText(QApplication::translate("ConfigurationDialog", "Configuration de l'affichage", 0, QApplication::UnicodeUTF8)); + label1_Notifications->setText(QApplication::translate("ConfigurationDialog", "Activer les notifications du bureau", 0, QApplication::UnicodeUTF8)); + checkBox1_NotifAppels->setText(QApplication::translate("ConfigurationDialog", "&Appels entrants", 0, QApplication::UnicodeUTF8)); + checkBox2_NotifMessages->setText(QApplication::translate("ConfigurationDialog", "&Messages vocaux", 0, QApplication::UnicodeUTF8)); + label2_FenetrePrincipale->setText(QApplication::translate("ConfigurationDialog", "Faire appara\303\256tre la fen\303\252tre principale", 0, QApplication::UnicodeUTF8)); + checkBox1_FenDemarrage->setText(QApplication::translate("ConfigurationDialog", "Au &d\303\251marrage", 0, QApplication::UnicodeUTF8)); + checkBox2_FenAppel->setText(QApplication::translate("ConfigurationDialog", "Lors d'un appel &entrant", 0, QApplication::UnicodeUTF8)); + label_ConfComptes->setText(QApplication::translate("ConfigurationDialog", "Configuration des comptes utilisateur", 0, QApplication::UnicodeUTF8)); + groupBoxGestionComptes->setTitle(QString()); + buttonSupprimerCompte->setText(QString()); + buttonSupprimerCompte->setShortcut(QApplication::translate("ConfigurationDialog", "+", 0, QApplication::UnicodeUTF8)); + buttonNouveauCompte->setText(QApplication::translate("ConfigurationDialog", "...", 0, QApplication::UnicodeUTF8)); + label1_Alias->setText(QApplication::translate("ConfigurationDialog", "&Alias", 0, QApplication::UnicodeUTF8)); + label2_Protocole->setText(QApplication::translate("ConfigurationDialog", "&Protocole", 0, QApplication::UnicodeUTF8)); + label3_Serveur->setText(QApplication::translate("ConfigurationDialog", "&Serveur", 0, QApplication::UnicodeUTF8)); + label4_Usager->setText(QApplication::translate("ConfigurationDialog", "&Usager", 0, QApplication::UnicodeUTF8)); + label5_Mdp->setText(QApplication::translate("ConfigurationDialog", "&Mot de Passe", 0, QApplication::UnicodeUTF8)); + label6_BoiteVocale->setText(QApplication::translate("ConfigurationDialog", "&Bo\303\256te Vocale", 0, QApplication::UnicodeUTF8)); + edit2_Protocole->clear(); + edit2_Protocole->insertItems(0, QStringList() + << QApplication::translate("ConfigurationDialog", "SIP", 0, QApplication::UnicodeUTF8) + << QApplication::translate("ConfigurationDialog", "IAX", 0, QApplication::UnicodeUTF8) + ); + groupBox_ConfComptesCommuns->setTitle(QString()); + label_ConfComptesCommus->setText(QApplication::translate("ConfigurationDialog", "Les param\303\250tres STUN seront appliqu\303\251s \303\240 tous les comptes", 0, QApplication::UnicodeUTF8)); + checkBoxStun->setText(QApplication::translate("ConfigurationDialog", "Activer Stun", 0, QApplication::UnicodeUTF8)); + label_ConfAudio->setText(QApplication::translate("ConfigurationDialog", "Configuration des param\303\250tres audio", 0, QApplication::UnicodeUTF8)); + groupBox1_Audio->setTitle(QString()); + label_Interface->setText(QApplication::translate("ConfigurationDialog", "&Interface audio", 0, QApplication::UnicodeUTF8)); + comboBox_Interface->clear(); + comboBox_Interface->insertItems(0, QStringList() + << QApplication::translate("ConfigurationDialog", "ALSA", 0, QApplication::UnicodeUTF8) + << QApplication::translate("ConfigurationDialog", "PulseAudio", 0, QApplication::UnicodeUTF8) + ); + checkBox_Sonneries->setText(QApplication::translate("ConfigurationDialog", "&Activer les sonneries", 0, QApplication::UnicodeUTF8)); + groupBox2_Codecs->setTitle(QApplication::translate("ConfigurationDialog", "&Codecs", 0, QApplication::UnicodeUTF8)); + toolButton_MonterCodec->setText(QApplication::translate("ConfigurationDialog", "...", 0, QApplication::UnicodeUTF8)); + toolButton_DescendreCodec->setText(QApplication::translate("ConfigurationDialog", "...", 0, QApplication::UnicodeUTF8)); + groupBox_Alsa->setTitle(QApplication::translate("ConfigurationDialog", "Param\303\250tres ALSA", 0, QApplication::UnicodeUTF8)); + label2_Entree->setText(QApplication::translate("ConfigurationDialog", "&Entr\303\251e", 0, QApplication::UnicodeUTF8)); + label3_Sortie->setText(QApplication::translate("ConfigurationDialog", "&Sortie", 0, QApplication::UnicodeUTF8)); + label1_GreffonAlsa->setText(QApplication::translate("ConfigurationDialog", "&Greffon ALSA", 0, QApplication::UnicodeUTF8)); + groupBox_PulseAudio->setTitle(QApplication::translate("ConfigurationDialog", "Param\303\250tres PulseAudio", 0, QApplication::UnicodeUTF8)); + checkBox_ModifVolumeApps->setText(QApplication::translate("ConfigurationDialog", "Autoriser \303\240 &modifier le volume des autres applications", 0, QApplication::UnicodeUTF8)); + pushButton->setText(QApplication::translate("ConfigurationDialog", "PushButton", 0, QApplication::UnicodeUTF8)); + Q_UNUSED(ConfigurationDialog); + } // retranslateUi + +}; + +namespace Ui { + class ConfigurationDialog: public Ui_ConfigurationDialog {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_CONFIGDIALOG_H diff --git a/src/dbus/configurationmanager-glue.h b/src/dbus/configurationmanager-glue.h index 8a69473ca12dadccbdd9f9a2db4dd03d9c7d8a7e..fb89d02c29687284596e257eac04451f8f12a850 100644 --- a/src/dbus/configurationmanager-glue.h +++ b/src/dbus/configurationmanager-glue.h @@ -36,9 +36,7 @@ public: register_method(ConfigurationManager_adaptor, getRingtoneChoice, _getRingtoneChoice_stub); register_method(ConfigurationManager_adaptor, setRingtoneChoice, _setRingtoneChoice_stub); register_method(ConfigurationManager_adaptor, getAudioManager, _getAudioManager_stub); - register_method(ConfigurationManager_adaptor, getRecordPath, _getRecordPath_stub); register_method(ConfigurationManager_adaptor, setAudioManager, _setAudioManager_stub); - register_method(ConfigurationManager_adaptor, setRecordPath, _setRecordPath_stub); register_method(ConfigurationManager_adaptor, getCodecList, _getCodecList_stub); register_method(ConfigurationManager_adaptor, getCodecDetails, _getCodecDetails_stub); register_method(ConfigurationManager_adaptor, getActiveCodecList, _getActiveCodecList_stub); @@ -165,21 +163,11 @@ public: { "api", "i", false }, { 0, 0, 0 } }; - static ::DBus::IntrospectedArgument getRecordPath_args[] = - { - { "rec", "s", false }, - { 0, 0, 0 } - }; static ::DBus::IntrospectedArgument setAudioManager_args[] = { { "api", "i", true }, { 0, 0, 0 } }; - static ::DBus::IntrospectedArgument setRecordPath_args[] = - { - { "rec", "s", true }, - { 0, 0, 0 } - }; static ::DBus::IntrospectedArgument getCodecList_args[] = { { "list", "as", false }, @@ -375,7 +363,7 @@ public: }; static ::DBus::IntrospectedArgument parametersChanged_args[] = { - { "list", "a{ss}", false }, + { "details", "a{ss}", false }, { 0, 0, 0 } }; static ::DBus::IntrospectedArgument accountsChanged_args[] = @@ -405,9 +393,7 @@ public: { "getRingtoneChoice", getRingtoneChoice_args }, { "setRingtoneChoice", setRingtoneChoice_args }, { "getAudioManager", getAudioManager_args }, - { "getRecordPath", getRecordPath_args }, { "setAudioManager", setAudioManager_args }, - { "setRecordPath", setRecordPath_args }, { "getCodecList", getCodecList_args }, { "getCodecDetails", getCodecDetails_args }, { "getActiveCodecList", getActiveCodecList_args }, @@ -498,9 +484,7 @@ public: virtual std::string getRingtoneChoice() = 0; virtual void setRingtoneChoice(const std::string& tone) = 0; virtual int32_t getAudioManager() = 0; - virtual std::string getRecordPath() = 0; virtual void setAudioManager(const int32_t& api) = 0; - virtual void setRecordPath(const std::string& rec) = 0; virtual std::vector< std::string > getCodecList() = 0; virtual std::vector< std::string > getCodecDetails(const int32_t& payload) = 0; virtual std::vector< std::string > getActiveCodecList() = 0; @@ -726,16 +710,6 @@ private: wi << argout1; return reply; } - ::DBus::Message _getRecordPath_stub(const ::DBus::CallMessage &call) - { - ::DBus::MessageIter ri = call.reader(); - - std::string argout1 = getRecordPath(); - ::DBus::ReturnMessage reply(call); - ::DBus::MessageIter wi = reply.writer(); - wi << argout1; - return reply; - } ::DBus::Message _setAudioManager_stub(const ::DBus::CallMessage &call) { ::DBus::MessageIter ri = call.reader(); @@ -745,15 +719,6 @@ private: ::DBus::ReturnMessage reply(call); return reply; } - ::DBus::Message _setRecordPath_stub(const ::DBus::CallMessage &call) - { - ::DBus::MessageIter ri = call.reader(); - - std::string argin1; ri >> argin1; - setRecordPath(argin1); - ::DBus::ReturnMessage reply(call); - return reply; - } ::DBus::Message _getCodecList_stub(const ::DBus::CallMessage &call) { ::DBus::MessageIter ri = call.reader(); diff --git a/src/dbus/configurationmanager-introspec.xml b/src/dbus/configurationmanager-introspec.xml index 01c91654cd3c1c10ad888b23af38a15b0376fb55..f869dba8b64107f47dab54d7efc561f23d3134b9 100644 --- a/src/dbus/configurationmanager-introspec.xml +++ b/src/dbus/configurationmanager-introspec.xml @@ -5,15 +5,18 @@ <!-- Accounts-related methods --> <method name="getAccountDetails"> <arg type="s" name="accountID" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> <arg type="a{ss}" name="details" direction="out"/> </method> <method name="setAccountDetails"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> <arg type="s" name="accountID" direction="in"/> <arg type="a{ss}" name="details" direction="in"/> </method> <method name="addAccount"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> <arg type="a{ss}" name="details" direction="in"/> </method> @@ -22,6 +25,7 @@ </method> <method name="getAccountList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> @@ -35,6 +39,7 @@ <!-- Various audio-related methods --> <method name="getToneLocaleList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> @@ -43,14 +48,17 @@ </method> <method name="getRingtoneList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> - <method name="getPlaybackDeviceList"> + <method name="getPlaybackDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> <method name="getRecordDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> @@ -73,37 +81,32 @@ <arg type="i" name="api" direction="out"/> </method> - <method name="getRecordPath"> - <arg type="s" name="rec" direction="out"/> - </method> - <method name="setAudioManager"> <arg type="i" name="api" direction="in"/> </method> - <method name="setRecordPath"> - <arg type="s" name="rec" direction="in"/> - </method> - - <!-- /////////////////////// --> <!-- Codecs-related methods --> <method name="getCodecList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> <method name="getCodecDetails"> <arg type="i" name="payload" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="details" direction="out"/> </method> <method name="getActiveCodecList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> <method name="setActiveCodecList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> <arg type="as" name="list" direction="in"/> </method> @@ -111,32 +114,43 @@ <!-- Audio devices methods --> <method name="getInputAudioPluginList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> + <method name="getOutputAudioPluginList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> + <method name="setInputAudioPlugin"> <arg type="s" name="audioPlugin" direction="in"/> </method> + <method name="setOutputAudioPlugin"> <arg type="s" name="audioPlugin" direction="in"/> </method> <method name="getAudioOutputDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> + <method name="setAudioOutputDevice"> <arg type="i" name="index" direction="in"/> </method> + <method name="getAudioInputDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> + <method name="setAudioInputDevice"> <arg type="i" name="index" direction="in"/> </method> <method name="getCurrentAudioDevicesIndex"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"/> </method> @@ -244,7 +258,9 @@ <!-- ///////////////////////////// --> <signal name="parametersChanged"> - <arg type="a{ss}" name="list" direction="out"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"/> </signal> <signal name="accountsChanged">