Merge lp:~zeller-benjamin/ubuntu-ui-toolkit/qt56 into lp:ubuntu-ui-toolkit/staging

Proposed by Benjamin Zeller
Status: Merged
Approved by: Zsombor Egri
Approved revision: 1900
Merged at revision: 1903
Proposed branch: lp:~zeller-benjamin/ubuntu-ui-toolkit/qt56
Merge into: lp:ubuntu-ui-toolkit/staging
Diff against target: 385 lines (+129/-7)
11 files modified
apicheck/apicheck.cpp (+11/-0)
src/Ubuntu/Components/plugin/propertychange_p.cpp (+23/-0)
src/Ubuntu/Components/plugin/propertychange_p.h (+9/-0)
src/Ubuntu/Components/plugin/ucbottomedge.cpp (+0/-1)
src/Ubuntu/Components/plugin/uclistitem.cpp (+0/-1)
src/Ubuntu/Components/plugin/ucstylehints.cpp (+4/-0)
src/Ubuntu/Components/plugin/uctheme.cpp (+30/-1)
src/Ubuntu/Layouts/plugin/propertychanges.cpp (+44/-2)
src/Ubuntu/Layouts/plugin/propertychanges_p.h (+7/-0)
src/Ubuntu/UbuntuToolkit/asyncloader.cpp (+0/-1)
tests/unit_x11/tst_touchregistry/tst_TouchRegistry.cpp (+1/-1)
To merge this branch: bzr merge lp:~zeller-benjamin/ubuntu-ui-toolkit/qt56
Reviewer Review Type Date Requested Status
ubuntu-sdk-build-bot continuous-integration Approve
Zsombor Egri Approve
Cris Dywan apicheck Approve
Review via email: mp+289261@code.launchpad.net

Commit message

Compile with Qt 5.6

Description of the change

Compile with Qt 5.6

To post a comment you must log in.
1899. By Benjamin Zeller

Fix typos

Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Cris Dywan (kalikiana) wrote :

Looks sensible on the apicheck side, could've been done cleaner but not all that crucial either.

review: Approve (apicheck)
1900. By Benjamin Zeller

Fix error in propertychange_p.cpp

Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Zsombor Egri (zsombi) wrote :

All look cool, PropertyChange does the job (see tests pass :))
Next move is to move this to the UbuntuToolkit lib :)

