~ubuntu-branches/ubuntu/wily/ubuntu-ui-toolkit/wily-proposed

« back to all changes in this revision

Viewing changes to src/Ubuntu/Components/Themes/Ambiance/1.2/PageHeadButton.qml

  • Committer: Package Import Robot
  • Author(s): CI Train Bot, Florian Boucault, Loïc Molinari, Benjamin Zeller, Richard Huddie, Tim Peeters, Zsombor Egri, Timo Jyrinki, Christian Dywan, Albert Astals Cid
  • Date: 2015-07-30 13:04:18 UTC
  • mfrom: (1.1.126)
  • Revision ID: package-import@ubuntu.com-20150730130418-nxjr780u6wqcdqeh
Tags: 1.3.1584+15.10.20150730-0ubuntu1
[ Florian Boucault ]
* New BottomEdgeHint component to represent extra features available from the 
  bottom edge of an application.

[ Loïc Molinari ]
* [UbuntuShape] Added a big radius.
* [UbuntuShape] Added relative radius support. Fixes LP: #1478124.
* Ensured components, styles, examples and tests use the new UbuntuShape 
  properties (not deprecated). Fixes LP: #1437412.

[ Benjamin Zeller ]
* Make use of the official qt build macros to blend into the Qt buildprocess.
* Fix debug builds, optimization is always enabled by the system qt build.

[ Richard Huddie ]
* Fix for autopilot bug lp:1476715. Don't throw an exception if maliit-server
  is not found. Fixes LP: #1476715.

[ Tim Peeters ]
* Clean up the MainView docs.
* Set theme version for Sections component.
* Implement AdaptivePageLayout.

[ Zsombor Egri ]
* Fix width for trailing and leading actions of a ListItem. Fixes LP: #1465582.
* Button and Haptics import wrong toolkit versions, thus they break style 
  versioning. Moving Icon and ProgressBar to 1.0 and 1.1 version source folder.
* SuruDark theme for ListItem style. Fixes LP: #1451225.
* Swiping ListItem when no actions are defined for the gesture breaks 
  selectMode. Fixes LP: #1468100.
* Fixing selected connection with the ListItem's select mode checkbox state. 
  Fixes LP: #1461501, LP: #1469471.

[ Timo Jyrinki ]
* Fix ucstylehints.cpp compilation with Qt 5.5. Fixes LP: #1473873.
* Add PageHeadStyle 1.3 reference to fix install_plugins_qmltypes failure with 
  Qt 5.5. Fixes LP: #1466484.

[ Christian Dywan ]
* Avoid hard-coded skipping of members by name "type" can be a property name 
  regardless of also being a field in the JSON description of a property.
* Add apicheck unit test for QML and Javascript.
* Remove "do cleanup" comments. Fixes LP: #1369874.
* Initialize defaultTypes later to avoid bogus types.
* Implement Action.shortcut property. Fixes LP: #1202464.
* Update text handler to 3gu assert.
* Add a deprecated note to ListItems.ThinDivider. Fixes LP: #1470951.
* Don't include overridden properties in API.
* Clean-up API check wrapper scripts.
* Track version members were introduced.
* Implement ListItemPopover on right-click. Fixes LP: #1452676.
* Move delegate's chevron into the row and size it explicitly. 
  Fixes LP: #1474418.
* Enable (Shift)Tab via activeFocusOnTab. Fixes LP: #1276797.
* Only swipe with left button and block timer otherwise. 
  Fixes LP: #1476300, LP: #1476310.
* Include Javascript libraries in QML documentation. Fixes LP: #1466058.

[ Albert Astals Cid ]
* Fix warning if there's no __propagated
* TypeError: Cannot call method 'hasOwnProperty' of null.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 2014 Canonical Ltd.
 
3
 *
 
4
 * This program is free software; you can redistribute it and/or modify
 
5
 * it under the terms of the GNU Lesser General Public License as published by
 
6
 * the Free Software Foundation; version 3.
 
7
 *
 
8
 * This program is distributed in the hope that it will be useful,
 
9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
 * GNU Lesser General Public License for more details.
 
12
 *
 
13
 * You should have received a copy of the GNU Lesser General Public License
 
14
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 */
 
16
 
 
17
import QtQuick 2.4
 
18
import Ubuntu.Components 1.2
 
19
 
 
20
AbstractButton {
 
21
    id: button
 
22
 
 
23
    property real iconWidth: units.gu(2.5)
 
24
    property real iconHeight: iconWidth
 
25
 
 
26
    width: visible ? units.gu(5) : 0
 
27
    height: parent ? parent.height : undefined
 
28
 
 
29
    property alias color: icon.color
 
30
 
 
31
    Rectangle {
 
32
        visible: button.pressed
 
33
        anchors.fill: parent
 
34
        color: Theme.palette.selected.background
 
35
    }
 
36
 
 
37
    Icon {
 
38
        id: icon
 
39
        anchors {
 
40
            centerIn: parent
 
41
        }
 
42
        // prevent trying to render the icon with an invalid source
 
43
        // when the button is invisible by setting width and height to 0
 
44
        width: visible ? button.iconWidth : 0
 
45
        height: visible ? button.iconHeight : 0
 
46
        source: button.iconSource
 
47
        color: Qt.rgba(0, 0, 0, 0)
 
48
        opacity: button.enabled ? 1.0 : 0.3
 
49
    }
 
50
 
 
51
    Component {
 
52
        id: labelComponent
 
53
        Label {
 
54
            id: label
 
55
            objectName: button.objectName + "_label"
 
56
            color: button.color
 
57
            opacity: button.enabled ? 1.0 : 0.3
 
58
            text: button.text
 
59
            fontSize: "xx-small"
 
60
        }
 
61
    }
 
62
    Loader {
 
63
        anchors {
 
64
            top: icon.bottom
 
65
            topMargin: units.gu(0.5)
 
66
            horizontalCenter: parent.horizontalCenter
 
67
        }
 
68
        sourceComponent: button.state === "IconAndLabel" ? labelComponent : null
 
69
    }
 
70
}