Merge lp:~cimi/unity8/sdk1.3_newUbuntuShape into lp:~aacid/unity8/use_sdk_13
- sdk1.3_newUbuntuShape
- Merge into use_sdk_13
Status: | Superseded |
---|---|
Proposed branch: | lp:~cimi/unity8/sdk1.3_newUbuntuShape |
Merge into: | lp:~aacid/unity8/use_sdk_13 |
Diff against target: |
801 lines (+115/-169) 21 files modified
plugins/Dash/CardCreator.js (+20/-46) qml/Components/LazyImage.qml (+5/-6) qml/Dash/CardCarousel.qml (+1/-1) qml/Dash/Previews/PreviewAudioPlayback.qml (+1/-1) qml/Dash/Previews/PreviewHeader.qml (+4/-4) qml/Dash/ScopesListCategoryItem.qml (+2/-2) qml/Launcher/LauncherDelegate.qml (+5/-6) qml/Launcher/LauncherPanel.qml (+2/-2) qml/Notifications/Notification.qml (+6/-6) qml/Notifications/OptionToggle.qml (+2/-2) qml/Notifications/SwipeToAct.qml (+8/-8) qml/Stages/Splash.qml (+3/-4) tests/plugins/Dash/cardcreator/1.res (+6/-7) tests/plugins/Dash/cardcreator/2.res (+6/-5) tests/plugins/Dash/cardcreator/3.res (+6/-7) tests/plugins/Dash/cardcreator/4.res (+1/-1) tests/plugins/Dash/cardcreator/5.res (+16/-43) tests/plugins/Dash/cardcreator/6.res (+6/-5) tests/plugins/Dash/cardcreator/7.res (+6/-5) tests/plugins/Dash/cardcreator/8.res (+6/-5) tests/qmltests/Dash/tst_Card.qml (+3/-3) |
To merge this branch: | bzr merge lp:~cimi/unity8/sdk1.3_newUbuntuShape |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andrea Cimitan (community) | Abstain | ||
Albert Astals Cid | Pending | ||
Review via email: mp+264883@code.launchpad.net |
This proposal has been superseded by a proposal from 2015-07-23.
Commit message
Updated all 1.3 UbuntuShape to use new APIs where possible
Description of the change
* Are there any related MPs required for this MP to build/function as expected? Please list.
No
* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes, but more eyes would be good
* Did you make sure that your branch does not contain spurious tags?
yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
n/a
* If you changed the UI, has there been a design review?
n/a
- 1823. By Andrea Cimitan
-
Also cardCreator is done, missing tests
- 1824. By Andrea Cimitan
-
Fix qml test
- 1825. By Andrea Cimitan
-
Fix test card creator
Andrea Cimitan (cimi) wrote : | # |
> * Did you perform an exploratory manual test run of the code change and any
> related functionality?
> Yes
> * Did CI run pass? If not, please explain why.
> unrelated
> * Did you make sure that the branch does not contain spurious tags?
> y
wrong tab :P
- 1826. By Andrea Cimitan
-
Remove deprecated call
- 1827. By Andrea Cimitan
-
Merged and changed one line
- 1828. By Andrea Cimitan
-
Merged
- 1829. By Andrea Cimitan
-
[ Albert Astals Cid ]
* Add context for "Please re-enter" (LP: #1377195)
* Fix i18n in scope tool (LP: #1317541)
* Fix warning when doing make try
* New phone background provided by design (LP: #1364537)
* PreviewExpandable should be not expanded on startup
* Update state of indicators bar only when the user is actively
dragging himself (LP: #1457044)
* icon-actions preview widget
* make testPageHeader more stable
[ CI Train Bot ]
* Resync trunk.
[ Josh Arenson ]
* Add handling for the location page to the autopilot settings wizard
test
[ Michael Zanetti ]
* allow opening the manage dash area by clicking with a mouse on the
arrow label
[ handsome_feng ]
* Added touch state on navigation. (LP: #1383213)
[ handsome_feng<email address hidden> ]
* Added touch state on navigation. (LP: #1383213) - 1830. By Andrea Cimitan
-
Merge
- 1831. By Andrea Cimitan
-
[ Kevin Gunn ]
* No change, rebuild for gcc5
[ CI Train Bot ]
* Resync trunk. added: po/cy.po
* Resync trunk. added: po/cy.po
[ Daniel d'Andrada ]
* Stages now control the "requestedState" property of applications
* Stages now control the "requestedState" property of applications
arrow label (LP: #1431564)
[ Daniel d'Andrada ]
* TouchRegistry: remove null candidates from list of candidates (LP:
#1473492)
[ Lukáš Tinkl ]
* Fix power dialogs on desktop
* Provide DBUS compatibility with various session services
(suspend/hibernate, lock/unlock, screensaver, etc)
* React on PrtScr keyboard shortcut for taking screenshots on desktop
(LP: #1474149)
* launcher parity: close apps from quicklist (LP: #1457201)
[ Michael Zanetti ]
* Implement first edition for a desktop Alt+Tab spread
* drop the gcc-4.9 dependency (LP: #1452348)
[ Mirco Müller ]
* Added corresponding tests and visual tweaks to a launcher-item's
progress-overlay.
* Added corresponding tests and visual tweaks to a launcher-item's
progress-overlay.
* Implemented alert/wiggle feature for launcher-icons.
* Implemented alert/wiggle feature for launcher-icons.
* makes left swip reset the search string. (LP: #1413791)
* Don't expand indicators when tap to return to call. (LP: #1453217)
* makes left swip reset the search string. (LP: #1413791) - 1832. By Andrea Cimitan
-
Fix for test
- 1833. By Andrea Cimitan
-
[ Albert Astals Cid ]
* Drop gcc 4.9 requirement in debian/rules
* Make the test more stable
* Optimize scope.preview() calls (LP: #1478022)
[ Alberto Mardegan ]
* Set currentIndex after the model change is completed (LP: #1433442)
[ Albert Astals Cid ]
* Make the test pass again after rework of appmanager
* fix testPhoneStage
[ CI Train Bot ]
* New rebuild forced.
[ Daniel d'Andrada ]
* Fix and clean up InputInfo plugin
[ Rodney Dawes ]
* Do not call verify in the payments button code. (LP: #1468038)
[ Albert Astals Cid ]
* Add a test that checks that items in an expandable are the correct
size after expanding the expandable
* Fix the expandable test
* Replace some waitForRendering with wait(0)
* Workaround for bug 1473471 (LP: #1473471)
[ Gary.Wzl ]
* Fix layout issue when adding audio track widget in expandable widget
[ handsome_feng ]
* Added indication for running apps. (LP: #1471577)
* Adjust the color to highlighting indicator. (LP: #1457098)
* Convert the MouseArea to MultiPointTouchArea to track multiple touch
points. (LP: #1445472)
[ handsome_feng<email address hidden> ]
* Convert the MouseArea to MultiPointTouchArea to track multiple touch
points. (LP: #1445472) - 1834. By Andrea Cimitan
-
Merge and fix
- 1835. By Andrea Cimitan
-
Some tweaks
- 1836. By Andrea Cimitan
-
Removed unused properties
- 1837. By Andrea Cimitan
-
Merged albert branch
- 1838. By Andrea Cimitan
-
[ CI Train Bot ]
* New rebuild forced.
[ Pawel Stolowski ]
* Store unity8 package version in /var/lib/.../version file for fast
retrieval from the shell plugin.
[ Lukáš Tinkl ]
* Revert to using plaintext instead of HTML-like markup for the
notifications (LP: #1504256)
[ CI Train Bot ]
* Resync trunk.
[ Lukáš Tinkl ]
* Wizard: skip the reporting page if the system is configured not to
report crashes (LP: #1494442)
[ Alexandros Frantzis ]
* Use power state change reason SnapDecision to turn screen on when a
SnapDecision arrives (LP: #1291455)
[ CI Train Bot ]
* New rebuild forced.
[ Albert Astals Cid ]
* Make Launcher::test_quickList MenuOnRMB stable (LP: #1500359)
[ CI Train Bot ]
* New rebuild forced.
[ Michael Zanetti ]
* Stabilize Launcher DND test
[ Albert Astals Cid ]
* Improvements from running clazy over the code
[ Daniel d'Andrada ]
* PhoneStage: ensure you're left in a consistent state after being
reset (LP: #1476757)
[ Lukáš Tinkl ]
* Improve the appearance and functionality of datetime and session
indicators in Unity8 desktop.
* Using InputInfo, determine if we need swipe or click to dismiss the
notifications (e.g. incoming phone call)
[ Michael Zanetti ]
* further development on the Desktop Spread (LP: #1488147)
[ Michał Sawicz ]
* Bump application API version
* Skip bluetooth check under wily, use expectFailure to notice when
it's back
[ Richard Somlói ]
* Fix translator comments in time formatter
[ Albert Astals Cid ]
* Adapt test to code changes
* Add DEP-8 test for all our UI and unit tests
* Keep the PreviewStack around to avoid mem leaks (LP: #1495467)
[ CI Train Bot ]
* Resync trunk.
[ Michael Terry ]
* When libusermetrics gives us an empty string, still show the
infographic circle rather than hiding it. This is a follow-on to a
branch [1] that changes the "no data available" label to the empty
string.
[ Michał Sawicz ]
* Add DEP-8 test for all our UI and unit tests
* Fix integrated LightDM path
* Resync trunk
[ Albert Astals Cid ]
* Fix testNotifications
* Make the wait longer to make tests pass in CI
* New simplified CroppedImageMinimumSourceSize (LP: #1467740)
* Stop animateTimer when starting the fadeOutAnimation
* Use AlreadyLaunchedUpstart so that tests passes
* Workaround keyboard issues and make test pass again
[ Daniel d'Andrada ]
* DesktopStage: Refactor focus handling
* Stabilize tstShell.test_launchedAp pHasActiveFocus
[ Gary.Wzl ]
* Add widgetData["expanded" ] property for expandable widget.
[ Michael Terry ]
* Fix typo that caused the tutorial to tease the launcher on top of
the greeter.
* Fix typo that caused the tutorial to tease the launcher on top of
the greeter.
[ Michal Sawicz ]
* Resync wily with vivid
[ Albert Astals Cid ]
* Accomodate header height when using a card carousel with non
overlayed header (LP: #1489309)
* Fix restart unity8 from inside the phone more than two times (LP:
#1487946)
[ Gary.Wzl ]
* Move textarea up automatically when inputmethod popup. (LP:
#1485947)
[ Lukáš Tinkl ]
* Introduce a GlobalShortcut QML component for handling global
keyboard shortcuts
[ Michael Terry ]
* Fix the fact that a user that is locked out from their account for
five minutes after entering too many wrong passwords can simply
reboot to try again. (LP: #1383086)
* Fix the fact that a user that is locked out from their account for
five minutes after entering too many wrong passwords can simply
reboot to try again. (LP: #1383086)
[ Michael Zanetti ]
* Implement progressive autoscrolling in desktop spread
* add an animation transition when invoking the spread by hitting the
right edge
[ Michael Zanetti ]
* release for wily
[ CI Train Bot ]
* New rebuild forced. - 1839. By Andrea Cimitan
-
[ Albert Astals Cid ]
* Clazy fixes
* Enable Efficient String Construction by default
[ CI Train Bot ]
* New rebuild forced.
[ Daniel d'Andrada ]
* Have unity8 drawing its own cursor (LP: #1488417)
* Initial multi-monitor support
[ Daniel van Vugt ]
* Disable Qt's stuttering 'touch compression' to fix scrolling
smoothness (LP: #1486341, #1488327)
[ Lukáš Tinkl ]
* Fix autopilot wizard test skipping the reporting page
* Implement Unity.Platform plugin wrapping org.freedesktop.hostname1
(LP: #1504318)
* React to window title (aka surface name) changes (LP: #1497092)
* Rotate the screenshots according to the actual orientation
[ Michał Sawicz ]
* Fix application API dependency
* Have unity8 drawing its own cursor (LP: #1488417)
* Initial multi-monitor support
* Rotate the screenshots according to the actual orientation
[ Nick Dedekind ]
* Fixed leak in UnityMenuModelStackTest
* Moved time translation to SDK (LP: #1372061)
Unmerged revisions
- 1839. By Andrea Cimitan
-
[ Albert Astals Cid ]
* Clazy fixes
* Enable Efficient String Construction by default
[ CI Train Bot ]
* New rebuild forced.
[ Daniel d'Andrada ]
* Have unity8 drawing its own cursor (LP: #1488417)
* Initial multi-monitor support
[ Daniel van Vugt ]
* Disable Qt's stuttering 'touch compression' to fix scrolling
smoothness (LP: #1486341, #1488327)
[ Lukáš Tinkl ]
* Fix autopilot wizard test skipping the reporting page
* Implement Unity.Platform plugin wrapping org.freedesktop.hostname1
(LP: #1504318)
* React to window title (aka surface name) changes (LP: #1497092)
* Rotate the screenshots according to the actual orientation
[ Michał Sawicz ]
* Fix application API dependency
* Have unity8 drawing its own cursor (LP: #1488417)
* Initial multi-monitor support
* Rotate the screenshots according to the actual orientation
[ Nick Dedekind ]
* Fixed leak in UnityMenuModelStackTest
* Moved time translation to SDK (LP: #1372061) - 1838. By Andrea Cimitan
-
[ CI Train Bot ]
* New rebuild forced.
[ Pawel Stolowski ]
* Store unity8 package version in /var/lib/.../version file for fast
retrieval from the shell plugin.
[ Lukáš Tinkl ]
* Revert to using plaintext instead of HTML-like markup for the
notifications (LP: #1504256)
[ CI Train Bot ]
* Resync trunk.
[ Lukáš Tinkl ]
* Wizard: skip the reporting page if the system is configured not to
report crashes (LP: #1494442)
[ Alexandros Frantzis ]
* Use power state change reason SnapDecision to turn screen on when a
SnapDecision arrives (LP: #1291455)
[ CI Train Bot ]
* New rebuild forced.
[ Albert Astals Cid ]
* Make Launcher::test_quickList MenuOnRMB stable (LP: #1500359)
[ CI Train Bot ]
* New rebuild forced.
[ Michael Zanetti ]
* Stabilize Launcher DND test
[ Albert Astals Cid ]
* Improvements from running clazy over the code
[ Daniel d'Andrada ]
* PhoneStage: ensure you're left in a consistent state after being
reset (LP: #1476757)
[ Lukáš Tinkl ]
* Improve the appearance and functionality of datetime and session
indicators in Unity8 desktop.
* Using InputInfo, determine if we need swipe or click to dismiss the
notifications (e.g. incoming phone call)
[ Michael Zanetti ]
* further development on the Desktop Spread (LP: #1488147)
[ Michał Sawicz ]
* Bump application API version
* Skip bluetooth check under wily, use expectFailure to notice when
it's back
[ Richard Somlói ]
* Fix translator comments in time formatter
[ Albert Astals Cid ]
* Adapt test to code changes
* Add DEP-8 test for all our UI and unit tests
* Keep the PreviewStack around to avoid mem leaks (LP: #1495467)
[ CI Train Bot ]
* Resync trunk.
[ Michael Terry ]
* When libusermetrics gives us an empty string, still show the
infographic circle rather than hiding it. This is a follow-on to a
branch [1] that changes the "no data available" label to the empty
string.
[ Michał Sawicz ]
* Add DEP-8 test for all our UI and unit tests
* Fix integrated LightDM path
* Resync trunk
[ Albert Astals Cid ]
* Fix testNotifications
* Make the wait longer to make tests pass in CI
* New simplified CroppedImageMinimumSourceSize (LP: #1467740)
* Stop animateTimer when starting the fadeOutAnimation
* Use AlreadyLaunchedUpstart so that tests passes
* Workaround keyboard issues and make test pass again
[ Daniel d'Andrada ]
* DesktopStage: Refactor focus handling
* Stabilize tstShell.test_launchedAp pHasActiveFocus
[ Gary.Wzl ]
* Add widgetData["expanded" ] property for expandable widget.
[ Michael Terry ]
* Fix typo that caused the tutorial to tease the launcher on top of
the greeter.
* Fix typo that caused the tutorial to tease the launcher on top of
the greeter.
[ Michal Sawicz ]
* Resync wily with vivid
[ Albert Astals Cid ]
* Accomodate header height when using a card carousel with non
overlayed header (LP: #1489309)
* Fix restart unity8 from inside the phone more than two times (LP:
#1487946)
[ Gary.Wzl ]
* Move textarea up automatically when inputmethod popup. (LP:
#1485947)
[ Lukáš Tinkl ]
* Introduce a GlobalShortcut QML component for handling global
keyboard shortcuts
[ Michael Terry ]
* Fix the fact that a user that is locked out from their account for
five minutes after entering too many wrong passwords can simply
reboot to try again. (LP: #1383086)
* Fix the fact that a user that is locked out from their account for
five minutes after entering too many wrong passwords can simply
reboot to try again. (LP: #1383086)
[ Michael Zanetti ]
* Implement progressive autoscrolling in desktop spread
* add an animation transition when invoking the spread by hitting the
right edge
[ Michael Zanetti ]
* release for wily
[ CI Train Bot ]
* New rebuild forced. - 1837. By Andrea Cimitan
-
Merged albert branch
- 1836. By Andrea Cimitan
-
Removed unused properties
- 1835. By Andrea Cimitan
-
Some tweaks
- 1834. By Andrea Cimitan
-
Merge and fix
- 1833. By Andrea Cimitan
-
[ Albert Astals Cid ]
* Drop gcc 4.9 requirement in debian/rules
* Make the test more stable
* Optimize scope.preview() calls (LP: #1478022)
[ Alberto Mardegan ]
* Set currentIndex after the model change is completed (LP: #1433442)
[ Albert Astals Cid ]
* Make the test pass again after rework of appmanager
* fix testPhoneStage
[ CI Train Bot ]
* New rebuild forced.
[ Daniel d'Andrada ]
* Fix and clean up InputInfo plugin
[ Rodney Dawes ]
* Do not call verify in the payments button code. (LP: #1468038)
[ Albert Astals Cid ]
* Add a test that checks that items in an expandable are the correct
size after expanding the expandable
* Fix the expandable test
* Replace some waitForRendering with wait(0)
* Workaround for bug 1473471 (LP: #1473471)
[ Gary.Wzl ]
* Fix layout issue when adding audio track widget in expandable widget
[ handsome_feng ]
* Added indication for running apps. (LP: #1471577)
* Adjust the color to highlighting indicator. (LP: #1457098)
* Convert the MouseArea to MultiPointTouchArea to track multiple touch
points. (LP: #1445472)
[ handsome_feng<email address hidden> ]
* Convert the MouseArea to MultiPointTouchArea to track multiple touch
points. (LP: #1445472) - 1832. By Andrea Cimitan
-
Fix for test
- 1831. By Andrea Cimitan
-
[ Kevin Gunn ]
* No change, rebuild for gcc5
[ CI Train Bot ]
* Resync trunk. added: po/cy.po
* Resync trunk. added: po/cy.po
[ Daniel d'Andrada ]
* Stages now control the "requestedState" property of applications
* Stages now control the "requestedState" property of applications
arrow label (LP: #1431564)
[ Daniel d'Andrada ]
* TouchRegistry: remove null candidates from list of candidates (LP:
#1473492)
[ Lukáš Tinkl ]
* Fix power dialogs on desktop
* Provide DBUS compatibility with various session services
(suspend/hibernate, lock/unlock, screensaver, etc)
* React on PrtScr keyboard shortcut for taking screenshots on desktop
(LP: #1474149)
* launcher parity: close apps from quicklist (LP: #1457201)
[ Michael Zanetti ]
* Implement first edition for a desktop Alt+Tab spread
* drop the gcc-4.9 dependency (LP: #1452348)
[ Mirco Müller ]
* Added corresponding tests and visual tweaks to a launcher-item's
progress-overlay.
* Added corresponding tests and visual tweaks to a launcher-item's
progress-overlay.
* Implemented alert/wiggle feature for launcher-icons.
* Implemented alert/wiggle feature for launcher-icons.
* makes left swip reset the search string. (LP: #1413791)
* Don't expand indicators when tap to return to call. (LP: #1453217)
* makes left swip reset the search string. (LP: #1413791) - 1830. By Andrea Cimitan
-
Merge
Preview Diff
1 | === modified file 'plugins/Dash/CardCreator.js' | |||
2 | --- plugins/Dash/CardCreator.js 2015-07-06 12:59:55 +0000 | |||
3 | +++ plugins/Dash/CardCreator.js 2015-07-17 13:05:07 +0000 | |||
4 | @@ -28,11 +28,12 @@ | |||
5 | 28 | sourceComponent: UbuntuShape { \n\ | 28 | sourceComponent: UbuntuShape { \n\ |
6 | 29 | objectName: "background"; \n\ | 29 | objectName: "background"; \n\ |
7 | 30 | radius: "medium"; \n\ | 30 | radius: "medium"; \n\ |
10 | 31 | color: getColor(0) || "white"; \n\ | 31 | backgroundColor: getColor(0) || "white"; \n\ |
11 | 32 | gradientColor: getColor(1) || color; \n\ | 32 | secondaryBackgroundColor: getColor(1) || backgroundColor; \n\ |
12 | 33 | backgroundMode: cardData && typeof cardData["background"] === "object" && cardData["background"]["type"] === "gradient" ? UbuntuShape.VerticalGradient : UbuntuShape.SolidColor; \n\ | ||
13 | 33 | anchors.fill: parent; \n\ | 34 | anchors.fill: parent; \n\ |
16 | 34 | image: backgroundImage.source ? backgroundImage : null; \n\ | 35 | source: backgroundImage.source ? backgroundImage : null; \n\ |
17 | 35 | property real luminance: Style.luminance(color); \n\ | 36 | property real luminance: Style.luminance(backgroundColor); \n\ |
18 | 36 | property Image backgroundImage: Image { \n\ | 37 | property Image backgroundImage: Image { \n\ |
19 | 37 | objectName: "backgroundImage"; \n\ | 38 | objectName: "backgroundImage"; \n\ |
20 | 38 | source: { \n\ | 39 | source: { \n\ |
21 | @@ -52,7 +53,7 @@ | |||
22 | 52 | // %1 is used as anchors of artShapeHolder | 53 | // %1 is used as anchors of artShapeHolder |
23 | 53 | // %2 is used as image width | 54 | // %2 is used as image width |
24 | 54 | // %3 is used as image height | 55 | // %3 is used as image height |
26 | 55 | var kArtShapeHolderCode = 'Item { \n\ | 56 | var kArtShapeHolderCode = 'Item { \n\ |
27 | 56 | id: artShapeHolder; \n\ | 57 | id: artShapeHolder; \n\ |
28 | 57 | height: root.fixedArtShapeSize.height > 0 ? root.fixedArtShapeSize.height : artShapeLoader.height; \n\ | 58 | height: root.fixedArtShapeSize.height > 0 ? root.fixedArtShapeSize.height : artShapeLoader.height; \n\ |
29 | 58 | width: root.fixedArtShapeSize.width > 0 ? root.fixedArtShapeSize.width : artShapeLoader.width; \n\ | 59 | width: root.fixedArtShapeSize.width > 0 ? root.fixedArtShapeSize.width : artShapeLoader.width; \n\ |
30 | @@ -66,10 +67,9 @@ | |||
31 | 66 | sourceComponent: Item { \n\ | 67 | sourceComponent: Item { \n\ |
32 | 67 | id: artShape; \n\ | 68 | id: artShape; \n\ |
33 | 68 | objectName: "artShape"; \n\ | 69 | objectName: "artShape"; \n\ |
35 | 69 | property bool doShapeItem: components["art"]["conciergeMode"] !== true; \n\ | 70 | readonly property bool doShapeItem: components["art"]["conciergeMode"] !== true; \n\ |
36 | 70 | visible: image.status == Image.Ready; \n\ | 71 | visible: image.status == Image.Ready; \n\ |
37 | 71 | readonly property alias image: artImage.image; \n\ | 72 | readonly property alias image: artImage.image; \n\ |
38 | 72 | property alias borderSource: artShapeShape.borderSource; \n\ | ||
39 | 73 | ShaderEffectSource { \n\ | 73 | ShaderEffectSource { \n\ |
40 | 74 | id: artShapeSource; \n\ | 74 | id: artShapeSource; \n\ |
41 | 75 | sourceItem: artImage; \n\ | 75 | sourceItem: artImage; \n\ |
42 | @@ -78,16 +78,17 @@ | |||
43 | 78 | height: 1; \n\ | 78 | height: 1; \n\ |
44 | 79 | hideSource: doShapeItem; \n\ | 79 | hideSource: doShapeItem; \n\ |
45 | 80 | } \n\ | 80 | } \n\ |
47 | 81 | Shape { \n\ | 81 | UbuntuShape { \n\ |
48 | 82 | id: artShapeShape; \n\ | 82 | id: artShapeShape; \n\ |
50 | 83 | image: artShapeSource; \n\ | 83 | source: artShapeSource; \n\ |
51 | 84 | anchors.fill: parent; \n\ | 84 | anchors.fill: parent; \n\ |
52 | 85 | visible: doShapeItem; \n\ | 85 | visible: doShapeItem; \n\ |
53 | 86 | radius: "medium"; \n\ | 86 | radius: "medium"; \n\ |
54 | 87 | aspect: root.artShapeStyle === "inset" ? UbuntuShape.Inset : UbuntuShape.Flat; \n\ | ||
55 | 87 | } \n\ | 88 | } \n\ |
56 | 88 | readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; \n\ | 89 | readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; \n\ |
57 | 89 | readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; \n\ | 90 | readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; \n\ |
59 | 90 | Component.onCompleted: { updateWidthHeightBindings(); if (artShapeBorderSource !== undefined) borderSource = artShapeBorderSource; } \n\ | 91 | Component.onCompleted: { updateWidthHeightBindings(); } \n\ |
60 | 91 | Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); } \n\ | 92 | Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); } \n\ |
61 | 92 | function updateWidthHeightBindings() { \n\ | 93 | function updateWidthHeightBindings() { \n\ |
62 | 93 | if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) { \n\ | 94 | if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) { \n\ |
63 | @@ -112,44 +113,18 @@ | |||
64 | 112 | 113 | ||
65 | 113 | var kOverlayLoaderCode = 'Loader { \n\ | 114 | var kOverlayLoaderCode = 'Loader { \n\ |
66 | 114 | id: overlayLoader; \n\ | 115 | id: overlayLoader; \n\ |
72 | 115 | anchors { \n\ | 116 | readonly property real overlayHeight: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2); \n\ |
73 | 116 | left: artShapeHolder.left; \n\ | 117 | anchors.fill: artShapeHolder; \n\ |
69 | 117 | right: artShapeHolder.right; \n\ | ||
70 | 118 | bottom: artShapeHolder.bottom; \n\ | ||
71 | 119 | } \n\ | ||
74 | 120 | active: artShapeLoader.active && artShapeLoader.item && artShapeLoader.item.image.status === Image.Ready || false; \n\ | 118 | active: artShapeLoader.active && artShapeLoader.item && artShapeLoader.item.image.status === Image.Ready || false; \n\ |
75 | 121 | asynchronous: root.asynchronous; \n\ | 119 | asynchronous: root.asynchronous; \n\ |
76 | 122 | visible: showHeader && status == Loader.Ready; \n\ | 120 | visible: showHeader && status == Loader.Ready; \n\ |
78 | 123 | sourceComponent: ShaderEffect { \n\ | 121 | sourceComponent: UbuntuShapeOverlay { \n\ |
79 | 124 | id: overlay; \n\ | 122 | id: overlay; \n\ |
80 | 125 | height: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2); \n\ | ||
81 | 126 | property real luminance: Style.luminance(overlayColor); \n\ | 123 | property real luminance: Style.luminance(overlayColor); \n\ |
108 | 127 | property color overlayColor: cardData && cardData["overlayColor"] || "#99000000"; \n\ | 124 | aspect: UbuntuShape.Flat; \n\ |
109 | 128 | property var source: ShaderEffectSource { \n\ | 125 | radius: "medium"; \n\ |
110 | 129 | id: shaderSource; \n\ | 126 | overlayColor: cardData && cardData["overlayColor"] || "#99000000"; \n\ |
111 | 130 | sourceItem: artShapeLoader.item; \n\ | 127 | overlayRect: Qt.rect(0, 1 - overlayLoader.overlayHeight / height, 1, 1); \n\ |
86 | 131 | onVisibleChanged: if (visible) scheduleUpdate(); \n\ | ||
87 | 132 | live: false; \n\ | ||
88 | 133 | sourceRect: Qt.rect(0, artShapeLoader.height - overlay.height, artShapeLoader.width, overlay.height); \n\ | ||
89 | 134 | } \n\ | ||
90 | 135 | vertexShader: " \n\ | ||
91 | 136 | uniform highp mat4 qt_Matrix; \n\ | ||
92 | 137 | attribute highp vec4 qt_Vertex; \n\ | ||
93 | 138 | attribute highp vec2 qt_MultiTexCoord0; \n\ | ||
94 | 139 | varying highp vec2 coord; \n\ | ||
95 | 140 | void main() { \n\ | ||
96 | 141 | coord = qt_MultiTexCoord0; \n\ | ||
97 | 142 | gl_Position = qt_Matrix * qt_Vertex; \n\ | ||
98 | 143 | }"; \n\ | ||
99 | 144 | fragmentShader: " \n\ | ||
100 | 145 | varying highp vec2 coord; \n\ | ||
101 | 146 | uniform sampler2D source; \n\ | ||
102 | 147 | uniform lowp float qt_Opacity; \n\ | ||
103 | 148 | uniform highp vec4 overlayColor; \n\ | ||
104 | 149 | void main() { \n\ | ||
105 | 150 | lowp vec4 tex = texture2D(source, coord); \n\ | ||
106 | 151 | gl_FragColor = vec4(overlayColor.r, overlayColor.g, overlayColor.b, 1) * qt_Opacity * overlayColor.a * tex.a; \n\ | ||
107 | 152 | }"; \n\ | ||
112 | 153 | } \n\ | 128 | } \n\ |
113 | 154 | }\n'; | 129 | }\n'; |
114 | 155 | 130 | ||
115 | @@ -325,7 +300,7 @@ | |||
116 | 325 | id: root; \n\ | 300 | id: root; \n\ |
117 | 326 | property var components; \n\ | 301 | property var components; \n\ |
118 | 327 | property var cardData; \n\ | 302 | property var cardData; \n\ |
120 | 328 | property var artShapeBorderSource: undefined; \n\ | 303 | property string artShapeStyle: "inset"; \n\ |
121 | 329 | property real fontScale: 1.0; \n\ | 304 | property real fontScale: 1.0; \n\ |
122 | 330 | property var scopeStyle: null; \n\ | 305 | property var scopeStyle: null; \n\ |
123 | 331 | property int titleAlignment: Text.AlignLeft; \n\ | 306 | property int titleAlignment: Text.AlignLeft; \n\ |
124 | @@ -368,7 +343,6 @@ | |||
125 | 368 | } | 343 | } |
126 | 369 | 344 | ||
127 | 370 | if (hasArt) { | 345 | if (hasArt) { |
128 | 371 | code += 'onArtShapeBorderSourceChanged: { if (artShapeBorderSource !== undefined && artShapeLoader.item) artShapeLoader.item.borderSource = artShapeBorderSource; } \n'; | ||
129 | 372 | code += 'readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);\n'; | 346 | code += 'readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);\n'; |
130 | 373 | 347 | ||
131 | 374 | var widthCode, heightCode; | 348 | var widthCode, heightCode; |
132 | @@ -555,7 +529,7 @@ | |||
133 | 555 | titleAnchors += 'left: parent.left; \n\ | 529 | titleAnchors += 'left: parent.left; \n\ |
134 | 556 | leftMargin: units.gu(1); \n\ | 530 | leftMargin: units.gu(1); \n\ |
135 | 557 | top: overlayLoader.top; \n\ | 531 | top: overlayLoader.top; \n\ |
137 | 558 | topMargin: units.gu(1);\n'; | 532 | topMargin: units.gu(1) + overlayLoader.height - overlayLoader.overlayHeight; \n'; |
138 | 559 | } else { | 533 | } else { |
139 | 560 | // Using anchors to the mascot/parent | 534 | // Using anchors to the mascot/parent |
140 | 561 | titleAnchors = titleRightAnchor; | 535 | titleAnchors = titleRightAnchor; |
141 | 562 | 536 | ||
142 | === modified file 'qml/Components/LazyImage.qml' | |||
143 | --- qml/Components/LazyImage.qml 2015-06-18 10:07:37 +0000 | |||
144 | +++ qml/Components/LazyImage.qml 2015-07-17 13:05:07 +0000 | |||
145 | @@ -53,7 +53,7 @@ | |||
146 | 53 | UbuntuShape { | 53 | UbuntuShape { |
147 | 54 | id: placeholder | 54 | id: placeholder |
148 | 55 | objectName: "placeholder" | 55 | objectName: "placeholder" |
150 | 56 | color: "#22FFFFFF" | 56 | backgroundColor: "#22FFFFFF" |
151 | 57 | anchors.fill: shape | 57 | anchors.fill: shape |
152 | 58 | visible: opacity != 0 | 58 | visible: opacity != 0 |
153 | 59 | 59 | ||
154 | @@ -87,19 +87,18 @@ | |||
155 | 87 | 87 | ||
156 | 88 | opacity: 0 | 88 | opacity: 0 |
157 | 89 | visible: opacity != 0 | 89 | visible: opacity != 0 |
160 | 90 | 90 | sourceFillMode: UbuntuShape.PreserveAspectFit | |
161 | 91 | image: Image { | 91 | sourceHorizontalAlignment: UbuntuShape.AlignHCenter |
162 | 92 | sourceVerticalAlignment: UbuntuShape.AlignVCenter | ||
163 | 93 | source: Image { | ||
164 | 92 | id: image | 94 | id: image |
165 | 93 | objectName: "image" | 95 | objectName: "image" |
166 | 94 | 96 | ||
167 | 95 | property url nextSource | 97 | property url nextSource |
168 | 96 | property string format: image.implicitWidth > image.implicitHeight ? "landscape" : "portrait" | 98 | property string format: image.implicitWidth > image.implicitHeight ? "landscape" : "portrait" |
169 | 97 | 99 | ||
170 | 98 | fillMode: Image.PreserveAspectFit | ||
171 | 99 | asynchronous: true | 100 | asynchronous: true |
172 | 100 | cache: false | 101 | cache: false |
173 | 101 | horizontalAlignment: Image.AlignHCenter | ||
174 | 102 | verticalAlignment: Image.AlignVCenter | ||
175 | 103 | sourceSize.width: root.scaleTo == "width" ? root.width | 102 | sourceSize.width: root.scaleTo == "width" ? root.width |
176 | 104 | : root.scaleTo == "fit" && root.width <= root.height ? root.width | 103 | : root.scaleTo == "fit" && root.width <= root.height ? root.width |
177 | 105 | : 0 | 104 | : 0 |
178 | 106 | 105 | ||
179 | === modified file 'qml/Dash/CardCarousel.qml' | |||
180 | --- qml/Dash/CardCarousel.qml 2015-06-23 12:17:02 +0000 | |||
181 | +++ qml/Dash/CardCarousel.qml 2015-07-17 13:05:07 +0000 | |||
182 | @@ -64,7 +64,7 @@ | |||
183 | 64 | item.components = Qt.binding(function() { return cardTool.components; }); | 64 | item.components = Qt.binding(function() { return cardTool.components; }); |
184 | 65 | item.fontScale = Qt.binding(function() { return carousel.fontScale; }); | 65 | item.fontScale = Qt.binding(function() { return carousel.fontScale; }); |
185 | 66 | item.showHeader = Qt.binding(function() { return loader.explicitlyScaled; }); | 66 | item.showHeader = Qt.binding(function() { return loader.explicitlyScaled; }); |
187 | 67 | item.artShapeBorderSource = "none"; | 67 | item.artShapeStyle = "flat"; |
188 | 68 | item.scopeStyle = cardCarousel.scopeStyle; | 68 | item.scopeStyle = cardCarousel.scopeStyle; |
189 | 69 | } | 69 | } |
190 | 70 | 70 | ||
191 | 71 | 71 | ||
192 | === modified file 'qml/Dash/Previews/PreviewAudioPlayback.qml' | |||
193 | --- qml/Dash/Previews/PreviewAudioPlayback.qml 2015-06-18 09:30:17 +0000 | |||
194 | +++ qml/Dash/Previews/PreviewAudioPlayback.qml 2015-07-17 13:05:07 +0000 | |||
195 | @@ -175,7 +175,7 @@ | |||
196 | 175 | } | 175 | } |
197 | 176 | height: units.dp(2) | 176 | height: units.dp(2) |
198 | 177 | visible: progressBarImage.visible | 177 | visible: progressBarImage.visible |
200 | 178 | color: UbuntuColors.orange | 178 | backgroundColor: UbuntuColors.orange |
201 | 179 | } | 179 | } |
202 | 180 | 180 | ||
203 | 181 | Image { | 181 | Image { |
204 | 182 | 182 | ||
205 | === modified file 'qml/Dash/Previews/PreviewHeader.qml' | |||
206 | --- qml/Dash/Previews/PreviewHeader.qml 2015-06-23 12:17:02 +0000 | |||
207 | +++ qml/Dash/Previews/PreviewHeader.qml 2015-07-17 13:05:07 +0000 | |||
208 | @@ -78,15 +78,15 @@ | |||
209 | 78 | sourceComponent: UbuntuShape { | 78 | sourceComponent: UbuntuShape { |
210 | 79 | objectName: "mascotShape" | 79 | objectName: "mascotShape" |
211 | 80 | visible: image.status === Image.Ready | 80 | visible: image.status === Image.Ready |
213 | 81 | image: Image { | 81 | sourceFillMode: UbuntuShape.PreserveAspectCrop |
214 | 82 | sourceHorizontalAlignment: UbuntuShape.AlignHCenter | ||
215 | 83 | sourceVerticalAlignment: UbuntuShape.AlignVCenter | ||
216 | 84 | source: Image { | ||
217 | 82 | source: headerRoot.mascot | 85 | source: headerRoot.mascot |
218 | 83 | width: source ? mascotShapeLoader.width : 0 | 86 | width: source ? mascotShapeLoader.width : 0 |
219 | 84 | height: mascotShapeLoader.height | 87 | height: mascotShapeLoader.height |
220 | 85 | 88 | ||
221 | 86 | sourceSize { width: mascotShapeLoader.maxSize; height: mascotShapeLoader.maxSize } | 89 | sourceSize { width: mascotShapeLoader.maxSize; height: mascotShapeLoader.maxSize } |
222 | 87 | fillMode: Image.PreserveAspectCrop | ||
223 | 88 | horizontalAlignment: Image.AlignHCenter | ||
224 | 89 | verticalAlignment: Image.AlignVCenter | ||
225 | 90 | onStatusChanged: if (status === Image.Error) source = headerRoot.fallback; | 90 | onStatusChanged: if (status === Image.Error) source = headerRoot.fallback; |
226 | 91 | } | 91 | } |
227 | 92 | } | 92 | } |
228 | 93 | 93 | ||
229 | === modified file 'qml/Dash/ScopesListCategoryItem.qml' | |||
230 | --- qml/Dash/ScopesListCategoryItem.qml 2015-06-18 10:07:37 +0000 | |||
231 | +++ qml/Dash/ScopesListCategoryItem.qml 2015-07-17 13:05:07 +0000 | |||
232 | @@ -49,10 +49,10 @@ | |||
233 | 49 | width: units.gu(5) | 49 | width: units.gu(5) |
234 | 50 | height: units.gu(5) | 50 | height: units.gu(5) |
235 | 51 | visible: !hideChildren | 51 | visible: !hideChildren |
237 | 52 | image: Image { | 52 | sourceFillMode: UbuntuShape.PreserveAspectCrop |
238 | 53 | source: Image { | ||
239 | 53 | id: shapeImage | 54 | id: shapeImage |
240 | 54 | cache: true | 55 | cache: true |
241 | 55 | fillMode: Image.PreserveAspectCrop | ||
242 | 56 | sourceSize { width: shape.width; height: shape.height } | 56 | sourceSize { width: shape.width; height: shape.height } |
243 | 57 | } | 57 | } |
244 | 58 | } | 58 | } |
245 | 59 | 59 | ||
246 | === modified file 'qml/Launcher/LauncherDelegate.qml' | |||
247 | --- qml/Launcher/LauncherDelegate.qml 2015-06-18 10:07:37 +0000 | |||
248 | +++ qml/Launcher/LauncherDelegate.qml 2015-07-17 13:05:07 +0000 | |||
249 | @@ -51,13 +51,12 @@ | |||
250 | 51 | anchors.fill: parent | 51 | anchors.fill: parent |
251 | 52 | anchors.margins: units.gu(1) | 52 | anchors.margins: units.gu(1) |
252 | 53 | radius: "medium" | 53 | radius: "medium" |
256 | 54 | borderSource: "none" | 54 | aspect: UbuntuShape.Flat |
257 | 55 | 55 | sourceFillMode: UbuntuShape.PreserveAspectCrop | |
258 | 56 | image: Image { | 56 | source: Image { |
259 | 57 | id: iconImage | 57 | id: iconImage |
260 | 58 | sourceSize.width: iconShape.width | 58 | sourceSize.width: iconShape.width |
261 | 59 | sourceSize.height: iconShape.height | 59 | sourceSize.height: iconShape.height |
262 | 60 | fillMode: Image.PreserveAspectCrop | ||
263 | 61 | source: root.iconName | 60 | source: root.iconName |
264 | 62 | } | 61 | } |
265 | 63 | } | 62 | } |
266 | @@ -80,9 +79,9 @@ | |||
267 | 80 | } | 79 | } |
268 | 81 | width: Math.min(root.itemWidth, Math.max(units.gu(2), countLabel.implicitWidth + units.gu(1))) | 80 | width: Math.min(root.itemWidth, Math.max(units.gu(2), countLabel.implicitWidth + units.gu(1))) |
269 | 82 | height: units.gu(2) | 81 | height: units.gu(2) |
271 | 83 | color: UbuntuColors.orange | 82 | backgroundColor: UbuntuColors.orange |
272 | 84 | visible: root.countVisible | 83 | visible: root.countVisible |
274 | 85 | borderSource: "none" | 84 | aspect: UbuntuShape.Flat |
275 | 86 | 85 | ||
276 | 87 | Label { | 86 | Label { |
277 | 88 | id: countLabel | 87 | id: countLabel |
278 | 89 | 88 | ||
279 | === modified file 'qml/Launcher/LauncherPanel.qml' | |||
280 | --- qml/Launcher/LauncherPanel.qml 2015-07-10 07:47:35 +0000 | |||
281 | +++ qml/Launcher/LauncherPanel.qml 2015-07-17 13:05:07 +0000 | |||
282 | @@ -61,8 +61,8 @@ | |||
283 | 61 | fill: parent | 61 | fill: parent |
284 | 62 | topMargin: -units.gu(2) | 62 | topMargin: -units.gu(2) |
285 | 63 | } | 63 | } |
288 | 64 | borderSource: "none" | 64 | aspect: UbuntuShape.Flat |
289 | 65 | color: UbuntuColors.orange | 65 | backgroundColor: UbuntuColors.orange |
290 | 66 | } | 66 | } |
291 | 67 | 67 | ||
292 | 68 | Image { | 68 | Image { |
293 | 69 | 69 | ||
294 | === modified file 'qml/Notifications/Notification.qml' | |||
295 | --- qml/Notifications/Notification.qml 2015-07-10 07:47:35 +0000 | |||
296 | +++ qml/Notifications/Notification.qml 2015-07-17 13:05:07 +0000 | |||
297 | @@ -142,10 +142,10 @@ | |||
298 | 142 | rightMargin: notification.margins | 142 | rightMargin: notification.margins |
299 | 143 | topMargin: type === Notification.Confirmation ? units.gu(.5) : 0 | 143 | topMargin: type === Notification.Confirmation ? units.gu(.5) : 0 |
300 | 144 | } | 144 | } |
302 | 145 | color: parent.color | 145 | backgroundColor: parent.color |
303 | 146 | opacity: parent.opacity | 146 | opacity: parent.opacity |
304 | 147 | radius: "medium" | 147 | radius: "medium" |
306 | 148 | borderSource: "none" | 148 | aspect: UbuntuShape.Flat |
307 | 149 | } | 149 | } |
308 | 150 | 150 | ||
309 | 151 | Rectangle { | 151 | Rectangle { |
310 | @@ -345,8 +345,8 @@ | |||
311 | 345 | } | 345 | } |
312 | 346 | 346 | ||
313 | 347 | height: units.gu(1) | 347 | height: units.gu(1) |
316 | 348 | color: darkOnBright ? UbuntuColors.darkGrey : UbuntuColors.lightGrey | 348 | backgroundColor: darkOnBright ? UbuntuColors.darkGrey : UbuntuColors.lightGrey |
317 | 349 | borderSource: "none" | 349 | aspect: UbuntuShape.Flat |
318 | 350 | radius: "small" | 350 | radius: "small" |
319 | 351 | 351 | ||
320 | 352 | UbuntuShape { | 352 | UbuntuShape { |
321 | @@ -354,8 +354,8 @@ | |||
322 | 354 | objectName: "innerBar" | 354 | objectName: "innerBar" |
323 | 355 | width: valueIndicator.width * valueIndicator.value / 100 | 355 | width: valueIndicator.width * valueIndicator.value / 100 |
324 | 356 | height: units.gu(1) | 356 | height: units.gu(1) |
327 | 357 | color: notification.hints["x-canonical-value-bar-tint"] === "true" ? UbuntuColors.orange : darkOnBright ? UbuntuColors.lightGrey : "white" | 357 | backgroundColor: notification.hints["x-canonical-value-bar-tint"] === "true" ? UbuntuColors.orange : darkOnBright ? UbuntuColors.lightGrey : "white" |
328 | 358 | borderSource: "none" | 358 | aspect: UbuntuShape.Flat |
329 | 359 | radius: "small" | 359 | radius: "small" |
330 | 360 | } | 360 | } |
331 | 361 | } | 361 | } |
332 | 362 | 362 | ||
333 | === modified file 'qml/Notifications/OptionToggle.qml' | |||
334 | --- qml/Notifications/OptionToggle.qml 2015-07-10 07:47:35 +0000 | |||
335 | +++ qml/Notifications/OptionToggle.qml 2015-07-17 13:05:07 +0000 | |||
336 | @@ -29,8 +29,8 @@ | |||
337 | 29 | 29 | ||
338 | 30 | signal triggered(string id) | 30 | signal triggered(string id) |
339 | 31 | 31 | ||
342 | 32 | color: theme.palette.normal.base | 32 | backgroundColor: theme.palette.normal.base |
343 | 33 | borderSource: "none" | 33 | aspect: UbuntuShape.Flat |
344 | 34 | height: expanded ? (optionToggleRepeater.count - startIndex) * itemHeight : itemHeight | 34 | height: expanded ? (optionToggleRepeater.count - startIndex) * itemHeight : itemHeight |
345 | 35 | width: parent.width | 35 | width: parent.width |
346 | 36 | radius: "medium" | 36 | radius: "medium" |
347 | 37 | 37 | ||
348 | === modified file 'qml/Notifications/SwipeToAct.qml' | |||
349 | --- qml/Notifications/SwipeToAct.qml 2015-06-18 10:07:37 +0000 | |||
350 | +++ qml/Notifications/SwipeToAct.qml 2015-07-17 13:05:07 +0000 | |||
351 | @@ -68,16 +68,16 @@ | |||
352 | 68 | id: row | 68 | id: row |
353 | 69 | width: parent.width | 69 | width: parent.width |
354 | 70 | height: priv.sliderHeight | 70 | height: priv.sliderHeight |
357 | 71 | color: priv.sliderBGColor | 71 | backgroundColor: priv.sliderBGColor |
358 | 72 | borderSource: "none" | 72 | aspect: UbuntuShape.Flat |
359 | 73 | 73 | ||
360 | 74 | UbuntuShape { | 74 | UbuntuShape { |
361 | 75 | id: leftShape | 75 | id: leftShape |
362 | 76 | anchors.top: parent.top | 76 | anchors.top: parent.top |
363 | 77 | anchors.left: parent.left | 77 | anchors.left: parent.left |
364 | 78 | anchors.margins: priv.gap | 78 | anchors.margins: priv.gap |
367 | 79 | color: UbuntuColors.red | 79 | backgroundColor: UbuntuColors.red |
368 | 80 | borderSource: "none" | 80 | aspect: UbuntuShape.Flat |
369 | 81 | 81 | ||
370 | 82 | state: "normal" | 82 | state: "normal" |
371 | 83 | height: units.gu(6) | 83 | height: units.gu(6) |
372 | @@ -155,10 +155,10 @@ | |||
373 | 155 | } | 155 | } |
374 | 156 | 156 | ||
375 | 157 | z: 1 | 157 | z: 1 |
377 | 158 | color: priv.sliderMainColor | 158 | backgroundColor: priv.sliderMainColor |
378 | 159 | height: units.gu(6) | 159 | height: units.gu(6) |
379 | 160 | width: units.gu(6) | 160 | width: units.gu(6) |
381 | 161 | borderSource: "none" | 161 | aspect: UbuntuShape.Flat |
382 | 162 | radius: "medium" | 162 | radius: "medium" |
383 | 163 | Icon { | 163 | Icon { |
384 | 164 | anchors.fill: parent | 164 | anchors.fill: parent |
385 | @@ -192,8 +192,8 @@ | |||
386 | 192 | anchors.top: parent.top | 192 | anchors.top: parent.top |
387 | 193 | anchors.right: parent.right | 193 | anchors.right: parent.right |
388 | 194 | anchors.margins: priv.gap | 194 | anchors.margins: priv.gap |
391 | 195 | color: UbuntuColors.green | 195 | backgroundColor: UbuntuColors.green |
392 | 196 | borderSource: "none" | 196 | aspect: UbuntuShape.Flat |
393 | 197 | 197 | ||
394 | 198 | state: "normal" | 198 | state: "normal" |
395 | 199 | height: units.gu(6) | 199 | height: units.gu(6) |
396 | 200 | 200 | ||
397 | === modified file 'qml/Stages/Splash.qml' | |||
398 | --- qml/Stages/Splash.qml 2015-07-14 07:39:55 +0000 | |||
399 | +++ qml/Stages/Splash.qml 2015-07-17 13:05:07 +0000 | |||
400 | @@ -121,14 +121,13 @@ | |||
401 | 121 | visible: d.showIcon | 121 | visible: d.showIcon |
402 | 122 | 122 | ||
403 | 123 | radius: "medium" | 123 | radius: "medium" |
407 | 124 | borderSource: "none" | 124 | aspect: UbuntuShape.Flat |
408 | 125 | 125 | sourceFillMode: Image.PreserveAspectCrop | |
409 | 126 | image: Image { | 126 | source: Image { |
410 | 127 | id: iconImage | 127 | id: iconImage |
411 | 128 | sourceSize.width: iconShape.width | 128 | sourceSize.width: iconShape.width |
412 | 129 | sourceSize.height: iconShape.height | 129 | sourceSize.height: iconShape.height |
413 | 130 | source: d.showIcon ? root.icon : "" | 130 | source: d.showIcon ? root.icon : "" |
414 | 131 | fillMode: Image.PreserveAspectCrop | ||
415 | 132 | } | 131 | } |
416 | 133 | } | 132 | } |
417 | 134 | 133 | ||
418 | 135 | 134 | ||
419 | === modified file 'tests/plugins/Dash/cardcreator/1.res' | |||
420 | --- tests/plugins/Dash/cardcreator/1.res 2015-07-06 12:59:55 +0000 | |||
421 | +++ tests/plugins/Dash/cardcreator/1.res 2015-07-17 13:05:07 +0000 | |||
422 | @@ -2,7 +2,7 @@ | |||
423 | 2 | id: root; | 2 | id: root; |
424 | 3 | property var components; | 3 | property var components; |
425 | 4 | property var cardData; | 4 | property var cardData; |
427 | 5 | property var artShapeBorderSource: undefined; | 5 | property string artShapeStyle: "inset"; |
428 | 6 | property real fontScale: 1.0; | 6 | property real fontScale: 1.0; |
429 | 7 | property var scopeStyle: null; | 7 | property var scopeStyle: null; |
430 | 8 | property int titleAlignment: Text.AlignLeft; | 8 | property int titleAlignment: Text.AlignLeft; |
431 | @@ -14,7 +14,6 @@ | |||
432 | 14 | implicitWidth: childrenRect.width; | 14 | implicitWidth: childrenRect.width; |
433 | 15 | enabled: true; | 15 | enabled: true; |
434 | 16 | 16 | ||
435 | 17 | onArtShapeBorderSourceChanged: { if (artShapeBorderSource !== undefined && artShapeLoader.item) artShapeLoader.item.borderSource = artShapeBorderSource; } | ||
436 | 18 | readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1); | 17 | readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1); |
437 | 19 | Item { | 18 | Item { |
438 | 20 | id: artShapeHolder; | 19 | id: artShapeHolder; |
439 | @@ -30,10 +29,9 @@ | |||
440 | 30 | sourceComponent: Item { | 29 | sourceComponent: Item { |
441 | 31 | id: artShape; | 30 | id: artShape; |
442 | 32 | objectName: "artShape"; | 31 | objectName: "artShape"; |
444 | 33 | property bool doShapeItem: components["art"]["conciergeMode"] !== true; | 32 | readonly property bool doShapeItem: components["art"]["conciergeMode"] !== true; |
445 | 34 | visible: image.status == Image.Ready; | 33 | visible: image.status == Image.Ready; |
446 | 35 | readonly property alias image: artImage.image; | 34 | readonly property alias image: artImage.image; |
447 | 36 | property alias borderSource: artShapeShape.borderSource; | ||
448 | 37 | ShaderEffectSource { | 35 | ShaderEffectSource { |
449 | 38 | id: artShapeSource; | 36 | id: artShapeSource; |
450 | 39 | sourceItem: artImage; | 37 | sourceItem: artImage; |
451 | @@ -42,16 +40,17 @@ | |||
452 | 42 | height: 1; | 40 | height: 1; |
453 | 43 | hideSource: doShapeItem; | 41 | hideSource: doShapeItem; |
454 | 44 | } | 42 | } |
456 | 45 | Shape { | 43 | UbuntuShape { |
457 | 46 | id: artShapeShape; | 44 | id: artShapeShape; |
459 | 47 | image: artShapeSource; | 45 | source: artShapeSource; |
460 | 48 | anchors.fill: parent; | 46 | anchors.fill: parent; |
461 | 49 | visible: doShapeItem; | 47 | visible: doShapeItem; |
462 | 50 | radius: "medium"; | 48 | radius: "medium"; |
463 | 49 | aspect: root.artShapeStyle === "inset" ? UbuntuShape.Inset : UbuntuShape.Flat; | ||
464 | 51 | } | 50 | } |
465 | 52 | readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; | 51 | readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; |
466 | 53 | readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; | 52 | readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; |
468 | 54 | Component.onCompleted: { updateWidthHeightBindings(); if (artShapeBorderSource !== undefined) borderSource = artShapeBorderSource; } | 53 | Component.onCompleted: { updateWidthHeightBindings(); } |
469 | 55 | Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); } | 54 | Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); } |
470 | 56 | function updateWidthHeightBindings() { | 55 | function updateWidthHeightBindings() { |
471 | 57 | if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) { | 56 | if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) { |
472 | 58 | 57 | ||
473 | === modified file 'tests/plugins/Dash/cardcreator/2.res' | |||
474 | --- tests/plugins/Dash/cardcreator/2.res 2015-07-06 12:59:55 +0000 | |||
475 | +++ tests/plugins/Dash/cardcreator/2.res 2015-07-17 13:05:07 +0000 | |||
476 | @@ -2,7 +2,7 @@ | |||
477 | 2 | id: root; | 2 | id: root; |
478 | 3 | property var components; | 3 | property var components; |
479 | 4 | property var cardData; | 4 | property var cardData; |
481 | 5 | property var artShapeBorderSource: undefined; | 5 | property string artShapeStyle: "inset"; |
482 | 6 | property real fontScale: 1.0; | 6 | property real fontScale: 1.0; |
483 | 7 | property var scopeStyle: null; | 7 | property var scopeStyle: null; |
484 | 8 | property int titleAlignment: Text.AlignLeft; | 8 | property int titleAlignment: Text.AlignLeft; |
485 | @@ -23,11 +23,12 @@ | |||
486 | 23 | sourceComponent: UbuntuShape { | 23 | sourceComponent: UbuntuShape { |
487 | 24 | objectName: "background"; | 24 | objectName: "background"; |
488 | 25 | radius: "medium"; | 25 | radius: "medium"; |
491 | 26 | color: getColor(0) || "white"; | 26 | backgroundColor: getColor(0) || "white"; |
492 | 27 | gradientColor: getColor(1) || color; | 27 | secondaryBackgroundColor: getColor(1) || backgroundColor; |
493 | 28 | backgroundMode: cardData && typeof cardData["background"] === "object" && cardData["background"]["type"] === "gradient" ? UbuntuShape.VerticalGradient : UbuntuShape.SolidColor; | ||
494 | 28 | anchors.fill: parent; | 29 | anchors.fill: parent; |
497 | 29 | image: backgroundImage.source ? backgroundImage : null; | 30 | source: backgroundImage.source ? backgroundImage : null; |
498 | 30 | property real luminance: Style.luminance(color); | 31 | property real luminance: Style.luminance(backgroundColor); |
499 | 31 | property Image backgroundImage: Image { | 32 | property Image backgroundImage: Image { |
500 | 32 | objectName: "backgroundImage"; | 33 | objectName: "backgroundImage"; |
501 | 33 | source: { | 34 | source: { |
502 | 34 | 35 | ||
503 | === modified file 'tests/plugins/Dash/cardcreator/3.res' | |||
504 | --- tests/plugins/Dash/cardcreator/3.res 2015-07-06 12:59:55 +0000 | |||
505 | +++ tests/plugins/Dash/cardcreator/3.res 2015-07-17 13:05:07 +0000 | |||
506 | @@ -2,7 +2,7 @@ | |||
507 | 2 | id: root; | 2 | id: root; |
508 | 3 | property var components; | 3 | property var components; |
509 | 4 | property var cardData; | 4 | property var cardData; |
511 | 5 | property var artShapeBorderSource: undefined; | 5 | property string artShapeStyle: "inset"; |
512 | 6 | property real fontScale: 1.0; | 6 | property real fontScale: 1.0; |
513 | 7 | property var scopeStyle: null; | 7 | property var scopeStyle: null; |
514 | 8 | property int titleAlignment: Text.AlignLeft; | 8 | property int titleAlignment: Text.AlignLeft; |
515 | @@ -14,7 +14,6 @@ | |||
516 | 14 | implicitWidth: childrenRect.width; | 14 | implicitWidth: childrenRect.width; |
517 | 15 | enabled: true; | 15 | enabled: true; |
518 | 16 | 16 | ||
519 | 17 | onArtShapeBorderSourceChanged: { if (artShapeBorderSource !== undefined && artShapeLoader.item) artShapeLoader.item.borderSource = artShapeBorderSource; } | ||
520 | 18 | readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1); | 17 | readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1); |
521 | 19 | Item { | 18 | Item { |
522 | 20 | id: artShapeHolder; | 19 | id: artShapeHolder; |
523 | @@ -30,10 +29,9 @@ | |||
524 | 30 | sourceComponent: Item { | 29 | sourceComponent: Item { |
525 | 31 | id: artShape; | 30 | id: artShape; |
526 | 32 | objectName: "artShape"; | 31 | objectName: "artShape"; |
528 | 33 | property bool doShapeItem: components["art"]["conciergeMode"] !== true; | 32 | readonly property bool doShapeItem: components["art"]["conciergeMode"] !== true; |
529 | 34 | visible: image.status == Image.Ready; | 33 | visible: image.status == Image.Ready; |
530 | 35 | readonly property alias image: artImage.image; | 34 | readonly property alias image: artImage.image; |
531 | 36 | property alias borderSource: artShapeShape.borderSource; | ||
532 | 37 | ShaderEffectSource { | 35 | ShaderEffectSource { |
533 | 38 | id: artShapeSource; | 36 | id: artShapeSource; |
534 | 39 | sourceItem: artImage; | 37 | sourceItem: artImage; |
535 | @@ -42,16 +40,17 @@ | |||
536 | 42 | height: 1; | 40 | height: 1; |
537 | 43 | hideSource: doShapeItem; | 41 | hideSource: doShapeItem; |
538 | 44 | } | 42 | } |
540 | 45 | Shape { | 43 | UbuntuShape { |
541 | 46 | id: artShapeShape; | 44 | id: artShapeShape; |
543 | 47 | image: artShapeSource; | 45 | source: artShapeSource; |
544 | 48 | anchors.fill: parent; | 46 | anchors.fill: parent; |
545 | 49 | visible: doShapeItem; | 47 | visible: doShapeItem; |
546 | 50 | radius: "medium"; | 48 | radius: "medium"; |
547 | 49 | aspect: root.artShapeStyle === "inset" ? UbuntuShape.Inset : UbuntuShape.Flat; | ||
548 | 51 | } | 50 | } |
549 | 52 | readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; | 51 | readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; |
550 | 53 | readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; | 52 | readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; |
552 | 54 | Component.onCompleted: { updateWidthHeightBindings(); if (artShapeBorderSource !== undefined) borderSource = artShapeBorderSource; } | 53 | Component.onCompleted: { updateWidthHeightBindings(); } |
553 | 55 | Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); } | 54 | Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); } |
554 | 56 | function updateWidthHeightBindings() { | 55 | function updateWidthHeightBindings() { |
555 | 57 | if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) { | 56 | if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) { |
556 | 58 | 57 | ||
557 | === modified file 'tests/plugins/Dash/cardcreator/4.res' | |||
558 | --- tests/plugins/Dash/cardcreator/4.res 2015-07-06 12:59:55 +0000 | |||
559 | +++ tests/plugins/Dash/cardcreator/4.res 2015-07-17 13:05:07 +0000 | |||
560 | @@ -2,7 +2,7 @@ | |||
561 | 2 | id: root; | 2 | id: root; |
562 | 3 | property var components; | 3 | property var components; |
563 | 4 | property var cardData; | 4 | property var cardData; |
565 | 5 | property var artShapeBorderSource: undefined; | 5 | property string artShapeStyle: "inset"; |
566 | 6 | property real fontScale: 1.0; | 6 | property real fontScale: 1.0; |
567 | 7 | property var scopeStyle: null; | 7 | property var scopeStyle: null; |
568 | 8 | property int titleAlignment: Text.AlignLeft; | 8 | property int titleAlignment: Text.AlignLeft; |
569 | 9 | 9 | ||
570 | === modified file 'tests/plugins/Dash/cardcreator/5.res' | |||
571 | --- tests/plugins/Dash/cardcreator/5.res 2015-07-06 12:59:55 +0000 | |||
572 | +++ tests/plugins/Dash/cardcreator/5.res 2015-07-17 13:05:07 +0000 | |||
573 | @@ -2,7 +2,7 @@ | |||
574 | 2 | id: root; | 2 | id: root; |
575 | 3 | property var components; | 3 | property var components; |
576 | 4 | property var cardData; | 4 | property var cardData; |
578 | 5 | property var artShapeBorderSource: undefined; | 5 | property string artShapeStyle: "inset"; |
579 | 6 | property real fontScale: 1.0; | 6 | property real fontScale: 1.0; |
580 | 7 | property var scopeStyle: null; | 7 | property var scopeStyle: null; |
581 | 8 | property int titleAlignment: Text.AlignLeft; | 8 | property int titleAlignment: Text.AlignLeft; |
582 | @@ -14,7 +14,6 @@ | |||
583 | 14 | implicitWidth: childrenRect.width; | 14 | implicitWidth: childrenRect.width; |
584 | 15 | enabled: false; | 15 | enabled: false; |
585 | 16 | 16 | ||
586 | 17 | onArtShapeBorderSourceChanged: { if (artShapeBorderSource !== undefined && artShapeLoader.item) artShapeLoader.item.borderSource = artShapeBorderSource; } | ||
587 | 18 | readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1); | 17 | readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1); |
588 | 19 | Item { | 18 | Item { |
589 | 20 | id: artShapeHolder; | 19 | id: artShapeHolder; |
590 | @@ -30,10 +29,9 @@ | |||
591 | 30 | sourceComponent: Item { | 29 | sourceComponent: Item { |
592 | 31 | id: artShape; | 30 | id: artShape; |
593 | 32 | objectName: "artShape"; | 31 | objectName: "artShape"; |
595 | 33 | property bool doShapeItem: components["art"]["conciergeMode"] !== true; | 32 | readonly property bool doShapeItem: components["art"]["conciergeMode"] !== true; |
596 | 34 | visible: image.status == Image.Ready; | 33 | visible: image.status == Image.Ready; |
597 | 35 | readonly property alias image: artImage.image; | 34 | readonly property alias image: artImage.image; |
598 | 36 | property alias borderSource: artShapeShape.borderSource; | ||
599 | 37 | ShaderEffectSource { | 35 | ShaderEffectSource { |
600 | 38 | id: artShapeSource; | 36 | id: artShapeSource; |
601 | 39 | sourceItem: artImage; | 37 | sourceItem: artImage; |
602 | @@ -42,16 +40,17 @@ | |||
603 | 42 | height: 1; | 40 | height: 1; |
604 | 43 | hideSource: doShapeItem; | 41 | hideSource: doShapeItem; |
605 | 44 | } | 42 | } |
607 | 45 | Shape { | 43 | UbuntuShape { |
608 | 46 | id: artShapeShape; | 44 | id: artShapeShape; |
610 | 47 | image: artShapeSource; | 45 | source: artShapeSource; |
611 | 48 | anchors.fill: parent; | 46 | anchors.fill: parent; |
612 | 49 | visible: doShapeItem; | 47 | visible: doShapeItem; |
613 | 50 | radius: "medium"; | 48 | radius: "medium"; |
614 | 49 | aspect: root.artShapeStyle === "inset" ? UbuntuShape.Inset : UbuntuShape.Flat; | ||
615 | 51 | } | 50 | } |
616 | 52 | readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; | 51 | readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; |
617 | 53 | readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; | 52 | readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : components !== undefined ? components["art"]["aspect-ratio"] : 1; |
619 | 54 | Component.onCompleted: { updateWidthHeightBindings(); if (artShapeBorderSource !== undefined) borderSource = artShapeBorderSource; } | 53 | Component.onCompleted: { updateWidthHeightBindings(); } |
620 | 55 | Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); } | 54 | Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); } |
621 | 56 | function updateWidthHeightBindings() { | 55 | function updateWidthHeightBindings() { |
622 | 57 | if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) { | 56 | if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) { |
623 | @@ -75,44 +74,18 @@ | |||
624 | 75 | } | 74 | } |
625 | 76 | Loader { | 75 | Loader { |
626 | 77 | id: overlayLoader; | 76 | id: overlayLoader; |
633 | 78 | anchors { | 77 | readonly property real overlayHeight: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2); |
634 | 79 | left: artShapeHolder.left; | 78 | anchors.fill: artShapeHolder; |
635 | 80 | right: artShapeHolder.right; | 79 | active: artShapeLoader.active && artShapeLoader.item && artShapeLoader.item.image.status === Image.Ready || false; |
630 | 81 | bottom: artShapeHolder.bottom; | ||
631 | 82 | } | ||
632 | 83 | active: artShapeLoader.active && artShapeLoader.item && artShapeLoader.item.image.status === Image.Ready || false; | ||
636 | 84 | asynchronous: root.asynchronous; | 80 | asynchronous: root.asynchronous; |
637 | 85 | visible: showHeader && status == Loader.Ready; | 81 | visible: showHeader && status == Loader.Ready; |
639 | 86 | sourceComponent: ShaderEffect { | 82 | sourceComponent: UbuntuShapeOverlay { |
640 | 87 | id: overlay; | 83 | id: overlay; |
669 | 88 | height: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2); | 84 | property real luminance: Style.luminance(overlayColor); |
670 | 89 | property real luminance: Style.luminance(overlayColor); | 85 | aspect: UbuntuShape.Flat; |
671 | 90 | property color overlayColor: cardData && cardData["overlayColor"] || "#99000000"; | 86 | radius: "medium"; |
672 | 91 | property var source: ShaderEffectSource { | 87 | overlayColor: cardData && cardData["overlayColor"] || "#99000000"; |
673 | 92 | id: shaderSource; | 88 | overlayRect: Qt.rect(0, 1 - overlayLoader.overlayHeight / height, 1, 1); |
646 | 93 | sourceItem: artShapeLoader.item; | ||
647 | 94 | onVisibleChanged: if (visible) scheduleUpdate(); | ||
648 | 95 | live: false; | ||
649 | 96 | sourceRect: Qt.rect(0, artShapeLoader.height - overlay.height, artShapeLoader.width, overlay.height); | ||
650 | 97 | } | ||
651 | 98 | vertexShader: " | ||
652 | 99 | uniform highp mat4 qt_Matrix; | ||
653 | 100 | attribute highp vec4 qt_Vertex; | ||
654 | 101 | attribute highp vec2 qt_MultiTexCoord0; | ||
655 | 102 | varying highp vec2 coord; | ||
656 | 103 | void main() { | ||
657 | 104 | coord = qt_MultiTexCoord0; | ||
658 | 105 | gl_Position = qt_Matrix * qt_Vertex; | ||
659 | 106 | }"; | ||
660 | 107 | fragmentShader: " | ||
661 | 108 | varying highp vec2 coord; | ||
662 | 109 | uniform sampler2D source; | ||
663 | 110 | uniform lowp float qt_Opacity; | ||
664 | 111 | uniform highp vec4 overlayColor; | ||
665 | 112 | void main() { | ||
666 | 113 | lowp vec4 tex = texture2D(source, coord); | ||
667 | 114 | gl_FragColor = vec4(overlayColor.r, overlayColor.g, overlayColor.b, 1) * qt_Opacity * overlayColor.a * tex.a; | ||
668 | 115 | }"; | ||
674 | 116 | } | 89 | } |
675 | 117 | } | 90 | } |
676 | 118 | readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin; | 91 | readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin; |
677 | @@ -124,7 +97,7 @@ | |||
678 | 124 | left: parent.left; | 97 | left: parent.left; |
679 | 125 | leftMargin: units.gu(1); | 98 | leftMargin: units.gu(1); |
680 | 126 | top: overlayLoader.top; | 99 | top: overlayLoader.top; |
682 | 127 | topMargin: units.gu(1); | 100 | topMargin: units.gu(1) + overlayLoader.height - overlayLoader.overlayHeight; |
683 | 128 | } | 101 | } |
684 | 129 | elide: Text.ElideRight; | 102 | elide: Text.ElideRight; |
685 | 130 | fontSize: "small"; | 103 | fontSize: "small"; |
686 | 131 | 104 | ||
687 | === modified file 'tests/plugins/Dash/cardcreator/6.res' | |||
688 | --- tests/plugins/Dash/cardcreator/6.res 2015-07-06 12:59:55 +0000 | |||
689 | +++ tests/plugins/Dash/cardcreator/6.res 2015-07-17 13:05:07 +0000 | |||
690 | @@ -2,7 +2,7 @@ | |||
691 | 2 | id: root; | 2 | id: root; |
692 | 3 | property var components; | 3 | property var components; |
693 | 4 | property var cardData; | 4 | property var cardData; |
695 | 5 | property var artShapeBorderSource: undefined; | 5 | property string artShapeStyle: "inset"; |
696 | 6 | property real fontScale: 1.0; | 6 | property real fontScale: 1.0; |
697 | 7 | property var scopeStyle: null; | 7 | property var scopeStyle: null; |
698 | 8 | property int titleAlignment: Text.AlignLeft; | 8 | property int titleAlignment: Text.AlignLeft; |
699 | @@ -23,11 +23,12 @@ | |||
700 | 23 | sourceComponent: UbuntuShape { | 23 | sourceComponent: UbuntuShape { |
701 | 24 | objectName: "background"; | 24 | objectName: "background"; |
702 | 25 | radius: "medium"; | 25 | radius: "medium"; |
705 | 26 | color: getColor(0) || "white"; | 26 | backgroundColor: getColor(0) || "white"; |
706 | 27 | gradientColor: getColor(1) || color; | 27 | secondaryBackgroundColor: getColor(1) || backgroundColor; |
707 | 28 | backgroundMode: cardData && typeof cardData["background"] === "object" && cardData["background"]["type"] === "gradient" ? UbuntuShape.VerticalGradient : UbuntuShape.SolidColor; | ||
708 | 28 | anchors.fill: parent; | 29 | anchors.fill: parent; |
711 | 29 | image: backgroundImage.source ? backgroundImage : null; | 30 | source: backgroundImage.source ? backgroundImage : null; |
712 | 30 | property real luminance: Style.luminance(color); | 31 | property real luminance: Style.luminance(backgroundColor); |
713 | 31 | property Image backgroundImage: Image { | 32 | property Image backgroundImage: Image { |
714 | 32 | objectName: "backgroundImage"; | 33 | objectName: "backgroundImage"; |
715 | 33 | source: { | 34 | source: { |
716 | 34 | 35 | ||
717 | === modified file 'tests/plugins/Dash/cardcreator/7.res' | |||
718 | --- tests/plugins/Dash/cardcreator/7.res 2015-07-06 12:59:55 +0000 | |||
719 | +++ tests/plugins/Dash/cardcreator/7.res 2015-07-17 13:05:07 +0000 | |||
720 | @@ -2,7 +2,7 @@ | |||
721 | 2 | id: root; | 2 | id: root; |
722 | 3 | property var components; | 3 | property var components; |
723 | 4 | property var cardData; | 4 | property var cardData; |
725 | 5 | property var artShapeBorderSource: undefined; | 5 | property string artShapeStyle: "inset"; |
726 | 6 | property real fontScale: 1.0; | 6 | property real fontScale: 1.0; |
727 | 7 | property var scopeStyle: null; | 7 | property var scopeStyle: null; |
728 | 8 | property int titleAlignment: Text.AlignLeft; | 8 | property int titleAlignment: Text.AlignLeft; |
729 | @@ -23,11 +23,12 @@ | |||
730 | 23 | sourceComponent: UbuntuShape { | 23 | sourceComponent: UbuntuShape { |
731 | 24 | objectName: "background"; | 24 | objectName: "background"; |
732 | 25 | radius: "medium"; | 25 | radius: "medium"; |
735 | 26 | color: getColor(0) || "white"; | 26 | backgroundColor: getColor(0) || "white"; |
736 | 27 | gradientColor: getColor(1) || color; | 27 | secondaryBackgroundColor: getColor(1) || backgroundColor; |
737 | 28 | backgroundMode: cardData && typeof cardData["background"] === "object" && cardData["background"]["type"] === "gradient" ? UbuntuShape.VerticalGradient : UbuntuShape.SolidColor; | ||
738 | 28 | anchors.fill: parent; | 29 | anchors.fill: parent; |
741 | 29 | image: backgroundImage.source ? backgroundImage : null; | 30 | source: backgroundImage.source ? backgroundImage : null; |
742 | 30 | property real luminance: Style.luminance(color); | 31 | property real luminance: Style.luminance(backgroundColor); |
743 | 31 | property Image backgroundImage: Image { | 32 | property Image backgroundImage: Image { |
744 | 32 | objectName: "backgroundImage"; | 33 | objectName: "backgroundImage"; |
745 | 33 | source: { | 34 | source: { |
746 | 34 | 35 | ||
747 | === modified file 'tests/plugins/Dash/cardcreator/8.res' | |||
748 | --- tests/plugins/Dash/cardcreator/8.res 2015-07-10 07:49:48 +0000 | |||
749 | +++ tests/plugins/Dash/cardcreator/8.res 2015-07-17 13:05:07 +0000 | |||
750 | @@ -2,7 +2,7 @@ | |||
751 | 2 | id: root; | 2 | id: root; |
752 | 3 | property var components; | 3 | property var components; |
753 | 4 | property var cardData; | 4 | property var cardData; |
755 | 5 | property var artShapeBorderSource: undefined; | 5 | property string artShapeStyle: "inset"; |
756 | 6 | property real fontScale: 1.0; | 6 | property real fontScale: 1.0; |
757 | 7 | property var scopeStyle: null; | 7 | property var scopeStyle: null; |
758 | 8 | property int titleAlignment: Text.AlignLeft; | 8 | property int titleAlignment: Text.AlignLeft; |
759 | @@ -23,11 +23,12 @@ | |||
760 | 23 | sourceComponent: UbuntuShape { | 23 | sourceComponent: UbuntuShape { |
761 | 24 | objectName: "background"; | 24 | objectName: "background"; |
762 | 25 | radius: "medium"; | 25 | radius: "medium"; |
765 | 26 | color: getColor(0) || "white"; | 26 | backgroundColor: getColor(0) || "white"; |
766 | 27 | gradientColor: getColor(1) || color; | 27 | secondaryBackgroundColor: getColor(1) || backgroundColor; |
767 | 28 | backgroundMode: cardData && typeof cardData["background"] === "object" && cardData["background"]["type"] === "gradient" ? UbuntuShape.VerticalGradient : UbuntuShape.SolidColor; | ||
768 | 28 | anchors.fill: parent; | 29 | anchors.fill: parent; |
771 | 29 | image: backgroundImage.source ? backgroundImage : null; | 30 | source: backgroundImage.source ? backgroundImage : null; |
772 | 30 | property real luminance: Style.luminance(color); | 31 | property real luminance: Style.luminance(backgroundColor); |
773 | 31 | property Image backgroundImage: Image { | 32 | property Image backgroundImage: Image { |
774 | 32 | objectName: "backgroundImage"; | 33 | objectName: "backgroundImage"; |
775 | 33 | source: { | 34 | source: { |
776 | 34 | 35 | ||
777 | === modified file 'tests/qmltests/Dash/tst_Card.qml' | |||
778 | --- tests/qmltests/Dash/tst_Card.qml 2015-07-10 07:47:52 +0000 | |||
779 | +++ tests/qmltests/Dash/tst_Card.qml 2015-07-17 13:05:07 +0000 | |||
780 | @@ -443,11 +443,11 @@ | |||
781 | 443 | } | 443 | } |
782 | 444 | 444 | ||
783 | 445 | if (data.hasOwnProperty("color")) { | 445 | if (data.hasOwnProperty("color")) { |
785 | 446 | tryCompare(background, "color", data.color); | 446 | tryCompare(background, "backgroundColor", data.color); |
786 | 447 | } | 447 | } |
787 | 448 | 448 | ||
788 | 449 | if (data.hasOwnProperty("gradientColor")) { | 449 | if (data.hasOwnProperty("gradientColor")) { |
790 | 450 | tryCompare(background, "gradientColor", data.gradientColor); | 450 | tryCompare(background, "secondaryBackgroundColor", data.gradientColor); |
791 | 451 | } | 451 | } |
792 | 452 | 452 | ||
793 | 453 | if (data.hasOwnProperty("image")) { | 453 | if (data.hasOwnProperty("image")) { |
794 | @@ -520,7 +520,7 @@ | |||
795 | 520 | waitForRendering(selector); | 520 | waitForRendering(selector); |
796 | 521 | waitForRendering(card); | 521 | waitForRendering(card); |
797 | 522 | 522 | ||
799 | 523 | background.color = data.tag; | 523 | background.backgroundColor = data.tag; |
800 | 524 | 524 | ||
801 | 525 | var fontColor = data.dark ? theme.palette.normal.baseText : "white"; | 525 | var fontColor = data.dark ? theme.palette.normal.baseText : "white"; |
802 | 526 | 526 |
* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes
* Did CI run pass? If not, please explain why.
unrelated
* Did you make sure that the branch does not contain spurious tags?
y