on xenial help sign in
Move profile selection from IndicatorBase.qml to indicatorsmanager.cpp
ff0498aLars Uebernickel
plugins/Unity/Indicators/indicator.cpp+3−15
@@ -31,32 +31,20 @@ Indicator::~Indicator()
31{
31{
32}
32}
33
33
34−void Indicator::init(const QString& busName, const QSettings& settings)
34+void Indicator::init(const QString &profile, const QString& busName, const QSettings& settings)
35{
35{
36 setId(settings.value("Indicator Service/Name").toString());
36 setId(settings.value("Indicator Service/Name").toString());
37 setPosition(settings.value("Indicator Service/Position", QVariant::fromValue(0)).toInt());
37 setPosition(settings.value("Indicator Service/Position", QVariant::fromValue(0)).toInt());
38
38
39 QString actionObjectPath = settings.value("Indicator Service/ObjectPath").toString();
39 QString actionObjectPath = settings.value("Indicator Service/ObjectPath").toString();
40−
40+ QString menuObjectPath = settings.value(profile + "/ObjectPath").toString();
41− QVariantMap mapMenuObjectPaths;
42− Q_FOREACH(const QString& childGroup, settings.childGroups())
43− {
44− if (childGroup == "Indicator Service")
45− continue;
46−
47− QString menuPath = childGroup+"/ObjectPath";
48− if (settings.contains(menuPath))
49− {
50− mapMenuObjectPaths[childGroup] = settings.value(menuPath).toString();
51− }
52− }
53
41
54 QVariantMap properties;
42 QVariantMap properties;
55 properties.clear();
43 properties.clear();
56 properties.insert("busType", 1);
44 properties.insert("busType", 1);
57 properties.insert("busName", busName);
45 properties.insert("busName", busName);
58 properties.insert("actionsObjectPath", actionObjectPath);
46 properties.insert("actionsObjectPath", actionObjectPath);
59− properties.insert("menuObjectPaths", mapMenuObjectPaths);
47+ properties.insert("menuObjectPath", menuObjectPath);
60 setIndicatorProperties(properties);
48 setIndicatorProperties(properties);
61}
49}
62
50
plugins/Unity/Indicators/indicator.h+1−1
@@ -35,7 +35,7 @@ public:
35 Indicator(QObject *parent = 0);
35 Indicator(QObject *parent = 0);
36 virtual ~Indicator();
36 virtual ~Indicator();
37
37
38− void init(const QString& busName, const QSettings& settings);
38+ void init(const QString &profile, const QString& busName, const QSettings& settings);
39
39
40 QString identifier() const;
40 QString identifier() const;
41 int position() const;
41 int position() const;
plugins/Unity/Indicators/indicatorsmanager.cpp+3−1
@@ -26,6 +26,8 @@
26
26
27#include "paths.h"
27#include "paths.h"
28
28
29+const QString profile = "phone";
30+
29
31
30class IndicatorsManager::IndicatorData
32class IndicatorsManager::IndicatorData
31{
33{
@@ -302,7 +304,7 @@ Indicator::Ptr IndicatorsManager::indicator(const QString& indicator_name)
302 Indicator::Ptr new_indicator(new Indicator(this));
304 Indicator::Ptr new_indicator(new Indicator(this));
303 data->m_indicator = new_indicator;
305 data->m_indicator = new_indicator;
304 QSettings settings(data->m_fileInfo.absoluteFilePath(), QSettings::IniFormat, this);
306 QSettings settings(data->m_fileInfo.absoluteFilePath(), QSettings::IniFormat, this);
305− new_indicator->init(data->m_fileInfo.fileName(), settings);
307+ new_indicator->init(profile, data->m_fileInfo.fileName(), settings);
306 return new_indicator;
308 return new_indicator;
307}
309}
308
310
plugins/Unity/Indicators/qml/IndicatorBase.qml+3−4
@@ -24,16 +24,15 @@ import Unity.Indicators 0.1 as Indicators
24Item {
24Item {
25 id: indicatorItem
25 id: indicatorItem
26
26
27− enabled: menuObjectPaths.hasOwnProperty(device)
27+ enabled: menuObjectPath != ""
28
28
29 //const
29 //const
30 property string busName
30 property string busName
31 property string actionsObjectPath
31 property string actionsObjectPath
32− property var menuObjectPaths: undefined
32+ property string menuObjectPath
33− readonly property string device: "phone"
34 property string rootMenuType: "com.canonical.indicator.root"
33 property string rootMenuType: "com.canonical.indicator.root"
35
34
36− property string deviceMenuObjectPath: menuObjectPaths.hasOwnProperty(device) ? menuObjectPaths[device] : ""
35+ property string deviceMenuObjectPath: menuObjectPath
37
36
38 property alias menuModel: cachedModel.model
37 property alias menuModel: cachedModel.model
39
38