on xenial help sign in
MenuItemFactory: activate item on calendar selection change
323634eMarco Trevisan (Treviño)
debian/control+3−3
@@ -28,7 +28,7 @@ Build-Depends: cmake,
28 libpam0g-dev,
28 libpam0g-dev,
29 libpay2-dev,
29 libpay2-dev,
30 libpulse-dev,
30 libpulse-dev,
31− libqmenumodel-dev (>= 0.2.9),
31+ libqmenumodel-dev (>= 0.2.10),
32 libqt5svg5-dev,
32 libqt5svg5-dev,
33 libqt5xmlpatterns5-dev,
33 libqt5xmlpatterns5-dev,
34 libsystemsettings-dev,
34 libsystemsettings-dev,
@@ -79,7 +79,7 @@ X-Ubuntu-Use-Langpack: yes
79
79
80Package: indicators-client
80Package: indicators-client
81Architecture: any
81Architecture: any
82−Depends: qmenumodel-qml (>= 0.2.9),
82+Depends: qmenumodel-qml (>= 0.2.10),
83 qml-module-ubuntu-components (>= 1.3.2030) | qml-module-ubuntu-components-gles (>= 1.3.2030),
83 qml-module-ubuntu-components (>= 1.3.2030) | qml-module-ubuntu-components-gles (>= 1.3.2030),
84 unity8 (= ${binary:Version}),
84 unity8 (= ${binary:Version}),
85 ${misc:Depends},
85 ${misc:Depends},
@@ -118,7 +118,7 @@ Depends: dmz-cursor-theme,
118 gsettings-desktop-schemas,
118 gsettings-desktop-schemas,
119 libcap2-bin,
119 libcap2-bin,
120 libglib2.0-bin,
120 libglib2.0-bin,
121− qmenumodel-qml (>= 0.2.9),
121+ qmenumodel-qml (>= 0.2.10),
122 qml-module-biometryd,
122 qml-module-biometryd,
123 qml-module-qt-labs-folderlistmodel,
123 qml-module-qt-labs-folderlistmodel,
124 qml-module-qtquick-xmllistmodel,
124 qml-module-qtquick-xmllistmodel,
plugins/Unity/Indicators/modelprinter.cpp+19−4
@@ -105,12 +105,25 @@ QString ModelPrinter::getRowSring(UnityMenuModel* sourceModel, int row, int dept
105
105
106 Q_FOREACH(int role, roles) {
106 Q_FOREACH(int role, roles) {
107 const QByteArray& roleName = roleNames[role];
107 const QByteArray& roleName = roleNames[role];
108− stream << tabify(depth) << getVariantString(roleName, sourceModel->get(row, roleName));
108+ stream << getVariantString(roleName, sourceModel->get(row, roleName), depth);
109 }
109 }
110 return str;
110 return str;
111}
111}
112
112
113−QString ModelPrinter::getVariantString(const QString& roleName, const QVariant &vData) const
113+QString ModelPrinter::getVariantString(const QVariant& vData) const
114+{
115+ if (vData.type() == QVariant::List) {
116+ QStringList strList;
117+ for (const auto& v : vData.toList())
118+ strList.append(getVariantString(v));
119+
120+ return '[' + strList.join(", ") + ']';
121+ }
122+
123+ return vData.toString();
124+}
125+
126+QString ModelPrinter::getVariantString(const QString& roleName, const QVariant &vData, int depth) const
114{
127{
115 QString str;
128 QString str;
116 QTextStream stream(&str);
129 QTextStream stream(&str);
@@ -119,18 +132,20 @@ QString ModelPrinter::getVariantString(const QString& roleName, const QVariant &
119 QMapIterator<QString, QVariant> iter(vData.toMap());
132 QMapIterator<QString, QVariant> iter(vData.toMap());
120 while (iter.hasNext()) {
133 while (iter.hasNext()) {
121 iter.next();
134 iter.next();
135+ stream << tabify(depth);
122 stream << roleName
136 stream << roleName
123 << "."
137 << "."
124 << iter.key()
138 << iter.key()
125 << ": "
139 << ": "
126− << iter.value().toString()
140+ << getVariantString(iter.value())
127 << endl;
141 << endl;
128 }
142 }
129 }
143 }
130 else {
144 else {
145+ stream << tabify(depth);
131 stream << roleName
146 stream << roleName
132 << ": "
147 << ": "
133− << vData.toString()
148+ << getVariantString(vData)
134 << endl;
149 << endl;
135 }
150 }
136 return str;
151 return str;
plugins/Unity/Indicators/modelprinter.h+2−1
@@ -46,7 +46,8 @@ Q_SIGNALS:
46private:
46private:
47 QString getModelDataString(UnityMenuModel* sourceModel, int level);
47 QString getModelDataString(UnityMenuModel* sourceModel, int level);
48 QString getRowSring(UnityMenuModel* sourceModel, int index, int depth) const;
48 QString getRowSring(UnityMenuModel* sourceModel, int index, int depth) const;
49− QString getVariantString(const QString& roleName, const QVariant &vData) const;
49+ QString getVariantString(const QString& roleName, const QVariant &vData, int depth) const;
50+ QString getVariantString(const QVariant&) const;
50
51
51 UnityMenuModel* m_model;
52 UnityMenuModel* m_model;
52 QList<UnityMenuModel*> m_children;
53 QList<UnityMenuModel*> m_children;
qml/Panel/Indicators/MenuItemFactory.qml+7
@@ -508,6 +508,13 @@ Item {
508 objectName: "calendarMenu"
508 objectName: "calendarMenu"
509 highlightWhenPressed: false
509 highlightWhenPressed: false
510 focus: true
510 focus: true
511+
512+ property var menuModel: menuFactory.menuModel
513+ property int menuIndex: -1
514+
515+ onSelectedDateChanged: {
516+ menuModel.activate(menuIndex, selectedDate.getTime() / 1000 | 0)
517+ }
511 }
518 }
512 }
519 }
513
520