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

« back to all changes in this revision

Viewing changes to modules/Ubuntu/Components/1.3/PageWrapper.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 2015 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 "../1.2/PageWrapperUtils.js" as Utils
19
 
 
20
 
/*!
21
 
    \internal
22
 
    \qmltype PageWrapper
23
 
    \inqmlmodule Ubuntu.Components 1.1
24
 
    \ingroup ubuntu
25
 
    \brief Internal class used by \l PageStack
26
 
*/
27
 
PageTreeNode {
28
 
    id: pageWrapper
29
 
    anchors.fill: parent
30
 
 
31
 
    /*!
32
 
      The reference to the page object. This can be the page
33
 
      itself (which is an Item), but also a url pointing to a QML file.
34
 
     */
35
 
    property var reference
36
 
 
37
 
    /*!
38
 
      The initialized page object, or null if the object needs to be created.
39
 
     */
40
 
    property Item object: null
41
 
 
42
 
    /*!
43
 
      This variable will be true if \l object holds an object that was created
44
 
      from the given reference, and thus can be destroyed when no the page is deactivated.
45
 
     */
46
 
    property bool canDestroy: false
47
 
 
48
 
    /*!
49
 
      This value is updated when a PageWrapper is pushed to/popped from a PageStack.
50
 
     */
51
 
    active: false
52
 
 
53
 
    /*!
54
 
      \internal
55
 
     */
56
 
    onActiveChanged: {
57
 
        if (reference) {
58
 
            if (pageWrapper.active) Utils.activate(pageWrapper);
59
 
            else Utils.deactivate(pageWrapper);
60
 
        }
61
 
    }
62
 
 
63
 
    visible: active
64
 
 
65
 
    /*!
66
 
      Properties are use to initialize a new object, or if reference
67
 
      is already an object, properties are copied to the object when activated.
68
 
      Set properties before setting the reference.
69
 
     */
70
 
    property var properties
71
 
 
72
 
    /*!
73
 
      \internal
74
 
      */
75
 
    onReferenceChanged: {
76
 
        Utils.deactivate(pageWrapper);
77
 
        if (pageWrapper.object) pageWrapper.object = null;
78
 
        Utils.initPage(pageWrapper);
79
 
        if (pageWrapper.active && reference) {
80
 
            Utils.activate(pageWrapper);
81
 
        }
82
 
    }
83
 
 
84
 
    /*!
85
 
      \internal
86
 
     */
87
 
    Component.onDestruction: {
88
 
        Utils.deactivate(pageWrapper);
89
 
        if (pageWrapper.canDestroy) Utils.destroyObject(pageWrapper);
90
 
    }
91
 
 
92
 
    /*!
93
 
      \internal
94
 
      Destroy \l object. Only call this function if \l canDestroy
95
 
     */
96
 
    function destroyObject() {
97
 
        Utils.destroyObject(pageWrapper);
98
 
    }
99
 
}