diff --git a/sflphone-client-kde/src/Account.cpp b/sflphone-client-kde/src/Account.cpp index e4cbead64c0b1c1c68c0b23bfaacdca60de756b1..0de2b732a4c2865059337240e229db9fdf8c46b2 100644 --- a/sflphone-client-kde/src/Account.cpp +++ b/sflphone-client-kde/src/Account.cpp @@ -53,7 +53,9 @@ const QString account_state_name(QString & s) //Constructors -Account::Account():accountId(NULL), item(NULL), itemWidget(NULL){} +Account::Account():accountId(NULL), item(NULL), itemWidget(NULL) +{ +} void Account::initAccountItem() @@ -90,6 +92,7 @@ void Account::initAccountItemWidget() { itemWidget->setState(AccountItemWidget::NotWorking); } + connect(itemWidget, SIGNAL(checkStateChanged(bool)), this, SLOT(setEnabled(bool))); } Account * Account::buildExistingAccountFromId(QString _accountId) @@ -147,13 +150,11 @@ MapStringString & Account::getAccountDetails() const QListWidgetItem * Account::getItem() { - if(!item) { qDebug() << "null" ; } return item; } AccountItemWidget * Account::getItemWidget() { - if(itemWidget == NULL) { qDebug() << "null"; } return itemWidget; } @@ -214,6 +215,12 @@ void Account::setAccountId(QString id) accountId = new QString(id); } +void Account::setEnabled(bool checked) +{ + qDebug() << "setEnabled = " << checked; + setAccountDetail(ACCOUNT_ENABLED, checked ? ACCOUNT_ENABLED_TRUE : ACCOUNT_ENABLED_FALSE); +} + void Account::updateState() { qDebug() << "updateState"; diff --git a/sflphone-client-kde/src/Account.h b/sflphone-client-kde/src/Account.h index e1463bb64e3b280999f25f7a14e1bc7b49392187..65456d57f1526ebd1d8601bd2f5550f349f43b34 100644 --- a/sflphone-client-kde/src/Account.h +++ b/sflphone-client-kde/src/Account.h @@ -31,8 +31,8 @@ const QString account_state_name(QString & s); -class Account{ - +class Account : public QObject{ +Q_OBJECT private: QString * accountId; @@ -76,6 +76,10 @@ public: //Operators bool operator==(const Account&)const; +private slots: + void setEnabled(bool checked); + + }; diff --git a/sflphone-client-kde/src/AccountItemWidget.cpp b/sflphone-client-kde/src/AccountItemWidget.cpp index ab841e83a60a089db27df0bae82344571972aa49..3549b5fd92f2da3398e394d35ec317e6606faebe 100644 --- a/sflphone-client-kde/src/AccountItemWidget.cpp +++ b/sflphone-client-kde/src/AccountItemWidget.cpp @@ -113,7 +113,8 @@ bool AccountItemWidget::getEnabled() return checkBox->checkState(); } -void AccountItemWidget::on_checkBox_stateChanged() +void AccountItemWidget::on_checkBox_stateChanged(int state) { - emit checkStateChanged(); + qDebug() << "on_checkBox_stateChanged"; + emit checkStateChanged(state == Qt::Checked); } diff --git a/sflphone-client-kde/src/AccountItemWidget.h b/sflphone-client-kde/src/AccountItemWidget.h index 25c1a688dc1fb7c88a753d793a1de68ce69db6f5..60055a3e5b09728a0bc886d9c152eecaee791294 100644 --- a/sflphone-client-kde/src/AccountItemWidget.h +++ b/sflphone-client-kde/src/AccountItemWidget.h @@ -65,11 +65,11 @@ public: void updateDisplay(); private slots: - void on_checkBox_stateChanged(); + void on_checkBox_stateChanged(int state); signals: - void checkStateChanged(); + void checkStateChanged(bool checked); }; diff --git a/sflphone-client-kde/src/conf/dlgaccounts.cpp b/sflphone-client-kde/src/conf/dlgaccounts.cpp index f0732f85e8c26f9eff9d3a0e99da26b1cc1ffcdd..14a2089c95045ca1188f3ebd8114c61fae839d1a 100644 --- a/sflphone-client-kde/src/conf/dlgaccounts.cpp +++ b/sflphone-client-kde/src/conf/dlgaccounts.cpp @@ -109,7 +109,6 @@ void DlgAccounts::saveAccountList() } } qDebug() << currentId << " : " << current.isChecked(); - configurationManager.sendRegister(currentId, current.isChecked() ? 1 : 0 ); } //remove accounts that are in the configurationManager but not in the client for (int i = 0; i < accountIds.size(); i++) @@ -205,7 +204,7 @@ void DlgAccounts::addAccountToAccountList(Account * account) qDebug() << "addAccountToAccountList"; QListWidgetItem * item = account->getItem(); QWidget * widget = account->getItemWidget(); - connect(widget, SIGNAL(checkStateChanged()), + connect(widget, SIGNAL(checkStateChanged(bool)), this, SLOT(changedAccountList())); qDebug() << "item->isHidden()" << item->isHidden(); listWidget_accountList->addItem(item); @@ -215,6 +214,7 @@ void DlgAccounts::addAccountToAccountList(Account * account) void DlgAccounts::changedAccountList() { + qDebug() << "changedAccountList"; accountListHasChanged = true; emit updateButtons(); toolButton_accountsApply->setEnabled(hasChanged());