Merge lp:~pete-woods/indicator-network/add-never-default-lp1546573 into lp:indicator-network

Proposed by Pete Woods
Status: Merged
Approved by: Pete Woods
Approved revision: 571
Merged at revision: 570
Proposed branch: lp:~pete-woods/indicator-network/add-never-default-lp1546573
Merge into: lp:indicator-network
Diff against target: 313 lines (+104/-1)
9 files modified
data/com.ubuntu.connectivity1.vpn.VpnConnection.xml (+2/-0)
src/connectivity-api/connectivity-qt/connectivityqt/vpn-connection.cpp (+14/-0)
src/connectivity-api/connectivity-qt/connectivityqt/vpn-connection.h (+7/-0)
src/indicator/connectivity-service/dbus-vpn-connection.cpp (+12/-0)
src/indicator/connectivity-service/dbus-vpn-connection.h (+7/-0)
src/indicator/nmofono/vpn/vpn-connection.cpp (+38/-1)
src/indicator/nmofono/vpn/vpn-connection.h (+6/-0)
src/vpn-editor/Openvpn/AdvancedGeneral.qml (+9/-0)
src/vpn-editor/Pptp/Advanced.qml (+9/-0)
To merge this branch: bzr merge lp:~pete-woods/indicator-network/add-never-default-lp1546573
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Needs Fixing
Indicator Applet Developers Pending
Review via email: mp+287830@code.launchpad.net

Commit message

Add never default property

Description of the change

