Merge lp://staging/~faenil/ubuntu-ui-toolkit/listItem_slotsLayout into lp://staging/ubuntu-ui-toolkit/staging

Proposed by Andrea Bernabei
Status: Merged
Approved by: Zsombor Egri
Approved revision: 1308
Merged at revision: 1665
Proposed branch: lp://staging/~faenil/ubuntu-ui-toolkit/listItem_slotsLayout
Merge into: lp://staging/ubuntu-ui-toolkit/staging
Diff against target: 4291 lines (+3949/-41)
30 files modified
components.api (+23/-0)
examples/ubuntu-ui-toolkit-gallery/ListItemLayouts.qml (+267/-0)
examples/ubuntu-ui-toolkit-gallery/ListItemWithLabel.qml (+5/-9)
examples/ubuntu-ui-toolkit-gallery/NewListItems.qml (+19/-19)
examples/ubuntu-ui-toolkit-gallery/WidgetsModel.qml (+10/-5)
src/Ubuntu/Components/1.3/ProgressionSlot.qml (+59/-0)
src/Ubuntu/Components/ComponentModule.pro (+2/-3)
src/Ubuntu/Components/plugin/plugin.cpp (+6/-0)
src/Ubuntu/Components/plugin/plugin.pri (+9/-2)
src/Ubuntu/Components/plugin/privates/threelabelsslot_p.cpp (+223/-0)
src/Ubuntu/Components/plugin/privates/threelabelsslot_p.h (+76/-0)
src/Ubuntu/Components/plugin/uclistitemlayout.cpp (+275/-0)
src/Ubuntu/Components/plugin/uclistitemlayout.h (+42/-0)
src/Ubuntu/Components/plugin/ucslotslayout.cpp (+1296/-0)
src/Ubuntu/Components/plugin/ucslotslayout.h (+154/-0)
src/Ubuntu/Components/plugin/ucslotslayout_p.h (+149/-0)
src/Ubuntu/Components/qmldir (+1/-0)
tests/unit/tst_performance/ListItemWithInlineActionsAndFourContainersList.qml (+66/-0)
tests/unit/tst_performance/ListItemWithInlineActionsAndFourMouseAreas.qml (+66/-0)
tests/unit/tst_performance/ListOfCustomListItemLayouts.qml (+94/-0)
tests/unit/tst_performance/ListOfEmptyListItemLayout.qml (+32/-0)
tests/unit/tst_performance/ListOfEmptyListItemLayout_withProgression.qml (+32/-0)
tests/unit/tst_performance/ListOfHardcodedFourContainersLayout.qml (+32/-0)
tests/unit/tst_performance/ListOfHardcodedFourContainersLayout_withItems.qml (+34/-0)
tests/unit/tst_performance/ListOfListItemLayout_complex1.qml (+36/-0)
tests/unit/tst_performance/ListOfListItemLayout_complex2.qml (+50/-0)
tests/unit/tst_performance/ListOfListItemLayout_labelsOnly.qml (+33/-0)
tests/unit/tst_performance/tst_performance.cpp (+10/-2)
tests/unit/tst_performance/tst_performance.pro (+9/-1)
tests/unit_x11/tst_components/tst_slotslayout.qml (+839/-0)
To merge this branch: bzr merge lp://staging/~faenil/ubuntu-ui-toolkit/listItem_slotsLayout
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Zsombor Egri Approve
Review via email: mp+270581@code.staging.launchpad.net

Description of the change

This MR adds the SlotsLayout and ListItemLayout C++ components, with documentation and tests

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

Here you go, comments in between the lines

review: Needs Fixing
Revision history for this message
Andrea Bernabei (faenil) wrote :

I addressed most of the comment, thanks for the review :)

I have a few concerns, but we can discuss on Monday ;)

1249. By Andrea Bernabei

SlotsLayout: add enum to represent slots positioning modes

1250. By Andrea Bernabei

SlotsLayout: read labels' font colour from the theme context property

1251. By Andrea Bernabei

SlotsLayout: connect to chevron attached properties the same way we do for other slots

1252. By Andrea Bernabei

SlotsLayout: use qmlInfo() instead of qDebug() or qWarning() so that the output is shown in release mode as well

1253. By Andrea Bernabei

SlotsLayout: style fixes and a bit of refactoring

1254. By Andrea Bernabei

SlotsLayout: use bitfields for bools

1255. By Andrea Bernabei

SlotsLayout: make the layout a focus scope

1256. By Andrea Bernabei

SlotsLayout: always show chevron as last slot and take it into account in max slots available var

1257. By Andrea Bernabei

SlotsLayout: make leadingSlots/trailingSlots members of the private impl

1258. By Andrea Bernabei

SlotsLayout: refactoring of layout process

1259. By Andrea Bernabei

SlotsLayout: ignore invisible slots

1260. By Andrea Bernabei

SlotsLayout: delete bool ready, use componentComplete instead

1261. By Andrea Bernabei

SlotsLayout: expose content margins as grouped property (new class UCSlotsLayoutMargins)

1262. By Andrea Bernabei

