aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quickcontrols2
diff options
context:
space:
mode:
Diffstat (limited to 'examples/quickcontrols2')
-rw-r--r--examples/quickcontrols2/chattutorial/doc/src/qtquickcontrols2-chattutorial.qdoc15
-rw-r--r--examples/quickcontrols2/gallery/gallery.cpp3
-rw-r--r--examples/quickcontrols2/gallery/gallery.pro3
-rw-r--r--examples/quickcontrols2/gallery/gallery.qml16
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20/back.png (renamed from examples/quickcontrols2/gallery/images/back.png)bin220 -> 220 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20/drawer.png (renamed from examples/quickcontrols2/gallery/images/drawer.png)bin123 -> 123 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20/menu.png (renamed from examples/quickcontrols2/gallery/images/menu.png)bin123 -> 123 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20@2/back.png (renamed from examples/quickcontrols2/gallery/images/back@2x.png)bin289 -> 289 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20@2/drawer.png (renamed from examples/quickcontrols2/gallery/images/drawer@2x.png)bin126 -> 126 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20@2/menu.png (renamed from examples/quickcontrols2/gallery/images/menu@2x.png)bin158 -> 158 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20@3/back.png (renamed from examples/quickcontrols2/gallery/images/back@3x.png)bin351 -> 351 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20@3/drawer.png (renamed from examples/quickcontrols2/gallery/images/drawer@3x.png)bin130 -> 130 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20@3/menu.png (renamed from examples/quickcontrols2/gallery/images/menu@3x.png)bin193 -> 193 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20@4/back.png (renamed from examples/quickcontrols2/gallery/images/back@4x.png)bin452 -> 452 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20@4/drawer.png (renamed from examples/quickcontrols2/gallery/images/drawer@4x.png)bin131 -> 131 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/20x20@4/menu.png (renamed from examples/quickcontrols2/gallery/images/menu@4x.png)bin223 -> 223 bytes
-rw-r--r--examples/quickcontrols2/gallery/icons/gallery/index.theme24
-rw-r--r--examples/quickcontrols2/gallery/images/+material/back.pngbin219 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/back@2x.pngbin299 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/back@3x.pngbin344 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/back@4x.pngbin473 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/drawer.pngbin213 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/drawer@2x.pngbin286 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/drawer@3x.pngbin345 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/drawer@4x.pngbin420 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/menu.pngbin232 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/menu@2x.pngbin366 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/menu@3x.pngbin499 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/images/+material/menu@4x.pngbin642 -> 0 bytes
-rw-r--r--examples/quickcontrols2/gallery/pages/DialogPage.qml8
-rw-r--r--examples/quickcontrols2/imagine/automotive/automotive.cpp75
-rw-r--r--examples/quickcontrols2/imagine/automotive/automotive.pro15
-rw-r--r--examples/quickcontrols2/imagine/automotive/doc/images/qtquickcontrols2-automotive.pngbin0 -> 356738 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/doc/src/qtquickcontrols2-automotive.qdoc40
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/air-con.pngbin0 -> 1394 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/command.pngbin0 -> 1350 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/message.pngbin0 -> 479 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/music.pngbin0 -> 622 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/seats.pngbin0 -> 1017 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/settings.pngbin0 -> 1406 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/statistics.pngbin0 -> 324 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/windows.pngbin0 -> 564 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/air-con.pngbin0 -> 2337 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/command.pngbin0 -> 2461 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/message.pngbin0 -> 639 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/music.pngbin0 -> 1106 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/navigation.pngbin0 -> 1604 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/seats.pngbin0 -> 1793 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/settings.pngbin0 -> 2413 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/statistics.pngbin0 -> 394 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/windows.pngbin0 -> 999 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/icons.svg526
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/automotive/index.theme14
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/car.pngbin0 -> 14952 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/car@2x.pngbin0 -> 37391 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/icons.qrc29
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/warning.pngbin0 -> 1212 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/warning@2x.pngbin0 -> 2118 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/weather.pngbin0 -> 1092 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/icons/weather@2x.pngbin0 -> 1798 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/applicationwindow-background.pngbin0 -> 91 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/applicationwindow-background@2x.pngbin0 -> 98 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked-hovered.9.pngbin0 -> 368 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked-hovered@2x.9.pngbin0 -> 669 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked.9.pngbin0 -> 291 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked@2x.9.pngbin0 -> 506 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-hovered.9.pngbin0 -> 315 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-hovered@2x.9.pngbin0 -> 581 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-pressed.9.pngbin0 -> 289 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-pressed@2x.9.pngbin0 -> 501 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background.9.pngbin0 -> 291 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/button-background@2x.9.pngbin0 -> 515 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-hovered.pngbin0 -> 3383 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-hovered@2x.pngbin0 -> 7128 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-pressed.pngbin0 -> 3084 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-pressed@2x.pngbin0 -> 6196 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background.pngbin0 -> 2746 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background@2x.pngbin0 -> 6094 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle-pressed.pngbin0 -> 136 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle-pressed@2x.pngbin0 -> 172 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle.pngbin0 -> 164 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle@2x.pngbin0 -> 177 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/frame-background.9.pngbin0 -> 257 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/frame-background@2x.9.pngbin0 -> 383 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/imagine-assets.qrc80
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-checked.9.pngbin0 -> 141 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-checked@2x.9.pngbin0 -> 180 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-hovered.9.pngbin0 -> 200 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-hovered@2x.9.pngbin0 -> 243 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-pressed.9.pngbin0 -> 139 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-pressed@2x.9.pngbin0 -> 178 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background.9.pngbin0 -> 134 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background@2x.9.pngbin0 -> 172 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-hovered.pngbin0 -> 623 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-hovered@2x.pngbin0 -> 1062 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-pressed.pngbin0 -> 271 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-pressed@2x.pngbin0 -> 429 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked.pngbin0 -> 291 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked@2x.pngbin0 -> 452 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-hovered.pngbin0 -> 444 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-hovered@2x.pngbin0 -> 842 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-pressed.pngbin0 -> 249 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-pressed@2x.pngbin0 -> 420 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator.pngbin0 -> 231 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator@2x.pngbin0 -> 384 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/scrollindicator-handle.pngbin0 -> 99 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/scrollindicator-handle@2x.pngbin0 -> 100 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-background-horizontal.9.pngbin0 -> 177 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-background-horizontal@2x.9.pngbin0 -> 274 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-hovered.pngbin0 -> 217 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-hovered@2x.pngbin0 -> 385 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-pressed.pngbin0 -> 155 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-pressed@2x.pngbin0 -> 258 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle.pngbin0 -> 166 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle@2x.pngbin0 -> 312 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal-pressed.9.pngbin0 -> 168 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal-pressed@2x.9.pngbin0 -> 262 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal.9.pngbin0 -> 175 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal@2x.9.pngbin0 -> 269 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-background.9.pngbin0 -> 112 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-background@2x.9.pngbin0 -> 118 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked-hovered.pngbin0 -> 253 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked-hovered@2x.pngbin0 -> 441 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked.pngbin0 -> 145 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked@2x.pngbin0 -> 195 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-hovered.pngbin0 -> 253 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-hovered@2x.pngbin0 -> 452 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-pressed.pngbin0 -> 145 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-pressed@2x.pngbin0 -> 195 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle.pngbin0 -> 217 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle@2x.pngbin0 -> 354 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator-pressed.pngbin0 -> 129 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator-pressed@2x.pngbin0 -> 180 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator.pngbin0 -> 129 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator@2x.pngbin0 -> 180 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/toolseparator-separator-vertical.9.pngbin0 -> 145 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/imagine-assets/toolseparator-separator-vertical@2x.9.pngbin0 -> 213 bytes
-rw-r--r--examples/quickcontrols2/imagine/automotive/qml/CustomGlow.qml57
-rw-r--r--examples/quickcontrols2/imagine/automotive/qml/FeatureButton.qml70
-rw-r--r--examples/quickcontrols2/imagine/automotive/qml/GlowingLabel.qml90
-rw-r--r--examples/quickcontrols2/imagine/automotive/qml/automotive.qml642
-rw-r--r--examples/quickcontrols2/imagine/automotive/qml/qml.qrc8
-rw-r--r--examples/quickcontrols2/imagine/automotive/qtquickcontrols2.conf10
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/doc/images/qtquickcontrols2-musicplayer.pngbin0 -> 1457884 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/doc/src/qtquickcontrols2-musicplayer.qdoc57
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/icons.qrc40
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/bluetooth.pngbin0 -> 556 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/cart.pngbin0 -> 425 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/cloud.pngbin0 -> 525 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/favorite.pngbin0 -> 379 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/filter.pngbin0 -> 441 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/folder.pngbin0 -> 279 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/message.pngbin0 -> 466 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/music.pngbin0 -> 454 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/next.pngbin0 -> 201 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/pause.pngbin0 -> 141 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/power.pngbin0 -> 710 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/previous.pngbin0 -> 203 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/repeat.pngbin0 -> 328 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/save.pngbin0 -> 419 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/settings.pngbin0 -> 499 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/shuffle.pngbin0 -> 366 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/stop.pngbin0 -> 157 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/bluetooth.pngbin0 -> 1202 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/cart.pngbin0 -> 782 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/cloud.pngbin0 -> 1003 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/favorite.pngbin0 -> 744 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/filter.pngbin0 -> 872 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/folder.pngbin0 -> 437 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/grid.pngbin0 -> 177 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/message.pngbin0 -> 850 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/music.pngbin0 -> 842 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/next.pngbin0 -> 354 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/pause.pngbin0 -> 163 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/power.pngbin0 -> 1329 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/previous.pngbin0 -> 436 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/repeat.pngbin0 -> 634 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/save.pngbin0 -> 496 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/settings.pngbin0 -> 960 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/shuffle.pngbin0 -> 724 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/stop.pngbin0 -> 242 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/icons.svg648
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/index.theme14
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/images/album-cover.jpgbin0 -> 917863 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/applicationwindow-background.pngbin0 -> 82 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked-hovered.9.pngbin0 -> 1446 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked-hovered@2x.9.pngbin0 -> 4150 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked.9.pngbin0 -> 1353 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked@2x.9.pngbin0 -> 4049 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-disabled.9.pngbin0 -> 543 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-disabled@2x.9.pngbin0 -> 1509 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-hovered.9.pngbin0 -> 1444 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-hovered@2x.9.pngbin0 -> 3855 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-pressed.9.pngbin0 -> 1437 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-pressed@2x.9.pngbin0 -> 4048 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background.9.pngbin0 -> 1368 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background@2x.9.pngbin0 -> 3813 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-hovered.9.pngbin0 -> 4220 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-hovered@2x.9.pngbin0 -> 15135 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-open.9.pngbin0 -> 4197 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-open@2x.9.pngbin0 -> 14766 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-pressed.9.pngbin0 -> 4254 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-pressed@2x.9.pngbin0 -> 14995 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background.9.pngbin0 -> 4283 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background@2x.9.pngbin0 -> 14357 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-hovered.pngbin0 -> 390 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-hovered@2x.pngbin0 -> 961 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-open.pngbin0 -> 415 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-open@2x.pngbin0 -> 929 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-pressed.pngbin0 -> 373 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-pressed@2x.pngbin0 -> 955 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator.pngbin0 -> 381 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator@2x.pngbin0 -> 970 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-popup.9.pngbin0 -> 2437 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-popup@2x.9.pngbin0 -> 5349 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-hovered.pngbin0 -> 11658 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-hovered@2x.pngbin0 -> 36836 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-pressed.pngbin0 -> 13807 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-pressed@2x.pngbin0 -> 46319 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background.pngbin0 -> 12858 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background@2x.pngbin0 -> 43910 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle-pressed.pngbin0 -> 528 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle-pressed@2x.pngbin0 -> 1091 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle.pngbin0 -> 478 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle@2x.pngbin0 -> 852 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/frame-background.9.pngbin0 -> 353 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/frame-background@2x.9.pngbin0 -> 451 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/imagine-assets.qrc113
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-checked.9.pngbin0 -> 1552 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-checked@2x.9.pngbin0 -> 3489 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-disabled.9.pngbin0 -> 241 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-disabled@2x.9.pngbin0 -> 254 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-hovered.9.pngbin0 -> 1490 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-hovered@2x.9.pngbin0 -> 3316 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-pressed.9.pngbin0 -> 1572 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-pressed@2x.9.pngbin0 -> 3534 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background.9.pngbin0 -> 241 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background@2x.9.pngbin0 -> 254 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked-hovered.pngbin0 -> 2109 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked-hovered@2x.pngbin0 -> 5930 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked.pngbin0 -> 1883 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked@2x.pngbin0 -> 5271 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-disabled.pngbin0 -> 1073 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-disabled@2x.pngbin0 -> 3011 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-hovered.pngbin0 -> 1901 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-hovered@2x.pngbin0 -> 5306 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-pressed.pngbin0 -> 1886 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-pressed@2x.pngbin0 -> 5263 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background.pngbin0 -> 1802 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background@2x.pngbin0 -> 5131 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-hovered.pngbin0 -> 199 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-hovered@2x.pngbin0 -> 199 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-pressed.pngbin0 -> 199 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-pressed@2x.pngbin0 -> 199 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive.pngbin0 -> 199 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive@2x.pngbin0 -> 199 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal-disabled.9.pngbin0 -> 340 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal-disabled@2x.9.pngbin0 -> 539 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal.9.pngbin0 -> 353 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal@2x.9.pngbin0 -> 550 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical-disabled.9.pngbin0 -> 355 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical-disabled@2x.9.pngbin0 -> 474 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical.9.pngbin0 -> 344 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical@2x.9.pngbin0 -> 501 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-disabled.pngbin0 -> 639 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-disabled@2x.pngbin0 -> 1069 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-hovered.pngbin0 -> 1342 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-hovered@2x.pngbin0 -> 3642 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle.pngbin0 -> 1333 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle@2x.pngbin0 -> 3593 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-horizontal.9.pngbin0 -> 353 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-horizontal@2x.9.pngbin0 -> 550 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical-disabled.9.pngbin0 -> 344 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical-disabled@2x.9.pngbin0 -> 501 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical.9.pngbin0 -> 344 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical@2x.9.pngbin0 -> 501 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background-disabled.9.pngbin0 -> 377 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background-disabled@2x.9.pngbin0 -> 495 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background.9.pngbin0 -> 379 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background@2x.9.pngbin0 -> 535 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbar-background.9.pngbin0 -> 405 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbar-background@2x.9.pngbin0 -> 584 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked-hovered.9.pngbin0 -> 1628 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked-hovered@2x.9.pngbin0 -> 3508 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked.9.pngbin0 -> 1533 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked@2x.9.pngbin0 -> 3516 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-hovered.9.pngbin0 -> 1509 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-hovered@2x.9.pngbin0 -> 3475 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-pressed.9.pngbin0 -> 1599 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-pressed@2x.9.pngbin0 -> 3509 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background.9.pngbin0 -> 1469 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background@2x.9.pngbin0 -> 3314 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/tooltip-background.9.pngbin0 -> 2576 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/imagine-assets/tooltip-background@2x.9.pngbin0 -> 4783 bytes
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/musicplayer.cpp73
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/musicplayer.pro16
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/musicplayer.qml467
-rw-r--r--examples/quickcontrols2/imagine/musicplayer/qtquickcontrols2.conf10
-rw-r--r--examples/quickcontrols2/quickcontrols2.pro3
-rw-r--r--examples/quickcontrols2/sidepanel/doc/src/qtquickcontrols2-sidepanel.qdoc14
-rw-r--r--examples/quickcontrols2/swipetoremove/doc/src/qtquickcontrols2-swipetoremove.qdoc6
-rw-r--r--examples/quickcontrols2/wearable/doc/src/qtquickcontrols2-wearable.qdoc71
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36/alarms.png (renamed from examples/quickcontrols2/wearable/qml/Alarms/images/alarms.png)bin689 -> 689 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36/fitness.png (renamed from examples/quickcontrols2/wearable/qml/Fitness/images/fitness.png)bin541 -> 541 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36/navigation.pngbin0 -> 581 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36/notifications.png (renamed from examples/quickcontrols2/wearable/qml/Notifications/images/notifications.png)bin683 -> 683 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36/settings.png (renamed from examples/quickcontrols2/wearable/qml/Settings/images/settings.png)bin703 -> 703 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36/weather.png (renamed from examples/quickcontrols2/wearable/qml/Weather/images/weather.png)bin548 -> 548 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36/worldclock.png (renamed from examples/quickcontrols2/wearable/qml/WorldClock/images/worldclock.png)bin601 -> 601 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36@2/alarms.png (renamed from examples/quickcontrols2/wearable/qml/Alarms/images/alarms@2x.png)bin1208 -> 1208 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36@2/fitness.png (renamed from examples/quickcontrols2/wearable/qml/Fitness/images/fitness@2x.png)bin958 -> 958 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36@2/navigation.pngbin0 -> 1063 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36@2/notifications.png (renamed from examples/quickcontrols2/wearable/qml/Notifications/images/notifications@2x.png)bin1316 -> 1316 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36@2/settings.png (renamed from examples/quickcontrols2/wearable/qml/Settings/images/settings@2x.png)bin1233 -> 1233 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36@2/weather.png (renamed from examples/quickcontrols2/wearable/qml/Weather/images/weather@2x.png)bin1061 -> 1061 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/36x36@2/worldclock.png (renamed from examples/quickcontrols2/wearable/qml/WorldClock/images/worldclock@2x.png)bin1101 -> 1101 bytes
-rw-r--r--examples/quickcontrols2/wearable/icons/wearable/index.theme14
-rw-r--r--examples/quickcontrols2/wearable/qml/LauncherPage.qml33
-rw-r--r--examples/quickcontrols2/wearable/wearable.cpp5
-rw-r--r--examples/quickcontrols2/wearable/wearable.qrc27
320 files changed, 3251 insertions, 85 deletions
diff --git a/examples/quickcontrols2/chattutorial/doc/src/qtquickcontrols2-chattutorial.qdoc b/examples/quickcontrols2/chattutorial/doc/src/qtquickcontrols2-chattutorial.qdoc
index f048b12c..519d1c7a 100644
--- a/examples/quickcontrols2/chattutorial/doc/src/qtquickcontrols2-chattutorial.qdoc
+++ b/examples/quickcontrols2/chattutorial/doc/src/qtquickcontrols2-chattutorial.qdoc
@@ -216,6 +216,9 @@ Now we can build and run the application:
\borderedimage qtquickcontrols2-chattutorial-chapter1.png
+\noautolist
+\generatelist examplefiles .*chapter1.*
+
\section1 Chapter 2: Lists
In this chapter, we'll explain how to create a list of interactive items using
@@ -290,6 +293,9 @@ vertical space.
\borderedimage qtquickcontrols2-chattutorial-chapter2.png
+\generatelist examplefiles .*(chapter2|shared).*
+\generatelist exampleimages .*shared.*(Einstein|Hemingway|Gude)\.png
+
\section1 Chapter 3: Navigation
In this chapter, you'll learn how to use \l StackView to navigate between pages
@@ -514,6 +520,9 @@ Finally, the button is only enabled when there is actually a message to send.
\borderedimage qtquickcontrols2-chattutorial-chapter3.gif
+\generatelist examplefiles .*(chapter3|shared).*
+\generatelist exampleimages .*shared.*(Einstein|Hemingway|Gude)\.png
+
\section1 Chapter 4: Models
In chapter 4, we'll take you through the process of creating both read-only and
@@ -730,6 +739,9 @@ text field to make way for future input.
\borderedimage qtquickcontrols2-chattutorial-chapter4.gif
+\generatelist examplefiles .*(chapter4|shared).*
+\generatelist exampleimages
+
\section1 Chapter 5: Styling
Styles in Qt Quick Controls 2 are designed to work on any platform. In this
@@ -856,6 +868,9 @@ After building and running the application, you should see these results:
\borderedimage qtquickcontrols2-chattutorial-chapter5-contacts-universal-dark.png
\borderedimage qtquickcontrols2-chattutorial-chapter5-conversations-universal-dark.png
+\generatelist examplefiles .*(chapter5|shared).*
+\generatelist exampleimages
+
\section1 Summary
In this tutorial, we've taken you through the following steps of writing a
diff --git a/examples/quickcontrols2/gallery/gallery.cpp b/examples/quickcontrols2/gallery/gallery.cpp
index 7b70f1c8..b4d59685 100644
--- a/examples/quickcontrols2/gallery/gallery.cpp
+++ b/examples/quickcontrols2/gallery/gallery.cpp
@@ -53,6 +53,7 @@
#include <QQmlContext>
#include <QSettings>
#include <QQuickStyle>
+#include <QIcon>
int main(int argc, char *argv[])
{
@@ -62,6 +63,8 @@ int main(int argc, char *argv[])
QGuiApplication app(argc, argv);
+ QIcon::setThemeName("gallery");
+
QSettings settings;
QString style = QQuickStyle::name();
if (!style.isEmpty())
diff --git a/examples/quickcontrols2/gallery/gallery.pro b/examples/quickcontrols2/gallery/gallery.pro
index 45496a35..705eeae0 100644
--- a/examples/quickcontrols2/gallery/gallery.pro
+++ b/examples/quickcontrols2/gallery/gallery.pro
@@ -8,8 +8,9 @@ SOURCES += \
RESOURCES += \
gallery.qml \
qtquickcontrols2.conf \
+ icons/gallery/index.theme \
+ $$files(icons/*.png, true) \
$$files(images/*.png) \
- $$files(images/+material/*.png) \
$$files(pages/*.qml)
target.path = $$[QT_INSTALL_EXAMPLES]/quickcontrols2/gallery
diff --git a/examples/quickcontrols2/gallery/gallery.qml b/examples/quickcontrols2/gallery/gallery.qml
index 9f253ab3..5344b74e 100644
--- a/examples/quickcontrols2/gallery/gallery.qml
+++ b/examples/quickcontrols2/gallery/gallery.qml
@@ -50,7 +50,7 @@
import QtQuick 2.9
import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick.Controls 2.3
import QtQuick.Controls.Material 2.1
import QtQuick.Controls.Universal 2.1
import Qt.labs.settings 1.0
@@ -89,12 +89,7 @@ ApplicationWindow {
anchors.fill: parent
ToolButton {
- contentItem: Image {
- fillMode: Image.Pad
- horizontalAlignment: Image.AlignHCenter
- verticalAlignment: Image.AlignVCenter
- source: stackView.depth > 1 ? "images/back.png" : "images/drawer.png"
- }
+ icon.name: stackView.depth > 1 ? "back" : "drawer"
onClicked: {
if (stackView.depth > 1) {
stackView.pop()
@@ -116,12 +111,7 @@ ApplicationWindow {
}
ToolButton {
- contentItem: Image {
- fillMode: Image.Pad
- horizontalAlignment: Image.AlignHCenter
- verticalAlignment: Image.AlignVCenter
- source: "images/menu.png"
- }
+ icon.name: "menu"
onClicked: optionsMenu.open()
Menu {
diff --git a/examples/quickcontrols2/gallery/images/back.png b/examples/quickcontrols2/gallery/icons/gallery/20x20/back.png
index db43e273..db43e273 100644
--- a/examples/quickcontrols2/gallery/images/back.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20/back.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/drawer.png b/examples/quickcontrols2/gallery/icons/gallery/20x20/drawer.png
index 1e974efa..1e974efa 100644
--- a/examples/quickcontrols2/gallery/images/drawer.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20/drawer.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/menu.png b/examples/quickcontrols2/gallery/icons/gallery/20x20/menu.png
index a10473d9..a10473d9 100644
--- a/examples/quickcontrols2/gallery/images/menu.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20/menu.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/back@2x.png b/examples/quickcontrols2/gallery/icons/gallery/20x20@2/back.png
index c55ab315..c55ab315 100644
--- a/examples/quickcontrols2/gallery/images/back@2x.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20@2/back.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/drawer@2x.png b/examples/quickcontrols2/gallery/icons/gallery/20x20@2/drawer.png
index eba3b6cc..eba3b6cc 100644
--- a/examples/quickcontrols2/gallery/images/drawer@2x.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20@2/drawer.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/menu@2x.png b/examples/quickcontrols2/gallery/icons/gallery/20x20@2/menu.png
index 649c2a08..649c2a08 100644
--- a/examples/quickcontrols2/gallery/images/menu@2x.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20@2/menu.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/back@3x.png b/examples/quickcontrols2/gallery/icons/gallery/20x20@3/back.png
index b228eb87..b228eb87 100644
--- a/examples/quickcontrols2/gallery/images/back@3x.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20@3/back.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/drawer@3x.png b/examples/quickcontrols2/gallery/icons/gallery/20x20@3/drawer.png
index 3584ed6d..3584ed6d 100644
--- a/examples/quickcontrols2/gallery/images/drawer@3x.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20@3/drawer.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/menu@3x.png b/examples/quickcontrols2/gallery/icons/gallery/20x20@3/menu.png
index 9554b695..9554b695 100644
--- a/examples/quickcontrols2/gallery/images/menu@3x.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20@3/menu.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/back@4x.png b/examples/quickcontrols2/gallery/icons/gallery/20x20@4/back.png
index dd157e78..dd157e78 100644
--- a/examples/quickcontrols2/gallery/images/back@4x.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20@4/back.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/drawer@4x.png b/examples/quickcontrols2/gallery/icons/gallery/20x20@4/drawer.png
index 60d93aff..60d93aff 100644
--- a/examples/quickcontrols2/gallery/images/drawer@4x.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20@4/drawer.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/menu@4x.png b/examples/quickcontrols2/gallery/icons/gallery/20x20@4/menu.png
index 187c171c..187c171c 100644
--- a/examples/quickcontrols2/gallery/images/menu@4x.png
+++ b/examples/quickcontrols2/gallery/icons/gallery/20x20@4/menu.png
Binary files differ
diff --git a/examples/quickcontrols2/gallery/icons/gallery/index.theme b/examples/quickcontrols2/gallery/icons/gallery/index.theme
new file mode 100644
index 00000000..a1bcd5e0
--- /dev/null
+++ b/examples/quickcontrols2/gallery/icons/gallery/index.theme
@@ -0,0 +1,24 @@
+[Icon Theme]
+Name=Gallery
+Comment=Qt Quick Controls 2 Gallery Example Icon Theme
+
+Directories=20x20,20x20@2,20x20@3,20x20@4
+
+[20x20]
+Size=20
+Type=Fixed
+
+[20x20@2]
+Size=20
+Scale=2
+Type=Fixed
+
+[20x20@3]
+Size=20
+Scale=3
+Type=Fixed
+
+[20x20@4]
+Size=20
+Scale=4
+Type=Fixed
diff --git a/examples/quickcontrols2/gallery/images/+material/back.png b/examples/quickcontrols2/gallery/images/+material/back.png
deleted file mode 100644
index ebc1000f..00000000
--- a/examples/quickcontrols2/gallery/images/+material/back.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/back@2x.png b/examples/quickcontrols2/gallery/images/+material/back@2x.png
deleted file mode 100644
index cf6163c8..00000000
--- a/examples/quickcontrols2/gallery/images/+material/back@2x.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/back@3x.png b/examples/quickcontrols2/gallery/images/+material/back@3x.png
deleted file mode 100644
index 96376a5a..00000000
--- a/examples/quickcontrols2/gallery/images/+material/back@3x.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/back@4x.png b/examples/quickcontrols2/gallery/images/+material/back@4x.png
deleted file mode 100644
index 578ac14f..00000000
--- a/examples/quickcontrols2/gallery/images/+material/back@4x.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/drawer.png b/examples/quickcontrols2/gallery/images/+material/drawer.png
deleted file mode 100644
index 615cc817..00000000
--- a/examples/quickcontrols2/gallery/images/+material/drawer.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/drawer@2x.png b/examples/quickcontrols2/gallery/images/+material/drawer@2x.png
deleted file mode 100644
index b1dd106d..00000000
--- a/examples/quickcontrols2/gallery/images/+material/drawer@2x.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/drawer@3x.png b/examples/quickcontrols2/gallery/images/+material/drawer@3x.png
deleted file mode 100644
index 289889bf..00000000
--- a/examples/quickcontrols2/gallery/images/+material/drawer@3x.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/drawer@4x.png b/examples/quickcontrols2/gallery/images/+material/drawer@4x.png
deleted file mode 100644
index 215e6a82..00000000
--- a/examples/quickcontrols2/gallery/images/+material/drawer@4x.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/menu.png b/examples/quickcontrols2/gallery/images/+material/menu.png
deleted file mode 100644
index f02429e9..00000000
--- a/examples/quickcontrols2/gallery/images/+material/menu.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/menu@2x.png b/examples/quickcontrols2/gallery/images/+material/menu@2x.png
deleted file mode 100644
index 9309ad9a..00000000
--- a/examples/quickcontrols2/gallery/images/+material/menu@2x.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/menu@3x.png b/examples/quickcontrols2/gallery/images/+material/menu@3x.png
deleted file mode 100644
index 7bddf71f..00000000
--- a/examples/quickcontrols2/gallery/images/+material/menu@3x.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/images/+material/menu@4x.png b/examples/quickcontrols2/gallery/images/+material/menu@4x.png
deleted file mode 100644
index e5c23a3b..00000000
--- a/examples/quickcontrols2/gallery/images/+material/menu@4x.png
+++ /dev/null
Binary files differ
diff --git a/examples/quickcontrols2/gallery/pages/DialogPage.qml b/examples/quickcontrols2/gallery/pages/DialogPage.qml
index daaa7329..8bade21f 100644
--- a/examples/quickcontrols2/gallery/pages/DialogPage.qml
+++ b/examples/quickcontrols2/gallery/pages/DialogPage.qml
@@ -50,7 +50,7 @@
import QtQuick 2.6
import QtQuick.Layouts 1.0
-import QtQuick.Controls 2.1
+import QtQuick.Controls 2.3
ScrollablePage {
id: page
@@ -101,7 +101,7 @@ ScrollablePage {
x: (parent.width - width) / 2
y: (parent.height - height) / 2
- parent: ApplicationWindow.overlay
+ parent: Overlay.overlay
modal: true
title: "Confirmation"
@@ -134,7 +134,7 @@ ScrollablePage {
y: (parent.height - height) / 2
width: Math.min(page.width, page.height) / 3 * 2
contentHeight: logo.height * 2
- parent: ApplicationWindow.overlay
+ parent: Overlay.overlay
modal: true
title: "Content"
@@ -194,7 +194,7 @@ ScrollablePage {
x: (parent.width - width) / 2
y: (parent.height - height) / 2
- parent: ApplicationWindow.overlay
+ parent: Overlay.overlay
focus: true
modal: true
diff --git a/examples/quickcontrols2/imagine/automotive/automotive.cpp b/examples/quickcontrols2/imagine/automotive/automotive.cpp
new file mode 100644
index 00000000..63cc702d
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/automotive.cpp
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QQmlContext>
+#include <QSettings>
+#include <QQuickStyle>
+#include <QIcon>
+
+int main(int argc, char *argv[])
+{
+ QGuiApplication::setApplicationName("Automotive");
+ QGuiApplication::setOrganizationName("QtProject");
+ QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
+
+ QGuiApplication app(argc, argv);
+
+ QIcon::setThemeName("automotive");
+
+ QQmlApplicationEngine engine;
+ engine.load(QUrl("qrc:/qml/automotive.qml"));
+ if (engine.rootObjects().isEmpty())
+ return -1;
+
+ return app.exec();
+}
diff --git a/examples/quickcontrols2/imagine/automotive/automotive.pro b/examples/quickcontrols2/imagine/automotive/automotive.pro
new file mode 100644
index 00000000..890e63d8
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/automotive.pro
@@ -0,0 +1,15 @@
+TEMPLATE = app
+TARGET = automotive
+QT += quick quickcontrols2
+
+SOURCES += \
+ automotive.cpp
+
+RESOURCES += \
+ icons/icons.qrc \
+ imagine-assets/imagine-assets.qrc \
+ qml/qml.qrc \
+ qtquickcontrols2.conf
+
+target.path = $$[QT_INSTALL_EXAMPLES]/quickcontrols2/imagine/automotive
+INSTALLS += target
diff --git a/examples/quickcontrols2/imagine/automotive/doc/images/qtquickcontrols2-automotive.png b/examples/quickcontrols2/imagine/automotive/doc/images/qtquickcontrols2-automotive.png
new file mode 100644
index 00000000..93ea2854
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/doc/images/qtquickcontrols2-automotive.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/doc/src/qtquickcontrols2-automotive.qdoc b/examples/quickcontrols2/imagine/automotive/doc/src/qtquickcontrols2-automotive.qdoc
new file mode 100644
index 00000000..2107e6ab
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/doc/src/qtquickcontrols2-automotive.qdoc
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example automotive
+ \title Qt Quick Controls 2 - Imagine Style Example: Automotive
+ \ingroup qtquickcontrols2-examples
+ \brief An automotive user interface using custom Imagine style assets.
+
+ This example demonstrates how custom Imagine style assets can be used to
+ style an automotive user interface.
+
+ \image qtquickcontrols2-automotive.png
+
+ \include examples-run.qdocinc
+*/
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/air-con.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/air-con.png
new file mode 100644
index 00000000..70175f6f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/air-con.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/command.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/command.png
new file mode 100644
index 00000000..8f712c78
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/command.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/message.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/message.png
new file mode 100644
index 00000000..7773ca63
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/message.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/music.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/music.png
new file mode 100644
index 00000000..dc73322b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/music.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/seats.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/seats.png
new file mode 100644
index 00000000..2f9eaa62
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/seats.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/settings.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/settings.png
new file mode 100644
index 00000000..b65598b5
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/settings.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/statistics.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/statistics.png
new file mode 100644
index 00000000..97970298
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/statistics.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/windows.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/windows.png
new file mode 100644
index 00000000..8ed8cec4
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44/windows.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/air-con.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/air-con.png
new file mode 100644
index 00000000..8822979e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/air-con.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/command.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/command.png
new file mode 100644
index 00000000..918e2b69
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/command.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/message.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/message.png
new file mode 100644
index 00000000..1debfdfb
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/message.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/music.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/music.png
new file mode 100644
index 00000000..01a3ece4
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/music.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/navigation.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/navigation.png
new file mode 100644
index 00000000..3a18fb5f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/navigation.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/seats.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/seats.png
new file mode 100644
index 00000000..7d67f1be
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/seats.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/settings.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/settings.png
new file mode 100644
index 00000000..3ce2a1f1
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/settings.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/statistics.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/statistics.png
new file mode 100644
index 00000000..afc2cc09
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/statistics.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/windows.png b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/windows.png
new file mode 100644
index 00000000..59bac584
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/44x44@2/windows.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/icons.svg b/examples/quickcontrols2/imagine/automotive/icons/automotive/icons.svg
new file mode 100644
index 00000000..daf4633c
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/icons.svg
@@ -0,0 +1,526 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="449"
+ height="384.99988"
+ viewBox="0 0 449.00001 384.99988"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.92.1 r15371"
+ sodipodi:docname="icons.svg"
+ inkscape:export-filename="/home/mitch/dev/qqc2-futuristic-style-demo/icons/futuristic/44x44@2/settings.png"
+ inkscape:export-xdpi="180"
+ inkscape:export-ydpi="180">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.3750001"
+ inkscape:cx="227.69632"
+ inkscape:cy="173.66895"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ inkscape:window-width="1920"
+ inkscape:window-height="1137"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ showguides="true"
+ inkscape:snap-grids="false"
+ inkscape:snap-midpoints="false"
+ inkscape:object-paths="false"
+ inkscape:guide-bbox="true"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid4380"
+ originx="-0.042045451"
+ originy="0.87827274" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-0.04204545,-668.2406)"
+ style="display:inline">
+ <g
+ id="g4481"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\automotive\44x44@4\navigation.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <rect
+ y="1009.2405"
+ x="180.04205"
+ height="44"
+ width="44"
+ id="rect4273"
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4147"
+ d="m 187.6832,1027.7359 29.7995,-11.9955 -8.46002,30.1783 -5.42957,-15.5311 z"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4474"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\automotive\44x44@4\music.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <rect
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4279"
+ width="44"
+ height="44"
+ x="135.04205"
+ y="1009.2405" />
+ <path
+ sodipodi:nodetypes="cscccc"
+ inkscape:connector-curvature="0"
+ id="path4140"
+ d="m 167.59902,1035.8159 c -1.31413,-1.8397 -8.0497,1.4976 -5.98214,5.5357 1.67413,3.2698 7.60481,-0.9006 7.23214,-2.1428 l 0.043,-22.367 -1.3203,2.4448 z"
+ style="fill:#6affcd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cscccccc"
+ inkscape:connector-curvature="0"
+ id="path4149-3"
+ d="m 151.55515,1038.884 c -1.31413,-1.8398 -8.0497,1.4975 -5.98214,5.5357 1.67413,3.2698 7.60481,-0.9006 7.23214,-2.1428 v -19.7322 l 14.7673,-3.2197 1.32996,-2.4891 -17.34726,3.4767 z"
+ style="fill:#6affcd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4518"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\automotive\44x44@4\message.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <rect
+ y="1009.2405"
+ x="315.04205"
+ height="44"
+ width="44"
+ id="rect4281"
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ y="1019.9489"
+ x="321.94974"
+ height="22.583223"
+ width="30.18462"
+ id="rect4144"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#6affcd;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4146"
+ d="m 322.03814,1020.1699 15.1144,15.1144 14.95973,-14.9597"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4148"
+ d="m 352.09018,1042.3996 -11.00435,-11.0044"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4150"
+ d="m 321.99394,1042.4438 11.13693,-11.137"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4460"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\automotive\44x44@4\command.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <rect
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4287"
+ width="44"
+ height="44"
+ x="90.042053"
+ y="1009.2405" />
+ <circle
+ r="19.047689"
+ cy="1031.2406"
+ cx="112.04205"
+ id="path4152"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#6affcd;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ ry="5.5033379"
+ rx="4.5719934"
+ y="1018.0177"
+ x="107.24899"
+ height="17.67367"
+ width="9.1883745"
+ id="rect4156"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#6affcd;stroke-width:0.9598186;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ sodipodi:open="true"
+ d="m 118.4944,1031.2297 a 6.6733203,6.6733203 0 0 1 -3.33666,5.7793 6.6733203,6.6733203 0 0 1 -6.67332,0 6.6733203,6.6733203 0 0 1 -3.33666,-5.7793"
+ sodipodi:end="3.1415927"
+ sodipodi:start="0"
+ sodipodi:ry="6.6733203"
+ sodipodi:rx="6.6733203"
+ sodipodi:cy="1031.2297"
+ sodipodi:cx="111.82108"
+ sodipodi:type="arc"
+ id="path4160"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#6affcd;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4171"
+ d="m 111.68097,1037.9274 v 6.75"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4173"
+ d="m 108.71222,1044.6618 h 5.96875"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4547"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\weather@4x.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <rect
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4275"
+ width="44"
+ height="44"
+ x="405.04205"
+ y="1009.2405" />
+ <path
+ sodipodi:nodetypes="sccssssssss"
+ inkscape:connector-curvature="0"
+ id="rect4181"
+ d="m 415.77154,1020.3319 h 1.72458 c 1.92048,-6.3943 13.78409,-9.9869 18.47317,0 h 2.34328 c 4.38985,0 7.92391,3.3764 7.92391,7.5705 v 0.3996 c 0,4.194 -3.53406,7.5704 -7.92391,7.5704 h -22.54103 c -4.38985,0 -7.92392,-3.3764 -7.92392,-7.5704 v -0.3996 c 0,-4.1941 3.53407,-7.5705 7.92392,-7.5705 z"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#c6c6c6;stroke-width:1.06007564;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4184"
+ d="m 418.4242,1048.7629 2.37846,-8.8765"
+ style="fill:none;fill-rule:evenodd;stroke:#c6c6c6;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#c6c6c6;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 425.80463,1048.7629 2.37846,-8.8765"
+ id="path4186"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4188"
+ d="m 433.36269,1048.7629 2.37846,-8.8765"
+ style="fill:none;fill-rule:evenodd;stroke:#c6c6c6;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4408"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\automotive\44x44@4\settings.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <rect
+ y="1009.2405"
+ x="0.042050309"
+ height="44"
+ width="44"
+ id="rect4289"
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4175"
+ d="m 18.04247,1017.9491 1.40804,-5.2549 h 5.24319 l 1.47,5.4862 2.38326,1.376 4.34476,-3.4414 4.37522,4.3753 -3.31456,4.3973 1.149046,2.6737 h 5.08233 v 6.7396 l -4.596194,0.3315 -1.590992,3.1157 3.137788,4.0438 -4.209498,4.2095 -4.56007,-2.6328 -2.72092,1.5389 -1.3074,4.8793 h -5.14495 l -1.06066,-5.6527 -2.65524,-0.7114 -4.4148,2.5489 -3.89011,-4.3123 3.13778,-4.088 -1.73918,-3.0124 -4.66897,-0.8988 v -5.5905 l 4.83926,-0.4862 1.41421,-2.9831 -3.13778,-4.1321 4.08796,-4.088 4.04377,2.3644 z"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <circle
+ r="5.5242715"
+ cy="1031.0306"
+ cx="22.064146"
+ id="path4177"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#6affcd;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4487"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\automotive\44x44@4\windows.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <rect
+ y="1009.2405"
+ x="225.04205"
+ height="44"
+ width="44"
+ id="rect4277"
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="rect4190"
+ d="m 261.03309,1017.2897 v 28 h -27.9375 c 2.35953,-27.5958 7.73302,-28.5625 27.9375,-28 z"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#6affcd;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4538"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\automotive\44x44@4\air-con.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384"
+ transform="translate(-45.000003)">
+ <rect
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4283"
+ width="44"
+ height="44"
+ x="405.04205"
+ y="1009.2405" />
+ <path
+ sodipodi:nodetypes="sscsscsscsscs"
+ inkscape:connector-curvature="0"
+ id="path4197"
+ d="m 421.26481,1044.4851 c -3.23157,3.5413 -10.47885,-3.4697 -9.9718,-8.4477 0.83559,-8.2035 7.65867,-5.1475 12.04763,-6.9077 -1.79559,-3.4382 -6.54603,-1.0408 -9.27801,-3.5338 -3.54131,-3.2316 3.46971,-10.4789 8.44775,-9.9718 8.20348,0.8356 5.14746,7.6586 6.84142,12.0034 3.37187,-1.8398 0.97447,-6.5902 3.4675,-9.3222 3.23157,-3.5413 10.47885,3.4697 9.9718,8.4478 -0.83559,8.2034 -7.65867,5.1474 -12.00344,6.753 1.83978,3.2835 6.59022,0.8861 9.3222,3.3791 3.54131,3.2316 -3.46971,10.4789 -8.44775,9.9718 -8.20348,-0.8356 -5.14746,-7.6587 -6.88561,-11.8488 -3.41606,1.9945 -1.01866,6.7449 -3.51169,9.4769 z"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4531"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\automotive\44x44@4\seats.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384"
+ transform="translate(-90.000003)">
+ <rect
+ y="1009.2405"
+ x="360.04205"
+ height="44"
+ width="44"
+ id="rect4285"
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="sccs"
+ inkscape:connector-curvature="0"
+ id="rect4203"
+ d="m 391.91622,1017.2238 c 0.17067,-5.6932 5.2149,-4.4637 5.2149,-4.4637 v 9.1924 c -0.7292,-0.07 -5.33548,-0.7063 -5.2149,-4.7287 z"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#6affcd;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cscccsc"
+ inkscape:connector-curvature="0"
+ id="path4206"
+ d="m 386.60297,1040.4014 c -5.60375,-1.1635 -16.63421,-2.7578 -18.84543,0.6535 -1.53027,2.3608 -0.87435,7.5961 2.06641,8.7796 h 21.0795 c 3.59502,-0.5935 6.26483,-6.7048 2.51333,-8.7058 3.19134,-0.9113 5.05406,-18.5249 2.48667,-19.5701 -1.7401,-0.7084 -5.84062,6.4475 -9.30048,18.8428 z"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4435"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\automotive\44x44@4\statistics.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <rect
+ style="opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4291"
+ width="44"
+ height="44"
+ x="45.042053"
+ y="1009.2405" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4208"
+ d="M 51.05768,1048.9905 V 1032.553"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 54.60974,1048.9905 v -35.5"
+ id="path4210"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4212"
+ d="M 58.16187,1048.9905 V 1019.178"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 61.71393,1048.9905 v -20"
+ id="path4214"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4216"
+ d="m 65.26599,1048.9905 v -22.875"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 68.81812,1048.9905 V 1034.178"
+ id="path4218"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4220"
+ d="m 72.37018,1048.9905 v -6.8125"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 75.92224,1048.9905 v -9.75"
+ id="path4222"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4224"
+ d="m 79.47437,1048.9905 v -19.75"
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 83.02643,1048.9905 V 1026.303"
+ id="path4226"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g4957"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\warning@4x.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <g
+ id="g4952">
+ <g
+ id="g4984">
+ <rect
+ style="display:inline;opacity:1;fill:#dc7878;fill-opacity:0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4888"
+ width="44"
+ height="44"
+ x="405.04205"
+ y="964.24048" />
+ <path
+ transform="translate(91.459048,54.521538)"
+ d="m 335.89844,913.67383 a 6.7448861,6.7448861 0 0 0 -6.15625,3.36328 l -6.5293,11.30859 -6.5293,11.3086 a 6.7448861,6.7448861 0 0 0 5.83985,10.11718 h 13.05859 13.06055 a 6.7448861,6.7448861 0 0 0 5.83984,-10.11718 l -6.53125,-11.3086 -6.52929,-11.30859 a 6.7448861,6.7448861 0 0 0 -5.52344,-3.36328 z"
+ id="path4914"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#d5242f;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ inkscape:original="M 335.58203 920.41016 L 329.05273 931.71875 L 322.52344 943.02734 L 335.58203 943.02734 L 348.64258 943.02734 L 342.11133 931.71875 L 335.58203 920.41016 z "
+ inkscape:radius="6.7442117"
+ sodipodi:type="inkscape:offset" />
+ <text
+ id="text4916"
+ y="997.82135"
+ x="418.31409"
+ style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#d5232f;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:29.11217499px;line-height:1.25;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';fill:#d5232f;fill-opacity:1"
+ y="997.82135"
+ x="418.31409"
+ id="tspan4918"
+ sodipodi:role="line">!</tspan></text>
+ </g>
+ </g>
+ </g>
+ <g
+ id="g4579"
+ transform="translate(0.91359708)"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\car@4x.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <g
+ transform="translate(0,-0.52629089)"
+ inkscape:export-ydpi="180.02795"
+ inkscape:export-xdpi="180.02795"
+ inkscape:export-filename="/home/mitch/dev/qqc2-futuristic-style-demo/icons/car@2x.png"
+ id="g4940">
+ <g
+ inkscape:export-ydpi="288.18481"
+ inkscape:export-xdpi="288.18481"
+ inkscape:export-filename="C:\dev\qt5.10\qtquickcontrols2\examples\quickcontrols2\imagine\automotive\icons\car@3x.png"
+ transform="translate(-4.2105261)"
+ id="g5027">
+ <g
+ id="g4990"
+ transform="translate(38)">
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 155.0705,782.17781 c 6.07598,2.81282 15.70745,5.54152 16.78045,0.12114 1.47822,-7.46742 -7.82673,-9.03073 -12.74213,-11.21517 0.35496,-28.39708 4.52948,-61.94987 -16.18718,-79.16009 -15.28126,-12.6948 -36.88923,-13.70761 -54.94737,-13.89474 -44.75939,1.12608 -72.2307,7.25376 -66.73684,92.42105 -5.10694,0.73154 -15.36618,6.19984 -11.96169,13.62693 2.26424,4.93957 10.32335,-1.55401 16.17222,-2.04798 l -4.42106,70.10526 c -4.88809,9.36444 -1.70447,13.26861 -0.21052,18.31579 l 2.31579,28.21053 c -5.87521,7.89365 -9.18606,65.22384 5.21645,80.45936 20.44842,21.63111 45.69753,20.41018 69.7353,20.35721 29.24164,-0.0644 46.2493,-7.41397 57.516,-25.0271 6.1501,-9.61441 6.80873,-24.11582 6.56857,-37.94412 -0.50608,-29.14019 -2.51723,-31.93372 -3.87843,-38.05588 0.24603,-10.87137 0.62319,-26.86855 0.62319,-26.86855 0.13708,-2.99847 -4.07078,-3.32117 -4.26379,-0.30212 -1.23557,19.32726 -2.52156,37.97398 -4.14887,52.01278 -5.15807,-50.19881 -8.22005,-100.65169 -0.42106,-152.42105 l 1.77142,14.22858"
+ id="path4198"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cscsccsccccssssccsccc" />
+ <rect
+ style="opacity:0;fill:none;fill-opacity:1;stroke:#6affcd;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4200"
+ width="75.39991"
+ height="41.533218"
+ x="52.331917"
+ y="811.89917" />
+ <rect
+ ry="5.0999999"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#6affcd;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4204"
+ width="74.730019"
+ height="42.277542"
+ x="53.001808"
+ y="811.97357"
+ rx="5.0999999" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 33.76375,753.50264 c 21.81505,-33.62758 93.76507,-29.21973 112.94736,0.52631 l -6.52631,45.1579 c -32.75184,-8.71732 -66.12565,-8.2607 -100,-0.42106 z"
+ id="path4207"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 30.39532,772.45 C 39.7558,824.45977 33.67511,874.57878 29.86901,924.97632 27.0264,874.92466 21.98491,825.44889 30.39532,772.45 Z"
+ id="path4209"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 40.07953,905.29211 c 31.5016,11.5654 64.23888,15.63953 100.21053,0.10526 l -1.68421,49.36842 c -34.36634,20.89476 -66.32657,16.8029 -97.05263,-0.10526 z"
+ id="path4211"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 132.39532,693.08158 c -0.1013,1.76525 -0.0679,3.42272 0.52632,4.63158 4.7808,3.23458 8.19086,9.38341 11.57895,15.57895 1.5083,-0.0482 2.87102,0.42463 4.63157,-0.52632 0.15986,-2.57309 0.37258,-5.12353 -0.42105,-8.10526 -3.09684,-4.12667 -6.44714,-7.87314 -10.10526,-11.15789 -2.00632,-0.36221 -3.93976,-0.97762 -6.21053,-0.42106 z"
+ id="path4213"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path4215"
+ d="m 48.05537,693.08158 c 0.1013,1.76525 0.0679,3.42272 -0.52632,4.63158 -4.7808,3.23458 -8.19086,9.38341 -11.57895,15.57895 -1.5083,-0.0482 -2.87102,0.42463 -4.63157,-0.52632 -0.15986,-2.57309 -0.37258,-5.12353 0.42105,-8.10526 3.09684,-4.12667 6.44714,-7.87314 10.10526,-11.15789 2.00632,-0.36221 3.93976,-0.97762 6.21053,-0.42106 z"
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6affcd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="display:inline;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#d5222f;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.87843137"
+ d="m 151.92716,785.02141 59.0707,63.0345 c 1.5809,-0.4544 3.3564,-1.3935 2.958,-3.8128 -1.0167,-6.1727 -4.9133,-10.6123 -10.7475,-11.7661 l -48.0616,-50.3775"
+ id="path4240"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+ <rect
+ y="669.29321"
+ x="4.2525716"
+ height="338.94736"
+ width="250.17281"
+ id="rect4844"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </g>
+ </g>
+ <rect
+ y="668.2406"
+ x="-0.87155163"
+ height="340"
+ width="252"
+ id="rect4563"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.01560712;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ </g>
+</svg>
diff --git a/examples/quickcontrols2/imagine/automotive/icons/automotive/index.theme b/examples/quickcontrols2/imagine/automotive/icons/automotive/index.theme
new file mode 100644
index 00000000..cd84146e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/automotive/index.theme
@@ -0,0 +1,14 @@
+[Icon Theme]
+Name=Automotive
+Comment=Icon theme for the Qt Quick Controls 2 Automotive Imagine Style Example
+
+Directories=44x44,44x44@2
+
+[44x44]
+Size=44
+Type=Fixed
+
+[44x44@2]
+Size=44
+Scale=2
+Type=Fixed
diff --git a/examples/quickcontrols2/imagine/automotive/icons/car.png b/examples/quickcontrols2/imagine/automotive/icons/car.png
new file mode 100644
index 00000000..4bfc9a47
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/car.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/car@2x.png b/examples/quickcontrols2/imagine/automotive/icons/car@2x.png
new file mode 100644
index 00000000..966bc47b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/car@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/icons.qrc b/examples/quickcontrols2/imagine/automotive/icons/icons.qrc
new file mode 100644
index 00000000..5cb79781
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/icons.qrc
@@ -0,0 +1,29 @@
+<RCC>
+ <qresource prefix="/icons">
+ <file>car.png</file>
+ <file>car@2x.png</file>
+ <file>warning.png</file>
+ <file>warning@2x.png</file>
+ <file>weather.png</file>
+ <file>weather@2x.png</file>
+ <file>automotive/icons.svg</file>
+ <file>automotive/index.theme</file>
+ <file>automotive/44x44/air-con.png</file>
+ <file>automotive/44x44/command.png</file>
+ <file>automotive/44x44/message.png</file>
+ <file>automotive/44x44/music.png</file>
+ <file>automotive/44x44/seats.png</file>
+ <file>automotive/44x44/settings.png</file>
+ <file>automotive/44x44/statistics.png</file>
+ <file>automotive/44x44/windows.png</file>
+ <file>automotive/44x44@2/air-con.png</file>
+ <file>automotive/44x44@2/command.png</file>
+ <file>automotive/44x44@2/message.png</file>
+ <file>automotive/44x44@2/music.png</file>
+ <file>automotive/44x44@2/navigation.png</file>
+ <file>automotive/44x44@2/seats.png</file>
+ <file>automotive/44x44@2/settings.png</file>
+ <file>automotive/44x44@2/statistics.png</file>
+ <file>automotive/44x44@2/windows.png</file>
+ </qresource>
+</RCC>
diff --git a/examples/quickcontrols2/imagine/automotive/icons/warning.png b/examples/quickcontrols2/imagine/automotive/icons/warning.png
new file mode 100644
index 00000000..590a61eb
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/warning.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/warning@2x.png b/examples/quickcontrols2/imagine/automotive/icons/warning@2x.png
new file mode 100644
index 00000000..487fbafc
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/warning@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/weather.png b/examples/quickcontrols2/imagine/automotive/icons/weather.png
new file mode 100644
index 00000000..b1479de2
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/weather.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/icons/weather@2x.png b/examples/quickcontrols2/imagine/automotive/icons/weather@2x.png
new file mode 100644
index 00000000..8b4333ab
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/icons/weather@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/applicationwindow-background.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/applicationwindow-background.png
new file mode 100644
index 00000000..8f7152e5
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/applicationwindow-background.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/applicationwindow-background@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/applicationwindow-background@2x.png
new file mode 100644
index 00000000..72bd2f11
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/applicationwindow-background@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked-hovered.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked-hovered.9.png
new file mode 100644
index 00000000..0ec1a28d
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked-hovered.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked-hovered@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked-hovered@2x.9.png
new file mode 100644
index 00000000..53e1041f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked-hovered@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked.9.png
new file mode 100644
index 00000000..16ed8185
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked@2x.9.png
new file mode 100644
index 00000000..ca5d4db6
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-checked@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-hovered.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-hovered.9.png
new file mode 100644
index 00000000..a7a0252e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-hovered.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-hovered@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-hovered@2x.9.png
new file mode 100644
index 00000000..28a0d1f1
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-hovered@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-pressed.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-pressed.9.png
new file mode 100644
index 00000000..0f8b0c4e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-pressed.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-pressed@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-pressed@2x.9.png
new file mode 100644
index 00000000..6048dba0
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background-pressed@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background.9.png
new file mode 100644
index 00000000..65653dee
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background@2x.9.png
new file mode 100644
index 00000000..0cb87ad3
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/button-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-hovered.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-hovered.png
new file mode 100644
index 00000000..aaa24dea
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-hovered@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-hovered@2x.png
new file mode 100644
index 00000000..6c1a8d9e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-pressed.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-pressed.png
new file mode 100644
index 00000000..e730f74a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-pressed@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-pressed@2x.png
new file mode 100644
index 00000000..bf189c9a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background.png
new file mode 100644
index 00000000..6cb099ce
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background@2x.png
new file mode 100644
index 00000000..dca94220
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-background@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle-pressed.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle-pressed.png
new file mode 100644
index 00000000..a65e68bd
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle-pressed@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle-pressed@2x.png
new file mode 100644
index 00000000..c2b4c86a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle.png
new file mode 100644
index 00000000..1f338bbe
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle@2x.png
new file mode 100644
index 00000000..a894eb6c
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/dial-handle@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/frame-background.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/frame-background.9.png
new file mode 100644
index 00000000..bfb27a20
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/frame-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/frame-background@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/frame-background@2x.9.png
new file mode 100644
index 00000000..73db47d3
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/frame-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/imagine-assets.qrc b/examples/quickcontrols2/imagine/automotive/imagine-assets/imagine-assets.qrc
new file mode 100644
index 00000000..81eadda6
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/imagine-assets.qrc
@@ -0,0 +1,80 @@
+<RCC>
+ <qresource prefix="/imagine-assets">
+ <file>applicationwindow-background.png</file>
+ <file>applicationwindow-background@2x.png</file>
+ <file>button-background.9.png</file>
+ <file>button-background@2x.9.png</file>
+ <file>button-background-checked.9.png</file>
+ <file>button-background-checked@2x.9.png</file>
+ <file>button-background-checked-hovered.9.png</file>
+ <file>button-background-checked-hovered@2x.9.png</file>
+ <file>button-background-hovered.9.png</file>
+ <file>button-background-hovered@2x.9.png</file>
+ <file>button-background-pressed.9.png</file>
+ <file>button-background-pressed@2x.9.png</file>
+ <file>dial-background.png</file>
+ <file>dial-background@2x.png</file>
+ <file>dial-background-hovered.png</file>
+ <file>dial-background-hovered@2x.png</file>
+ <file>dial-background-pressed.png</file>
+ <file>dial-background-pressed@2x.png</file>
+ <file>dial-handle.png</file>
+ <file>dial-handle@2x.png</file>
+ <file>dial-handle-pressed.png</file>
+ <file>dial-handle-pressed@2x.png</file>
+ <file>frame-background.9.png</file>
+ <file>frame-background@2x.9.png</file>
+ <file>itemdelegate-background.9.png</file>
+ <file>itemdelegate-background@2x.9.png</file>
+ <file>itemdelegate-background-checked.9.png</file>
+ <file>itemdelegate-background-checked@2x.9.png</file>
+ <file>itemdelegate-background-hovered.9.png</file>
+ <file>itemdelegate-background-hovered@2x.9.png</file>
+ <file>itemdelegate-background-pressed.9.png</file>
+ <file>itemdelegate-background-pressed@2x.9.png</file>
+ <file>radiobutton-indicator.png</file>
+ <file>radiobutton-indicator@2x.png</file>
+ <file>radiobutton-indicator-checked.png</file>
+ <file>radiobutton-indicator-checked@2x.png</file>
+ <file>radiobutton-indicator-checked-hovered.png</file>
+ <file>radiobutton-indicator-checked-hovered@2x.png</file>
+ <file>radiobutton-indicator-checked-pressed.png</file>
+ <file>radiobutton-indicator-checked-pressed@2x.png</file>
+ <file>radiobutton-indicator-hovered.png</file>
+ <file>radiobutton-indicator-hovered@2x.png</file>
+ <file>radiobutton-indicator-pressed.png</file>
+ <file>radiobutton-indicator-pressed@2x.png</file>
+ <file>scrollindicator-handle.png</file>
+ <file>scrollindicator-handle@2x.png</file>
+ <file>slider-background-horizontal.9.png</file>
+ <file>slider-background-horizontal@2x.9.png</file>
+ <file>slider-handle.png</file>
+ <file>slider-handle@2x.png</file>
+ <file>slider-handle-hovered.png</file>
+ <file>slider-handle-hovered@2x.png</file>
+ <file>slider-handle-pressed.png</file>
+ <file>slider-handle-pressed@2x.png</file>
+ <file>slider-progress-horizontal.9.png</file>
+ <file>slider-progress-horizontal@2x.9.png</file>
+ <file>slider-progress-horizontal-pressed.9.png</file>
+ <file>slider-progress-horizontal-pressed@2x.9.png</file>
+ <file>switchdelegate-background.9.png</file>
+ <file>switchdelegate-background@2x.9.png</file>
+ <file>switchdelegate-handle.png</file>
+ <file>switchdelegate-handle@2x.png</file>
+ <file>switchdelegate-handle-checked.png</file>
+ <file>switchdelegate-handle-checked@2x.png</file>
+ <file>switchdelegate-handle-checked-hovered.png</file>
+ <file>switchdelegate-handle-checked-hovered@2x.png</file>
+ <file>switchdelegate-handle-hovered.png</file>
+ <file>switchdelegate-handle-hovered@2x.png</file>
+ <file>switchdelegate-handle-pressed.png</file>
+ <file>switchdelegate-handle-pressed@2x.png</file>
+ <file>switchdelegate-indicator.png</file>
+ <file>switchdelegate-indicator@2x.png</file>
+ <file>switchdelegate-indicator-pressed.png</file>
+ <file>switchdelegate-indicator-pressed@2x.png</file>
+ <file>toolseparator-separator-vertical.9.png</file>
+ <file>toolseparator-separator-vertical@2x.9.png</file>
+ </qresource>
+</RCC>
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-checked.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-checked.9.png
new file mode 100644
index 00000000..8941ad9f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-checked.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-checked@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-checked@2x.9.png
new file mode 100644
index 00000000..a17e4469
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-checked@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-hovered.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-hovered.9.png
new file mode 100644
index 00000000..ab6d2947
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-hovered.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-hovered@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-hovered@2x.9.png
new file mode 100644
index 00000000..65120b4b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-hovered@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-pressed.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-pressed.9.png
new file mode 100644
index 00000000..c9b86741
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-pressed.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-pressed@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-pressed@2x.9.png
new file mode 100644
index 00000000..cc3393e1
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background-pressed@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background.9.png
new file mode 100644
index 00000000..42d580b0
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background@2x.9.png
new file mode 100644
index 00000000..76008e8c
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/itemdelegate-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-hovered.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-hovered.png
new file mode 100644
index 00000000..f64c9665
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-hovered@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-hovered@2x.png
new file mode 100644
index 00000000..ace1717a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-pressed.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-pressed.png
new file mode 100644
index 00000000..c77ad470
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-pressed@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-pressed@2x.png
new file mode 100644
index 00000000..2798f77f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked.png
new file mode 100644
index 00000000..ea714eaa
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked@2x.png
new file mode 100644
index 00000000..4f29b80b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-checked@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-hovered.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-hovered.png
new file mode 100644
index 00000000..a7d07ed1
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-hovered@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-hovered@2x.png
new file mode 100644
index 00000000..b0fff06e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-pressed.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-pressed.png
new file mode 100644
index 00000000..7d657ac9
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-pressed@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-pressed@2x.png
new file mode 100644
index 00000000..9a8b9cd8
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator.png
new file mode 100644
index 00000000..b59ba0ce
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator@2x.png
new file mode 100644
index 00000000..e4a2b9a2
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/radiobutton-indicator@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/scrollindicator-handle.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/scrollindicator-handle.png
new file mode 100644
index 00000000..0faa2592
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/scrollindicator-handle.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/scrollindicator-handle@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/scrollindicator-handle@2x.png
new file mode 100644
index 00000000..09616c5e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/scrollindicator-handle@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-background-horizontal.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-background-horizontal.9.png
new file mode 100644
index 00000000..eafe5da0
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-background-horizontal.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-background-horizontal@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-background-horizontal@2x.9.png
new file mode 100644
index 00000000..c14bf788
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-background-horizontal@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-hovered.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-hovered.png
new file mode 100644
index 00000000..9f56b8c0
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-hovered@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-hovered@2x.png
new file mode 100644
index 00000000..87a8126a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-pressed.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-pressed.png
new file mode 100644
index 00000000..771b71c2
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-pressed@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-pressed@2x.png
new file mode 100644
index 00000000..b0edf7da
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle.png
new file mode 100644
index 00000000..9634d2ae
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle@2x.png
new file mode 100644
index 00000000..8983436c
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-handle@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal-pressed.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal-pressed.9.png
new file mode 100644
index 00000000..15726a9f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal-pressed.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal-pressed@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal-pressed@2x.9.png
new file mode 100644
index 00000000..d25c9e63
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal-pressed@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal.9.png
new file mode 100644
index 00000000..cff4e860
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal@2x.9.png
new file mode 100644
index 00000000..ecb5e15a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/slider-progress-horizontal@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-background.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-background.9.png
new file mode 100644
index 00000000..1fbb5626
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-background@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-background@2x.9.png
new file mode 100644
index 00000000..18880980
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked-hovered.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked-hovered.png
new file mode 100644
index 00000000..e66ef713
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked-hovered@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked-hovered@2x.png
new file mode 100644
index 00000000..05d6f82e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked.png
new file mode 100644
index 00000000..bcfa06ae
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked@2x.png
new file mode 100644
index 00000000..b9985f0f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-checked@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-hovered.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-hovered.png
new file mode 100644
index 00000000..3de8aa15
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-hovered@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-hovered@2x.png
new file mode 100644
index 00000000..b9551590
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-pressed.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-pressed.png
new file mode 100644
index 00000000..547b2c17
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-pressed@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-pressed@2x.png
new file mode 100644
index 00000000..b4bb748a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle.png
new file mode 100644
index 00000000..b30fdaa2
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle@2x.png
new file mode 100644
index 00000000..4e98604c
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-handle@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator-pressed.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator-pressed.png
new file mode 100644
index 00000000..6833d624
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator-pressed@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator-pressed@2x.png
new file mode 100644
index 00000000..3d5498a0
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator.png
new file mode 100644
index 00000000..3db5fe20
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator@2x.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator@2x.png
new file mode 100644
index 00000000..b5c10f74
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/switchdelegate-indicator@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/toolseparator-separator-vertical.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/toolseparator-separator-vertical.9.png
new file mode 100644
index 00000000..a6d2009b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/toolseparator-separator-vertical.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/imagine-assets/toolseparator-separator-vertical@2x.9.png b/examples/quickcontrols2/imagine/automotive/imagine-assets/toolseparator-separator-vertical@2x.9.png
new file mode 100644
index 00000000..9ab9ca56
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/imagine-assets/toolseparator-separator-vertical@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/automotive/qml/CustomGlow.qml b/examples/quickcontrols2/imagine/automotive/qml/CustomGlow.qml
new file mode 100644
index 00000000..dfd66ada
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/qml/CustomGlow.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtGraphicalEffects 1.0
+
+Glow {
+ color: glowColor
+ samples: 20
+ spread: 0.3
+}
diff --git a/examples/quickcontrols2/imagine/automotive/qml/FeatureButton.qml b/examples/quickcontrols2/imagine/automotive/qml/FeatureButton.qml
new file mode 100644
index 00000000..e19d8665
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/qml/FeatureButton.qml
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.9
+import QtQuick.Layouts 1.3
+import QtQuick.Controls 2.3
+
+Button {
+ id: button
+ checkable: true
+ font.pixelSize: fontSizeExtraSmall
+ leftPadding: 4
+ rightPadding: 4
+ topPadding: 12
+ bottomPadding: 12
+ implicitWidth: 60
+ implicitHeight: 90
+
+ icon.name: "placeholder"
+ icon.width: 44
+ icon.height: 44
+ display: Button.TextUnderIcon
+}
diff --git a/examples/quickcontrols2/imagine/automotive/qml/GlowingLabel.qml b/examples/quickcontrols2/imagine/automotive/qml/GlowingLabel.qml
new file mode 100644
index 00000000..50f816ce
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/qml/GlowingLabel.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.9
+import QtQuick.Controls 2.3
+
+// This container and the transform on the Label are
+// necessary to get precise bounding rect of the text for layouting reasons,
+// since some of the labels' font sizes can get quite large.
+Item {
+ id: root
+ implicitHeight: labelTextMetrics.tightBoundingRect.height
+ implicitWidth: label.implicitWidth
+
+ property alias text: label.text
+ property alias font: label.font
+ property alias horizontalAlignment: label.horizontalAlignment
+ property alias verticalAlignment: label.verticalAlignment
+ property bool glowEnabled: true
+ property color glowColor: colorGlow
+ property color color: colorBright
+
+ Label {
+ id: label
+ anchors.baseline: root.baseline
+ color: root.color
+
+ layer.enabled: root.glowEnabled
+ layer.effect: CustomGlow {
+ color: glowColor
+ }
+
+ TextMetrics {
+ id: labelTextMetrics
+ text: label.text
+ font: label.font
+ }
+
+ transform: Translate {
+ y: -labelTextMetrics.tightBoundingRect.y
+ }
+ }
+}
diff --git a/examples/quickcontrols2/imagine/automotive/qml/automotive.qml b/examples/quickcontrols2/imagine/automotive/qml/automotive.qml
new file mode 100644
index 00000000..a2985d0f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/qml/automotive.qml
@@ -0,0 +1,642 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.9
+import QtQuick.Layouts 1.3
+import QtQuick.Controls 2.3
+import QtQuick.Controls.Imagine 2.3
+import QtQuick.Window 2.0
+
+ApplicationWindow {
+ id: window
+ width: 1280
+ height: 720
+ minimumWidth: 1180
+ minimumHeight: 663
+ visible: true
+ title: "Qt Quick Controls 2 - Imagine Style Example: Automotive"
+
+ readonly property color colorGlow: "#1d6d64"
+ readonly property color colorWarning: "#d5232f"
+ readonly property color colorMain: "#6affcd"
+ readonly property color colorBright: "#ffffff"
+ readonly property color colorLightGrey: "#888"
+ readonly property color colorDarkGrey: "#333"
+
+ readonly property int fontSizeExtraSmall: Qt.application.font.pixelSize * 0.8
+ readonly property int fontSizeMedium: Qt.application.font.pixelSize * 1.5
+ readonly property int fontSizeLarge: Qt.application.font.pixelSize * 2
+ readonly property int fontSizeExtraLarge: Qt.application.font.pixelSize * 5
+
+ Component.onCompleted: {
+ x = Screen.width / 2 - width / 2
+ y = Screen.height / 2 - height / 2
+ }
+
+ Shortcut {
+ sequence: "Ctrl+Q"
+ onActivated: Qt.quit()
+ }
+
+ Frame {
+ id: frame
+ anchors.fill: parent
+ anchors.margins: 90
+
+ RowLayout {
+ id: mainRowLayout
+ anchors.fill: parent
+ anchors.margins: 24
+ spacing: 36
+
+ Container {
+ id: leftTabBar
+
+ currentIndex: 1
+
+ Layout.fillWidth: false
+ Layout.fillHeight: true
+
+ ButtonGroup {
+ buttons: columnLayout.children
+ }
+
+ contentItem: ColumnLayout {
+ id: columnLayout
+ spacing: 3
+
+ Repeater {
+ model: leftTabBar.contentModel
+ }
+ }
+
+ FeatureButton {
+ id: navigationFeatureButton
+ text: qsTr("Navigation")
+ icon.name: "navigation"
+ Layout.fillHeight: true
+ }
+
+ FeatureButton {
+ text: qsTr("Music")
+ icon.name: "music"
+ checked: true
+ Layout.fillHeight: true
+ }
+
+ FeatureButton {
+ text: qsTr("Message")
+ icon.name: "message"
+ Layout.fillHeight: true
+ }
+
+ FeatureButton {
+ text: qsTr("Command")
+ icon.name: "command"
+ Layout.fillHeight: true
+ }
+
+ FeatureButton {
+ text: qsTr("Settings")
+ icon.name: "settings"
+ Layout.fillHeight: true
+ }
+ }
+
+ StackLayout {
+ currentIndex: leftTabBar.currentIndex
+
+ Layout.preferredWidth: 150
+ Layout.maximumWidth: 150
+ Layout.fillWidth: false
+
+ Item {}
+
+ ColumnLayout {
+ spacing: 16
+
+ ButtonGroup {
+ id: viewButtonGroup
+ buttons: viewTypeRowLayout.children
+ }
+
+ RowLayout {
+ id: viewTypeRowLayout
+ spacing: 3
+
+ Layout.bottomMargin: 12
+
+ Button {
+ text: qsTr("Compact")
+ font.pixelSize: fontSizeExtraSmall
+ checked: true
+
+ Layout.fillWidth: true
+ }
+ Button {
+ text: qsTr("Full")
+ font.pixelSize: fontSizeExtraSmall
+ checkable: true
+
+ Layout.fillWidth: true
+ }
+ }
+
+ GlowingLabel {
+ text: qsTr("VOLUME")
+ color: "white"
+ font.pixelSize: fontSizeMedium
+ }
+
+ Dial {
+ id: volumeDial
+ from: 0
+ value: 42
+ to: 100
+ stepSize: 1
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ Layout.minimumWidth: 64
+ Layout.minimumHeight: 64
+ Layout.preferredWidth: 128
+ Layout.preferredHeight: 128
+ Layout.maximumWidth: 128
+ Layout.maximumHeight: 128
+ Layout.fillHeight: true
+
+ Label {
+ text: volumeDial.value.toFixed(0)
+ color: "white"
+ font.pixelSize: Qt.application.font.pixelSize * 3
+ anchors.centerIn: parent
+ }
+ }
+
+ ButtonGroup {
+ id: audioSourceButtonGroup
+ }
+
+ RowLayout {
+ Layout.topMargin: 16
+
+ GlowingLabel {
+ id: radioOption
+ text: qsTr("RADIO")
+ color: "white"
+ font.pixelSize: fontSizeMedium
+ horizontalAlignment: Label.AlignLeft
+
+ Layout.fillWidth: true
+ }
+ GlowingLabel {
+ text: qsTr("AUX")
+ color: colorLightGrey
+ font.pixelSize: fontSizeMedium * 0.8
+ horizontalAlignment: Label.AlignHCenter
+ glowEnabled: false
+ anchors.bottom: radioOption.bottom
+
+ Layout.fillWidth: true
+ }
+ GlowingLabel {
+ text: qsTr("MP3")
+ color: colorDarkGrey
+ font.pixelSize: fontSizeMedium * 0.6
+ horizontalAlignment: Label.AlignRight
+ glowEnabled: false
+ anchors.bottom: radioOption.bottom
+
+ Layout.fillWidth: true
+ }
+ }
+
+ Frame {
+ id: stationFrame
+ leftPadding: 1
+ rightPadding: 1
+ topPadding: 1
+ bottomPadding: 1
+
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ Layout.preferredHeight: 128
+
+ ListView {
+ clip: true
+ anchors.fill: parent
+
+ ScrollIndicator.vertical: ScrollIndicator {
+ parent: stationFrame
+ anchors.top: parent.top
+ anchors.right: parent.right
+ anchors.rightMargin: 1
+ anchors.bottom: parent.bottom
+ }
+
+ model: ListModel {
+ ListElement { name: "V-Radio"; frequency: "105.5 MHz" }
+ ListElement { name: "World News"; frequency: "93.4 MHz" }
+ ListElement { name: "TekStep FM"; frequency: "95.0 MHz" }
+ ListElement { name: "Classic Radio"; frequency: "89.9 MHz" }
+ ListElement { name: "Buena Vista FM"; frequency: "100.8 MHz" }
+ ListElement { name: "Drive-by Radio"; frequency: "99.1 MHz" }
+ ListElement { name: "Unknown #1"; frequency: "104.5 MHz" }
+ ListElement { name: "Unknown #2"; frequency: "91.2 MHz" }
+ ListElement { name: "Unknown #3"; frequency: "93.8 MHz" }
+ ListElement { name: "Unknown #4"; frequency: "80.4 MHz" }
+ ListElement { name: "Unknown #5"; frequency: "101.1 MHz" }
+ ListElement { name: "Unknown #6"; frequency: "92.2 MHz" }
+ }
+ delegate: ItemDelegate {
+ id: stationDelegate
+ width: parent.width
+ height: 22
+ text: model.name
+ font.pixelSize: fontSizeExtraSmall
+ topPadding: 0
+ bottomPadding: 0
+
+ contentItem: RowLayout {
+ Label {
+ text: model.name
+ font: stationDelegate.font
+ horizontalAlignment: Text.AlignLeft
+ Layout.fillWidth: true
+ }
+ Label {
+ text: model.frequency
+ font: stationDelegate.font
+ horizontalAlignment: Text.AlignRight
+ Layout.fillWidth: true
+ }
+ }
+ }
+ }
+ }
+
+ Frame {
+ Layout.fillWidth: true
+
+ RowLayout {
+ anchors.fill: parent
+
+ Label {
+ text: qsTr("Sort by")
+ font.pixelSize: fontSizeExtraSmall
+
+ Layout.alignment: Qt.AlignTop
+ }
+
+ ColumnLayout {
+ RadioButton {
+ text: qsTr("Name")
+ font.pixelSize: fontSizeExtraSmall
+ }
+ RadioButton {
+ text: qsTr("Frequency")
+ font.pixelSize: fontSizeExtraSmall
+ }
+ RadioButton {
+ text: qsTr("Favourites")
+ font.pixelSize: fontSizeExtraSmall
+ checked: true
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ color: colorMain
+ implicitWidth: 1
+ Layout.fillHeight: true
+ }
+
+ ColumnLayout {
+ Layout.preferredWidth: 350
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+
+ GlowingLabel {
+ id: timeLabel
+ text: qsTr("11:02")
+ font.pixelSize: fontSizeExtraLarge
+
+ Layout.alignment: Qt.AlignHCenter
+
+ GlowingLabel {
+ text: qsTr("AM")
+ font.pixelSize: fontSizeLarge
+ anchors.left: parent.right
+ anchors.leftMargin: 8
+ }
+ }
+
+ Label {
+ text: qsTr("01/01/2018")
+ color: colorLightGrey
+ font.pixelSize: fontSizeMedium
+
+ Layout.alignment: Qt.AlignHCenter
+ Layout.topMargin: 2
+ Layout.bottomMargin: 10
+ }
+
+ Image {
+ source: "qrc:/icons/car.png"
+ fillMode: Image.PreserveAspectFit
+
+ Layout.fillHeight: true
+
+ Column {
+ x: parent.width * 0.88
+ y: parent.height * 0.56
+ spacing: 3
+
+ Image {
+ source: "qrc:/icons/warning.png"
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ layer.enabled: true
+ layer.effect: CustomGlow {
+ spread: 0.2
+ samples: 40
+ color: colorWarning
+ }
+ }
+
+ GlowingLabel {
+ text: qsTr("Door open")
+ color: colorWarning
+ glowColor: Qt.rgba(colorWarning.r, colorWarning.g, colorWarning.b, 0.4)
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ color: colorMain
+ implicitWidth: 1
+ Layout.fillHeight: true
+ }
+
+ ColumnLayout {
+ Row {
+ spacing: 8
+
+ Image {
+ source: "qrc:/icons/weather.png"
+ }
+
+ Column {
+ spacing: 8
+
+ Row {
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ GlowingLabel {
+ id: outsideTempValueLabel
+ text: qsTr("31")
+ font.pixelSize: fontSizeExtraLarge
+ }
+
+ GlowingLabel {
+ text: qsTr("°C")
+ font.pixelSize: Qt.application.font.pixelSize * 2.5
+ anchors.baseline: outsideTempValueLabel.baseline
+ }
+ }
+
+ Label {
+ text: qsTr("Osaka, Japan")
+ color: colorLightGrey
+ font.pixelSize: fontSizeMedium
+ }
+ }
+ }
+
+ ColumnLayout {
+ id: airConRowLayout
+ spacing: 8
+
+ Layout.preferredWidth: 128
+ Layout.preferredHeight: 380
+ Layout.fillHeight: true
+
+ Item {
+ Layout.fillHeight: true
+ }
+
+ SwitchDelegate {
+ text: qsTr("AC")
+ leftPadding: 0
+ rightPadding: 0
+ topPadding: 0
+ bottomPadding: 0
+
+ Layout.fillWidth: true
+ }
+
+ // QTBUG-63269
+ Item {
+ implicitHeight: temperatureValueLabel.implicitHeight
+ Layout.fillWidth: true
+ Layout.topMargin: 16
+
+ Label {
+ text: qsTr("Temperature")
+ anchors.baseline: temperatureValueLabel.bottom
+ anchors.left: parent.left
+ }
+
+ GlowingLabel {
+ id: temperatureValueLabel
+ text: qsTr("24°C")
+ font.pixelSize: fontSizeLarge
+ anchors.right: parent.right
+ }
+ }
+
+ Slider {
+ value: 0.35
+ Layout.fillWidth: true
+ }
+
+ // QTBUG-63269
+ Item {
+ implicitHeight: powerValueLabel.implicitHeight
+ Layout.fillWidth: true
+ Layout.topMargin: 16
+
+ Label {
+ text: qsTr("Power")
+ anchors.baseline: powerValueLabel.bottom
+ anchors.left: parent.left
+ }
+
+ GlowingLabel {
+ id: powerValueLabel
+ text: qsTr("10%")
+ font.pixelSize: fontSizeLarge
+ anchors.right: parent.right
+ }
+ }
+
+ Slider {
+ value: 0.25
+ Layout.fillWidth: true
+ }
+
+ SwitchDelegate {
+ text: qsTr("Low")
+ leftPadding: 0
+ rightPadding: 0
+ topPadding: 0
+ bottomPadding: 0
+
+ Layout.fillWidth: true
+ Layout.topMargin: 16
+ }
+
+ SwitchDelegate {
+ text: qsTr("High")
+ checked: true
+ leftPadding: 0
+ rightPadding: 0
+ topPadding: 0
+ bottomPadding: 0
+
+ Layout.fillWidth: true
+ }
+
+ SwitchDelegate {
+ text: qsTr("Defog")
+ leftPadding: 0
+ rightPadding: 0
+ topPadding: 0
+ bottomPadding: 0
+
+ Layout.fillWidth: true
+ }
+
+ SwitchDelegate {
+ text: qsTr("Recirculate")
+ leftPadding: 0
+ rightPadding: 0
+ topPadding: 0
+ bottomPadding: 0
+
+ Layout.fillWidth: true
+ }
+
+ Item {
+ Layout.fillHeight: true
+ }
+ }
+ }
+
+ Container {
+ id: rightTabBar
+
+ currentIndex: 1
+
+ Layout.fillHeight: true
+
+ ButtonGroup {
+ buttons: rightTabBarContentLayout.children
+ }
+
+ contentItem: ColumnLayout {
+ id: rightTabBarContentLayout
+ spacing: 3
+
+ Repeater {
+ model: rightTabBar.contentModel
+ }
+ }
+
+ Item {
+ Layout.fillHeight: true
+ }
+
+ FeatureButton {
+ text: qsTr("Windows")
+ icon.name: "windows"
+
+ Layout.maximumHeight: navigationFeatureButton.height
+ Layout.fillHeight: true
+ }
+ FeatureButton {
+ text: qsTr("Air Con.")
+ icon.name: "air-con"
+ checked: true
+
+ Layout.maximumHeight: navigationFeatureButton.height
+ Layout.fillHeight: true
+ }
+ FeatureButton {
+ text: qsTr("Seats")
+ icon.name: "seats"
+
+ Layout.maximumHeight: navigationFeatureButton.height
+ Layout.fillHeight: true
+ }
+ FeatureButton {
+ text: qsTr("Statistics")
+ icon.name: "statistics"
+
+ Layout.maximumHeight: navigationFeatureButton.height
+ Layout.fillHeight: true
+ }
+ }
+ }
+ }
+}
diff --git a/examples/quickcontrols2/imagine/automotive/qml/qml.qrc b/examples/quickcontrols2/imagine/automotive/qml/qml.qrc
new file mode 100644
index 00000000..d193fd32
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/qml/qml.qrc
@@ -0,0 +1,8 @@
+<RCC>
+ <qresource prefix="/qml">
+ <file>FeatureButton.qml</file>
+ <file>GlowingLabel.qml</file>
+ <file>CustomGlow.qml</file>
+ <file>automotive.qml</file>
+ </qresource>
+</RCC>
diff --git a/examples/quickcontrols2/imagine/automotive/qtquickcontrols2.conf b/examples/quickcontrols2/imagine/automotive/qtquickcontrols2.conf
new file mode 100644
index 00000000..c8bcdd40
--- /dev/null
+++ b/examples/quickcontrols2/imagine/automotive/qtquickcontrols2.conf
@@ -0,0 +1,10 @@
+[Controls]
+Style=Imagine
+
+[Imagine]
+Path=qrc:/imagine-assets
+
+[Imagine\Palette]
+Text=#6affcd
+ButtonText=#6affcd
+WindowText=#6affcd
diff --git a/examples/quickcontrols2/imagine/musicplayer/doc/images/qtquickcontrols2-musicplayer.png b/examples/quickcontrols2/imagine/musicplayer/doc/images/qtquickcontrols2-musicplayer.png
new file mode 100644
index 00000000..25b6344f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/doc/images/qtquickcontrols2-musicplayer.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/doc/src/qtquickcontrols2-musicplayer.qdoc b/examples/quickcontrols2/imagine/musicplayer/doc/src/qtquickcontrols2-musicplayer.qdoc
new file mode 100644
index 00000000..cca44e83
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/doc/src/qtquickcontrols2-musicplayer.qdoc
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example musicplayer
+ \title Qt Quick Controls 2 - Imagine Style Example: Music Player
+ \ingroup qtquickcontrols2-examples
+ \brief An audio player user interface using custom Imagine style assets.
+
+ This example demonstrates how custom Imagine style assets
+ can be used to style a user interface for an audio player application.
+
+ \image qtquickcontrols2-musicplayer.png
+
+ \omit
+ The assets are generated from a Photoshop file: \e musicplayer.psd.
+ This file can found in the \e design folder in the example directory.
+ All objects related to a particular asset are collected in a layer group.
+ For example, the assets for Button's background element are under a layer group with the following name:
+
+ \badcode
+ 100% button-background.9.png, 200% button-background@2x.9.png, 300% button-background@3x.9.png, 400% button-background@4x.9.png
+ \endcode
+
+ Using Photoshop's \l {Generate Image Assets}{https://helpx.adobe.com/photoshop/using/generate-assets-layers.html} feature,
+ the size and name for each asset are encoded into the name of the layer group.
+
+ Where applicable, \l {Smart Objects}{https://helpx.adobe.com/photoshop/using/create-smart-objects.html}
+ are used to reduce duplication for common objects such as 9-patch lines.
+ \endomit
+
+ \include examples-run.qdocinc
+*/
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/icons.qrc b/examples/quickcontrols2/imagine/musicplayer/icons/icons.qrc
new file mode 100644
index 00000000..870b4445
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/icons.qrc
@@ -0,0 +1,40 @@
+<RCC>
+ <qresource prefix="/icons">
+ <file>musicplayer/index.theme</file>
+ <file>musicplayer/32x32/bluetooth.png</file>
+ <file>musicplayer/32x32/cart.png</file>
+ <file>musicplayer/32x32/cloud.png</file>
+ <file>musicplayer/32x32/filter.png</file>
+ <file>musicplayer/32x32/folder.png</file>
+ <file>musicplayer/32x32/message.png</file>
+ <file>musicplayer/32x32/music.png</file>
+ <file>musicplayer/32x32/next.png</file>
+ <file>musicplayer/32x32/pause.png</file>
+ <file>musicplayer/32x32/power.png</file>
+ <file>musicplayer/32x32/previous.png</file>
+ <file>musicplayer/32x32/repeat.png</file>
+ <file>musicplayer/32x32/save.png</file>
+ <file>musicplayer/32x32/settings.png</file>
+ <file>musicplayer/32x32/shuffle.png</file>
+ <file>musicplayer/32x32/stop.png</file>
+ <file>musicplayer/32x32@2/bluetooth.png</file>
+ <file>musicplayer/32x32@2/cart.png</file>
+ <file>musicplayer/32x32@2/cloud.png</file>
+ <file>musicplayer/32x32@2/filter.png</file>
+ <file>musicplayer/32x32@2/folder.png</file>
+ <file>musicplayer/32x32@2/grid.png</file>
+ <file>musicplayer/32x32@2/message.png</file>
+ <file>musicplayer/32x32@2/music.png</file>
+ <file>musicplayer/32x32@2/next.png</file>
+ <file>musicplayer/32x32@2/pause.png</file>
+ <file>musicplayer/32x32@2/power.png</file>
+ <file>musicplayer/32x32@2/previous.png</file>
+ <file>musicplayer/32x32@2/repeat.png</file>
+ <file>musicplayer/32x32@2/save.png</file>
+ <file>musicplayer/32x32@2/settings.png</file>
+ <file>musicplayer/32x32@2/shuffle.png</file>
+ <file>musicplayer/32x32@2/stop.png</file>
+ <file>musicplayer/32x32/favorite.png</file>
+ <file>musicplayer/32x32@2/favorite.png</file>
+ </qresource>
+</RCC>
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/bluetooth.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/bluetooth.png
new file mode 100644
index 00000000..925f564c
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/bluetooth.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/cart.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/cart.png
new file mode 100644
index 00000000..4d5ad099
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/cart.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/cloud.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/cloud.png
new file mode 100644
index 00000000..62ef5118
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/cloud.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/favorite.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/favorite.png
new file mode 100644
index 00000000..16ea84de
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/favorite.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/filter.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/filter.png
new file mode 100644
index 00000000..4472cead
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/filter.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/folder.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/folder.png
new file mode 100644
index 00000000..5dd05778
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/folder.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/message.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/message.png
new file mode 100644
index 00000000..1d93b3c6
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/message.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/music.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/music.png
new file mode 100644
index 00000000..44489213
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/music.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/next.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/next.png
new file mode 100644
index 00000000..ab9164e8
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/next.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/pause.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/pause.png
new file mode 100644
index 00000000..9c9ef8fa
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/pause.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/power.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/power.png
new file mode 100644
index 00000000..8f7d0c77
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/power.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/previous.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/previous.png
new file mode 100644
index 00000000..3a0880fd
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/previous.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/repeat.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/repeat.png
new file mode 100644
index 00000000..7c8e8c1c
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/repeat.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/save.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/save.png
new file mode 100644
index 00000000..c0b27483
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/save.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/settings.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/settings.png
new file mode 100644
index 00000000..7992146a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/settings.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/shuffle.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/shuffle.png
new file mode 100644
index 00000000..885782a2
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/shuffle.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/stop.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/stop.png
new file mode 100644
index 00000000..3e9c3327
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32/stop.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/bluetooth.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/bluetooth.png
new file mode 100644
index 00000000..2e70afc3
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/bluetooth.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/cart.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/cart.png
new file mode 100644
index 00000000..5717dd65
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/cart.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/cloud.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/cloud.png
new file mode 100644
index 00000000..ce5ab9f9
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/cloud.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/favorite.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/favorite.png
new file mode 100644
index 00000000..ddc9aa45
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/favorite.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/filter.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/filter.png
new file mode 100644
index 00000000..3632c556
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/filter.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/folder.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/folder.png
new file mode 100644
index 00000000..49d41e20
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/folder.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/grid.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/grid.png
new file mode 100644
index 00000000..8a1624e7
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/grid.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/message.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/message.png
new file mode 100644
index 00000000..6650f26b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/message.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/music.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/music.png
new file mode 100644
index 00000000..2cb8d49a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/music.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/next.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/next.png
new file mode 100644
index 00000000..d7bb4b27
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/next.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/pause.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/pause.png
new file mode 100644
index 00000000..8a081d02
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/pause.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/power.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/power.png
new file mode 100644
index 00000000..1201e55b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/power.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/previous.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/previous.png
new file mode 100644
index 00000000..4236afdb
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/previous.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/repeat.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/repeat.png
new file mode 100644
index 00000000..c8cb06d8
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/repeat.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/save.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/save.png
new file mode 100644
index 00000000..448b25e4
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/save.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/settings.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/settings.png
new file mode 100644
index 00000000..12a0cf6b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/settings.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/shuffle.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/shuffle.png
new file mode 100644
index 00000000..22b901cc
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/shuffle.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/stop.png b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/stop.png
new file mode 100644
index 00000000..0521a943
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/32x32@2/stop.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/icons.svg b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/icons.svg
new file mode 100644
index 00000000..4cede992
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/icons.svg
@@ -0,0 +1,648 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="svg4485"
+ width="1116.5374"
+ height="64"
+ viewBox="0 0 1116.5374 63.999997"
+ sodipodi:docname="icons.svg"
+ inkscape:version="0.92.2 (5c3e80d, 2017-08-06)">
+ <metadata
+ id="metadata4491">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs4489" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1017"
+ id="namedview4487"
+ showgrid="true"
+ inkscape:zoom="1.9019737"
+ inkscape:cx="833.25423"
+ inkscape:cy="74.046593"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg4485"
+ inkscape:snap-grids="false"
+ inkscape:object-nodes="false"
+ fit-margin-top="2.7755576e-017"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid4517"
+ originx="-8.3788162"
+ originy="-6.3974667" />
+ </sodipodi:namedview>
+ <g
+ id="g5472"
+ transform="translate(0,3.2401047)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\grid.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="translate(-8.3787758,-966.40258)"
+ id="g5318">
+ <rect
+ y="998.53882"
+ x="27.755102"
+ height="9.2473469"
+ width="9.2473469"
+ id="rect4501"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ <rect
+ y="1014.5388"
+ x="11.755102"
+ height="9.2473469"
+ width="9.2473469"
+ id="rect4513"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect4515"
+ width="9.2473469"
+ height="9.2473469"
+ x="27.755102"
+ y="1014.5388" />
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect4519"
+ width="9.2473469"
+ height="9.2473469"
+ x="11.755102"
+ y="998.53882" />
+ </g>
+ <rect
+ y="28.759895"
+ x="0"
+ height="32"
+ width="32"
+ id="rect5360"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <g
+ id="g5478"
+ transform="translate(0,3.6478805)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32\settings.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <g
+ transform="translate(-8.3787758,-966.40258)"
+ id="g5322">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 84.166529,1022.8327 69.433468,1008.4131"
+ id="path4507"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 64.778344,1000.0771 c 0.15838,-2.21589 0.892654,-3.97239 4.064921,-3.9244 l 5.79089,5.4089 -0.06518,5.0971 -6.56108,6.4293 -4.0079,0.3962 -6.391837,-5.0204 c 0.003,-1.8969 0.615654,-4.5976 3.391837,-4.2539 l 3.804082,2.5118 c 1.756369,-0.3456 2.524226,-1.6258 3.156295,-3.1014 z"
+ id="path4523"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccc" />
+ </g>
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5362"
+ width="32"
+ height="32"
+ x="47.771301"
+ y="28.352119" />
+ </g>
+ <g
+ id="g5484"
+ transform="translate(0,1.8732223)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\filter.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="translate(-8.3787758,-966.40258)"
+ id="g5326">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 124.017,1012.8017 9.67769,-13.7927 H 108.6116 l 9.37299,13.931 v 13.1097 h 6.03241 z"
+ id="path4509"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 116.70205,1019.6217 h 7.31466"
+ id="path4525"
+ inkscape:connector-curvature="0" />
+ </g>
+ <rect
+ y="30.126778"
+ x="96.808228"
+ height="32"
+ width="32"
+ id="rect5364"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <g
+ id="g5490"
+ transform="translate(0,3.322319)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\message.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="translate(-8.3787758,-966.40258)"
+ id="g5330">
+ <path
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="m 155.38109,1005.6573 14.74014,12.3019 14.29684,-12.3019 v 16.8459 h -29.03698 z"
+ id="rect4527"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0"
+ id="path4532"
+ d="m 155.38109,1002.206 14.74014,12.8565 14.29684,-12.8565 v -2.5487 h -29.03698 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5366"
+ width="32"
+ height="32"
+ x="145.52081"
+ y="28.677681" />
+ </g>
+ <g
+ id="g5497"
+ transform="translate(0,3.5476608)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\music.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="translate(-8.3787758,-966.40258)"
+ id="g5335">
+ <circle
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="path4534"
+ cx="210.02449"
+ cy="1019.4025"
+ r="5.7991834" />
+ <circle
+ r="5.7991834"
+ cy="1019.4025"
+ cx="227.51147"
+ id="circle4536"
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ <path
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.77122235;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="m 214.45548,1019.7112 v -19.81316 c 0,-1.11042 0.86314,-2.00436 1.93529,-2.00436 h 13.59886 c 1.07214,0 1.93528,0.89394 1.93528,2.00436 v 19.81316"
+ id="rect4538"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cssssc" />
+ </g>
+ <rect
+ y="28.452339"
+ x="194.38922"
+ height="32"
+ width="32"
+ id="rect5368"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <g
+ id="g5501"
+ transform="translate(0,3.1662521)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\cloud.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <path
+ sodipodi:nodetypes="cccscc"
+ inkscape:connector-curvature="0"
+ id="rect4181"
+ d="m 251.48461,45.034419 c 0.4638,-10.8715 12.40207,-12.59447 15.43885,-2.5078 2.73388,0.2127 5.14555,2.6373 5.18665,5.068 0,3.4504 -2.90742,6.2281 -6.51889,6.2281 h -16.54418 c -5.83464,-1.7769 -4.57322,-9.6738 2.43757,-8.7883 z"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.46805668;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5370"
+ width="32"
+ height="32"
+ x="242.73279"
+ y="28.833748" />
+ </g>
+ <g
+ id="g5506"
+ transform="translate(0,2.188591)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32\bluetooth.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <g
+ transform="translate(-8.3787758,-966.40258)"
+ id="g5338">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 302.67171,1006.3777 22.49812,12.0249 -9.75572,5.6324 v -23.642 l 9.85555,5.6901 -22.32088,12.5411"
+ id="path5197"
+ inkscape:connector-curvature="0" />
+ </g>
+ <rect
+ y="29.811409"
+ x="290.75372"
+ height="32"
+ width="32"
+ id="rect5372"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <g
+ id="g5514"
+ transform="translate(0,3.6180954)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\cart.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="translate(-8.3787758,-966.40258)"
+ id="g5344">
+ <rect
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.30289125;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5199"
+ width="19.591835"
+ height="14.419591"
+ x="355.70938"
+ y="1002.3185" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 373.79839,1003.2635 v -5.25054 h 7.75837"
+ id="path5201"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <circle
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="path5207"
+ cx="357.12"
+ cy="1020.8915"
+ r="2.6644897" />
+ <circle
+ r="2.6644897"
+ cy="1020.8915"
+ cx="374.64978"
+ id="circle5209"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5374"
+ width="32"
+ height="32"
+ x="342.87732"
+ y="28.381905" />
+ </g>
+ <g
+ id="g5520"
+ transform="translate(0,3.3700485)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32\power.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <g
+ transform="translate(-8.3787758,-966.40258)"
+ id="g5348">
+ <path
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="m 423.9111,999.19805 c 4.9899,1.81935 7.7689,6.19995 7.7689,11.81915 0,7.1847 -5.8243,13.009 -13.009,13.009 -7.1847,0 -13.009,-5.8243 -13.009,-13.009 0,-5.2414 3.0998,-9.7589 7.5661,-11.81915"
+ id="path5211"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cscsc" />
+ <rect
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.90877056;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5214"
+ width="3"
+ height="14.321534"
+ x="417.20502"
+ y="996.53888" />
+ </g>
+ <rect
+ y="28.629951"
+ x="394.29221"
+ height="32"
+ width="32"
+ id="rect5376"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <g
+ id="g5528"
+ transform="translate(0,1.3681564)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\save.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="translate(-8.3787758,-966.40258)"
+ id="g5354">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 461.313,1007.55 7.71825,-7.7187 H 486.75 v 26.4062 h -25.437 z"
+ id="path5250"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 466.625,1002.4875 v 5.625 h 14.1875 v -7.5625"
+ id="path5252"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.85498571;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5254"
+ width="3"
+ height="3"
+ x="469.43436"
+ y="1002.7332" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5256"
+ d="m 466.625,1025.1125 v -7.9375 h 14.1875 v 7.875"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5378"
+ width="32"
+ height="32"
+ x="449.65271"
+ y="30.631844" />
+ </g>
+ <g
+ id="g5534"
+ transform="translate(0,2.5602951)"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32\folder.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <g
+ transform="translate(-8.3787758,-972.40258)"
+ id="g5358">
+ <path
+ id="rect5216"
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="m 510.7344,1007.7803 h 6.307 c 1.108,0 2,0.892 2,2 0.058,1.9158 0.4001,5.5746 -2,5.6471 l -6.307,-4e-4 h -2.0004 v -1.9996 l 4e-4,-3.6471 c 1e-4,-1.108 0.892,-2 2,-2 z m 3.3587,3.7123 h 13.2014 c 1.108,0 2.001,0.8774 2.0005,1.9674 v 1.967 h -2.0005 l -13.2014,5e-4 c -1.108,0 -2,-0.8775 -2,-1.9674 0,-1.09 0.892,-1.9674 2,-1.9674 z"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sscccccsscssccsssc" />
+ <path
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="m 508.8555,1017.2315 v 8.6728 c 0,1.108 0.892,2 2,2 h 16.5957 c 1.108,0 2,-0.892 2,-2 v -8.6728 z"
+ id="rect5242"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csssscc" />
+ </g>
+ <rect
+ y="29.439705"
+ x="494.71381"
+ height="32"
+ width="32"
+ id="rect5380"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <g
+ id="g3966"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\favorite.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <path
+ sodipodi:nodetypes="ccc"
+ inkscape:connector-curvature="0"
+ id="path5258"
+ d="m 679.76049,43.397888 c -11.16654,-4.90607 -6.54023,-14.887481 0.0528,-8.582499 6.18385,-6.259313 11.86465,3.625989 -0.0528,8.582499 z"
+ style="fill:none;stroke:#000000;stroke-width:2.2720654;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ y="22.143074"
+ x="663.8728"
+ height="32"
+ width="32"
+ id="rect5399"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <g
+ id="g3970"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32\stop.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <rect
+ ry="2"
+ rx="2"
+ y="30.209908"
+ x="730.55872"
+ height="13.875"
+ width="13.875"
+ id="rect5260"
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5405"
+ width="32"
+ height="32"
+ x="721.49622"
+ y="21.147408" />
+ </g>
+ <g
+ id="g3976"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32\previous.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <g
+ transform="matrix(0.92512795,0,0,0.92512795,49.646365,-1594.3495)"
+ id="g5275">
+ <path
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.84269726;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ inkscape:transform-center-x="1.6220757"
+ inkscape:transform-center-y="-9.5697762e-005"
+ d="m 809.37017,1768.9096 h -8.55767 -8.55877 v -4.1758 l 8.55877,-10.6475 8.55767,10.6475 z"
+ id="path5264"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc"
+ transform="matrix(0,-0.65656157,0.65656157,0,-358.61037,2289.4994)" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path5267"
+ d="m 810.35019,1758.0981 v 5.6186 5.6193 h -2.74167 l -6.99073,-5.6193 6.99073,-5.6186 z"
+ inkscape:transform-center-y="-9.5697762e-005"
+ inkscape:transform-center-x="1.6220757"
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20984423;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <rect
+ y="21.314461"
+ x="777.32397"
+ height="32"
+ width="32"
+ id="rect5407"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <g
+ id="g3988"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\next.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="matrix(-0.92512795,0,0,0.92512795,1729.0016,-1594.3495)"
+ id="g5281">
+ <path
+ transform="matrix(0,-0.65656157,0.65656157,0,-358.61037,2289.4994)"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path5277"
+ d="m 809.37017,1768.9096 h -8.55767 -8.55877 v -4.1758 l 8.55877,-10.6475 8.55767,10.6475 z"
+ inkscape:transform-center-y="-9.5697762e-005"
+ inkscape:transform-center-x="1.6220757"
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.84269726;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ <path
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20984423;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ inkscape:transform-center-x="1.6220757"
+ inkscape:transform-center-y="-9.5697762e-005"
+ d="m 810.35019,1758.0981 v 5.6186 5.6193 h -2.74167 l -6.99073,-5.6193 6.99073,-5.6186 z"
+ id="path5279"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5409"
+ width="32"
+ height="32"
+ x="969.32397"
+ y="21.314461" />
+ </g>
+ <g
+ id="g3996"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\repeat.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="matrix(0.61777671,0,0,0.61777671,393.26213,-582.60358)"
+ id="g5386">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1057,996.9258 h -11 c -1.7949,2e-4 -3.2498,1.4551 -3.25,3.25 v 3.375"
+ id="path5283"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1055.4787,992.6896 3.375,4.25 -3.75,3.875"
+ id="path5288"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path5290"
+ d="m 1044.6035,1011.3192 h 11 c 1.7949,-2e-4 3.2498,-1.4551 3.25,-3.25 v -3.375"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5292"
+ d="m 1046.1248,1015.5554 -3.375,-4.25 3.75,-3.875"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <rect
+ y="21.719917"
+ x="1026.423"
+ height="32"
+ width="32"
+ id="rect5411"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <g
+ id="g4005"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\shuffle.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="matrix(0.6410961,0,0,0.6410961,389.61554,-606.18813)"
+ id="g5393">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1101,997.8001 c 10.7776,0 1.9407,12.75 14.125,12.75"
+ id="path5294"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5298"
+ d="m 1113.4787,992.6896 3.375,4.25 -3.75,3.875"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1113.4787,1006.4897 3.375,4.25 -3.75,3.875"
+ id="path5300"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1101.2501,1010.2375 c 1.479,0.07 2.6346,-0.5915 3.875,-1.6562"
+ id="path5302"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path5312"
+ d="m 1113.6825,996.9157 c -1.479,-0.07 -2.6346,0.5915 -3.875,1.6562"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5413"
+ width="32"
+ height="32"
+ x="1084.5374"
+ y="21.248909" />
+ </g>
+ <g
+ id="g3982"
+ inkscape:export-filename="C:\dev\qqc2-technical-style-demo\icons\technical\32x32@2\pause.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <g
+ transform="matrix(0.26732473,0,0,0.26732473,607.52158,-229.58324)"
+ id="g5397">
+ <rect
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.19984221;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect5269"
+ width="14.495689"
+ height="54.800774"
+ x="877.34277"
+ y="971.0022" />
+ <rect
+ y="971.0022"
+ x="904.9892"
+ height="54.800774"
+ width="14.495689"
+ id="rect5271"
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.19984221;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+ <rect
+ y="21.314461"
+ x="831.68982"
+ height="32"
+ width="32"
+ id="rect5458"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.49999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ </g>
+</svg>
diff --git a/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/index.theme b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/index.theme
new file mode 100644
index 00000000..25232935
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/icons/musicplayer/index.theme
@@ -0,0 +1,14 @@
+[Icon Theme]
+Name=Music Player
+Comment=Icon theme for the Qt Quick Controls 2 Music Player Imagine Style Example
+
+Directories=32x32,32x32@2
+
+[32x32]
+Size=32
+Type=Fixed
+
+[32x32@2]
+Size=32
+Scale=2
+Type=Fixed
diff --git a/examples/quickcontrols2/imagine/musicplayer/images/album-cover.jpg b/examples/quickcontrols2/imagine/musicplayer/images/album-cover.jpg
new file mode 100644
index 00000000..48bd6231
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/images/album-cover.jpg
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/applicationwindow-background.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/applicationwindow-background.png
new file mode 100644
index 00000000..036bf746
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/applicationwindow-background.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked-hovered.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked-hovered.9.png
new file mode 100644
index 00000000..c275d324
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked-hovered.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked-hovered@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked-hovered@2x.9.png
new file mode 100644
index 00000000..eec285f3
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked-hovered@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked.9.png
new file mode 100644
index 00000000..2d284a5b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked@2x.9.png
new file mode 100644
index 00000000..fec385f5
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-checked@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-disabled.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-disabled.9.png
new file mode 100644
index 00000000..bcad1470
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-disabled.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-disabled@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-disabled@2x.9.png
new file mode 100644
index 00000000..03aba153
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-disabled@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-hovered.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-hovered.9.png
new file mode 100644
index 00000000..962cf677
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-hovered.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-hovered@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-hovered@2x.9.png
new file mode 100644
index 00000000..841c0064
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-hovered@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-pressed.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-pressed.9.png
new file mode 100644
index 00000000..f97f42b8
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-pressed.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-pressed@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-pressed@2x.9.png
new file mode 100644
index 00000000..97058349
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background-pressed@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background.9.png
new file mode 100644
index 00000000..74a8574f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background@2x.9.png
new file mode 100644
index 00000000..25163385
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/button-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-hovered.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-hovered.9.png
new file mode 100644
index 00000000..f9f90df4
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-hovered.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-hovered@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-hovered@2x.9.png
new file mode 100644
index 00000000..a4be50e1
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-hovered@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-open.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-open.9.png
new file mode 100644
index 00000000..147231ec
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-open.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-open@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-open@2x.9.png
new file mode 100644
index 00000000..0a978572
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-open@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-pressed.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-pressed.9.png
new file mode 100644
index 00000000..7726198a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-pressed.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-pressed@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-pressed@2x.9.png
new file mode 100644
index 00000000..d64d4052
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background-pressed@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background.9.png
new file mode 100644
index 00000000..e919d50a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background@2x.9.png
new file mode 100644
index 00000000..5effba7e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-hovered.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-hovered.png
new file mode 100644
index 00000000..78b06505
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-hovered@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-hovered@2x.png
new file mode 100644
index 00000000..ec3c8734
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-open.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-open.png
new file mode 100644
index 00000000..7a831632
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-open.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-open@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-open@2x.png
new file mode 100644
index 00000000..47c664a2
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-open@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-pressed.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-pressed.png
new file mode 100644
index 00000000..3340294f
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-pressed@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-pressed@2x.png
new file mode 100644
index 00000000..aa35b882
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator.png
new file mode 100644
index 00000000..2c7f5578
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator@2x.png
new file mode 100644
index 00000000..20b9c44c
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-indicator@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-popup.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-popup.9.png
new file mode 100644
index 00000000..cae75cd7
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-popup.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-popup@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-popup@2x.9.png
new file mode 100644
index 00000000..392607bc
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/combobox-popup@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-hovered.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-hovered.png
new file mode 100644
index 00000000..ac614678
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-hovered@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-hovered@2x.png
new file mode 100644
index 00000000..b13783c2
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-pressed.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-pressed.png
new file mode 100644
index 00000000..22e3958d
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-pressed@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-pressed@2x.png
new file mode 100644
index 00000000..72f6fadd
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background.png
new file mode 100644
index 00000000..4d9eb023
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background@2x.png
new file mode 100644
index 00000000..7ca50be8
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-background@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle-pressed.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle-pressed.png
new file mode 100644
index 00000000..39cd2b82
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle-pressed@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle-pressed@2x.png
new file mode 100644
index 00000000..01556b92
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle.png
new file mode 100644
index 00000000..8fb85691
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle@2x.png
new file mode 100644
index 00000000..f6dc4c90
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/dial-handle@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/frame-background.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/frame-background.9.png
new file mode 100644
index 00000000..aa305355
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/frame-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/frame-background@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/frame-background@2x.9.png
new file mode 100644
index 00000000..b4a4bc9d
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/frame-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/imagine-assets.qrc b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/imagine-assets.qrc
new file mode 100644
index 00000000..7bda4995
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/imagine-assets.qrc
@@ -0,0 +1,113 @@
+<RCC>
+ <qresource prefix="/imagine-assets">
+ <file>applicationwindow-background.png</file>
+ <file>button-background-checked-hovered.9.png</file>
+ <file>button-background-checked-hovered@2x.9.png</file>
+ <file>button-background-checked.9.png</file>
+ <file>button-background-checked@2x.9.png</file>
+ <file>button-background-disabled.9.png</file>
+ <file>button-background-disabled@2x.9.png</file>
+ <file>button-background-hovered.9.png</file>
+ <file>button-background-hovered@2x.9.png</file>
+ <file>button-background-pressed.9.png</file>
+ <file>button-background-pressed@2x.9.png</file>
+ <file>button-background.9.png</file>
+ <file>button-background@2x.9.png</file>
+ <file>combobox-background-hovered.9.png</file>
+ <file>combobox-background-hovered@2x.9.png</file>
+ <file>combobox-background-open.9.png</file>
+ <file>combobox-background-open@2x.9.png</file>
+ <file>combobox-background-pressed.9.png</file>
+ <file>combobox-background-pressed@2x.9.png</file>
+ <file>combobox-background.9.png</file>
+ <file>combobox-background@2x.9.png</file>
+ <file>combobox-indicator-hovered.png</file>
+ <file>combobox-indicator-hovered@2x.png</file>
+ <file>combobox-indicator-open.png</file>
+ <file>combobox-indicator-open@2x.png</file>
+ <file>combobox-indicator-pressed.png</file>
+ <file>combobox-indicator-pressed@2x.png</file>
+ <file>combobox-indicator.png</file>
+ <file>combobox-indicator@2x.png</file>
+ <file>combobox-popup.9.png</file>
+ <file>combobox-popup@2x.9.png</file>
+ <file>dial-background-hovered.png</file>
+ <file>dial-background-hovered@2x.png</file>
+ <file>dial-background-pressed.png</file>
+ <file>dial-background-pressed@2x.png</file>
+ <file>dial-background.png</file>
+ <file>dial-background@2x.png</file>
+ <file>dial-handle-pressed.png</file>
+ <file>dial-handle-pressed@2x.png</file>
+ <file>dial-handle.png</file>
+ <file>dial-handle@2x.png</file>
+ <file>frame-background.9.png</file>
+ <file>frame-background@2x.9.png</file>
+ <file>itemdelegate-background-checked.9.png</file>
+ <file>itemdelegate-background-checked@2x.9.png</file>
+ <file>itemdelegate-background-disabled.9.png</file>
+ <file>itemdelegate-background-disabled@2x.9.png</file>
+ <file>itemdelegate-background-hovered.9.png</file>
+ <file>itemdelegate-background-hovered@2x.9.png</file>
+ <file>itemdelegate-background-pressed.9.png</file>
+ <file>itemdelegate-background-pressed@2x.9.png</file>
+ <file>itemdelegate-background.9.png</file>
+ <file>itemdelegate-background@2x.9.png</file>
+ <file>roundbutton-background-checked-hovered.png</file>
+ <file>roundbutton-background-checked-hovered@2x.png</file>
+ <file>roundbutton-background-checked.png</file>
+ <file>roundbutton-background-checked@2x.png</file>
+ <file>roundbutton-background-disabled.png</file>
+ <file>roundbutton-background-disabled@2x.png</file>
+ <file>roundbutton-background-hovered.png</file>
+ <file>roundbutton-background-hovered@2x.png</file>
+ <file>roundbutton-background-pressed.png</file>
+ <file>roundbutton-background-pressed@2x.png</file>
+ <file>roundbutton-background.png</file>
+ <file>roundbutton-background@2x.png</file>
+ <file>scrollbar-handle-interactive-hovered.png</file>
+ <file>scrollbar-handle-interactive-hovered@2x.png</file>
+ <file>scrollbar-handle-interactive-pressed.png</file>
+ <file>scrollbar-handle-interactive-pressed@2x.png</file>
+ <file>scrollbar-handle-interactive.png</file>
+ <file>scrollbar-handle-interactive@2x.png</file>
+ <file>slider-background-horizontal-disabled.9.png</file>
+ <file>slider-background-horizontal-disabled@2x.9.png</file>
+ <file>slider-background-horizontal.9.png</file>
+ <file>slider-background-horizontal@2x.9.png</file>
+ <file>slider-background-vertical-disabled.9.png</file>
+ <file>slider-background-vertical-disabled@2x.9.png</file>
+ <file>slider-background-vertical.9.png</file>
+ <file>slider-background-vertical@2x.9.png</file>
+ <file>slider-handle-disabled.png</file>
+ <file>slider-handle-disabled@2x.png</file>
+ <file>slider-handle-hovered.png</file>
+ <file>slider-handle-hovered@2x.png</file>
+ <file>slider-handle.png</file>
+ <file>slider-handle@2x.png</file>
+ <file>slider-progress-horizontal.9.png</file>
+ <file>slider-progress-horizontal@2x.9.png</file>
+ <file>slider-progress-vertical-disabled.9.png</file>
+ <file>slider-progress-vertical-disabled@2x.9.png</file>
+ <file>slider-progress-vertical.9.png</file>
+ <file>slider-progress-vertical@2x.9.png</file>
+ <file>textfield-background-disabled.9.png</file>
+ <file>textfield-background-disabled@2x.9.png</file>
+ <file>textfield-background.9.png</file>
+ <file>textfield-background@2x.9.png</file>
+ <file>toolbar-background.9.png</file>
+ <file>toolbar-background@2x.9.png</file>
+ <file>toolbutton-background-checked-hovered.9.png</file>
+ <file>toolbutton-background-checked-hovered@2x.9.png</file>
+ <file>toolbutton-background-checked.9.png</file>
+ <file>toolbutton-background-checked@2x.9.png</file>
+ <file>toolbutton-background-hovered.9.png</file>
+ <file>toolbutton-background-hovered@2x.9.png</file>
+ <file>toolbutton-background-pressed.9.png</file>
+ <file>toolbutton-background-pressed@2x.9.png</file>
+ <file>toolbutton-background.9.png</file>
+ <file>toolbutton-background@2x.9.png</file>
+ <file>tooltip-background.9.png</file>
+ <file>tooltip-background@2x.9.png</file>
+ </qresource>
+</RCC>
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-checked.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-checked.9.png
new file mode 100644
index 00000000..a83c2577
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-checked.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-checked@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-checked@2x.9.png
new file mode 100644
index 00000000..ded49620
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-checked@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-disabled.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-disabled.9.png
new file mode 100644
index 00000000..2047e888
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-disabled.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-disabled@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-disabled@2x.9.png
new file mode 100644
index 00000000..422b2832
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-disabled@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-hovered.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-hovered.9.png
new file mode 100644
index 00000000..5c436be5
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-hovered.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-hovered@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-hovered@2x.9.png
new file mode 100644
index 00000000..2b98dc22
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-hovered@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-pressed.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-pressed.9.png
new file mode 100644
index 00000000..c3c2ac1d
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-pressed.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-pressed@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-pressed@2x.9.png
new file mode 100644
index 00000000..3b7ba51a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background-pressed@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background.9.png
new file mode 100644
index 00000000..b926d423
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background@2x.9.png
new file mode 100644
index 00000000..422b2832
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/itemdelegate-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked-hovered.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked-hovered.png
new file mode 100644
index 00000000..39e71430
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked-hovered@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked-hovered@2x.png
new file mode 100644
index 00000000..dd9610d1
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked.png
new file mode 100644
index 00000000..7020a0f5
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked@2x.png
new file mode 100644
index 00000000..b24dc0bf
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-checked@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-disabled.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-disabled.png
new file mode 100644
index 00000000..7f60101d
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-disabled.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-disabled@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-disabled@2x.png
new file mode 100644
index 00000000..ff0459ed
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-disabled@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-hovered.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-hovered.png
new file mode 100644
index 00000000..363d35e6
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-hovered@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-hovered@2x.png
new file mode 100644
index 00000000..61f109b7
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-pressed.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-pressed.png
new file mode 100644
index 00000000..7ca9d6c9
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-pressed@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-pressed@2x.png
new file mode 100644
index 00000000..5b35d944
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background.png
new file mode 100644
index 00000000..47f9decd
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background@2x.png
new file mode 100644
index 00000000..f6944b7a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/roundbutton-background@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-hovered.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-hovered.png
new file mode 100644
index 00000000..050e9edb
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-hovered@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-hovered@2x.png
new file mode 100644
index 00000000..096c750e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-pressed.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-pressed.png
new file mode 100644
index 00000000..2fd4bd65
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-pressed.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-pressed@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-pressed@2x.png
new file mode 100644
index 00000000..f5c9fe44
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive-pressed@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive.png
new file mode 100644
index 00000000..45edd220
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive@2x.png
new file mode 100644
index 00000000..2e02f30a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/scrollbar-handle-interactive@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal-disabled.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal-disabled.9.png
new file mode 100644
index 00000000..0a3e6d1a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal-disabled.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal-disabled@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal-disabled@2x.9.png
new file mode 100644
index 00000000..174c03fd
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal-disabled@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal.9.png
new file mode 100644
index 00000000..a4324dad
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal@2x.9.png
new file mode 100644
index 00000000..8a7127c8
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-horizontal@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical-disabled.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical-disabled.9.png
new file mode 100644
index 00000000..ee4486c7
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical-disabled.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical-disabled@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical-disabled@2x.9.png
new file mode 100644
index 00000000..b48efcd4
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical-disabled@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical.9.png
new file mode 100644
index 00000000..f3f8f75d
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical@2x.9.png
new file mode 100644
index 00000000..76397566
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-background-vertical@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-disabled.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-disabled.png
new file mode 100644
index 00000000..1157718c
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-disabled.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-disabled@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-disabled@2x.png
new file mode 100644
index 00000000..b9c55bdd
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-disabled@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-hovered.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-hovered.png
new file mode 100644
index 00000000..50ffc782
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-hovered.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-hovered@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-hovered@2x.png
new file mode 100644
index 00000000..a89d05e4
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle-hovered@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle.png
new file mode 100644
index 00000000..d9334948
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle@2x.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle@2x.png
new file mode 100644
index 00000000..a8c59db8
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-handle@2x.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-horizontal.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-horizontal.9.png
new file mode 100644
index 00000000..08bd59da
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-horizontal.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-horizontal@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-horizontal@2x.9.png
new file mode 100644
index 00000000..ce1ca6e5
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-horizontal@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical-disabled.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical-disabled.9.png
new file mode 100644
index 00000000..f906bb7d
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical-disabled.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical-disabled@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical-disabled@2x.9.png
new file mode 100644
index 00000000..2ec0f792
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical-disabled@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical.9.png
new file mode 100644
index 00000000..7797c4ed
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical@2x.9.png
new file mode 100644
index 00000000..891eb100
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/slider-progress-vertical@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background-disabled.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background-disabled.9.png
new file mode 100644
index 00000000..0de72f69
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background-disabled.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background-disabled@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background-disabled@2x.9.png
new file mode 100644
index 00000000..6ed5134b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background-disabled@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background.9.png
new file mode 100644
index 00000000..d9396673
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background@2x.9.png
new file mode 100644
index 00000000..322b6c40
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/textfield-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbar-background.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbar-background.9.png
new file mode 100644
index 00000000..b1e8a08b
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbar-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbar-background@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbar-background@2x.9.png
new file mode 100644
index 00000000..d3a26620
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbar-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked-hovered.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked-hovered.9.png
new file mode 100644
index 00000000..dcd5e0db
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked-hovered.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked-hovered@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked-hovered@2x.9.png
new file mode 100644
index 00000000..f083b78e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked-hovered@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked.9.png
new file mode 100644
index 00000000..154b7d02
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked@2x.9.png
new file mode 100644
index 00000000..8c60ca6d
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-checked@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-hovered.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-hovered.9.png
new file mode 100644
index 00000000..52c7321a
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-hovered.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-hovered@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-hovered@2x.9.png
new file mode 100644
index 00000000..8eda3fc4
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-hovered@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-pressed.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-pressed.9.png
new file mode 100644
index 00000000..e1c29027
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-pressed.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-pressed@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-pressed@2x.9.png
new file mode 100644
index 00000000..604a3136
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background-pressed@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background.9.png
new file mode 100644
index 00000000..205b5f70
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background@2x.9.png
new file mode 100644
index 00000000..7c97b8d1
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/toolbutton-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/tooltip-background.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/tooltip-background.9.png
new file mode 100644
index 00000000..bc56e3bd
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/tooltip-background.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/imagine-assets/tooltip-background@2x.9.png b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/tooltip-background@2x.9.png
new file mode 100644
index 00000000..72990330
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/imagine-assets/tooltip-background@2x.9.png
Binary files differ
diff --git a/examples/quickcontrols2/imagine/musicplayer/musicplayer.cpp b/examples/quickcontrols2/imagine/musicplayer/musicplayer.cpp
new file mode 100644
index 00000000..a9fc2b9e
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/musicplayer.cpp
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QSettings>
+#include <QIcon>
+
+int main(int argc, char *argv[])
+{
+ QGuiApplication::setApplicationName("Music Player");
+ QGuiApplication::setOrganizationName("QtProject");
+ QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
+
+ QGuiApplication app(argc, argv);
+
+ QIcon::setThemeName("musicplayer");
+
+ QQmlApplicationEngine engine;
+ engine.load(QUrl("qrc:/musicplayer.qml"));
+ if (engine.rootObjects().isEmpty())
+ return -1;
+
+ return app.exec();
+}
diff --git a/examples/quickcontrols2/imagine/musicplayer/musicplayer.pro b/examples/quickcontrols2/imagine/musicplayer/musicplayer.pro
new file mode 100644
index 00000000..b1970ee9
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/musicplayer.pro
@@ -0,0 +1,16 @@
+TEMPLATE = app
+TARGET = musicplayer
+QT += quick quickcontrols2
+
+SOURCES += \
+ musicplayer.cpp
+
+RESOURCES += \
+ icons/icons.qrc \
+ images/album-cover.jpg \
+ imagine-assets/imagine-assets.qrc \
+ qtquickcontrols2.conf \
+ musicplayer.qml
+
+target.path = $$[QT_INSTALL_EXAMPLES]/quickcontrols2/imagine/musicplayer
+INSTALLS += target
diff --git a/examples/quickcontrols2/imagine/musicplayer/musicplayer.qml b/examples/quickcontrols2/imagine/musicplayer/musicplayer.qml
new file mode 100644
index 00000000..84084862
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/musicplayer.qml
@@ -0,0 +1,467 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.9
+import QtQuick.Layouts 1.3
+import QtQuick.Controls 2.3
+import QtQuick.Window 2.0
+
+ApplicationWindow {
+ id: window
+ width: 1280
+ height: 720
+ visible: true
+ title: "Qt Quick Controls 2 - Imagine Style Example: Music Player"
+
+ Component.onCompleted: {
+ x = Screen.width / 2 - width / 2
+ y = Screen.height / 2 - height / 2
+ }
+
+ Shortcut {
+ sequence: "Ctrl+Q"
+ onActivated: Qt.quit()
+ }
+
+ header: ToolBar {
+ RowLayout {
+ id: headerRowLayout
+ anchors.fill: parent
+ spacing: 0
+
+ ToolButton {
+ icon.name: "grid"
+ }
+ ToolButton {
+ icon.name: "settings"
+ }
+ ToolButton {
+ icon.name: "filter"
+ }
+ ToolButton {
+ icon.name: "message"
+ }
+ ToolButton {
+ icon.name: "music"
+ }
+ ToolButton {
+ icon.name: "cloud"
+ }
+ ToolButton {
+ icon.name: "bluetooth"
+ }
+ ToolButton {
+ icon.name: "cart"
+ }
+
+ Item {
+ Layout.fillWidth: true
+ }
+
+ ToolButton {
+ icon.name: "power"
+ onClicked: Qt.quit()
+ }
+ }
+ }
+
+ Label {
+ text: "Qtify"
+ font.pixelSize: Qt.application.font.pixelSize * 1.3
+ anchors.centerIn: header
+ z: header.z + 1
+ }
+
+ RowLayout {
+ spacing: 115
+ anchors.fill: parent
+ anchors.margins: 70
+
+ ColumnLayout {
+ spacing: 0
+ Layout.preferredWidth: 230
+
+ RowLayout {
+ Layout.maximumHeight: 170
+
+ ColumnLayout {
+ Label {
+ text: "12 dB"
+ Layout.fillHeight: true
+ }
+ Label {
+ text: "6 dB"
+ Layout.fillHeight: true
+ }
+ Label {
+ text: "0 dB"
+ Layout.fillHeight: true
+ }
+ Label {
+ text: "-6 dB"
+ Layout.fillHeight: true
+ }
+ Label {
+ text: "-12 dB"
+ Layout.fillHeight: true
+ }
+ }
+
+ Repeater {
+ model: 7
+
+ Slider {
+ value: Math.random()
+ orientation: Qt.Vertical
+
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ }
+ }
+ }
+
+ RowLayout {
+ spacing: 10
+ Layout.topMargin: 23
+
+ ComboBox {
+ currentIndex: 1
+ model: ["Blues", "Classical", "Jazz", "Metal"]
+ Layout.fillWidth: true
+ }
+
+ Button {
+ icon.name: "folder"
+ }
+
+ Button {
+ icon.name: "save"
+ enabled: false
+ }
+ }
+
+ Dial {
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ Layout.topMargin: 50
+ }
+
+ Label {
+ text: "Volume"
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ Layout.topMargin: 12
+ }
+ }
+
+ ColumnLayout {
+ spacing: 26
+ Layout.preferredWidth: 230
+
+ Item {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+
+ Image {
+ anchors.fill: parent
+ fillMode: Image.PreserveAspectCrop
+ source: "images/album-cover.jpg"
+ }
+ }
+
+ Item {
+ id: songLabelContainer
+ clip: true
+
+ Layout.fillWidth: true
+ Layout.preferredHeight: songNameLabel.implicitHeight
+
+ SequentialAnimation {
+ running: true
+ loops: Animation.Infinite
+
+ PauseAnimation {
+ duration: 2000
+ }
+ ParallelAnimation {
+ XAnimator {
+ target: songNameLabel
+ from: 0
+ to: songLabelContainer.width - songNameLabel.implicitWidth
+ duration: 5000
+ }
+ OpacityAnimator {
+ target: leftGradient
+ from: 0
+ to: 1
+ }
+ }
+ OpacityAnimator {
+ target: rightGradient
+ from: 1
+ to: 0
+ }
+ PauseAnimation {
+ duration: 1000
+ }
+ OpacityAnimator {
+ target: rightGradient
+ from: 0
+ to: 1
+ }
+ ParallelAnimation {
+ XAnimator {
+ target: songNameLabel
+ from: songLabelContainer.width - songNameLabel.implicitWidth
+ to: 0
+ duration: 5000
+ }
+ OpacityAnimator {
+ target: leftGradient
+ from: 0
+ to: 1
+ }
+ }
+ OpacityAnimator {
+ target: leftGradient
+ from: 1
+ to: 0
+ }
+ }
+
+ Rectangle {
+ id: leftGradient
+ gradient: Gradient {
+ GradientStop {
+ position: 0
+ color: "#dfe4ea"
+ }
+ GradientStop {
+ position: 1
+ color: "#00dfe4ea"
+ }
+ }
+
+ width: height
+ height: parent.height
+ anchors.left: parent.left
+ z: 1
+ rotation: -90
+ opacity: 0
+ }
+
+ Label {
+ id: songNameLabel
+ text: "Edvard Grieg - In the Hall of the Mountain King"
+ font.pixelSize: Qt.application.font.pixelSize * 1.4
+ }
+
+ Rectangle {
+ id: rightGradient
+ gradient: Gradient {
+ GradientStop {
+ position: 0
+ color: "#00dfe4ea"
+ }
+ GradientStop {
+ position: 1
+ color: "#dfe4ea"
+ }
+ }
+
+ width: height
+ height: parent.height
+ anchors.right: parent.right
+ rotation: -90
+ }
+ }
+
+ RowLayout {
+ spacing: 8
+ Layout.alignment: Qt.AlignHCenter
+
+ RoundButton {
+ icon.name: "favorite"
+ icon.width: 32
+ icon.height: 32
+ }
+ RoundButton {
+ icon.name: "stop"
+ icon.width: 32
+ icon.height: 32
+ }
+ RoundButton {
+ icon.name: "previous"
+ icon.width: 32
+ icon.height: 32
+ }
+ RoundButton {
+ icon.name: "pause"
+ icon.width: 32
+ icon.height: 32
+ }
+ RoundButton {
+ icon.name: "next"
+ icon.width: 32
+ icon.height: 32
+ }
+ RoundButton {
+ icon.name: "repeat"
+ icon.width: 32
+ icon.height: 32
+ }
+ RoundButton {
+ icon.name: "shuffle"
+ icon.width: 32
+ icon.height: 32
+ }
+ }
+
+ Slider {
+ id: seekSlider
+ value: 113
+ to: 261
+
+ Layout.fillWidth: true
+
+ ToolTip {
+ parent: seekSlider.handle
+ visible: seekSlider.pressed
+ text: pad(Math.floor(value / 60)) + ":" + pad(Math.floor(value % 60))
+ y: parent.height
+
+ readonly property int value: seekSlider.valueAt(seekSlider.position)
+
+ function pad(number) {
+ if (number <= 9)
+ return "0" + number;
+ return number;
+ }
+ }
+ }
+ }
+
+ ColumnLayout {
+ spacing: 16
+ Layout.preferredWidth: 230
+
+ ButtonGroup {
+ buttons: libraryRowLayout.children
+ }
+
+ RowLayout {
+ id: libraryRowLayout
+ Layout.alignment: Qt.AlignHCenter
+
+ Button {
+ text: "Files"
+ checked: true
+ }
+ Button {
+ text: "Playlists"
+ checkable: true
+ }
+ Button {
+ text: "Favourites"
+ checkable: true
+ }
+ }
+
+ RowLayout {
+ TextField {
+ Layout.fillWidth: true
+ }
+ Button {
+ icon.name: "folder"
+ }
+ }
+
+ Frame {
+ id: filesFrame
+ leftPadding: 1
+ rightPadding: 1
+
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+
+ ListView {
+ clip: true
+ anchors.fill: parent
+ model: ListModel {
+ Component.onCompleted: {
+ for (var i = 0; i < 100; ++i) {
+ append({
+ author: "Author",
+ album: "Album",
+ track: "Track 0" + (i % 9 + 1),
+ });
+ }
+ }
+ }
+ delegate: ItemDelegate {
+ text: model.author + " - " + model.album + " - " + model.track
+ width: parent.width
+ }
+
+ ScrollBar.vertical: ScrollBar {
+ parent: filesFrame
+ policy: ScrollBar.AlwaysOn
+ anchors.top: parent.top
+ anchors.topMargin: filesFrame.topPadding
+ anchors.right: parent.right
+ anchors.rightMargin: 1
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: filesFrame.bottomPadding
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/examples/quickcontrols2/imagine/musicplayer/qtquickcontrols2.conf b/examples/quickcontrols2/imagine/musicplayer/qtquickcontrols2.conf
new file mode 100644
index 00000000..2fc304eb
--- /dev/null
+++ b/examples/quickcontrols2/imagine/musicplayer/qtquickcontrols2.conf
@@ -0,0 +1,10 @@
+[Controls]
+Style=Imagine
+
+[Imagine]
+Path=qrc:/imagine-assets
+
+[Imagine\Palette]
+Text=#6b7b89
+ButtonText=#6b7b89
+WindowText=#6b7b89
diff --git a/examples/quickcontrols2/quickcontrols2.pro b/examples/quickcontrols2/quickcontrols2.pro
index 8310e9b2..6d0a3875 100644
--- a/examples/quickcontrols2/quickcontrols2.pro
+++ b/examples/quickcontrols2/quickcontrols2.pro
@@ -6,6 +6,9 @@ SUBDIRS += \
contactlist \
sidepanel \
swipetoremove \
+ wearable \
+ imagine/automotive \
+ imagine/musicplayer
wearable
qtHaveModule(widgets): SUBDIRS += flatstyle
diff --git a/examples/quickcontrols2/sidepanel/doc/src/qtquickcontrols2-sidepanel.qdoc b/examples/quickcontrols2/sidepanel/doc/src/qtquickcontrols2-sidepanel.qdoc
index 7e4dfce6..bc630bb8 100644
--- a/examples/quickcontrols2/sidepanel/doc/src/qtquickcontrols2-sidepanel.qdoc
+++ b/examples/quickcontrols2/sidepanel/doc/src/qtquickcontrols2-sidepanel.qdoc
@@ -29,10 +29,10 @@
\example sidepanel
\title Qt Quick Controls 2 - Side Panel
\ingroup qtquickcontrols2-examples
- \brief A non-closable persistent side panel with Drawer.
+ \brief A persistent side panel with Drawer.
- This example demonstrates how \l Drawer can be used as a non-closable
- persistent side panel.
+ This example demonstrates how \l Drawer can be used as a persistent side
+ panel.
\raw HTML
<div class="table"><table style="background:transparent; border:0px">
@@ -52,17 +52,17 @@
When the application is in portrait mode, the drawer is an interactive
side panel that can be swiped open from the left edge. It appears on
- top of the content, and blocks user interaction through its modal
+ top of the content, blocking user interaction through its modal
background. When the application is in landscape mode, the drawer and
- the content are laid out side by side.
+ the content are laid out side-by-side.
The current orientation of the application is determined by comparing
the width and height of the window:
\snippet sidepanel/sidepanel.qml orientation
- This is used to specify whether the drawer is \l {Popup::}{modal} and
- \l {Drawer::}{interactive}, and to configure its \l {Drawer::}{position}
+ This is used to determine whether the drawer should be \l {Popup::}{modal}
+ and \l {Drawer::}{interactive}, and to configure its \l {Drawer::}{position}
and \l {Popup::visible}{visibility} accordingly.
\quotefromfile sidepanel/sidepanel.qml
diff --git a/examples/quickcontrols2/swipetoremove/doc/src/qtquickcontrols2-swipetoremove.qdoc b/examples/quickcontrols2/swipetoremove/doc/src/qtquickcontrols2-swipetoremove.qdoc
index 095bd837..476667bb 100644
--- a/examples/quickcontrols2/swipetoremove/doc/src/qtquickcontrols2-swipetoremove.qdoc
+++ b/examples/quickcontrols2/swipetoremove/doc/src/qtquickcontrols2-swipetoremove.qdoc
@@ -29,10 +29,10 @@
\example swipetoremove
\title Qt Quick Controls 2 - Swipe to Remove
\ingroup qtquickcontrols2-examples
- \brief Demonstrates removing list items by swipe.
+ \brief Demonstrates removal of list items by swipe gesture.
This example demonstrates how \l SwipeDelegate can be used to implement
- removal of list items by swipe. This UI pattern is often used in touch
+ removal of list items by swiping. This UI pattern is often used in touch
user interfaces.
\image qtquickcontrols2-swipetoremove.png
@@ -46,7 +46,7 @@
The following snippet presents how the logic of removing items is
implemented. When the swipe is \l {SwipeDelegate::swipe}{completed}, it
- starts a timer tha waits a few seconds to let the user undo the remove
+ starts a timer that waits a few seconds to let the user undo the remove
action. Once the undo timer triggers, the item is removed from the list:
\snippet swipetoremove/swipetoremove.qml removal
diff --git a/examples/quickcontrols2/wearable/doc/src/qtquickcontrols2-wearable.qdoc b/examples/quickcontrols2/wearable/doc/src/qtquickcontrols2-wearable.qdoc
index b56b4c1d..124984c1 100644
--- a/examples/quickcontrols2/wearable/doc/src/qtquickcontrols2-wearable.qdoc
+++ b/examples/quickcontrols2/wearable/doc/src/qtquickcontrols2-wearable.qdoc
@@ -38,7 +38,7 @@
\section1 Structure
- The main .qml file \c wearable.qml consists of an ApplicationWindow, a StackView
+ The main .qml file, \c wearable.qml, consists of an ApplicationWindow, a StackView
for a stack-based navigation model, and buttons for interactive navigation.
\quotefromfile wearable/wearable.qml
@@ -61,9 +61,9 @@
\section1 Styling
The demo uses a custom \l {Styling Qt Quick Controls 2}{Qt Quick Controls 2 style}
- embedded into the demo's resources. Since the style is specific to this particular
- demo, it only needs to implement a few controls. The style also provides a singleton
- type that contains various styling attributes, such as fonts and colors.
+ embedded into the demo's resources. The custom style is implemented for a
+ few controls only, as it is specific to this particular demo. It uses a
+ singleton type for various styling attributes, such as fonts and colors.
\list
\li \c qml/Style/PageIndicator.qml
@@ -83,10 +83,11 @@
\section1 Custom Type
- The demo application contains a custom button type implemented in \c qml/NaviButton.qml.
- The navigation button is used as a home and back button in \c wearable.qml. \c NaviButton
- extends the standard AbstractButton API with properties that control the slide in and slide
- out transitions and the button image.
+ The demo application contains a custom button type implemented in
+ \c qml/NaviButton.qml. The navigation button is used as a home and back
+ button in \c wearable.qml. \c NaviButton extends the AbstractButton type
+ with properties that control the slide in and slide out transitions and
+ the button image.
\quotefromfile wearable/qml/NaviButton.qml
\skipuntil import "Style"
@@ -98,12 +99,26 @@
\skipto }
\printuntil /^\}/
+ \section1 Icons
+
+ The demo ships a custom icon theme. The icons are bundled into the \c :/icons
+ folder in the application's resources. The \c index.theme file lists the contents
+ of the icon theme:
+
+ \quotefile wearable/icons/wearable/index.theme
+
+ Finally, the icon theme is selected in \c main():
+
+ \snippet wearable/wearable.cpp icons
+
+ The icons are used on the Launcher Page, which is presented below. See
+ \l {Icons in Qt Quick Controls 2} for more details about icons and themes.
+
\section1 Launcher Page
- The application launcher, which is specified as the initial content above, is
- implemented using a circular PathView in \c LauncherPage.qml. Each application is
- contained within its own .qml file, which is listed in a ListModel on the launcher
- page.
+ The application launcher is implemented using a circular PathView in
+ \c LauncherPage.qml. Each application is in a separate .qml file,
+ which is added to the ListModel on the launcher page.
\quotefromfile wearable/qml/LauncherPage.qml
\skipto PathView
@@ -116,6 +131,9 @@
\skipto "Settings"
\printuntil delegate:
\dots 8
+ \skipto icon.width
+ \printuntil icon.name
+ \dots 8
\skipto onClicked:
\printto path:
\dots
@@ -133,29 +151,28 @@
applications, data acquisition is implemented using \l XMLHttpRequest to
read from local files. These files were generated by storing responses from
remote servers in JSON format. This code can be easily modified to acquire
- data from real remote servers.
+ data from remote servers.
\section2 Navigation
This application displays a walking route from source to destination. This
- route is obtained as a response by invoking an API provided by
- \l {https://www.openstreetmap.org/}. The response is in JSON format and the
- corresponding JavaScript file associated with the application helps interpret
- the response. Currently, it is not possible to specify the source and destination
- from within the application, but it can be easily added based on the device's
- capabilities. For example, user input could be implemented as screens with
- input fields, or can be communicated over Bluetooth/Wifi from a paired app
- running on another device such as a smart phone or PC.
+ route information is obtained using the REST API provided by
+ \l {https://www.openstreetmap.org/}. The API response is in JSON format, which
+ is parsed using JavaScript by the application. Currently, it is not possible
+ to specify the source and destination from within the application, but it can
+ be added based on the device's capabilities. For example, user input
+ could be implemented as screens with input fields, or can be communicated
+ over Bluetooth/Wifi from a paired application running on another device
+ such as a smart phone or PC.
\section2 Weather
This application displays weather information such as temperature, sunrise
and sunset times, air pressure, and so on. This information is obtained
- as a response to invoking \l {https://openweathermap.org/}. The response is
- in JSON format and the corresponding JavaScript file associated with the
- application helps interpret the response. As with the Navigation application,
- this application can be modified by adding screens to accept location information
- to obtain weather data for a given location.
+ from \l {https://openweathermap.org/} using its REST API. The API response is
+ in JSON format, which is parsed using JavaScript by the application. This
+ application can also be modified by adding screens to obtain weather data for
+ a given location.
\section2 World Clock
@@ -165,7 +182,7 @@
\section2 Others
- The remaining applications return static data for now, but they can easily be
+ The remaining applications return static data for now, but they can be
modified to process response data obtained from respective services.
\include examples-run.qdocinc
diff --git a/examples/quickcontrols2/wearable/qml/Alarms/images/alarms.png b/examples/quickcontrols2/wearable/icons/wearable/36x36/alarms.png
index f38b3d4e..f38b3d4e 100644
--- a/examples/quickcontrols2/wearable/qml/Alarms/images/alarms.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36/alarms.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/Fitness/images/fitness.png b/examples/quickcontrols2/wearable/icons/wearable/36x36/fitness.png
index 80ec43cc..80ec43cc 100644
--- a/examples/quickcontrols2/wearable/qml/Fitness/images/fitness.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36/fitness.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/icons/wearable/36x36/navigation.png b/examples/quickcontrols2/wearable/icons/wearable/36x36/navigation.png
new file mode 100644
index 00000000..9b8cb8e6
--- /dev/null
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36/navigation.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/Notifications/images/notifications.png b/examples/quickcontrols2/wearable/icons/wearable/36x36/notifications.png
index bcbe85ef..bcbe85ef 100644
--- a/examples/quickcontrols2/wearable/qml/Notifications/images/notifications.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36/notifications.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/Settings/images/settings.png b/examples/quickcontrols2/wearable/icons/wearable/36x36/settings.png
index 093404f9..093404f9 100644
--- a/examples/quickcontrols2/wearable/qml/Settings/images/settings.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36/settings.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/Weather/images/weather.png b/examples/quickcontrols2/wearable/icons/wearable/36x36/weather.png
index 07bf8187..07bf8187 100644
--- a/examples/quickcontrols2/wearable/qml/Weather/images/weather.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36/weather.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/WorldClock/images/worldclock.png b/examples/quickcontrols2/wearable/icons/wearable/36x36/worldclock.png
index 91a70493..91a70493 100644
--- a/examples/quickcontrols2/wearable/qml/WorldClock/images/worldclock.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36/worldclock.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/Alarms/images/alarms@2x.png b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/alarms.png
index ba68519a..ba68519a 100644
--- a/examples/quickcontrols2/wearable/qml/Alarms/images/alarms@2x.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/alarms.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/Fitness/images/fitness@2x.png b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/fitness.png
index 088c15b8..088c15b8 100644
--- a/examples/quickcontrols2/wearable/qml/Fitness/images/fitness@2x.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/fitness.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/icons/wearable/36x36@2/navigation.png b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/navigation.png
new file mode 100644
index 00000000..8d133abc
--- /dev/null
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/navigation.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/Notifications/images/notifications@2x.png b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/notifications.png
index c3b284ed..c3b284ed 100644
--- a/examples/quickcontrols2/wearable/qml/Notifications/images/notifications@2x.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/notifications.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/Settings/images/settings@2x.png b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/settings.png
index a24a1df7..a24a1df7 100644
--- a/examples/quickcontrols2/wearable/qml/Settings/images/settings@2x.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/settings.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/Weather/images/weather@2x.png b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/weather.png
index 6e4ce2f3..6e4ce2f3 100644
--- a/examples/quickcontrols2/wearable/qml/Weather/images/weather@2x.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/weather.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/qml/WorldClock/images/worldclock@2x.png b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/worldclock.png
index 03abe162..03abe162 100644
--- a/examples/quickcontrols2/wearable/qml/WorldClock/images/worldclock@2x.png
+++ b/examples/quickcontrols2/wearable/icons/wearable/36x36@2/worldclock.png
Binary files differ
diff --git a/examples/quickcontrols2/wearable/icons/wearable/index.theme b/examples/quickcontrols2/wearable/icons/wearable/index.theme
new file mode 100644
index 00000000..da702d4a
--- /dev/null
+++ b/examples/quickcontrols2/wearable/icons/wearable/index.theme
@@ -0,0 +1,14 @@
+[Icon Theme]
+Name=Wearable
+Comment=Qt Quick Controls 2 Wearable Demo Icon Theme
+
+Directories=36x36,36x36@2
+
+[36x36]
+Size=36
+Type=Fixed
+
+[36x36@2]
+Size=36
+Scale=2
+Type=Fixed
diff --git a/examples/quickcontrols2/wearable/qml/LauncherPage.qml b/examples/quickcontrols2/wearable/qml/LauncherPage.qml
index 34f117c4..9d6d9ae9 100644
--- a/examples/quickcontrols2/wearable/qml/LauncherPage.qml
+++ b/examples/quickcontrols2/wearable/qml/LauncherPage.qml
@@ -49,7 +49,7 @@
****************************************************************************/
import QtQuick 2.7
-import QtQuick.Controls 2.0 as QQC2
+import QtQuick.Controls 2.1 as QQC2
import "Style"
PathView {
@@ -68,56 +68,53 @@ PathView {
model: ListModel {
ListElement {
title: qsTr("World Clock")
- icon: "WorldClock/images/worldclock.png"
+ icon: "worldclock"
page: "WorldClock/WorldClockPage.qml"
}
ListElement {
title: qsTr("Navigation")
- icon: "Navigation/images/navigation.png"
+ icon: "navigation"
page: "Navigation/NavigationPage.qml"
}
ListElement {
title: qsTr("Weather")
- icon: "Weather/images/weather.png"
+ icon: "weather"
page: "Weather/WeatherPage.qml"
}
ListElement {
title: qsTr("Fitness")
- icon: "Fitness/images/fitness.png"
+ icon: "fitness"
page: "Fitness/FitnessPage.qml"
}
ListElement {
title: qsTr("Notifications")
- icon: "Notifications/images/notifications.png"
+ icon: "notifications"
page: "Notifications/NotificationsPage.qml"
}
ListElement {
title: qsTr("Alarm")
- icon: "Alarms/images/alarms.png"
+ icon: "alarms"
page: "Alarms/AlarmsPage.qml"
}
ListElement {
title: qsTr("Settings")
- icon: "Settings/images/settings.png"
+ icon: "settings"
page: "Settings/SettingsPage.qml"
}
}
- delegate: QQC2.AbstractButton {
+ delegate: QQC2.RoundButton {
width: circularView.itemSize
height: circularView.itemSize
- text: model.title
+ property string title: model.title
+
+ icon.width: 36
+ icon.height: 36
+ icon.name: model.icon
opacity: PathView.itemOpacity
padding: 12
- contentItem: Image {
- source: model.icon
- fillMode: Image.Pad
- sourceSize.width: parent.availableWidth
- sourceSize.height: parent.availableHeight
- }
-
background: Rectangle {
radius: width / 2
border.width: 3
@@ -180,7 +177,7 @@ PathView {
visible: currentItem ? currentItem.PathView.itemOpacity === 1.0 : 0
- text: currentItem ? currentItem.text : ""
+ text: currentItem ? currentItem.title : ""
anchors.centerIn: parent
anchors.verticalCenterOffset: (circularView.itemSize + height) / 2
diff --git a/examples/quickcontrols2/wearable/wearable.cpp b/examples/quickcontrols2/wearable/wearable.cpp
index e6fdad74..e90ec413 100644
--- a/examples/quickcontrols2/wearable/wearable.cpp
+++ b/examples/quickcontrols2/wearable/wearable.cpp
@@ -51,6 +51,7 @@
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQuickStyle>
+#include <QIcon>
int main(int argc, char *argv[])
{
@@ -61,6 +62,10 @@ int main(int argc, char *argv[])
QQuickStyle::setStyle(QStringLiteral("qrc:/qml/Style"));
//! [style]
+ //! [icons]
+ QIcon::setThemeName(QStringLiteral("wearable"));
+ //! [icons]
+
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/wearable.qml")));
diff --git a/examples/quickcontrols2/wearable/wearable.qrc b/examples/quickcontrols2/wearable/wearable.qrc
index c8143a18..ea81edc6 100644
--- a/examples/quickcontrols2/wearable/wearable.qrc
+++ b/examples/quickcontrols2/wearable/wearable.qrc
@@ -3,18 +3,29 @@
<file>wearable.qml</file>
<file>qml/LauncherPage.qml</file>
<file>qml/NaviButton.qml</file>
+ <file>icons/wearable/index.theme</file>
+ <file>icons/wearable/36x36/alarms.png</file>
+ <file>icons/wearable/36x36/fitness.png</file>
+ <file>icons/wearable/36x36/navigation.png</file>
+ <file>icons/wearable/36x36/notifications.png</file>
+ <file>icons/wearable/36x36/settings.png</file>
+ <file>icons/wearable/36x36/weather.png</file>
+ <file>icons/wearable/36x36/worldclock.png</file>
+ <file>icons/wearable/36x36@2/alarms.png</file>
+ <file>icons/wearable/36x36@2/fitness.png</file>
+ <file>icons/wearable/36x36@2/navigation.png</file>
+ <file>icons/wearable/36x36@2/notifications.png</file>
+ <file>icons/wearable/36x36@2/settings.png</file>
+ <file>icons/wearable/36x36@2/weather.png</file>
+ <file>icons/wearable/36x36@2/worldclock.png</file>
<file>images/background.png</file>
<file>images/back.png</file>
<file>images/back@2x.png</file>
<file>images/home.png</file>
<file>images/home@2x.png</file>
<file>qml/Alarms/AlarmsPage.qml</file>
- <file>qml/Alarms/images/alarms.png</file>
- <file>qml/Alarms/images/alarms@2x.png</file>
<file>qml/Fitness/fitness.js</file>
<file>qml/Fitness/FitnessPage.qml</file>
- <file>qml/Fitness/images/fitness.png</file>
- <file>qml/Fitness/images/fitness@2x.png</file>
<file>qml/Fitness/images/man-running.png</file>
<file>qml/Fitness/images/man-running@2x.png</file>
<file>qml/Fitness/images/man-walking.png</file>
@@ -45,8 +56,6 @@
<file>qml/Notifications/images/avatarm@2x.png</file>
<file>qml/Notifications/images/missedcall.png</file>
<file>qml/Notifications/images/missedcall@2x.png</file>
- <file>qml/Notifications/images/notifications.png</file>
- <file>qml/Notifications/images/notifications@2x.png</file>
<file>qml/Settings/SettingsPage.qml</file>
<file>qml/Settings/images/bluetooth.png</file>
<file>qml/Settings/images/bluetooth@2x.png</file>
@@ -54,8 +63,6 @@
<file>qml/Settings/images/brightness@2x.png</file>
<file>qml/Settings/images/contrast.png</file>
<file>qml/Settings/images/contrast@2x.png</file>
- <file>qml/Settings/images/settings.png</file>
- <file>qml/Settings/images/settings@2x.png</file>
<file>qml/Settings/images/wifi.png</file>
<file>qml/Settings/images/wifi@2x.png</file>
<file>qml/Style/qmldir</file>
@@ -76,8 +83,6 @@
<file>qml/Weather/images/sunset@2x.png</file>
<file>qml/Weather/images/temperature.png</file>
<file>qml/Weather/images/temperature@2x.png</file>
- <file>qml/Weather/images/weather.png</file>
- <file>qml/Weather/images/weather@2x.png</file>
<file>qml/Weather/images/wind.png</file>
<file>qml/Weather/images/wind@2x.png</file>
<file>qml/WorldClock/Clock.qml</file>
@@ -98,7 +103,5 @@
<file>qml/WorldClock/images/swissnighthour@2x.png</file>
<file>qml/WorldClock/images/swissnightminute.png</file>
<file>qml/WorldClock/images/swissnightminute@2x.png</file>
- <file>qml/WorldClock/images/worldclock.png</file>
- <file>qml/WorldClock/images/worldclock@2x.png</file>
</qresource>
</RCC>