Add never default property

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'data/com.ubuntu.connectivity1.vpn.VpnConnection.xml'
--- data/com.ubuntu.connectivity1.vpn.VpnConnection.xml 2015-12-14 11:56:23 +0000
+++ data/com.ubuntu.connectivity1.vpn.VpnConnection.xml 2016-03-03 15:12:56 +0000
@@ -10,6 +10,8 @@
1010
11 <property name="id" type="s" access="readwrite"/>11 <property name="id" type="s" access="readwrite"/>
1212
13 <property name="neverDefault" type="b" access="readwrite"/>
14
13 <property name="active" type="b" access="readwrite"/>15 <property name="active" type="b" access="readwrite"/>
1416
15 <property name="activatable" type="b" access="read"/>17 <property name="activatable" type="b" access="read"/>
1618
=== modified file 'src/connectivity-api/connectivity-qt/connectivityqt/vpn-connection.cpp'
--- src/connectivity-api/connectivity-qt/connectivityqt/vpn-connection.cpp 2015-12-14 11:56:23 +0000
+++ src/connectivity-api/connectivity-qt/connectivityqt/vpn-connection.cpp 2016-03-03 15:12:56 +0000
@@ -45,6 +45,10 @@
45 {45 {
46 Q_EMIT p.idChanged(value.toString());46 Q_EMIT p.idChanged(value.toString());
47 }47 }
48 else if (name == "neverDefault")
49 {
50 Q_EMIT p.neverDefaultChanged(value.toBool());
51 }
48 else if (name == "active")52 else if (name == "active")
49 {53 {
50 Q_EMIT p.activeChanged(value.toBool());54 Q_EMIT p.activeChanged(value.toBool());
@@ -95,6 +99,11 @@
95 return d->m_propertyCache->get("id").toString();99 return d->m_propertyCache->get("id").toString();
96}100}
97101
102bool VpnConnection::neverDefault() const
103{
104 return d->m_propertyCache->get("neverDefault").toBool();
105}
106
98bool VpnConnection::active() const107bool VpnConnection::active() const
99{108{
100 return d->m_propertyCache->get("active").toBool();109 return d->m_propertyCache->get("active").toBool();
@@ -110,6 +119,11 @@
110 d->m_propertyCache->set("id", id);119 d->m_propertyCache->set("id", id);
111}120}
112121
122void VpnConnection::setNeverDefault(bool neverDefault) const
123{
124 d->m_propertyCache->set("neverDefault", neverDefault);
125}
126
113void VpnConnection::setActive(bool active) const127void VpnConnection::setActive(bool active) const
114{128{
115 d->m_propertyCache->set("active", active);129 d->m_propertyCache->set("active", active);
116130
=== modified file 'src/connectivity-api/connectivity-qt/connectivityqt/vpn-connection.h'
--- src/connectivity-api/connectivity-qt/connectivityqt/vpn-connection.h 2015-12-14 11:56:23 +0000
+++ src/connectivity-api/connectivity-qt/connectivityqt/vpn-connection.h 2016-03-03 15:12:56 +0000
@@ -53,6 +53,9 @@
53 Q_PROPERTY(QString id READ id WRITE setId NOTIFY idChanged)53 Q_PROPERTY(QString id READ id WRITE setId NOTIFY idChanged)
54 QString id() const;54 QString id() const;
5555
56 Q_PROPERTY(bool neverDefault READ neverDefault WRITE setNeverDefault NOTIFY neverDefaultChanged)
57 bool neverDefault() const;
58
56 Q_PROPERTY(bool active READ active WRITE setActive NOTIFY activeChanged)59 Q_PROPERTY(bool active READ active WRITE setActive NOTIFY activeChanged)
57 bool active() const;60 bool active() const;
5861
@@ -65,6 +68,8 @@
65public Q_SLOTS:68public Q_SLOTS:
66 void setId(const QString& id) const;69 void setId(const QString& id) const;
6770
71 void setNeverDefault(bool neverDefault) const;
72
68 void setActive(bool active) const;73 void setActive(bool active) const;
6974
70 void updateSecrets() const;75 void updateSecrets() const;
@@ -72,6 +77,8 @@
72Q_SIGNALS:77Q_SIGNALS:
73 void idChanged(const QString& id);78 void idChanged(const QString& id);
7479
80 void neverDefaultChanged(bool neverDefault);
81
75 void activeChanged(bool active);82 void activeChanged(bool active);
7683
77 void activatableChanged(bool active);84 void activatableChanged(bool active);
7885
=== modified file 'src/indicator/connectivity-service/dbus-vpn-connection.cpp'
--- src/indicator/connectivity-service/dbus-vpn-connection.cpp 2015-12-14 11:56:23 +0000
+++ src/indicator/connectivity-service/dbus-vpn-connection.cpp 2016-03-03 15:12:56 +0000
@@ -37,11 +37,13 @@
37 new VpnConnectionAdaptor(this);37 new VpnConnectionAdaptor(this);
3838
39 connect(m_vpnConnection.get(), &VpnConnection::idChanged, this, &DBusVpnConnection::idUpdated);39 connect(m_vpnConnection.get(), &VpnConnection::idChanged, this, &DBusVpnConnection::idUpdated);
40 connect(m_vpnConnection.get(), &VpnConnection::neverDefaultChanged, this, &DBusVpnConnection::neverDefaultUpdated);
40 connect(m_vpnConnection.get(), &VpnConnection::activeChanged, this, &DBusVpnConnection::activeUpdated);41 connect(m_vpnConnection.get(), &VpnConnection::activeChanged, this, &DBusVpnConnection::activeUpdated);
41 connect(m_vpnConnection.get(), &VpnConnection::activatableChanged, this, &DBusVpnConnection::activatableUpdated);42 connect(m_vpnConnection.get(), &VpnConnection::activatableChanged, this, &DBusVpnConnection::activatableUpdated);
4243
43 connect(this, &DBusVpnConnection::setActive, m_vpnConnection.get(), &VpnConnection::setActive);44 connect(this, &DBusVpnConnection::setActive, m_vpnConnection.get(), &VpnConnection::setActive);
44 connect(this, &DBusVpnConnection::setId, m_vpnConnection.get(), &VpnConnection::setId);45 connect(this, &DBusVpnConnection::setId, m_vpnConnection.get(), &VpnConnection::setId);
46 connect(this, &DBusVpnConnection::setNeverDefault, m_vpnConnection.get(), &VpnConnection::setNeverDefault);
45 connect(this, &DBusVpnConnection::UpdateSecrets, m_vpnConnection.get(), &VpnConnection::updateSecrets);47 connect(this, &DBusVpnConnection::UpdateSecrets, m_vpnConnection.get(), &VpnConnection::updateSecrets);
46}48}
4749
@@ -62,6 +64,11 @@
62 notifyProperties({"id"});64 notifyProperties({"id"});
63}65}
6466
67void DBusVpnConnection::neverDefaultUpdated(bool)
68{
69 notifyProperties({"neverDefault"});
70}
71
65void DBusVpnConnection::activeUpdated(bool)72void DBusVpnConnection::activeUpdated(bool)
66{73{
67 notifyProperties({"active"});74 notifyProperties({"active"});
@@ -90,6 +97,11 @@
90 return m_vpnConnection->id();97 return m_vpnConnection->id();
91}98}
9299
100bool DBusVpnConnection::neverDefault() const
101{
102 return m_vpnConnection->neverDefault();
103}
104
93bool DBusVpnConnection::active() const105bool DBusVpnConnection::active() const
94{106{
95 return m_vpnConnection->isActive();107 return m_vpnConnection->isActive();
96108
=== modified file 'src/indicator/connectivity-service/dbus-vpn-connection.h'
--- src/indicator/connectivity-service/dbus-vpn-connection.h 2015-12-14 11:56:23 +0000
+++ src/indicator/connectivity-service/dbus-vpn-connection.h 2016-03-03 15:12:56 +0000
@@ -50,6 +50,9 @@
50 Q_PROPERTY(QString id READ id WRITE setId)50 Q_PROPERTY(QString id READ id WRITE setId)
51 QString id() const;51 QString id() const;
5252
53 Q_PROPERTY(bool neverDefault READ neverDefault WRITE setNeverDefault)
54 bool neverDefault() const;
55
53 virtual nmofono::vpn::VpnConnection::Type type() const = 0;56 virtual nmofono::vpn::VpnConnection::Type type() const = 0;
5457
55 Q_PROPERTY(bool active READ active WRITE setActive)58 Q_PROPERTY(bool active READ active WRITE setActive)
@@ -67,6 +70,8 @@
6770
68 void setId(const QString& id);71 void setId(const QString& id);
6972
73 void setNeverDefault(bool neverDefault);
74
70 void UpdateSecrets();75 void UpdateSecrets();
7176
72protected Q_SLOTS:77protected Q_SLOTS:
@@ -76,6 +81,8 @@
7681
77 void idUpdated(const QString& id);82 void idUpdated(const QString& id);
7883
84 void neverDefaultUpdated(bool neverDefault);
85
79private:86private:
80 void notifyProperties(const QStringList& propertyNames);87 void notifyProperties(const QStringList& propertyNames);
8188
8289
=== modified file 'src/indicator/nmofono/vpn/vpn-connection.cpp'
--- src/indicator/nmofono/vpn/vpn-connection.cpp 2016-01-14 11:40:59 +0000
+++ src/indicator/nmofono/vpn/vpn-connection.cpp 2016-03-03 15:12:56 +0000
@@ -133,6 +133,23 @@
133 Q_EMIT p.validChanged(m_valid);133 Q_EMIT p.validChanged(m_valid);
134 }134 }
135135
136 void updateNeverDefault()
137 {
138 auto ipv4 = m_settings.value("ipv4");
139 bool neverDefault = false;
140 if (ipv4.contains("never-default") && ipv4.value("never-default").toBool()) {
141 neverDefault = true;
142 }
143
144 if (neverDefault == m_neverDefault)
145 {
146 return;
147 }
148
149 m_neverDefault = neverDefault;
150 Q_EMIT p.neverDefaultChanged(m_neverDefault);
151 }
152
136 void updateType()153 void updateType()
137 {154 {
138 static const QMap<QString, Type> typeMap155 static const QMap<QString, Type> typeMap
@@ -188,7 +205,7 @@
188 reply.waitForFinished();205 reply.waitForFinished();
189 if (reply.isError())206 if (reply.isError())
190 {207 {
191 qWarning() << __PRETTY_FUNCTION__ << reply.error().message();208 qWarning() << __PRETTY_FUNCTION__ << reply.error().message() << m_pendingSettings;
192 }209 }
193210
194 m_dirty = false;211 m_dirty = false;
@@ -258,6 +275,7 @@
258 }275 }
259276
260 updateId();277 updateId();
278 updateNeverDefault();
261 updateValid();279 updateValid();
262 updateType();280 updateType();
263281
@@ -325,6 +343,8 @@
325343
326 QString m_id;344 QString m_id;
327345
346 bool m_neverDefault = false;
347
328 bool m_valid = false;348 bool m_valid = false;
329349
330 Type m_type;350 Type m_type;
@@ -406,6 +426,11 @@
406 return d->m_id;426 return d->m_id;
407}427}
408428
429bool VpnConnection::neverDefault() const
430{
431 return d->m_neverDefault;
432}
433
409QDBusObjectPath VpnConnection::path() const434QDBusObjectPath VpnConnection::path() const
410{435{
411 return QDBusObjectPath(d->m_connection->path());436 return QDBusObjectPath(d->m_connection->path());
@@ -442,6 +467,18 @@
442 d->m_pendingSettings["connection"]["id"] = id;467 d->m_pendingSettings["connection"]["id"] = id;
443}468}
444469
470void VpnConnection::setNeverDefault(bool neverDefault)
471{
472 if (d->m_neverDefault == neverDefault)
473 {
474 return;
475 }
476
477 d->setDirty();
478 d->m_pendingSettings["ipv4"]["never-default"] = neverDefault;
479 d->m_pendingSettings["ipv6"]["never-default"] = neverDefault;
480}
481
445void VpnConnection::setOtherConnectionIsBusy(bool otherConnectionIsBusy)482void VpnConnection::setOtherConnectionIsBusy(bool otherConnectionIsBusy)
446{483{
447 d->m_otherConnectionIsBusy = otherConnectionIsBusy;484 d->m_otherConnectionIsBusy = otherConnectionIsBusy;
448485
=== modified file 'src/indicator/nmofono/vpn/vpn-connection.h'
--- src/indicator/nmofono/vpn/vpn-connection.h 2016-01-14 11:40:59 +0000
+++ src/indicator/nmofono/vpn/vpn-connection.h 2016-03-03 15:12:56 +0000
@@ -57,6 +57,8 @@
5757
58 QString id() const;58 QString id() const;
5959
60 bool neverDefault() const;
61
60 QDBusObjectPath path() const;62 QDBusObjectPath path() const;
6163
62 bool isActive() const;64 bool isActive() const;
@@ -78,6 +80,8 @@
7880
79 void setId(const QString& id);81 void setId(const QString& id);
8082
83 void setNeverDefault(bool neverDefault);
84
81 void setOtherConnectionIsBusy(bool otherConnectionIsBusy);85 void setOtherConnectionIsBusy(bool otherConnectionIsBusy);
8286
83 void setActiveConnectionPath(const QDBusObjectPath& path);87 void setActiveConnectionPath(const QDBusObjectPath& path);
@@ -89,6 +93,8 @@
89Q_SIGNALS:93Q_SIGNALS:
90 void idChanged(const QString& id);94 void idChanged(const QString& id);
9195
96 void neverDefaultChanged(bool neverDefault);
97
92 void activeChanged(bool active);98 void activeChanged(bool active);
9399
94 void validChanged(bool valid);100 void validChanged(bool valid);
95101
=== modified file 'src/vpn-editor/Openvpn/AdvancedGeneral.qml'
--- src/vpn-editor/Openvpn/AdvancedGeneral.qml 2016-01-14 11:40:59 +0000
+++ src/vpn-editor/Openvpn/AdvancedGeneral.qml 2016-03-03 15:12:56 +0000
@@ -34,6 +34,15 @@
34 Column {34 Column {
35 anchors.left: parent.left35 anchors.left: parent.left
36 anchors.right: parent.right36 anchors.right: parent.right
37
38 ListItems.Standard {
39 control: CheckBox {
40 id: neverDefaultCheckbox
41 Binding {target: neverDefaultCheckbox; property: "checked"; value: connection.neverDefault}
42 onCheckedChanged: connection.neverDefault = checked
43 }
44 text: i18n.tr("Only use connection for VPN resources")
45 }
3746
38 OptionalValue {47 OptionalValue {
39 text: i18n.tr("Use custom gateway port:")48 text: i18n.tr("Use custom gateway port:")
4049
=== modified file 'src/vpn-editor/Pptp/Advanced.qml'
--- src/vpn-editor/Pptp/Advanced.qml 2016-01-14 11:40:59 +0000
+++ src/vpn-editor/Pptp/Advanced.qml 2016-03-03 15:12:56 +0000
@@ -35,6 +35,15 @@
35 anchors.left: parent.left35 anchors.left: parent.left
36 anchors.right: parent.right36 anchors.right: parent.right
3737
38 ListItems.Standard {
39 control: CheckBox {
40 id: neverDefaultCheckbox
41 Binding {target: neverDefaultCheckbox; property: "checked"; value: connection.neverDefault}
42 onCheckedChanged: connection.neverDefault = checked
43 }
44 text: i18n.tr("Only use connection for VPN resources")
45 }
46
38 ListItems.Header {text: i18n.tr("Authentication methods")}47 ListItems.Header {text: i18n.tr("Authentication methods")}
3948
40 ListItems.Standard {49 ListItems.Standard {

Subscribers

People subscribed via source and target branches