SlotsLayout: remove old QML experimental list item layout files

1263. By Andrea Bernabei

merge stagin

1264. By Andrea Bernabei

SlotsLayout: add private implementation for slots attached property

1265. By Andrea Bernabei

SlotsLayout: replace relayoutNeeded signal with direct calls to relayout()

1266. By Andrea Bernabei

SlotsLayout: add API to position a slot at beginning/end of leading/trailing slots

1267. By Andrea Bernabei

SlotsLayout: replace internal QQuickPaintedItem chevron with QML ProgressionSlot to allow more flexibility

1268. By Andrea Bernabei

merge staging

1269. By Andrea Bernabei

SlotsLayout: add copyright headers

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1270. By Andrea Bernabei

SlotsLayout: commit current components.api file change

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1271. By Andrea Bernabei

SlotsLayout: add an example with RTL layout

1272. By Andrea Bernabei

SlotsLayout: replace internal labels with a customizable mainSlot

1273. By Andrea Bernabei

SlotsLayout: add C++ ThreeLabelsSlot (temp name) to overcome slowness of using 3 Labels as mainSlot

1274. By Andrea Bernabei

SlotsLayout: use lazy initialization for labels (instead of allocating them on the stack)

1275. By Andrea Bernabei

SlotsLayout: cache UCTheme and palette color as they're expensive to query

1276. By Andrea Bernabei

SlotsLayout: rename properties according to API review agreements

1277. By Andrea Bernabei

SlotsLayout: first batch of tests + bug fix

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1278. By Andrea Bernabei

SlotsLayout: add first documentation, missing code examples

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1279. By Andrea Bernabei

SlotsLayout: replace leading/trailingPadding of the slot with UCSlotsLayoutPadding, i.e. add top and bottom padding to slots attached properties

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1280. By Andrea Bernabei

SlotsLayout: add relative positioning feature, you can now use SlotsLayout.Leading+1 as position, to decide a sorting order between slots

1281. By Andrea Bernabei

SlotsLayout: fix ProgressionSlot position

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1282. By Andrea Bernabei

merge staging

1283. By Andrea Bernabei

SlotsLayout: update .api file

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
1284. By Andrea Bernabei

SlotsLayout: add more tests

1285. By Andrea Bernabei

SlotsLayout: ensure invisible items are ignore while computing implicitHeight

1286. By Andrea Bernabei

SlotsLayout: add more tests and fix bugs that those tests uncovered

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1287. By Andrea Bernabei

SlotsLayout: many tests, many bugfixes

1288. By Andrea Bernabei

merge staging

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
1289. By Andrea Bernabei

SlotsLayout: add ProgressionSlot doc and code examples in SlotsLayout and ListItemLayout docs

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
1290. By Andrea Bernabei

SlotsLayout: no need to update slots bbox height when layout's padding changes

1291. By Andrea Bernabei

SlotsLayout: more documentation, more bugfixes

1292. By Andrea Bernabei

SlotsLayout: use different integers for enum values to decrease chances of int overflow

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1293. By Andrea Bernabei

SlotsLayout: more documentation

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1294. By Andrea Bernabei

merge staging

1295. By Andrea Bernabei

SlotsLayout: improve documentation, WIP update UI gallery

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1296. By Andrea Bernabei

SlotsLayout: more updates to UI gallery plus use UCLabel instead of QQuickText for ListItemLayout labels

1297. By Andrea Bernabei

merge stagin

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1298. By Andrea Bernabei

SlotsLayout: add ListItemLayout licence header

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1299. By Andrea Bernabei

Merge staging and move ThreeLabelsSlot to separate files

1300. By Andrea Bernabei

SlotsLayout: improve docs

1301. By Andrea Bernabei

SlotsLayout: doc fix

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Zsombor Egri (zsombi) wrote :

Lots of things to do still :)
No qDebug() is allowed in the code. Use qWarning() or qFatal() if needed.
If you need theming, see UCThemingExtension, you can benefit of that!

See Label stuff!

And push the changes at once, so I can review them in a separate and compact revision. Thanks!! Good stuff otherwise!

review: Needs Fixing
1302. By Andrea Bernabei

merge staging

1303. By Andrea Bernabei

SlotsLayout: code and visual review changes

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
1304. By Andrea Bernabei

ListItemLayout: add labels positioning tests, override setMainSlot to disable replacing mainSlot, deallocate old C++ mainSlots

1305. By Andrea Bernabei

merge staging

1306. By Andrea Bernabei

ListItemLayout: improve labels layout tests, fix one corner case

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Zsombor Egri (zsombi) wrote :

One small change and we're good to go!!! We're almost there!

review: Needs Fixing
1307. By Andrea Bernabei

ListItemLayout: add more labels layout tests

1308. By Andrea Bernabei

ListItemLayout: move UCThreeLabelsSlot files to privates folder, add test for customization of mainSlot

Revision history for this message
Zsombor Egri (zsombi) wrote :

Huge MR, huge amount of nice work!! Keep it like that, but hopefully smaller MRs ;)

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches