From kde-commits Sun Sep 30 23:34:43 2012 From: Lamarque V. Souza Date: Sun, 30 Sep 2012 23:34:43 +0000 To: kde-commits Subject: [networkmanagement/nm09] /: Add storage type combobox for GSM password field in GsmWidget. Message-Id: <20120930233443.E06ECA605D () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=134904809305653 Git commit 8c1e050dcbf9e1ea2e79717e8a5972ce570f203e by Lamarque V. Souza. Committed on 01/10/2012 at 01:29. Pushed by lvsouza into branch 'nm09'. Add storage type combobox for GSM password field in GsmWidget. CCBUG: 306132 M +1 -3 backends/NetworkManager/settings/gsmdbus.cpp M +24 -1 libs/ui/gsm.ui M +41 -6 libs/ui/gsmwidget.cpp M +1 -0 libs/ui/gsmwidget.h http://commits.kde.org/networkmanagement/8c1e050dcbf9e1ea2e79717e8a5972ce57= 0f203e diff --git a/backends/NetworkManager/settings/gsmdbus.cpp b/backends/Networ= kManager/settings/gsmdbus.cpp index 75a9173..447b877 100644 --- a/backends/NetworkManager/settings/gsmdbus.cpp +++ b/backends/NetworkManager/settings/gsmdbus.cpp @@ -71,9 +71,7 @@ QVariantMap GsmDbus::toMap() insertIfTrue(map, NM_SETTING_GSM_HOME_ONLY, setting->homeonly()); = map.unite(toSecretsMap()); - if (!setting->password().isEmpty()) { - map.insert(QLatin1String(NM_SETTING_GSM_PASSWORD_FLAGS), (int)settin= g->passwordflags()); - } + map.insert(QLatin1String(NM_SETTING_GSM_PASSWORD_FLAGS), (int)setting->p= asswordflags()); map.insert(QLatin1String(NM_SETTING_GSM_PIN_FLAGS), (int)setting->pinfla= gs()); = //map.insert("band", setting->band()); diff --git a/libs/ui/gsm.ui b/libs/ui/gsm.ui index 87219a4..92bbf02 100644 --- a/libs/ui/gsm.ui +++ b/libs/ui/gsm.ui @@ -82,7 +82,30 @@ - + + + + + + + + + Store + + + + + Always Ask + + + + + Not Required + + + + + diff --git a/libs/ui/gsmwidget.cpp b/libs/ui/gsmwidget.cpp index a848582..9d8ab2d 100644 --- a/libs/ui/gsmwidget.cpp +++ b/libs/ui/gsmwidget.cpp @@ -29,7 +29,7 @@ class GsmWidgetPrivate : public SettingWidgetPrivate public: Ui_Gsm ui; Knm::GsmSetting * setting; - enum PinStorage {Store =3D 0, AlwaysAsk, NotRequired}; + enum StorageType {Store =3D 0, AlwaysAsk, NotRequired}; }; = GsmWidget::GsmWidget(Knm::Connection * connection, QWidget * parent) @@ -39,6 +39,7 @@ GsmWidget::GsmWidget(Knm::Connection * connection, QWidge= t * parent) d->ui.setupUi(this); d->setting =3D static_cast(connection->setting(Knm:= :Setting::Gsm)); connect(d->ui.chkShowPass, SIGNAL(stateChanged(int)), this, SLOT(chkSh= owPassToggled())); + connect(d->ui.passwordStorage, SIGNAL(currentIndexChanged(int)), this,= SLOT(passwordStorageTypeChanged(int))); connect(d->ui.pinStorage, SIGNAL(currentIndexChanged(int)), this, SLOT= (pinStorageTypeChanged(int))); d->ui.pin->setEchoMode(QLineEdit::Password); /* Not used yet*/ @@ -101,17 +102,36 @@ void GsmWidget::writeConfig() d->setting->setPinflags(Knm::Setting::NotRequired); break; } - if (d->setting->password().isEmpty()) { - d->setting->setPasswordflags(Knm::Setting::NotRequired); - } else { - d->setting->setPasswordflags(Knm::Setting::AgentOwned); + switch (d->ui.passwordStorage->currentIndex()) + { + case GsmWidgetPrivate::Store: + if (!d->connection->permissions().isEmpty()) + d->setting->setPasswordflags(Knm::Setting::AgentOwned); + else + d->setting->setPasswordflags(Knm::Setting::None); + break; + case GsmWidgetPrivate::AlwaysAsk: + d->setting->setPasswordflags(Knm::Setting::NotSaved); + break; + case GsmWidgetPrivate::NotRequired: + d->setting->setPasswordflags(Knm::Setting::NotRequired); + break; } } = void GsmWidget::readSecrets() { Q_D(GsmWidget); - d->ui.password->setText(d->setting->password()); + + if (d->setting->passwordflags().testFlag(Knm::Setting::AgentOwned) || = d->setting->passwordflags().testFlag(Knm::Setting::None)) { + d->ui.passwordStorage->setCurrentIndex(GsmWidgetPrivate::Store); + d->ui.password->setText(d->setting->password()); + } else if (d->setting->passwordflags().testFlag(Knm::Setting::NotSaved= )) { + d->ui.passwordStorage->setCurrentIndex(GsmWidgetPrivate::AlwaysAsk= ); + } else if (d->setting->passwordflags().testFlag(Knm::Setting::NotRequi= red)) { + d->ui.passwordStorage->setCurrentIndex(GsmWidgetPrivate::NotRequir= ed); + } + if (d->setting->pinflags().testFlag(Knm::Setting::AgentOwned) || d->se= tting->pinflags().testFlag(Knm::Setting::None)) { d->ui.pinStorage->setCurrentIndex(GsmWidgetPrivate::Store); d->ui.pin->setText(d->setting->pin()); @@ -163,6 +183,21 @@ void GsmWidget::setApnInfo(const QMap apnInfo) d->ui.password->setText(d->setting->password()); } = +void GsmWidget::passwordStorageTypeChanged(int type) +{ + Q_D(GsmWidget); + switch (type) + { + case GsmWidgetPrivate::Store: + d->ui.password->setEnabled(true); + break; + case GsmWidgetPrivate::AlwaysAsk: + case GsmWidgetPrivate::NotRequired: + d->ui.password->setEnabled(false); + break; + } +} + void GsmWidget::pinStorageTypeChanged(int type) { Q_D(GsmWidget); diff --git a/libs/ui/gsmwidget.h b/libs/ui/gsmwidget.h index 4d51f5f..cea7cc6 100644 --- a/libs/ui/gsmwidget.h +++ b/libs/ui/gsmwidget.h @@ -42,6 +42,7 @@ public: protected Q_SLOTS: void validate(); void chkShowPassToggled(); + void passwordStorageTypeChanged(int); void pinStorageTypeChanged(int); }; =20