diff --git a/sflphone_kde/Account.cpp b/sflphone_kde/Account.cpp index 03e778a235aa361e08678cb12bee08d36a6dce4e..202eac12bc1bbae277b6c5cea07022c8246ad167 100644 --- a/sflphone_kde/Account.cpp +++ b/sflphone_kde/Account.cpp @@ -1,6 +1,7 @@ #include "Account.h" #include "sflphone_const.h" #include "configurationmanager_interface_singleton.h" +#include "kled.h" #include <iostream> @@ -49,28 +50,68 @@ Account::Account(QString & _accountId, MapStringString & _accountDetails, accoun } */ +/** + * Sets text of the item associated with some spaces to avoid writing under checkbox. + * @param text the text to set in the item + */ +void Account::setItemText(QString text) +{ + item->setText(" " + text); +} + void Account::initAccountItem() { + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); item = new QListWidgetItem(); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled); - cout << getAccountDetail(*(new QString(ACCOUNT_ENABLED))).toStdString() << endl; - item->setCheckState((getAccountDetail(*(new QString(ACCOUNT_ENABLED))) == ACCOUNT_ENABLED_TRUE) ? Qt::Checked : Qt::Unchecked); - item->setText(getAccountDetail(*(new QString(ACCOUNT_ALIAS)))); + item->setSizeHint(QSize(140,25)); + //item->setTextAlignment(Qt::AlignCenter); + item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled|Qt::ItemIsEnabled); + bool enabled = getAccountDetail(*(new QString(ACCOUNT_ENABLED))) == ACCOUNT_ENABLED_TRUE; + //item->setCheckState(enabled ? Qt::Checked : Qt::Unchecked); + setItemText(getAccountDetail(*(new QString(ACCOUNT_ALIAS)))); + itemWidget = new QWidget(); + QCheckBox * checkbox = new QCheckBox(itemWidget); + checkbox->setObjectName("checkbox"); + checkbox->setCheckState(enabled ? Qt::Checked : Qt::Unchecked); + //QLabel* name = new QLabel(getAccountDetail(*(new QString(ACCOUNT_ALIAS))), itemWidget); + //QLabel* name = new QLabel("", itemWidget); + KLed * led = new KLed(itemWidget); + led->setObjectName("led"); + led->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); + if(! isNew() && enabled) + { + led->setState(KLed::On); + if(getAccountDetail(* new QString(ACCOUNT_STATUS)) == ACCOUNT_STATE_REGISTERED) + { + led->setColor(QColor(0,255,0)); + } + else + { + led->setColor(QColor(255,0,0)); + } + } + else + { + led->setState(KLed::Off); + } + QHBoxLayout* hlayout = new QHBoxLayout(); + hlayout->setContentsMargins(0,0,0,0); + hlayout->addWidget(checkbox); + //hlayout->addWidget(name); + hlayout->addWidget(led); + itemWidget->setLayoutDirection(Qt::LeftToRight); + itemWidget->setLayout(hlayout); + //itemWidget->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); + //item->parent()->setItemWidget(item, widget); } Account * Account::buildExistingAccountFromId(QString _accountId) { + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); Account * a = new Account(); a->accountId = new QString(_accountId); - a->accountDetails = new MapStringString( ConfigurationManagerInterfaceSingleton::getInstance().getAccountDetails(_accountId).value() ); + a->accountDetails = new MapStringString( configurationManager.getAccountDetails(_accountId).value() ); a->initAccountItem(); - if(a->item->checkState() == Qt::Checked) - { - if(a->getAccountDetail(* new QString(ACCOUNT_STATUS)) == ACCOUNT_STATE_REGISTERED) - a->item->setTextColor(Qt::darkGreen); - else - a->item->setTextColor(Qt::red); - } return a; } @@ -113,7 +154,13 @@ QListWidgetItem * Account::getItem() if(!item) cout<<"null"<<endl; return item; - +} + +QWidget * Account::getItemWidget() +{ + if(!item) + cout<<"null"<<endl; + return itemWidget; } QString Account::getStateName(QString & state) diff --git a/sflphone_kde/Account.h b/sflphone_kde/Account.h index 103f0d552a173e75ff092df9ef10350ed99a746f..d37e0931fc25fdec975d04095a0a98e4e16d6228 100644 --- a/sflphone_kde/Account.h +++ b/sflphone_kde/Account.h @@ -13,6 +13,7 @@ private: QString * accountId; MapStringString * accountDetails; QListWidgetItem * item; + QWidget * itemWidget; Account(); @@ -29,6 +30,7 @@ public: QString & getAccountId(); MapStringString & getAccountDetails(); QListWidgetItem * getItem(); + QWidget * getItemWidget(); QString getStateName(QString & state); QColor getStateColor(); QString getStateColorName(); @@ -36,6 +38,7 @@ public: //QString getAccountDetail(std::string param); //Setters + void setItemText(QString text); void initAccountItem(); void setAccountId(QString id); void setAccountDetails(MapStringString m); diff --git a/sflphone_kde/AccountList.cpp b/sflphone_kde/AccountList.cpp index 15b512cfe804f7c389099b4cac110682a7ba2d13..13ffbce09b209d0b19b1ca4e805dcdd4e20e848f 100644 --- a/sflphone_kde/AccountList.cpp +++ b/sflphone_kde/AccountList.cpp @@ -80,11 +80,11 @@ void AccountList::addAccount(Account & account) accounts->add(account); } */ -QListWidgetItem * AccountList::addAccount(QString & alias) +Account * AccountList::addAccount(QString & alias) { Account * a = Account::buildNewAccountFromAlias(alias); (*accounts) += a; - return a->getItem(); + return a; } void AccountList::removeAccount(QListWidgetItem * item) diff --git a/sflphone_kde/AccountList.h b/sflphone_kde/AccountList.h index 50bff69bba990bee0238f30ea6e65a12cc76d105..8edaf3f5fddc672da24336e3c3f3b1e24eb665ca 100644 --- a/sflphone_kde/AccountList.h +++ b/sflphone_kde/AccountList.h @@ -27,7 +27,7 @@ public: //Setters //void addAccount(Account & account); - QListWidgetItem * addAccount(QString & alias); + Account * addAccount(QString & alias); void removeAccount(QListWidgetItem * item); //Operators diff --git a/sflphone_kde/ConfigDialog.cpp b/sflphone_kde/ConfigDialog.cpp index 741f5007bf21f7e3893d591df685c11ff57d1afd..ed252759822a592c582a12f16660136c2d771447 100644 --- a/sflphone_kde/ConfigDialog.cpp +++ b/sflphone_kde/ConfigDialog.cpp @@ -7,6 +7,7 @@ #include "ConfigDialog.h" #include "configurationmanager_interface_singleton.h" + using namespace std; @@ -31,6 +32,8 @@ ConfigurationDialog::ConfigurationDialog(SFLPhone *parent) : QDialog(parent) toolButton_codecDown->setIcon(style->standardIcon(QStyle::SP_ArrowDown)); tableWidget_codecs->verticalHeader()->hide(); tableWidget_codecs->setSelectionBehavior(QAbstractItemView::SelectRows); + //tableWidget_codecs->setStyleSheet("border-style: hidden;"); + //TODO ajouter les items de l'interface audio ici avec les constantes @@ -54,17 +57,17 @@ ConfigurationDialog::~ConfigurationDialog() void ConfigurationDialog::loadOptions() { - ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); //////////////////////// ////General settings//// //////////////////////// //Call history settings - spinBox_historyCapacity->setValue(daemon.getMaxCalls()); + spinBox_historyCapacity->setValue(configurationManager.getMaxCalls()); //SIP port settings - int sipPort = daemon.getSipPort(); + int sipPort = configurationManager.getSipPort(); if(sipPort<1025){ spinBox_SIPPort->setMinimum(sipPort); label_WarningSIP->setText("Attention : le port SIP doit être supérieur à 1024 !"); @@ -75,19 +78,19 @@ void ConfigurationDialog::loadOptions() label_WarningSIP->setText("Attention : le port SIP doit être inférieur à 65536 !"); label_WarningSIP->setVisible(true); } - spinBox_SIPPort->setValue(daemon.getSipPort()); + spinBox_SIPPort->setValue(configurationManager.getSipPort()); //////////////////////// ////Display settings//// //////////////////////// //Notification settings - checkBox1_notifOnCalls->setCheckState(daemon.getNotify() ? Qt::Checked : Qt::Unchecked); - checkBox2_notifOnMessages->setCheckState(daemon.getMailNotify() ? Qt::Checked : Qt::Unchecked); + checkBox1_notifOnCalls->setCheckState(configurationManager.getNotify() ? Qt::Checked : Qt::Unchecked); + checkBox2_notifOnMessages->setCheckState(configurationManager.getMailNotify() ? Qt::Checked : Qt::Unchecked); //Window display settings - checkBox1_displayOnStart->setCheckState(daemon.isStartHidden() ? Qt::Unchecked : Qt::Checked); - checkBox2_displayOnCalls->setCheckState(daemon.popupMode() ? Qt::Checked : Qt::Unchecked); + checkBox1_displayOnStart->setCheckState(configurationManager.isStartHidden() ? Qt::Unchecked : Qt::Checked); + checkBox2_displayOnCalls->setCheckState(configurationManager.popupMode() ? Qt::Checked : Qt::Unchecked); ///////////////////////// ////Accounts settings//// @@ -96,21 +99,21 @@ void ConfigurationDialog::loadOptions() loadAccountList(); //Stun settings - checkBox_stun->setCheckState(daemon.isStunEnabled() ? Qt::Checked : Qt::Unchecked); - lineEdit_stun->setText(QString(daemon.getStunServer())); + checkBox_stun->setCheckState(configurationManager.isStunEnabled() ? Qt::Checked : Qt::Unchecked); + lineEdit_stun->setText(QString(configurationManager.getStunServer())); ////////////////////// ////Audio settings//// ////////////////////// //Audio Interface settings - comboBox_interface->setCurrentIndex(daemon.getAudioManager()); - stackedWidget_interfaceSpecificSettings->setCurrentIndex(daemon.getAudioManager()); + comboBox_interface->setCurrentIndex(configurationManager.getAudioManager()); + stackedWidget_interfaceSpecificSettings->setCurrentIndex(configurationManager.getAudioManager()); //ringtones settings - checkBox_ringtones->setCheckState(daemon.isRingtoneEnabled() ? Qt::Checked : Qt::Unchecked); + checkBox_ringtones->setCheckState(configurationManager.isRingtoneEnabled() ? Qt::Checked : Qt::Unchecked); //TODO widget choix de sonnerie - //widget_nomSonnerie->setText(daemon.getRingtoneChoice()); + urlComboRequester_ringtone->setUrl(KUrl::fromPath(configurationManager.getRingtoneChoice())); //codecs settings loadCodecs(); @@ -118,28 +121,26 @@ void ConfigurationDialog::loadOptions() // //alsa settings comboBox1_alsaPlugin->clear(); - QStringList pluginList = daemon.getOutputAudioPluginList(); + QStringList pluginList = configurationManager.getOutputAudioPluginList(); comboBox1_alsaPlugin->addItems(pluginList); - comboBox1_alsaPlugin->setCurrentIndex(comboBox1_alsaPlugin->findText(daemon.getCurrentAudioOutputPlugin())); + comboBox1_alsaPlugin->setCurrentIndex(comboBox1_alsaPlugin->findText(configurationManager.getCurrentAudioOutputPlugin())); + + QStringList devices = configurationManager.getCurrentAudioDevicesIndex(); - qDebug() << "avant daemon.getCurrentAudioDevicesIndex();"; - QStringList devices = daemon.getCurrentAudioDevicesIndex(); - qDebug() << "apres daemon.getCurrentAudioDevicesIndex();"; - int inputDevice = devices[1].toInt(); comboBox2_in->clear(); - QStringList inputDeviceList = daemon.getAudioInputDeviceList(); + QStringList inputDeviceList = configurationManager.getAudioInputDeviceList(); comboBox2_in->addItems(inputDeviceList); comboBox2_in->setCurrentIndex(inputDevice); int outputDevice = devices[0].toInt(); comboBox3_out->clear(); - QStringList outputDeviceList = daemon.getAudioOutputDeviceList(); + QStringList outputDeviceList = configurationManager.getAudioOutputDeviceList(); comboBox3_out->addItems(inputDeviceList); comboBox3_out->setCurrentIndex(outputDevice); //pulseaudio settings - checkBox_pulseAudioVolumeAlter->setCheckState(daemon.getPulseAppVolumeControl() ? Qt::Checked : Qt::Unchecked); + checkBox_pulseAudioVolumeAlter->setCheckState(configurationManager.getPulseAppVolumeControl() ? Qt::Checked : Qt::Unchecked); } @@ -147,14 +148,14 @@ void ConfigurationDialog::loadOptions() void ConfigurationDialog::saveOptions() { - ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); //////////////////////// ////General settings//// //////////////////////// //Call history settings - daemon.setMaxCalls(spinBox_historyCapacity->value()); + configurationManager.setMaxCalls(spinBox_historyCapacity->value()); //SIP port settings int sipPort = spinBox_SIPPort->value(); @@ -165,20 +166,20 @@ void ConfigurationDialog::saveOptions() if(sipPort>65535){ errorWindow->showMessage("Attention : le port SIP doit être inférieur à 65536 !"); } - daemon.setSipPort(sipPort); + configurationManager.setSipPort(sipPort); //////////////////////// ////Display settings//// //////////////////////// //Notification settings - if(checkBox1_notifOnCalls->checkState() != (daemon.getNotify() ? Qt::Checked : Qt::Unchecked)) daemon.setNotify(); - if(checkBox2_notifOnMessages->checkState() != (daemon.getMailNotify() ? Qt::Checked : Qt::Unchecked)) daemon.setMailNotify(); + if(checkBox1_notifOnCalls->checkState() != (configurationManager.getNotify() ? Qt::Checked : Qt::Unchecked)) configurationManager.setNotify(); + if(checkBox2_notifOnMessages->checkState() != (configurationManager.getMailNotify() ? Qt::Checked : Qt::Unchecked)) configurationManager.setMailNotify(); //Window display settings //WARNING états inversés - if(checkBox1_displayOnStart->checkState() != (daemon.isStartHidden() ? Qt::Unchecked : Qt::Checked)) daemon.startHidden(); - if(checkBox2_displayOnCalls->checkState() != (daemon.popupMode() ? Qt::Checked : Qt::Unchecked)) daemon.switchPopupMode(); + if(checkBox1_displayOnStart->checkState() != (configurationManager.isStartHidden() ? Qt::Unchecked : Qt::Checked)) configurationManager.startHidden(); + if(checkBox2_displayOnCalls->checkState() != (configurationManager.popupMode() ? Qt::Checked : Qt::Unchecked)) configurationManager.switchPopupMode(); ///////////////////////// ////Accounts settings//// @@ -187,8 +188,8 @@ void ConfigurationDialog::saveOptions() saveAccountList(); //Stun settings - if(checkBox_stun->checkState() != (daemon.isStunEnabled() ? Qt::Checked : Qt::Unchecked)) daemon.enableStun(); - daemon.setStunServer(lineEdit_stun->text()); + if(checkBox_stun->checkState() != (configurationManager.isStunEnabled() ? Qt::Checked : Qt::Unchecked)) configurationManager.enableStun(); + configurationManager.setStunServer(lineEdit_stun->text()); ////////////////////// ////Audio settings//// @@ -197,13 +198,14 @@ void ConfigurationDialog::saveOptions() //Audio Interface settings qDebug() << "setting audio manager"; int manager = comboBox_interface->currentIndex(); - daemon.setAudioManager(manager); + configurationManager.setAudioManager(manager); //ringtones settings qDebug() << "setting ringtone options"; - if(checkBox_ringtones->checkState() != (daemon.isRingtoneEnabled() ? Qt::Checked : Qt::Unchecked)) daemon.ringtoneEnabled(); + if(checkBox_ringtones->checkState() != (configurationManager.isRingtoneEnabled() ? Qt::Checked : Qt::Unchecked)) configurationManager.ringtoneEnabled(); //TODO widget choix de sonnerie - //daemon.getRingtoneChoice(widget_nomSonnerie->text()); + //configurationManager.setRingtoneChoice(urlComboRequester_ringtone->text()); + configurationManager.setRingtoneChoice(urlComboRequester_ringtone->url().url()); //codecs settings qDebug() << "saving codecs"; @@ -213,29 +215,29 @@ void ConfigurationDialog::saveOptions() if(manager == ALSA) { qDebug() << "setting alsa settings"; - daemon.setOutputAudioPlugin(comboBox1_alsaPlugin->currentText()); - daemon.setAudioInputDevice(comboBox2_in->currentIndex()); - daemon.setAudioOutputDevice(comboBox3_out->currentIndex()); + configurationManager.setOutputAudioPlugin(comboBox1_alsaPlugin->currentText()); + configurationManager.setAudioInputDevice(comboBox2_in->currentIndex()); + configurationManager.setAudioOutputDevice(comboBox3_out->currentIndex()); } //pulseaudio settings if(manager == PULSEAUDIO) { qDebug() << "setting pulseaudio settings"; - if(checkBox_pulseAudioVolumeAlter->checkState() != (daemon.getPulseAppVolumeControl() ? Qt::Checked : Qt::Unchecked)) daemon.setPulseAppVolumeControl(); + if(checkBox_pulseAudioVolumeAlter->checkState() != (configurationManager.getPulseAppVolumeControl() ? Qt::Checked : Qt::Unchecked)) configurationManager.setPulseAppVolumeControl(); } } void ConfigurationDialog::loadAccountList() { - //ask for the list of accounts ids to the daemon + //ask for the list of accounts ids to the configurationManager QStringList accountIds = ConfigurationManagerInterfaceSingleton::getInstance().getAccountList().value(); //create the AccountList object with the ids accountList = new AccountList(accountIds); //initialize the QListWidget object with the AccountList listWidget_accountList->clear(); for (int i = 0; i < accountList->size(); ++i){ - listWidget_accountList->addItem((*accountList)[i].getItem()); + addAccountToAccountList(&(*accountList)[i]); } if (listWidget_accountList->count() > 0) listWidget_accountList->setCurrentRow(0); @@ -248,10 +250,10 @@ void ConfigurationDialog::saveAccountList() //save the account being edited if(listWidget_accountList->currentItem()) saveAccount(listWidget_accountList->currentItem()); - //get the daemon instance - ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance(); - //ask for the list of accounts ids to the daemon - QStringList accountIds= QStringList(daemon.getAccountList().value()); + //get the configurationManager instance + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + //ask for the list of accounts ids to the configurationManager + QStringList accountIds= QStringList(configurationManager.getAccountList().value()); //create or update each account from accountList for (int i = 0; i < accountList->size(); i++){ Account & current = (*accountList)[i]; @@ -259,9 +261,9 @@ void ConfigurationDialog::saveAccountList() //if the account has no instanciated id, it has just been created in the client if(current.isNew()) { - currentId = QString(daemon.addAccount(current.getAccountDetails())); + currentId = QString(configurationManager.addAccount(current.getAccountDetails())); } - //if the account has an instanciated id but it's not in daemon + //if the account has an instanciated id but it's not in configurationManager else{ if(! accountIds.contains(current.getAccountId())) { @@ -270,17 +272,17 @@ void ConfigurationDialog::saveAccountList() } else { - daemon.setAccountDetails(current.getAccountId(), current.getAccountDetails()); + configurationManager.setAccountDetails(current.getAccountId(), current.getAccountDetails()); currentId = QString(current.getAccountId()); } } - daemon.sendRegister(currentId, (current.getItem()->checkState() == Qt::Checked) ? 1 : 0 ); + configurationManager.sendRegister(currentId, (current.getItem()->checkState() == Qt::Checked) ? 1 : 0 ); } - //remove accounts that are in the daemon but not in the client + //remove accounts that are in the configurationManager but not in the client for (int i = 0; i < accountIds.size(); i++) if(! accountList->getAccountById(accountIds[i])){ qDebug() << "remove account " << accountIds[i]; - daemon.removeAccount(accountIds[i]); + configurationManager.removeAccount(accountIds[i]); } } @@ -299,6 +301,7 @@ void ConfigurationDialog::loadAccount(QListWidgetItem * item) edit5_password->setText( account->getAccountDetail(*(new QString(ACCOUNT_PASSWORD)))); edit6_mailbox->setText( account->getAccountDetail(*(new QString(ACCOUNT_MAILBOX)))); QString status = account->getAccountDetail(*(new QString(ACCOUNT_STATUS))); + qDebug() << "Color : " << account->getStateColorName(); edit7_state->setText( "<FONT COLOR=\"" + account->getStateColorName() + "\">" + status + "</FONT>" ); //edit7_Etat->setTextColor( account->getStateColor ); } @@ -317,15 +320,24 @@ void ConfigurationDialog::saveAccount(QListWidgetItem * item) account->setAccountDetail(ACCOUNT_USERNAME, edit4_user->text()); account->setAccountDetail(ACCOUNT_PASSWORD, edit5_password->text()); account->setAccountDetail(ACCOUNT_MAILBOX, edit6_mailbox->text()); - + //account->setAccountDetail(ACCOUNT_ENABLED, account->getItemWidget()->findChild(*(new QString("checkbox"))).checkState() == Qt::Checked ? ACCOUNT_ENABLED_TRUE : ACCOUNT_ENABLED_FALSE); + account->setItemText(edit1_alias->text()); } +void ConfigurationDialog::addAccountToAccountList(Account * account) +{ + qDebug() << "addAccountToAccountList"; + QListWidgetItem * item = account->getItem(); + QWidget * widget = account->getItemWidget(); + listWidget_accountList->addItem(item); + listWidget_accountList->setItemWidget(item, widget); +} void ConfigurationDialog::loadCodecs() { - ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance(); - QStringList codecList = daemon.getCodecList(); - QStringList activeCodecList = daemon.getActiveCodecList(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + QStringList codecList = configurationManager.getCodecList(); + QStringList activeCodecList = configurationManager.getActiveCodecList(); qDebug() << codecList; qDebug() << activeCodecList; tableWidget_codecs->setRowCount(0); @@ -337,10 +349,10 @@ void ConfigurationDialog::loadCodecs() QString payloadStr = QString(codecList[i]); int payload = payloadStr.toInt(&ok); if(!ok) - qDebug() << "The codec's payload sent by the daemon is not a number : " << codecList[i]; + qDebug() << "The codec's payload sent by the configurationManager is not a number : " << codecList[i]; else { - QStringList details = daemon.getCodecDetails(payload); + QStringList details = configurationManager.getCodecDetails(payload); tableWidget_codecs->insertRow(i); QTableWidgetItem * headerItem = new QTableWidgetItem(""); tableWidget_codecs->setVerticalHeaderItem (i, headerItem); @@ -358,6 +370,7 @@ void ConfigurationDialog::loadCodecs() tableWidget_codecs->item(i,2)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); tableWidget_codecs->item(i,3)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); tableWidget_codecs->item(i,4)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); + (*codecPayloads)[details[CODEC_NAME]] = payloadStr; qDebug() << "Added to codecs : " << payloadStr << " , " << details[CODEC_NAME]; } @@ -369,7 +382,7 @@ void ConfigurationDialog::loadCodecs() void ConfigurationDialog::saveCodecs() { - ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); QStringList activeCodecs; for(int i = 0 ; i < tableWidget_codecs->rowCount() ; i++) { @@ -381,7 +394,7 @@ void ConfigurationDialog::saveCodecs() } } qDebug() << "Calling setActiveCodecList with list : " << activeCodecs ; - daemon.setActiveCodecList(activeCodecs); + configurationManager.setActiveCodecList(activeCodecs); } void ConfigurationDialog::setPage(int page) @@ -435,11 +448,13 @@ void ConfigurationDialog::updateCodecListCommands() void ConfigurationDialog::on_edit1_alias_textChanged(const QString & text) { - listWidget_accountList->currentItem()->setText(text); + qDebug() << "on_edit1_alias_textChanged"; + //listWidget_accountList->currentItem()->setText(text); } void ConfigurationDialog::on_spinBox_SIPPort_valueChanged ( int value ) { + qDebug() << "on_spinBox_SIPPort_valueChanged"; if(value>1024 && value<65536) label_WarningSIP->setVisible(false); else @@ -470,7 +485,7 @@ void ConfigurationDialog::on_toolButton_codecUp_clicked() void ConfigurationDialog::on_toolButton_codecDown_clicked() { - qDebug() << "on_toolButton_codecUp_clicked"; + qDebug() << "on_toolButton_codecDown_clicked"; int currentCol = tableWidget_codecs->currentColumn(); int currentRow = tableWidget_codecs->currentRow(); int nbCol = tableWidget_codecs->columnCount(); @@ -496,6 +511,7 @@ void ConfigurationDialog::on_listWidget_accountList_currentItemChanged ( QListWi void ConfigurationDialog::on_button_accountUp_clicked() { + qDebug() << "on_button_accountUp_clicked"; int currentRow = listWidget_accountList->currentRow(); QListWidgetItem * item = listWidget_accountList->takeItem(currentRow); listWidget_accountList->insertItem(currentRow - 1 , item); @@ -504,6 +520,7 @@ void ConfigurationDialog::on_button_accountUp_clicked() void ConfigurationDialog::on_button_accountDown_clicked() { + qDebug() << "on_button_accountDown_clicked"; int currentRow = listWidget_accountList->currentRow(); QListWidgetItem * item = listWidget_accountList->takeItem(currentRow); listWidget_accountList->insertItem(currentRow + 1 , item); @@ -512,13 +529,12 @@ void ConfigurationDialog::on_button_accountDown_clicked() void ConfigurationDialog::on_button_accountAdd_clicked() { + qDebug() << "on_button_accountAdd_clicked"; QString itemName = QInputDialog::getText(this, "New account", "Enter new account's alias"); itemName = itemName.simplified(); if (!itemName.isEmpty()) { - QListWidgetItem * item = accountList->addAccount(itemName); - - //TODO verifier que addItem set bien le parent - listWidget_accountList->addItem(item); + Account * account = accountList->addAccount(itemName); + addAccountToAccountList(account); int r = listWidget_accountList->count() - 1; listWidget_accountList->setCurrentRow(r); frame2_editAccounts->setEnabled(true); @@ -527,6 +543,7 @@ void ConfigurationDialog::on_button_accountAdd_clicked() void ConfigurationDialog::on_button_accountRemove_clicked() { + qDebug() << "on_button_accountRemove_clicked"; int r = listWidget_accountList->currentRow(); QListWidgetItem * item = listWidget_accountList->takeItem(r); accountList->removeAccount(item); @@ -536,6 +553,7 @@ void ConfigurationDialog::on_button_accountRemove_clicked() void ConfigurationDialog::on_buttonBoxDialog_clicked(QAbstractButton * button) { + qDebug() << "on_buttonBoxDialog_clicked"; if(buttonBoxDialog->standardButton(button) == QDialogButtonBox::Apply) { this->saveOptions(); @@ -578,34 +596,3 @@ void ConfigurationDialog::on_tableWidget_codecs_currentCellChanged(int currentRo } updateCodecListCommands(); } - -/* -void ConfigurationDialog::on_listWidgetComptes_itemChanged(QListWidgetItem * item) -{ - if(! item) { qDebug() << "Attempting to save details of an account from a NULL item\n"; return; } - - Account * account = accountList->getAccountByItem(item); - if(! account) { qDebug() << "Attempting to save details of an unexisting account\n"; return; } - - if(item->checkState() != account->getAccountState) - - if(buttonBoxDialog->standardButton(button) == QDialogButtonBox::Apply) - { - this->saveOptions(); - this->loadOptions(); - } - if(buttonBoxDialog->standardButton(button) == QDialogButtonBox::RestoreDefaults) - { - this->loadOptions(); - } - if(buttonBoxDialog->standardButton(button) == QDialogButtonBox::Ok) - { - this->saveOptions(); - this->setVisible(false); - } - if(buttonBoxDialog->standardButton(button) == QDialogButtonBox::Cancel) - { - this->setVisible(false); - } -} -*/ \ No newline at end of file diff --git a/sflphone_kde/ConfigDialog.h b/sflphone_kde/ConfigDialog.h index 72e94458199df62e5b8bb61775413f5ae93cc12f..259e110d30367de1ec761e1aaba243e08ca70ffd 100644 --- a/sflphone_kde/ConfigDialog.h +++ b/sflphone_kde/ConfigDialog.h @@ -28,6 +28,8 @@ public: void loadAccountList(); void saveAccountList(); + + void addAccountToAccountList(Account * account); void loadCodecs(); void saveCodecs(); diff --git a/sflphone_kde/ConfigDialog.ui b/sflphone_kde/ConfigDialog.ui index 342ec5d390f2c30fb9ac808486214961c0d9b2c4..3e9d6154b9b682b842d93a54b1a95d4a6388f914 100644 --- a/sflphone_kde/ConfigDialog.ui +++ b/sflphone_kde/ConfigDialog.ui @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>504</width> - <height>435</height> + <height>455</height> </rect> </property> <property name="minimumSize" > @@ -474,7 +474,7 @@ <item> <widget class="QListWidget" name="listWidget_accountList" > <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Fixed" > + <sizepolicy vsizetype="Expanding" hsizetype="Preferred" > <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> @@ -797,10 +797,16 @@ </item> <item> <widget class="QGroupBox" name="groupBox1_audio" > + <property name="mouseTracking" > + <bool>false</bool> + </property> <property name="title" > <string/> </property> <layout class="QFormLayout" name="formLayout_3" > + <property name="fieldGrowthPolicy" > + <enum>QFormLayout::AllNonFixedFieldsGrow</enum> + </property> <item row="0" column="0" > <widget class="QLabel" name="label_interface" > <property name="text" > @@ -839,7 +845,35 @@ </widget> </item> <item row="1" column="1" > - <widget class="KUrlComboRequester" name="kurlcomborequester" /> + <widget class="KUrlComboRequester" name="urlComboRequester_ringtone" /> + </item> + <item row="2" column="0" > + <widget class="KLed" name="kled" > + <property name="sizePolicy" > + <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="mouseTracking" > + <bool>false</bool> + </property> + <property name="focusPolicy" > + <enum>Qt::NoFocus</enum> + </property> + <property name="layoutDirection" > + <enum>Qt::RightToLeft</enum> + </property> + <property name="state" > + <enum>KLed::On</enum> + </property> + <property name="shape" > + <enum>KLed::Circular</enum> + </property> + <property name="look" > + <enum>KLed::Flat</enum> + </property> + </widget> </item> </layout> </widget> @@ -1098,6 +1132,11 @@ </widget> <layoutdefault spacing="4" margin="4" /> <customwidgets> + <customwidget> + <class>KLed</class> + <extends>QWidget</extends> + <header>kled.h</header> + </customwidget> <customwidget> <class>KUrlComboRequester</class> <extends>KUrlRequester</extends> diff --git a/sflphone_kde/sflphone-qt.ui b/sflphone_kde/sflphone-qt.ui index b92044de3f7e6b1d690cfc49514cbacb6a479b1d..6189ef6c7c118a56f088f133710bda4e89b601a2 100644 --- a/sflphone_kde/sflphone-qt.ui +++ b/sflphone_kde/sflphone-qt.ui @@ -12,6 +12,10 @@ <property name="windowTitle" > <string>SFLPhone</string> </property> + <property name="windowIcon" > + <iconset resource="resources.qrc" > + <normaloff>:/images/icons/sflphone.png</normaloff>:/images/icons/sflphone.png</iconset> + </property> <widget class="QWidget" name="centralwidget" > <layout class="QVBoxLayout" name="verticalLayout" > <property name="sizeConstraint" >