review: Approve
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'apicheck/apicheck.cpp'
2--- apicheck/apicheck.cpp 2015-12-18 15:26:04 +0000
3+++ apicheck/apicheck.cpp 2016-03-16 21:41:32 +0000
4@@ -50,6 +50,7 @@
5
6 QString currentProperty;
7 QString inObjectInstantiation;
8+QQmlEngine *currentEngine=0;
9
10 void collectReachableMetaObjects(const QMetaObject *meta, QSet<const QMetaObject *> *metas, bool extended = false)
11 {
12@@ -91,8 +92,13 @@
13 void collectReachableMetaObjects(const QQmlType *ty, QSet<const QMetaObject *> *metas)
14 {
15 collectReachableMetaObjects(ty->metaObject(), metas, ty->isExtendedType());
16+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
17+ if (ty->attachedPropertiesType(currentEngine))
18+ collectReachableMetaObjects(ty->attachedPropertiesType(currentEngine), metas);
19+#else
20 if (ty->attachedPropertiesType())
21 collectReachableMetaObjects(ty->attachedPropertiesType(), metas);
22+#endif
23 }
24
25 /* We want to add the MetaObject for 'Qt' to the list, this is a
26@@ -536,7 +542,11 @@
27 if (isSingleton)
28 object.insert("isSingleton", true);
29
30+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
31+ if (const QMetaObject *attachedType = (*qmlTypes.begin())->attachedPropertiesType(attachedPropertiesType)) {
32+#else
33 if (const QMetaObject *attachedType = (*qmlTypes.begin())->attachedPropertiesType()) {
34+#endif
35 // Can happen when a type is registered that returns itself as attachedPropertiesType()
36 // because there is no creatable type to attach to.
37 if (attachedType != meta) {
38@@ -794,6 +804,7 @@
39 qmlRegisterSingletonType<QObject>("Qt.test.qtestroot", 1, 0, "QTestRootObject", testRootObject);
40
41 QQmlEngine engine;
42+ currentEngine = &engine;
43 QObject::connect(&engine, SIGNAL(quit()), QCoreApplication::instance(), SLOT(quit()));
44
45 // load the QtQuick 2 plugin
46
47=== modified file 'src/Ubuntu/Components/plugin/propertychange_p.cpp'
48--- src/Ubuntu/Components/plugin/propertychange_p.cpp 2015-06-07 13:20:11 +0000
49+++ src/Ubuntu/Components/plugin/propertychange_p.cpp 2016-03-16 21:41:32 +0000
50@@ -42,7 +42,12 @@
51 void PropertyChange::backup()
52 {
53 if (!backedUp) {
54+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
55+ backupBinding = QQmlPropertyPrivate::binding(qmlProperty);
56+ QQmlPropertyPrivate::setBinding(qmlProperty, Q_NULLPTR);
57+#else
58 backupBinding = QQmlPropertyPrivate::setBinding(qmlProperty, Q_NULLPTR);
59+#endif
60 backupValue = qmlProperty.read();
61 backedUp = true;
62 }
63@@ -70,9 +75,18 @@
64 return;
65 }
66 change->backup();
67+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
68+ QQmlAbstractBinding::Ptr prev(QQmlPropertyPrivate::binding(change->qmlProperty));
69+ QQmlPropertyPrivate::setBinding(change->qmlProperty, binding);
70+#else
71 QQmlAbstractBinding *prev = QQmlPropertyPrivate::setBinding(change->qmlProperty, binding);
72+#endif
73 if (prev && prev != binding && prev != change->backupBinding) {
74+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
75+ prev->removeFromObject();
76+#else
77 prev->destroy();
78+#endif
79 }
80 }
81
82@@ -88,9 +102,18 @@
83 if (change->backedUp) {
84 if (change->qmlProperty.isValid()) {
85 if (change->backupBinding) {
86+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
87+ QQmlAbstractBinding::Ptr prev(QQmlPropertyPrivate::binding(change->qmlProperty));
88+ QQmlPropertyPrivate::setBinding(change->qmlProperty, change->backupBinding.data());
89+#else
90 QQmlAbstractBinding *prev = QQmlPropertyPrivate::setBinding(change->qmlProperty, change->backupBinding);
91+#endif
92 if (prev != change->backupBinding && prev) {
93+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
94+ prev->removeFromObject();
95+#else
96 prev->destroy();
97+#endif
98 }
99 } else {
100 change->qmlProperty.write(change->backupValue);
101
102=== modified file 'src/Ubuntu/Components/plugin/propertychange_p.h'
103--- src/Ubuntu/Components/plugin/propertychange_p.h 2015-05-29 06:09:56 +0000
104+++ src/Ubuntu/Components/plugin/propertychange_p.h 2016-03-16 21:41:32 +0000
105@@ -21,6 +21,10 @@
106 #include <QtCore/QObject>
107 #include <QtQml/QQmlProperty>
108
109+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
110+#include <QtCore/QExplicitlySharedDataPointer>
111+#endif
112+
113 class QQmlAbstractBinding;
114 class PropertyChange
115 {
116@@ -41,7 +45,12 @@
117 bool backedUp;
118 QQmlProperty qmlProperty;
119 QVariant backupValue;
120+
121+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
122+ QExplicitlySharedDataPointer<QQmlAbstractBinding> backupBinding;
123+#else
124 QQmlAbstractBinding *backupBinding;
125+#endif
126
127 void backup();
128 };
129
130=== modified file 'src/Ubuntu/Components/plugin/ucbottomedge.cpp'
131--- src/Ubuntu/Components/plugin/ucbottomedge.cpp 2016-03-14 16:45:38 +0000
132+++ src/Ubuntu/Components/plugin/ucbottomedge.cpp 2016-03-16 21:41:32 +0000
133@@ -439,7 +439,6 @@
134 bool UCBottomEdgePrivate::loadStyleItem(bool animated)
135 {
136 // fix styleVersion
137- Q_Q(UCBottomEdge);
138 if (!styleVersion) {
139 styleVersion = BUILD_VERSION(1, 3);
140 }
141
142=== modified file 'src/Ubuntu/Components/plugin/uclistitem.cpp'
143--- src/Ubuntu/Components/plugin/uclistitem.cpp 2016-02-25 19:42:11 +0000
144+++ src/Ubuntu/Components/plugin/uclistitem.cpp 2016-03-16 21:41:32 +0000
145@@ -1471,7 +1471,6 @@
146
147 void UCListItem::focusInEvent(QFocusEvent *event)
148 {
149- Q_D(UCListItem);
150 UCStyledItemBase::focusInEvent(event);
151 if (event->reason() == Qt::MouseFocusReason) {
152 d_func()->setListViewKeyNavigation(false);
153
154=== modified file 'src/Ubuntu/Components/plugin/ucstylehints.cpp'
155--- src/Ubuntu/Components/plugin/ucstylehints.cpp 2015-07-13 15:00:25 +0000
156+++ src/Ubuntu/Components/plugin/ucstylehints.cpp 2016-03-16 21:41:32 +0000
157@@ -252,7 +252,11 @@
158 QQmlBinding *newBinding = 0;
159 if (e.id != QQmlBinding::Invalid) {
160 QV4::Scope scope(QQmlEnginePrivate::getV4Engine(qmlEngine(this)));
161+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
162+ QV4::ScopedValue function(scope, QV4::FunctionObject::createQmlFunction(cdata, item, m_cdata->compilationUnit->runtimeFunctions[e.id]));
163+#else
164 QV4::ScopedValue function(scope, QV4::QmlBindingWrapper::createQmlCallableForFunction(cdata, item, m_cdata->compilationUnit->runtimeFunctions[e.id]));
165+#endif
166 newBinding = new QQmlBinding(function, item, cdata);
167 }
168 if (!newBinding) {
169
170=== modified file 'src/Ubuntu/Components/plugin/uctheme.cpp'
171--- src/Ubuntu/Components/plugin/uctheme.cpp 2016-03-15 10:36:32 +0000
172+++ src/Ubuntu/Components/plugin/uctheme.cpp 2016-03-16 21:41:32 +0000
173@@ -148,6 +148,17 @@
174 const QString THEME_FOLDER_FORMAT("%1/%2/");
175 const QString PARENT_THEME_FILE("parent_theme");
176
177+static inline void updateBinding (QQmlAbstractBinding *binding)
178+{
179+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
180+ if (binding->isValueTypeProxy())
181+ return;
182+ static_cast<QQmlBinding *>(binding)->update();
183+#else
184+ binding->update();
185+#endif
186+}
187+
188 QStringList themeSearchPath()
189 {
190 QString envPath = QLatin1String(getenv("UBUNTU_UI_TOOLKIT_THEMES_PATH"));
191@@ -248,7 +259,11 @@
192 }
193
194 // restore the config binding to the config target
195+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
196+ if (config.configBinding && !config.configBinding->isValueTypeProxy()) {
197+#else
198 if (config.configBinding && config.configBinding->bindingType() == QQmlAbstractBinding::Binding) {
199+#endif
200 QQmlBinding *qmlBinding = static_cast<QQmlBinding*>(config.configBinding);
201 qmlBinding->removeFromObject();
202 qmlBinding->setTarget(config.configProperty);
203@@ -256,11 +271,21 @@
204
205 if (config.paletteBinding) {
206 // restore the binding to the palette
207+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
208+ QQmlAbstractBinding::Ptr prev(QQmlPropertyPrivate::binding(config.paletteProperty));
209+ QQmlPropertyPrivate::setBinding(config.paletteProperty, config.paletteBinding);
210+#else
211 QQmlAbstractBinding *prev = QQmlPropertyPrivate::setBinding(config.paletteProperty, config.paletteBinding);
212+#endif
213 if (prev && prev != config.paletteBinding && prev != config.configBinding) {
214+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
215+ prev->removeFromObject();
216+ prev.reset();
217+#else
218 prev->destroy();
219+#endif
220 }
221- config.paletteBinding->update();
222+ updateBinding(config.paletteBinding);
223 } else {
224 config.paletteProperty.write(config.paletteValue);
225 }
226@@ -324,7 +349,11 @@
227 // apply configuration
228 if (config.configBinding) {
229 // transfer binding's target
230+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
231+ if (!config.configBinding->isValueTypeProxy()) {
232+#else
233 if (config.configBinding->bindingType() == QQmlAbstractBinding::Binding) {
234+#endif
235 QQmlBinding *qmlBinding = static_cast<QQmlBinding*>(config.configBinding);
236 qmlBinding->setTarget(config.paletteProperty);
237 }
238
239=== modified file 'src/Ubuntu/Layouts/plugin/propertychanges.cpp'
240--- src/Ubuntu/Layouts/plugin/propertychanges.cpp 2014-05-16 08:33:43 +0000
241+++ src/Ubuntu/Layouts/plugin/propertychanges.cpp 2016-03-16 21:41:32 +0000
242@@ -90,7 +90,11 @@
243 */
244 void PropertyAction::setTargetBinding(QQmlAbstractBinding *binding, bool deletable)
245 {
246+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
247+ toBinding = binding;
248+#else
249 toBinding = QQmlAbstractBinding::getPointer(binding);
250+#endif
251 deleteToBinding = deletable;
252 }
253
254@@ -101,13 +105,26 @@
255 */
256 void PropertyAction::apply()
257 {
258- if (!toBinding.isNull()) {
259+ if (toBinding) {
260+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
261+ QQmlAbstractBinding::Ptr binding(QQmlPropertyPrivate::binding(property));
262+ QQmlPropertyPrivate::setBinding(property, toBinding.data());
263+#else
264 QQmlAbstractBinding *binding = QQmlPropertyPrivate::setBinding(property, toBinding.data());
265+#endif
266 if (binding != fromBinding || (binding == fromBinding && deleteFromBinding)) {
267+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
268+ if (binding == fromBinding) {
269+ fromBinding.reset();
270+ fromBinding=0;
271+ }
272+ binding->removeFromObject();
273+#else
274 binding->destroy();
275 if (binding == fromBinding) {
276 fromBinding = 0;
277 }
278+#endif
279 }
280 } else if (toValueSet) {
281 if (!property.object()->setProperty(property.name().toLocal8Bit(), toValue)) {
282@@ -127,8 +144,13 @@
283 if (fromBinding) {
284 QQmlPropertyPrivate::setBinding(property, 0);
285 if (deleteFromBinding) {
286+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
287+ fromBinding->removeFromObject();
288+ fromBinding.reset();
289+#else
290 fromBinding->destroy();
291 fromBinding = 0;
292+#endif
293 deleteFromBinding = false;
294 }
295 }
296@@ -144,15 +166,31 @@
297 property.reset();
298 }
299 if (fromBinding) {
300+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
301+ QQmlAbstractBinding::Ptr revertedBinding(QQmlPropertyPrivate::binding(property));
302+ QQmlPropertyPrivate::setBinding(property, fromBinding.data());
303+#else
304 QQmlAbstractBinding *revertedBinding = QQmlPropertyPrivate::setBinding(property, fromBinding);
305+#endif
306+
307 if (revertedBinding && (revertedBinding != fromBinding) && ((revertedBinding != toBinding.data()) || (revertedBinding == toBinding.data() && deleteToBinding))) {
308+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
309+ revertedBinding->removeFromObject();
310+ revertedBinding.reset();
311+#else
312 revertedBinding->destroy();
313+#endif
314 }
315- } else if (!toBinding.isNull() && QQmlPropertyPrivate::binding(property) == toBinding.data()) {
316+ } else if (toBinding && QQmlPropertyPrivate::binding(property) == toBinding.data()) {
317 QQmlPropertyPrivate::setBinding(property, 0);
318 if (deleteToBinding) {
319+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
320+ toBinding->removeFromObject();
321+ toBinding.reset();
322+#else
323 toBinding.data()->destroy();
324 toBinding.clear();
325+#endif
326 deleteToBinding = false;
327 }
328 } else if (property.isValid() && fromValue.isValid() && (type == Value)) {
329@@ -193,7 +231,11 @@
330 } else {
331 QQmlBinding *binding = new QQmlBinding(script, target, scriptContext);
332 binding->setTarget(action.property);
333+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
334+ action.toBinding = binding;
335+#else
336 action.toBinding = QQmlAbstractBinding::getPointer(binding);
337+#endif
338 action.deleteToBinding = true;
339 }
340 }
341
342=== modified file 'src/Ubuntu/Layouts/plugin/propertychanges_p.h'
343--- src/Ubuntu/Layouts/plugin/propertychanges_p.h 2014-05-13 15:02:13 +0000
344+++ src/Ubuntu/Layouts/plugin/propertychanges_p.h 2016-03-16 21:41:32 +0000
345@@ -46,8 +46,15 @@
346 // members
347 Type type;
348 QQmlProperty property;
349+
350+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
351+ QQmlAbstractBinding::Ptr fromBinding;
352+ QQmlAbstractBinding::Ptr toBinding;
353+#else
354 QQmlAbstractBinding *fromBinding;
355 QWeakPointer<QQmlAbstractBinding> toBinding;
356+#endif
357+
358 QVariant fromValue;
359 QVariant toValue;
360
361
362=== modified file 'src/Ubuntu/UbuntuToolkit/asyncloader.cpp'
363--- src/Ubuntu/UbuntuToolkit/asyncloader.cpp 2016-02-25 14:30:46 +0000
364+++ src/Ubuntu/UbuntuToolkit/asyncloader.cpp 2016-03-16 21:41:32 +0000
365@@ -88,7 +88,6 @@
366 return;
367 }
368
369- Q_Q(AsyncLoader);
370 if (componentHandler) {
371 QObject::disconnect(*componentHandler);
372 }
373
374=== modified file 'tests/unit_x11/tst_touchregistry/tst_TouchRegistry.cpp'
375--- tests/unit_x11/tst_touchregistry/tst_TouchRegistry.cpp 2015-11-09 15:46:45 +0000
376+++ tests/unit_x11/tst_touchregistry/tst_TouchRegistry.cpp 2016-03-16 21:41:32 +0000
377@@ -707,7 +707,7 @@
378 touchRegistry->removeCandidateOwnerForTouch(0, &earlyCandidate);
379
380 QCOMPARE(lateCandidate.ownedTouches.count(), 1);
381- QCOMPARE(lateCandidate.ownedTouches.contains(0), 1);
382+ QCOMPARE(lateCandidate.ownedTouches.contains(0), true);
383
384 // Check that there's no trace left of touch 0 as we no longer need to keep tabs on it.
385 QVERIFY(!touchRegistry->findTouchInfo(0));

Subscribers

People subscribed via source and target branches