[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [networkmanagement/nm09] /: Add storage type combobox for GSM password field in GsmWidget.
From: Lamarque V. Souza <lamarque () kde ! org>
Date: 2012-09-30 23:34:43
Message-ID: 20120930233443.E06ECA605D () git ! kde ! org
[Download RAW message or body]
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/8c1e050dcbf9e1ea2e79717e8a5972ce570f203e
diff --git a/backends/NetworkManager/settings/gsmdbus.cpp \
b/backends/NetworkManager/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)setting->passwordflags());
- }
+ map.insert(QLatin1String(NM_SETTING_GSM_PASSWORD_FLAGS), \
(int)setting->passwordflags()); map.insert(QLatin1String(NM_SETTING_GSM_PIN_FLAGS), \
(int)setting->pinflags());
//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 @@
</widget>
</item>
<item row="2" column="1">
- <widget class="KLineEdit" name="password"/>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="KLineEdit" name="password"/>
+ </item>
+ <item>
+ <widget class="KComboBox" name="passwordStorage">
+ <item>
+ <property name="text">
+ <string>Store</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Always Ask</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Not Required</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
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 = 0, AlwaysAsk, NotRequired};
+ enum StorageType {Store = 0, AlwaysAsk, NotRequired};
};
GsmWidget::GsmWidget(Knm::Connection * connection, QWidget * parent)
@@ -39,6 +39,7 @@ GsmWidget::GsmWidget(Knm::Connection * connection, QWidget * \
parent) d->ui.setupUi(this);
d->setting = static_cast<Knm::GsmSetting \
*>(connection->setting(Knm::Setting::Gsm));
connect(d->ui.chkShowPass, SIGNAL(stateChanged(int)), this, \
SLOT(chkShowPassToggled())); + 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::NotRequired)) { + \
d->ui.passwordStorage->setCurrentIndex(GsmWidgetPrivate::NotRequired); + }
+
if (d->setting->pinflags().testFlag(Knm::Setting::AgentOwned) || \
d->setting->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<QString, QVariant> 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);
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic