Merge lp:~unity-api-team/indicator-network/mobile-switch into lp:indicator-network

Proposed by Pete Woods
Status: Merged
Approved by: Pete Woods
Approved revision: 602
Merged at revision: 601
Proposed branch: lp:~unity-api-team/indicator-network/mobile-switch
Merge into: lp:indicator-network
Prerequisite: lp:~pete-woods/indicator-network/improve-logging
Diff against target: 145 lines (+32/-10)
5 files modified
src/indicator/factory.cpp (+18/-2)
src/indicator/factory.h (+1/-1)
src/indicator/menu-builder.cpp (+3/-1)
src/indicator/sections/wwan-section.cpp (+9/-5)
src/indicator/sections/wwan-section.h (+1/-1)
To merge this branch: bzr merge lp:~unity-api-team/indicator-network/mobile-switch
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Pending
Indicator Applet Developers Pending
Review via email: mp+295940@code.launchpad.net

This proposal supersedes a proposal from 2016-05-05.

Commit message

add mobile data switch

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

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/indicator/factory.cpp'
2--- src/indicator/factory.cpp 2016-04-29 14:20:09 +0000
3+++ src/indicator/factory.cpp 2016-05-27 11:26:43 +0000
4@@ -155,9 +155,9 @@
5 return make_unique<QuickAccessSection>(d->singletonNmofono(), flightModeSwitch);
6 }
7
8-unique_ptr<WwanSection> Factory::newWwanSection(SwitchItem::Ptr hotspotSwitch)
9+unique_ptr<WwanSection> Factory::newWwanSection(SwitchItem::Ptr mobileDataSwitch, SwitchItem::Ptr hotspotSwitch)
10 {
11- return make_unique<WwanSection>(d->singletonNmofono(), hotspotSwitch);
12+ return make_unique<WwanSection>(d->singletonNmofono(), mobileDataSwitch, hotspotSwitch);
13 }
14
15 unique_ptr<VpnSection> Factory::newVpnSection()
16@@ -206,6 +206,22 @@
17 SwitchItem::UPtr Factory::newMobileDataSwitch()
18 {
19 auto s = make_unique<SwitchItem>(_("Cellular data"), "mobiledata", "enabled");
20+ auto manager = d->singletonNmofono();
21+
22+ s->setState(manager->mobileDataEnabled());
23+ QObject::connect(manager.get(), &nmofono::Manager::mobileDataEnabledChanged, s.get(), &SwitchItem::setState);
24+ QObject::connect(s.get(), &SwitchItem::stateUpdated, manager.get(), &nmofono::Manager::setMobileDataEnabled);
25+
26+ s->setEnabled(!manager->flightMode() && manager->simForMobileData());
27+ auto switch_r = s.get();
28+ auto manager_r = manager.get();
29+ QObject::connect(manager_r, &nmofono::Manager::flightModeUpdated, switch_r, [manager_r, switch_r](bool value) {
30+ switch_r->setEnabled(!value && manager_r->simForMobileData());
31+ });
32+ QObject::connect(manager_r, &nmofono::Manager::simForMobileDataChanged, switch_r, [manager_r, switch_r]() {
33+ switch_r->setEnabled(!manager_r->flightMode() && manager_r->simForMobileData());
34+ });
35+
36 return s;
37 }
38
39
40=== modified file 'src/indicator/factory.h'
41--- src/indicator/factory.h 2016-04-29 09:36:10 +0000
42+++ src/indicator/factory.h 2016-05-27 11:26:43 +0000
43@@ -56,7 +56,7 @@
44
45 virtual std::unique_ptr<QuickAccessSection> newQuickAccessSection(SwitchItem::Ptr flightModeSwitch);
46
47- virtual std::unique_ptr<WwanSection> newWwanSection(SwitchItem::Ptr hotspotSwitch);
48+ virtual std::unique_ptr<WwanSection> newWwanSection(SwitchItem::Ptr mobileDataSwitch, SwitchItem::Ptr hotspotSwitch);
49
50 virtual std::unique_ptr<WifiSection> newWiFiSection(SwitchItem::Ptr wifiSwitch);
51
52
53=== modified file 'src/indicator/menu-builder.cpp'
54--- src/indicator/menu-builder.cpp 2015-10-06 10:14:57 +0000
55+++ src/indicator/menu-builder.cpp 2016-05-27 11:26:43 +0000
56@@ -43,6 +43,7 @@
57 RootState::Ptr m_rootState;
58
59 SwitchItem::Ptr m_flightModeSwitch;
60+ SwitchItem::Ptr m_mobileDataSwitch;
61 SwitchItem::Ptr m_hotspotSwitch;
62 SwitchItem::Ptr m_wifiSwitch;
63
64@@ -111,6 +112,7 @@
65 d->m_ubiquityMenu = factory.newIndicatorMenu(d->m_rootState, "ubiquity");
66
67 d->m_flightModeSwitch = factory.newFlightModeSwitch();
68+ d->m_mobileDataSwitch = factory.newMobileDataSwitch();
69 d->m_hotspotSwitch = factory.newHotspotSwitch();
70 d->m_wifiSwitch = factory.newWifiSwitch();
71
72@@ -125,7 +127,7 @@
73 d.get(), &Priv::updateHotspotSwitch);
74
75 d->m_quickAccessSection = factory.newQuickAccessSection(d->m_flightModeSwitch);
76- d->m_wwanSection = factory.newWwanSection(d->m_hotspotSwitch);
77+ d->m_wwanSection = factory.newWwanSection(d->m_mobileDataSwitch, d->m_hotspotSwitch);
78 d->m_wifiSection = factory.newWiFiSection(d->m_wifiSwitch);
79 d->m_vpnSection = factory.newVpnSection();
80
81
82=== modified file 'src/indicator/sections/wwan-section.cpp'
83--- src/indicator/sections/wwan-section.cpp 2016-02-12 14:25:16 +0000
84+++ src/indicator/sections/wwan-section.cpp 2016-05-27 11:26:43 +0000
85@@ -54,13 +54,14 @@
86
87 Manager::Ptr m_manager;
88
89+ SwitchItem::Ptr m_mobileDataSwitch;
90 SwitchItem::Ptr m_hotspotSwitch;
91 TextItem::Ptr m_openCellularSettings;
92
93 QMap<wwan::Modem::Ptr, WwanLinkItem::Ptr> m_items;
94
95 Private() = delete;
96- Private(Manager::Ptr modemManager, SwitchItem::Ptr hotspotSwitch);
97+ Private(Manager::Ptr modemManager, SwitchItem::Ptr mobileDataSwitch ,SwitchItem::Ptr hotspotSwitch);
98
99 public Q_SLOTS:
100 void modemsChanged();
101@@ -77,8 +78,8 @@
102 }
103 };
104
105-WwanSection::Private::Private(Manager::Ptr modemManager, SwitchItem::Ptr hotspotSwitch)
106- : QObject(nullptr), m_manager{modemManager}, m_hotspotSwitch{hotspotSwitch}
107+WwanSection::Private::Private(Manager::Ptr modemManager, SwitchItem::Ptr mobileDataSwitch,SwitchItem::Ptr hotspotSwitch)
108+ : QObject(nullptr), m_manager{modemManager}, m_mobileDataSwitch{mobileDataSwitch}, m_hotspotSwitch{hotspotSwitch}
109 {
110 m_actionGroupMerger = make_shared<ActionGroupMerger>();
111 m_menuMerger = make_shared<MenuMerger>();
112@@ -91,6 +92,9 @@
113 m_menuMerger->append(m_linkMenuMerger);
114 m_menuMerger->append(m_bottomMenu);
115
116+ m_upperMenu->append(m_mobileDataSwitch->menuItem());
117+ m_actionGroupMerger->add(m_mobileDataSwitch->actionGroup());
118+
119 // have the modem list in their own section.
120 m_topItem = MenuItem::newSection(m_menuMerger);
121 m_topMenu = make_shared<Menu>();
122@@ -186,8 +190,8 @@
123 }
124 }
125
126-WwanSection::WwanSection(nmofono::Manager::Ptr manager, SwitchItem::Ptr hotspotSwitch)
127- : d{new Private(manager, hotspotSwitch)}
128+WwanSection::WwanSection(nmofono::Manager::Ptr manager, SwitchItem::Ptr mobileDataSwitch, SwitchItem::Ptr hotspotSwitch)
129+ : d{new Private(manager, mobileDataSwitch, hotspotSwitch)}
130 {
131 }
132
133
134=== modified file 'src/indicator/sections/wwan-section.h'
135--- src/indicator/sections/wwan-section.h 2015-08-14 15:52:39 +0000
136+++ src/indicator/sections/wwan-section.h 2016-05-27 11:26:43 +0000
137@@ -30,7 +30,7 @@
138
139 public:
140 typedef std::shared_ptr<WwanSection> Ptr;
141- explicit WwanSection(nmofono::Manager::Ptr modemManager, SwitchItem::Ptr hotspotSwitch);
142+ explicit WwanSection(nmofono::Manager::Ptr modemManager, SwitchItem::Ptr mobileDataSwitch, SwitchItem::Ptr hotspotSwitch);
143 virtual ~WwanSection();
144
145 virtual ActionGroup::Ptr actionGroup();

Subscribers

People subscribed via source and target branches