From cb87b695e7d48279f65468c5e886ef2cb66386ce Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 28 Jan 2017 20:58:31 +0100 Subject: [PATCH 01/62] Add missing tab controls qmldir_noplugin didn't have tab controls. Issue: #46 --- controls/qmldir_noplugin | 2 ++ 1 file changed, 2 insertions(+) diff --git a/controls/qmldir_noplugin b/controls/qmldir_noplugin index 89a7fde9..aafa6648 100644 --- a/controls/qmldir_noplugin +++ b/controls/qmldir_noplugin @@ -30,6 +30,8 @@ SmoothFadeImage 1.0 SmoothFadeImage.qml SmoothFadeLoader 1.0 SmoothFadeLoader.qml Subheader 1.0 Subheader.qml SubheadingLabel 1.0 SubheadingLabel.qml +Tab 1.0 Tab.qml +TabbedPage 1.0 TabbedPage.qml ThinDivider 1.0 ThinDivider.qml TitleLabel 1.0 TitleLabel.qml singleton FluidStyle 1.0 FluidStyle.qml From 4fe3787a76587405d2f6becae3f448669f089a54 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 29 Jan 2017 11:13:33 +0100 Subject: [PATCH 02/62] controls: Show tab buttons when tabs are added Use TabBar's count instead, it will be updated when tabs are added. Closes: #49 --- controls/AppBar.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 1fcfca83..dc1ecdaf 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -164,6 +164,6 @@ ToolBar { id: tabBar width: parent.width y: actionsRow.height - visible: contentChildren.count > 0 + visible: count > 0 } } From e0a2cca07fbfe28cac7d24ccba3b080a2da4b588 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 29 Jan 2017 12:02:24 +0100 Subject: [PATCH 03/62] controls: Tab icon and close button Implement tab icon and close button missing features. [ChangeLog][Controls] Tabs now have an icon and a close button when requested. Issue: #50 --- controls/TabbedPage.qml | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/controls/TabbedPage.qml b/controls/TabbedPage.qml index 20a494c2..03e27e19 100644 --- a/controls/TabbedPage.qml +++ b/controls/TabbedPage.qml @@ -1,6 +1,7 @@ /* * This file is part of Fluid. * + * Copyright (C) 2017 Pier Luigi Fiorini * Copyright (C) 2016 Michael Spencer * * $BEGIN_LICENSE:MPL2$ @@ -38,7 +39,30 @@ FluidControls.Page { delegate: TabButton { text: modelData.title - // TODO: Add icon and optional close button + FluidControls.Icon { + id: tabIcon + + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + anchors.leftMargin: FluidControls.Units.smallSpacing + + name: modelData.iconName + source: modelData.iconSource + visible: status == Image.Ready + } + + FluidControls.IconButton { + id: tabCloseButton + + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.rightMargin: FluidControls.Units.smallSpacing + + iconName: "navigation/close" + visible: modelData.canRemove + + onClicked: swipeView.removeItem(swipeView.currentIndex) + } } } From b32c132ecff827fb5978c938a9d1e294640ba032 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 29 Jan 2017 15:49:26 +0100 Subject: [PATCH 04/62] controls: Implement TabbedPage::addTab() Add an item to the swipe view. [ChangeLog][Controls] TabbedPage addTab() method now actually adds a tab. Issue: #50 --- controls/TabbedPage.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/controls/TabbedPage.qml b/controls/TabbedPage.qml index 03e27e19..c4904455 100644 --- a/controls/TabbedPage.qml +++ b/controls/TabbedPage.qml @@ -75,7 +75,7 @@ FluidControls.Page { } function addTab(tab) { - // TODO: Instantiate tab if it's a component - appBar.currentTabIndex = swipeView.count - 1 + swipeView.addItem(tab); + appBar.currentTabIndex = swipeView.count - 1; } } From df20ebd2bfc93e2c503c5606159c4862d92a1634 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 29 Jan 2017 19:46:08 +0100 Subject: [PATCH 05/62] Use alias for Fluid imports When a type might conflict with those from Qt use an alias. --- controls/FluidWindow.qml | 10 +++++----- controls/Page.qml | 13 +++++++------ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/controls/FluidWindow.qml b/controls/FluidWindow.qml index 97e43ec5..9eb36711 100644 --- a/controls/FluidWindow.qml +++ b/controls/FluidWindow.qml @@ -16,7 +16,7 @@ import QtQuick 2.4 import QtQuick.Controls 2.0 import QtQuick.Controls.Material 2.0 import Fluid.Core 1.0 -import Fluid.Controls 1.0 +import Fluid.Controls 1.0 as FluidControls /*! \qmltype FluidWindow @@ -32,9 +32,9 @@ import Fluid.Controls 1.0 \qml import QtQuick 2.4 - import Fluid.Controls 1.0 + import Fluid.Controls 1.0 as FluidControls - ApplicationWindow { + FluidControls.ApplicationWindow { title: "Application Name" initialPage: page @@ -78,11 +78,11 @@ ApplicationWindow { */ property alias pageStack: pageStack - header: AppToolBar { + header: FluidControls.AppToolBar { id: appBar } - PageStack { + FluidControls.PageStack { id: pageStack width: parent.width diff --git a/controls/Page.qml b/controls/Page.qml index cce4e858..955cda72 100644 --- a/controls/Page.qml +++ b/controls/Page.qml @@ -1,6 +1,7 @@ /* * This file is part of Fluid. * + * Copyright (C) 2017 Pier Luigi Fiorini * Copyright (C) 2016 Michael Spencer * * $BEGIN_LICENSE:MPL2$ @@ -14,7 +15,7 @@ import QtQuick 2.4 import QtQuick.Controls 2.0 -import Fluid.Controls 1.0 +import Fluid.Controls 1.0 as FluidControls /*! \qmltype Page @@ -27,13 +28,13 @@ import Fluid.Controls 1.0 \qml import QtQuick 2.4 - import Fluid.Controls 1.0 + import Fluid.Controls 1.0 as FluidControls - Page { + FluidControls.Page { title: "Application Name" actions: [ - Action { + FluidControls.Action { name: "Print" // Icon name from the Google Material Design icon pack @@ -123,13 +124,13 @@ Page { return StackView.view.push({item: component, properties: properties}); } - AppBar { + FluidControls.AppBar { id: appBar title: page.title parent: null - leftAction: Action { + leftAction: FluidControls.Action { text: "Back" iconName: "navigation/arrow_back" onTriggered: page.pop() From edffe7f6856f7102a35834841d9d80453b4b1b4a Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 29 Jan 2017 20:01:55 +0100 Subject: [PATCH 06/62] Happy new year We are in 2017 for some time now. --- README.md | 2 +- controls/+material/BaseListItem.qml | 2 +- controls/+material/BodyLabel.qml | 2 +- controls/+material/CaptionLabel.qml | 2 +- controls/+material/DisplayLabel.qml | 2 +- controls/+material/HeadlineLabel.qml | 2 +- controls/+material/SubheadingLabel.qml | 2 +- controls/+material/ThinDivider.qml | 2 +- controls/+material/TitleLabel.qml | 2 +- controls/Action.qml | 4 ++-- controls/AppBar.qml | 2 +- controls/AppToolBar.qml | 2 +- controls/BaseListItem.qml | 2 +- controls/BodyLabel.qml | 2 +- controls/CaptionLabel.qml | 2 +- controls/Card.qml | 2 +- controls/CircleImage.qml | 2 +- controls/Dialog.qml | 4 ++-- controls/DisplayLabel.qml | 2 +- controls/FluidStyle.qml | 2 +- controls/FluidWindow.qml | 2 +- controls/HeadlineLabel.qml | 2 +- controls/Icon.qml | 2 +- controls/IconButton.qml | 2 +- controls/InfoBar.qml | 2 +- controls/ListItem.qml | 4 ++-- controls/ListItemDelegate.qml | 2 +- controls/Loadable.qml | 2 +- controls/NavigationDrawer.qml | 2 +- controls/NoiseBackground.qml | 4 ++-- controls/Page.qml | 2 +- controls/PageStack.qml | 2 +- controls/Placeholder.qml | 2 +- controls/Showable.qml | 2 +- controls/Sidebar.qml | 4 ++-- controls/SmoothFadeImage.qml | 2 +- controls/SmoothFadeLoader.qml | 2 +- controls/Subheader.qml | 2 +- controls/SubheadingLabel.qml | 2 +- controls/Tab.qml | 2 +- controls/TabbedPage.qml | 2 +- controls/ThinDivider.qml | 2 +- controls/TitleLabel.qml | 2 +- controls/Units.qml | 2 +- controls/iconthemeimageprovider.cpp | 2 +- controls/iconthemeimageprovider.h | 2 +- controls/plugin.cpp | 2 +- core/Object.qml | 2 +- core/Utils.qml | 4 ++-- core/clipboard.cpp | 4 ++-- core/clipboard.h | 2 +- core/device.cpp | 2 +- core/device.h | 2 +- core/iconsimageprovider.cpp | 2 +- core/iconsimageprovider.h | 2 +- core/plugin.cpp | 2 +- core/qmldateutils.cpp | 4 ++-- core/qmldateutils.h | 4 ++-- core/qqmlsortfilterproxymodel.cpp | 2 +- core/qqmlsortfilterproxymodel.h | 2 +- core/standardpaths.cpp | 2 +- core/standardpaths.h | 2 +- demo/+material/StyledRectangle.qml | 2 +- demo/+universal/StyledRectangle.qml | 2 +- demo/BasicComponents.qml | 2 +- demo/CompoundComponents.qml | 2 +- demo/MaterialComponents.qml | 2 +- demo/NavigationComponents.qml | 2 +- demo/Pages/Basic/BusyIndicatorPage.qml | 2 +- demo/Pages/Basic/ButtonPage.qml | 2 +- demo/Pages/Basic/CheckBoxPage.qml | 4 ++-- demo/Pages/Basic/ProgressBarPage.qml | 2 +- demo/Pages/Basic/RadioButtonPage.qml | 2 +- demo/Pages/Basic/SliderPage.qml | 2 +- demo/Pages/Basic/SwitchPage.qml | 2 +- demo/Pages/Compound/CardPage.qml | 2 +- demo/Pages/Compound/InfoBarPage.qml | 2 +- demo/Pages/Compound/ListItemPage.qml | 2 +- demo/Pages/Compound/SubPage.qml | 2 +- demo/Pages/Material/ActionButtonPage.qml | 2 +- demo/Pages/Material/WavePage.qml | 2 +- demo/Pages/Navigation/NavDrawerPage.qml | 2 +- demo/Pages/Style/PalettePage.qml | 2 +- demo/Pages/Style/PaletteSwatch.qml | 2 +- demo/Pages/Style/TypographyPage.qml | 2 +- demo/Style.qml | 2 +- demo/StyledRectangle.qml | 2 +- demo/main.cpp | 4 ++-- demo/main.qml | 4 ++-- effects/BoxShadow.qml | 2 +- effects/CircleMask.qml | 4 ++-- effects/Vignette.qml | 2 +- material/ActionButton.qml | 4 ++-- material/ElevationEffect.qml | 2 +- material/Ripple.qml | 4 ++-- material/Wave.qml | 2 +- src/dateutils.cpp | 4 ++-- src/dateutils.h | 4 ++-- tests/auto/controls/controls.cpp | 2 +- tests/auto/controls/tst_icon.qml | 2 +- tests/auto/controls/tst_listitem.qml | 2 +- tests/auto/core/core.cpp | 2 +- tests/auto/core/tst_clipboard.qml | 2 +- tests/auto/core/tst_utils.qml | 4 ++-- tests/auto/material/material.cpp | 2 +- tests/auto/material/tst_ripple.qml | 2 +- tests/auto/material/tst_typography.qml | 2 +- 107 files changed, 125 insertions(+), 125 deletions(-) diff --git a/README.md b/README.md index 30110c4c..d850bb15 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Fluid [![GitHub release](https://img.shields.io/github/release/lirios/fluid.svg)](https://github.com/lirios/fluid) [![Build Status](https://travis-ci.org/lirios/fluid.svg?branch=develop)](https://travis-ci.org/lirios/fluid) [![GitHub issues](https://img.shields.io/github/issues/lirios/fluid.svg)](https://github.com/lirios/fluid/issues) -[![Maintained](https://img.shields.io/maintenance/yes/2016.svg)](https://github.com/lirios/fluid/commits/develop) +[![Maintained](https://img.shields.io/maintenance/yes/2017.svg)](https://github.com/lirios/fluid/commits/develop) Fluid is a collection of cross-platform QtQuick components for building fluid and dynamic applications. diff --git a/controls/+material/BaseListItem.qml b/controls/+material/BaseListItem.qml index 41f26929..2a956bc3 100644 --- a/controls/+material/BaseListItem.qml +++ b/controls/+material/BaseListItem.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/+material/BodyLabel.qml b/controls/+material/BodyLabel.qml index cf52144a..9445a1e1 100644 --- a/controls/+material/BodyLabel.qml +++ b/controls/+material/BodyLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/+material/CaptionLabel.qml b/controls/+material/CaptionLabel.qml index 4ef1710c..66d5638e 100644 --- a/controls/+material/CaptionLabel.qml +++ b/controls/+material/CaptionLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/+material/DisplayLabel.qml b/controls/+material/DisplayLabel.qml index 72087d18..67b9e4b8 100644 --- a/controls/+material/DisplayLabel.qml +++ b/controls/+material/DisplayLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/+material/HeadlineLabel.qml b/controls/+material/HeadlineLabel.qml index 8264c2d2..b001aa94 100644 --- a/controls/+material/HeadlineLabel.qml +++ b/controls/+material/HeadlineLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/+material/SubheadingLabel.qml b/controls/+material/SubheadingLabel.qml index 06c005b9..d7f23bfa 100644 --- a/controls/+material/SubheadingLabel.qml +++ b/controls/+material/SubheadingLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/+material/ThinDivider.qml b/controls/+material/ThinDivider.qml index 113c2b04..0b69ef53 100644 --- a/controls/+material/ThinDivider.qml +++ b/controls/+material/ThinDivider.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/+material/TitleLabel.qml b/controls/+material/TitleLabel.qml index bf62b292..486abff2 100644 --- a/controls/+material/TitleLabel.qml +++ b/controls/+material/TitleLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Action.qml b/controls/Action.qml index b73f524e..582b9458 100644 --- a/controls/Action.qml +++ b/controls/Action.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/AppBar.qml b/controls/AppBar.qml index dc1ecdaf..7f81c296 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/AppToolBar.qml b/controls/AppToolBar.qml index 591e0964..79615657 100644 --- a/controls/AppToolBar.qml +++ b/controls/AppToolBar.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/BaseListItem.qml b/controls/BaseListItem.qml index b931fbd0..3a4d989d 100644 --- a/controls/BaseListItem.qml +++ b/controls/BaseListItem.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/BodyLabel.qml b/controls/BodyLabel.qml index edd38b1e..ff63cecc 100644 --- a/controls/BodyLabel.qml +++ b/controls/BodyLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/CaptionLabel.qml b/controls/CaptionLabel.qml index a2289eb8..b62f1c23 100644 --- a/controls/CaptionLabel.qml +++ b/controls/CaptionLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Card.qml b/controls/Card.qml index 60eb97ad..4b4f6662 100644 --- a/controls/Card.qml +++ b/controls/Card.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/CircleImage.qml b/controls/CircleImage.qml index ad73593d..c8461097 100644 --- a/controls/CircleImage.qml +++ b/controls/CircleImage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Dialog.qml b/controls/Dialog.qml index 0da57fa4..b9d1b77d 100644 --- a/controls/Dialog.qml +++ b/controls/Dialog.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/DisplayLabel.qml b/controls/DisplayLabel.qml index 0070419b..8f27f057 100644 --- a/controls/DisplayLabel.qml +++ b/controls/DisplayLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/FluidStyle.qml b/controls/FluidStyle.qml index a67de44c..4d3afea8 100644 --- a/controls/FluidStyle.qml +++ b/controls/FluidStyle.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/FluidWindow.qml b/controls/FluidWindow.qml index 9eb36711..e7b0b67e 100644 --- a/controls/FluidWindow.qml +++ b/controls/FluidWindow.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/HeadlineLabel.qml b/controls/HeadlineLabel.qml index 91dcbfc6..93d2bf66 100644 --- a/controls/HeadlineLabel.qml +++ b/controls/HeadlineLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Icon.qml b/controls/Icon.qml index b52dded0..3f0d4c53 100644 --- a/controls/Icon.qml +++ b/controls/Icon.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * Copyright (C) 2015 Bogdan Cuza * * $BEGIN_LICENSE:MPL2$ diff --git a/controls/IconButton.qml b/controls/IconButton.qml index ee07a428..7b74d531 100644 --- a/controls/IconButton.qml +++ b/controls/IconButton.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/InfoBar.qml b/controls/InfoBar.qml index 31afcf85..27fbfcb5 100644 --- a/controls/InfoBar.qml +++ b/controls/InfoBar.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * Copyright (C) 2014-2016 Michael Spencer * Copyright (C) 2014 Bogdan Cuza * diff --git a/controls/ListItem.qml b/controls/ListItem.qml index ab70717f..252e9fd8 100644 --- a/controls/ListItem.qml +++ b/controls/ListItem.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/ListItemDelegate.qml b/controls/ListItemDelegate.qml index d50d3cda..576f2711 100644 --- a/controls/ListItemDelegate.qml +++ b/controls/ListItemDelegate.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Loadable.qml b/controls/Loadable.qml index ed23179a..f1c9176e 100644 --- a/controls/Loadable.qml +++ b/controls/Loadable.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/NavigationDrawer.qml b/controls/NavigationDrawer.qml index 7e82a1df..36d3547f 100644 --- a/controls/NavigationDrawer.qml +++ b/controls/NavigationDrawer.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/NoiseBackground.qml b/controls/NoiseBackground.qml index 0e485038..e3513de3 100644 --- a/controls/NoiseBackground.qml +++ b/controls/NoiseBackground.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * @@ -14,7 +14,7 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Fluid and is derived from NoisyGradient.qml diff --git a/controls/Page.qml b/controls/Page.qml index 955cda72..73e218b2 100644 --- a/controls/Page.qml +++ b/controls/Page.qml @@ -2,7 +2,7 @@ * This file is part of Fluid. * * Copyright (C) 2017 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/PageStack.qml b/controls/PageStack.qml index d629fb96..4c948da0 100644 --- a/controls/PageStack.qml +++ b/controls/PageStack.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Placeholder.qml b/controls/Placeholder.qml index 89ebfffa..f1e7996a 100644 --- a/controls/Placeholder.qml +++ b/controls/Placeholder.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Showable.qml b/controls/Showable.qml index c14d65ba..c7ceb9fa 100644 --- a/controls/Showable.qml +++ b/controls/Showable.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Sidebar.qml b/controls/Sidebar.qml index b4e104eb..8632a032 100644 --- a/controls/Sidebar.qml +++ b/controls/Sidebar.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/SmoothFadeImage.qml b/controls/SmoothFadeImage.qml index 5345e2c5..fbd0a94a 100644 --- a/controls/SmoothFadeImage.qml +++ b/controls/SmoothFadeImage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/SmoothFadeLoader.qml b/controls/SmoothFadeLoader.qml index 2f419a58..0c76a671 100644 --- a/controls/SmoothFadeLoader.qml +++ b/controls/SmoothFadeLoader.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Subheader.qml b/controls/Subheader.qml index d9252b06..329d683e 100644 --- a/controls/Subheader.qml +++ b/controls/Subheader.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/SubheadingLabel.qml b/controls/SubheadingLabel.qml index c524048d..e43d1f59 100644 --- a/controls/SubheadingLabel.qml +++ b/controls/SubheadingLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Tab.qml b/controls/Tab.qml index 2db624fb..80038d4d 100644 --- a/controls/Tab.qml +++ b/controls/Tab.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/TabbedPage.qml b/controls/TabbedPage.qml index c4904455..d8fc1a06 100644 --- a/controls/TabbedPage.qml +++ b/controls/TabbedPage.qml @@ -2,7 +2,7 @@ * This file is part of Fluid. * * Copyright (C) 2017 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/ThinDivider.qml b/controls/ThinDivider.qml index 5c432270..7d2def52 100644 --- a/controls/ThinDivider.qml +++ b/controls/ThinDivider.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/TitleLabel.qml b/controls/TitleLabel.qml index 97295b14..8742d7e6 100644 --- a/controls/TitleLabel.qml +++ b/controls/TitleLabel.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/Units.qml b/controls/Units.qml index ca629186..e702e33f 100644 --- a/controls/Units.qml +++ b/controls/Units.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/iconthemeimageprovider.cpp b/controls/iconthemeimageprovider.cpp index aab74c96..8b1c77b1 100644 --- a/controls/iconthemeimageprovider.cpp +++ b/controls/iconthemeimageprovider.cpp @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/iconthemeimageprovider.h b/controls/iconthemeimageprovider.h index 675586ca..e50008f4 100644 --- a/controls/iconthemeimageprovider.h +++ b/controls/iconthemeimageprovider.h @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/controls/plugin.cpp b/controls/plugin.cpp index 7c3c2cee..661b234e 100644 --- a/controls/plugin.cpp +++ b/controls/plugin.cpp @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/Object.qml b/core/Object.qml index f50c8f8b..abfcdde9 100644 --- a/core/Object.qml +++ b/core/Object.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/Utils.qml b/core/Utils.qml index 41b6e7bd..7d3a480a 100644 --- a/core/Utils.qml +++ b/core/Utils.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/clipboard.cpp b/core/clipboard.cpp index 8e920623..79280d37 100644 --- a/core/clipboard.cpp +++ b/core/clipboard.cpp @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/clipboard.h b/core/clipboard.h index e59b7cbb..72b19e73 100644 --- a/core/clipboard.h +++ b/core/clipboard.h @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/device.cpp b/core/device.cpp index 2e627cee..07046b82 100644 --- a/core/device.cpp +++ b/core/device.cpp @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/device.h b/core/device.h index be995990..113de034 100644 --- a/core/device.h +++ b/core/device.h @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/iconsimageprovider.cpp b/core/iconsimageprovider.cpp index 65df1046..2ffbe108 100644 --- a/core/iconsimageprovider.cpp +++ b/core/iconsimageprovider.cpp @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/iconsimageprovider.h b/core/iconsimageprovider.h index 0dc95301..f30a7053 100644 --- a/core/iconsimageprovider.h +++ b/core/iconsimageprovider.h @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/plugin.cpp b/core/plugin.cpp index 5de9a30b..511b4398 100644 --- a/core/plugin.cpp +++ b/core/plugin.cpp @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/qmldateutils.cpp b/core/qmldateutils.cpp index e33d3b56..a060f266 100644 --- a/core/qmldateutils.cpp +++ b/core/qmldateutils.cpp @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/qmldateutils.h b/core/qmldateutils.h index 255e4391..29fffbee 100644 --- a/core/qmldateutils.h +++ b/core/qmldateutils.h @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/qqmlsortfilterproxymodel.cpp b/core/qqmlsortfilterproxymodel.cpp index 69171551..0f88cc06 100644 --- a/core/qqmlsortfilterproxymodel.cpp +++ b/core/qqmlsortfilterproxymodel.cpp @@ -1,7 +1,7 @@ /**************************************************************************** * This file is part of Fluid. * - * Copyright (C) 2016 Pierre-Yves Siret + * Copyright (C) 2017 Pierre-Yves Siret * * $BEGIN_LICENSE:MIT$ * diff --git a/core/qqmlsortfilterproxymodel.h b/core/qqmlsortfilterproxymodel.h index d38fcb08..58f09e7a 100644 --- a/core/qqmlsortfilterproxymodel.h +++ b/core/qqmlsortfilterproxymodel.h @@ -1,7 +1,7 @@ /**************************************************************************** * This file is part of Fluid. * - * Copyright (C) 2016 Pierre-Yves Siret + * Copyright (C) 2017 Pierre-Yves Siret * * $BEGIN_LICENSE:MIT$ * diff --git a/core/standardpaths.cpp b/core/standardpaths.cpp index d0cddbfe..ec676831 100644 --- a/core/standardpaths.cpp +++ b/core/standardpaths.cpp @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/core/standardpaths.h b/core/standardpaths.h index 6832d0b4..6f3d0bc9 100644 --- a/core/standardpaths.h +++ b/core/standardpaths.h @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/+material/StyledRectangle.qml b/demo/+material/StyledRectangle.qml index b433b929..7da64abe 100644 --- a/demo/+material/StyledRectangle.qml +++ b/demo/+material/StyledRectangle.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/+universal/StyledRectangle.qml b/demo/+universal/StyledRectangle.qml index 39bfe0d6..ca1999b7 100644 --- a/demo/+universal/StyledRectangle.qml +++ b/demo/+universal/StyledRectangle.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/BasicComponents.qml b/demo/BasicComponents.qml index 895b95b8..88e3316a 100644 --- a/demo/BasicComponents.qml +++ b/demo/BasicComponents.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/CompoundComponents.qml b/demo/CompoundComponents.qml index 2cea4a5e..7389631b 100644 --- a/demo/CompoundComponents.qml +++ b/demo/CompoundComponents.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/MaterialComponents.qml b/demo/MaterialComponents.qml index 2c724240..ba7eb49f 100644 --- a/demo/MaterialComponents.qml +++ b/demo/MaterialComponents.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/NavigationComponents.qml b/demo/NavigationComponents.qml index 9958bf91..829b1fe6 100644 --- a/demo/NavigationComponents.qml +++ b/demo/NavigationComponents.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Basic/BusyIndicatorPage.qml b/demo/Pages/Basic/BusyIndicatorPage.qml index 13c206f7..22fb2bc7 100644 --- a/demo/Pages/Basic/BusyIndicatorPage.qml +++ b/demo/Pages/Basic/BusyIndicatorPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Basic/ButtonPage.qml b/demo/Pages/Basic/ButtonPage.qml index dbe22d60..36b83ad4 100644 --- a/demo/Pages/Basic/ButtonPage.qml +++ b/demo/Pages/Basic/ButtonPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Basic/CheckBoxPage.qml b/demo/Pages/Basic/CheckBoxPage.qml index bf5c96a6..44dddb74 100644 --- a/demo/Pages/Basic/CheckBoxPage.qml +++ b/demo/Pages/Basic/CheckBoxPage.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Basic/ProgressBarPage.qml b/demo/Pages/Basic/ProgressBarPage.qml index 77267fe2..ef435ba5 100644 --- a/demo/Pages/Basic/ProgressBarPage.qml +++ b/demo/Pages/Basic/ProgressBarPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Basic/RadioButtonPage.qml b/demo/Pages/Basic/RadioButtonPage.qml index 90c187fb..356ed438 100644 --- a/demo/Pages/Basic/RadioButtonPage.qml +++ b/demo/Pages/Basic/RadioButtonPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Basic/SliderPage.qml b/demo/Pages/Basic/SliderPage.qml index 840e3b8f..ac950f33 100644 --- a/demo/Pages/Basic/SliderPage.qml +++ b/demo/Pages/Basic/SliderPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Basic/SwitchPage.qml b/demo/Pages/Basic/SwitchPage.qml index abbd9ac0..4bbbd36a 100644 --- a/demo/Pages/Basic/SwitchPage.qml +++ b/demo/Pages/Basic/SwitchPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Compound/CardPage.qml b/demo/Pages/Compound/CardPage.qml index e7be3e6d..bab7de6d 100644 --- a/demo/Pages/Compound/CardPage.qml +++ b/demo/Pages/Compound/CardPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Compound/InfoBarPage.qml b/demo/Pages/Compound/InfoBarPage.qml index f3835492..8cedf3e9 100644 --- a/demo/Pages/Compound/InfoBarPage.qml +++ b/demo/Pages/Compound/InfoBarPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Compound/ListItemPage.qml b/demo/Pages/Compound/ListItemPage.qml index b35f863a..f86f81b4 100644 --- a/demo/Pages/Compound/ListItemPage.qml +++ b/demo/Pages/Compound/ListItemPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Compound/SubPage.qml b/demo/Pages/Compound/SubPage.qml index 2367508b..8a86a288 100644 --- a/demo/Pages/Compound/SubPage.qml +++ b/demo/Pages/Compound/SubPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Material/ActionButtonPage.qml b/demo/Pages/Material/ActionButtonPage.qml index ff0b8014..9d3879bc 100644 --- a/demo/Pages/Material/ActionButtonPage.qml +++ b/demo/Pages/Material/ActionButtonPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Material/WavePage.qml b/demo/Pages/Material/WavePage.qml index 85b969f0..b450ecfc 100644 --- a/demo/Pages/Material/WavePage.qml +++ b/demo/Pages/Material/WavePage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Navigation/NavDrawerPage.qml b/demo/Pages/Navigation/NavDrawerPage.qml index 2d81f2ee..582ca329 100644 --- a/demo/Pages/Navigation/NavDrawerPage.qml +++ b/demo/Pages/Navigation/NavDrawerPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Style/PalettePage.qml b/demo/Pages/Style/PalettePage.qml index deecca54..8eaf436d 100644 --- a/demo/Pages/Style/PalettePage.qml +++ b/demo/Pages/Style/PalettePage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Style/PaletteSwatch.qml b/demo/Pages/Style/PaletteSwatch.qml index fb748869..ac5c9b3c 100644 --- a/demo/Pages/Style/PaletteSwatch.qml +++ b/demo/Pages/Style/PaletteSwatch.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Pages/Style/TypographyPage.qml b/demo/Pages/Style/TypographyPage.qml index 8cf47ff2..f9c6aeef 100644 --- a/demo/Pages/Style/TypographyPage.qml +++ b/demo/Pages/Style/TypographyPage.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/Style.qml b/demo/Style.qml index 8de8d3f7..9f997bd3 100644 --- a/demo/Style.qml +++ b/demo/Style.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/StyledRectangle.qml b/demo/StyledRectangle.qml index 9d3937cc..3af12dd3 100644 --- a/demo/StyledRectangle.qml +++ b/demo/StyledRectangle.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/main.cpp b/demo/main.cpp index d6aaf9dd..055d6955 100644 --- a/demo/main.cpp +++ b/demo/main.cpp @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/demo/main.qml b/demo/main.qml index 44ae1a4c..87e46c6b 100644 --- a/demo/main.qml +++ b/demo/main.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/effects/BoxShadow.qml b/effects/BoxShadow.qml index 5169a952..2fb36164 100644 --- a/effects/BoxShadow.qml +++ b/effects/BoxShadow.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/effects/CircleMask.qml b/effects/CircleMask.qml index 03091a4c..0a70c446 100644 --- a/effects/CircleMask.qml +++ b/effects/CircleMask.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/effects/Vignette.qml b/effects/Vignette.qml index d01174e3..22581901 100644 --- a/effects/Vignette.qml +++ b/effects/Vignette.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * diff --git a/material/ActionButton.qml b/material/ActionButton.qml index fa7c53e9..e6cdcfc9 100644 --- a/material/ActionButton.qml +++ b/material/ActionButton.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/material/ElevationEffect.qml b/material/ElevationEffect.qml index 7a36ca6d..e72d5172 100644 --- a/material/ElevationEffect.qml +++ b/material/ElevationEffect.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/material/Ripple.qml b/material/Ripple.qml index fff74820..b99a46ac 100644 --- a/material/Ripple.qml +++ b/material/Ripple.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/material/Wave.qml b/material/Wave.qml index 2e426d2e..50ea8ae6 100644 --- a/material/Wave.qml +++ b/material/Wave.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * Copyright (C) 2014 Bogdan Cuza * * $BEGIN_LICENSE:MPL2$ diff --git a/src/dateutils.cpp b/src/dateutils.cpp index 26981f51..62e69036 100644 --- a/src/dateutils.cpp +++ b/src/dateutils.cpp @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/src/dateutils.h b/src/dateutils.h index 17eb2344..e49cbac7 100644 --- a/src/dateutils.h +++ b/src/dateutils.h @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/tests/auto/controls/controls.cpp b/tests/auto/controls/controls.cpp index 5358d4a8..1d14afcf 100644 --- a/tests/auto/controls/controls.cpp +++ b/tests/auto/controls/controls.cpp @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/tests/auto/controls/tst_icon.qml b/tests/auto/controls/tst_icon.qml index f5080c56..6d3fc269 100644 --- a/tests/auto/controls/tst_icon.qml +++ b/tests/auto/controls/tst_icon.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/tests/auto/controls/tst_listitem.qml b/tests/auto/controls/tst_listitem.qml index 34807c2f..1f10ee16 100644 --- a/tests/auto/controls/tst_listitem.qml +++ b/tests/auto/controls/tst_listitem.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/tests/auto/core/core.cpp b/tests/auto/core/core.cpp index c02ebe01..7983d3e6 100644 --- a/tests/auto/core/core.cpp +++ b/tests/auto/core/core.cpp @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/tests/auto/core/tst_clipboard.qml b/tests/auto/core/tst_clipboard.qml index 5b652775..9c99cd65 100644 --- a/tests/auto/core/tst_clipboard.qml +++ b/tests/auto/core/tst_clipboard.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/tests/auto/core/tst_utils.qml b/tests/auto/core/tst_utils.qml index 31dfe3de..9d977a91 100644 --- a/tests/auto/core/tst_utils.qml +++ b/tests/auto/core/tst_utils.qml @@ -1,8 +1,8 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/tests/auto/material/material.cpp b/tests/auto/material/material.cpp index a38926f1..0d0bd819 100644 --- a/tests/auto/material/material.cpp +++ b/tests/auto/material/material.cpp @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/tests/auto/material/tst_ripple.qml b/tests/auto/material/tst_ripple.qml index 4bef8281..b79b18e8 100644 --- a/tests/auto/material/tst_ripple.qml +++ b/tests/auto/material/tst_ripple.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Michael Spencer + * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ * diff --git a/tests/auto/material/tst_typography.qml b/tests/auto/material/tst_typography.qml index 54af0da9..3a328fbe 100644 --- a/tests/auto/material/tst_typography.qml +++ b/tests/auto/material/tst_typography.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2016 Pier Luigi Fiorini + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * From 4bffef351674ba5ece74a899ab97b909d1e70c57 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 29 Jan 2017 20:15:34 +0100 Subject: [PATCH 07/62] Fix license badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d850bb15..70d04ba2 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Fluid [![ZenHub.io](https://img.shields.io/badge/supercharged%20by-zenhub.io-blue.svg)](https://zenhub.io) -[![License](https://img.shields.io/badge/license-MPL2%2B-blue.svg)](https://www.mozilla.org/en-US/MPL/2.0/) +[![License](https://img.shields.io/badge/license-MPL2-blue.svg)](https://www.mozilla.org/en-US/MPL/2.0/) [![GitHub release](https://img.shields.io/github/release/lirios/fluid.svg)](https://github.com/lirios/fluid) [![Build Status](https://travis-ci.org/lirios/fluid.svg?branch=develop)](https://travis-ci.org/lirios/fluid) [![GitHub issues](https://img.shields.io/github/issues/lirios/fluid.svg)](https://github.com/lirios/fluid/issues) From e35c7894db7422de2d0e2bdda446a098027e07a1 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 29 Jan 2017 20:59:31 +0100 Subject: [PATCH 08/62] Flickable pages for the demo app Some pages have more contents than what the window can show, make them flickable and add a vertical scroll bar. [ChangeLog][Demo] Pages are now scrollable if the content doesn't fit perfectly the window. Closes: #51 --- demo/Pages/Basic/BusyIndicatorPage.qml | 28 ++- demo/Pages/Basic/ButtonPage.qml | 132 ++++++------ demo/Pages/Basic/CheckBoxPage.qml | 116 ++++++----- demo/Pages/Basic/ProgressBarPage.qml | 154 +++++++------- demo/Pages/Basic/RadioButtonPage.qml | 116 ++++++----- demo/Pages/Basic/SliderPage.qml | 244 ++++++++++++----------- demo/Pages/Basic/SwitchPage.qml | 116 ++++++----- demo/Pages/Compound/CardPage.qml | 5 +- demo/Pages/Compound/InfoBarPage.qml | 4 +- demo/Pages/Material/ActionButtonPage.qml | 58 +++--- demo/Pages/Material/WavePage.qml | 5 +- demo/Pages/Navigation/NavDrawerPage.qml | 5 +- demo/Pages/Style/PalettePage.qml | 184 ++++++++--------- demo/Pages/Style/TypographyPage.qml | 8 +- 14 files changed, 630 insertions(+), 545 deletions(-) diff --git a/demo/Pages/Basic/BusyIndicatorPage.qml b/demo/Pages/Basic/BusyIndicatorPage.qml index 22fb2bc7..1a6341e8 100644 --- a/demo/Pages/Basic/BusyIndicatorPage.qml +++ b/demo/Pages/Basic/BusyIndicatorPage.qml @@ -17,17 +17,27 @@ import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0 import "../.." -ColumnLayout { - Repeater { - model: 2 +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) - StyledRectangle { - Layout.fillWidth: true - Layout.fillHeight: true + ScrollBar.vertical: ScrollBar {} - BusyIndicator { - anchors.centerIn: parent - running: true + ColumnLayout { + id: layout + anchors.fill: parent + + Repeater { + model: 2 + + StyledRectangle { + Layout.fillWidth: true + Layout.fillHeight: true + + BusyIndicator { + anchors.centerIn: parent + running: true + } } } } diff --git a/demo/Pages/Basic/ButtonPage.qml b/demo/Pages/Basic/ButtonPage.qml index 36b83ad4..6cf94fe4 100644 --- a/demo/Pages/Basic/ButtonPage.qml +++ b/demo/Pages/Basic/ButtonPage.qml @@ -18,86 +18,96 @@ import QtQuick.Layouts 1.0 import Fluid.Controls 1.0 import "../.." -ColumnLayout { - Repeater { - model: 2 +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) - StyledRectangle { - Layout.fillWidth: true - Layout.fillHeight: true - Layout.minimumWidth: grid.width + 80 - Layout.minimumHeight: grid.height + 80 + ScrollBar.vertical: ScrollBar {} - GridLayout { - id: grid - anchors.centerIn: parent - columns: 2 - rows: 4 + ColumnLayout { + id: layout + anchors.fill: parent - // Row 1 + Repeater { + model: 2 - TitleLabel { - text: qsTr("Enabled") + StyledRectangle { + Layout.fillWidth: true + Layout.fillHeight: true + Layout.minimumWidth: grid.width + 80 + Layout.minimumHeight: grid.height + 80 - Layout.alignment: Qt.AlignHCenter - } + GridLayout { + id: grid + anchors.centerIn: parent + columns: 2 + rows: 4 - TitleLabel { - text: qsTr("Disabled") + // Row 1 - Layout.alignment: Qt.AlignHCenter - } + TitleLabel { + text: qsTr("Enabled") - // Row 2 + Layout.alignment: Qt.AlignHCenter + } - Button { - text: qsTr("Button") - } + TitleLabel { + text: qsTr("Disabled") - Button { - text: qsTr("Button") - enabled: false - } + Layout.alignment: Qt.AlignHCenter + } - // Row 3 + // Row 2 - Button { - text: qsTr("Checked") - checkable: false - checked: true - } + Button { + text: qsTr("Button") + } - Button { - text: qsTr("Checked") - checkable: false - checked: true - enabled: false - } + Button { + text: qsTr("Button") + enabled: false + } - // Row 4 + // Row 3 - Button { - text: qsTr("Flat") - flat: true - } + Button { + text: qsTr("Checked") + checkable: false + checked: true + } - Button { - text: qsTr("Flat") - flat: true - enabled: false - } + Button { + text: qsTr("Checked") + checkable: false + checked: true + enabled: false + } - // Row 5 + // Row 4 - Button { - text: qsTr("Highlighted") - highlighted: true - } + Button { + text: qsTr("Flat") + flat: true + } + + Button { + text: qsTr("Flat") + flat: true + enabled: false + } + + // Row 5 + + Button { + text: qsTr("Highlighted") + highlighted: true + } - Button { - text: qsTr("Highlighted") - highlighted: true - enabled: false + Button { + text: qsTr("Highlighted") + highlighted: true + enabled: false + } } } } diff --git a/demo/Pages/Basic/CheckBoxPage.qml b/demo/Pages/Basic/CheckBoxPage.qml index 44dddb74..6e53e738 100644 --- a/demo/Pages/Basic/CheckBoxPage.qml +++ b/demo/Pages/Basic/CheckBoxPage.qml @@ -19,71 +19,81 @@ import QtQuick.Layouts 1.0 import Fluid.Controls 1.0 import "../.." -ColumnLayout { - Repeater { - model: 2 - - StyledRectangle { - Layout.fillWidth: true - Layout.fillHeight: true - Layout.minimumWidth: grid.width + 80 - Layout.minimumHeight: grid.height + 80 - - GridLayout { - id: grid - anchors.centerIn: parent - columns: 3 - rows: 3 - - // Row 1 - - Item { - width: 1 - height: 1 - } +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) - TitleLabel { - text: qsTr("Enabled") + ScrollBar.vertical: ScrollBar {} - Layout.alignment: Qt.AlignHCenter - } + ColumnLayout { + id: layout + anchors.fill: parent - TitleLabel { - text: qsTr("Disabled") + Repeater { + model: 2 - Layout.alignment: Qt.AlignHCenter - } + StyledRectangle { + Layout.fillWidth: true + Layout.fillHeight: true + Layout.minimumWidth: grid.width + 80 + Layout.minimumHeight: grid.height + 80 - // Row 2 + GridLayout { + id: grid + anchors.centerIn: parent + columns: 3 + rows: 3 - Label { - text: qsTr("On") - } + // Row 1 - CheckBox { - checked: true - text: qsTr("CheckBox") - } + Item { + width: 1 + height: 1 + } - CheckBox { - checked: true - enabled: false - text: qsTr("CheckBox") - } + TitleLabel { + text: qsTr("Enabled") - // Row 3 + Layout.alignment: Qt.AlignHCenter + } - Label { - text: qsTr("Off") - } + TitleLabel { + text: qsTr("Disabled") - CheckBox { - text: qsTr("CheckBox") - } + Layout.alignment: Qt.AlignHCenter + } + + // Row 2 + + Label { + text: qsTr("On") + } + + CheckBox { + checked: true + text: qsTr("CheckBox") + } + + CheckBox { + checked: true + enabled: false + text: qsTr("CheckBox") + } + + // Row 3 + + Label { + text: qsTr("Off") + } + + CheckBox { + text: qsTr("CheckBox") + } - CheckBox { - text: qsTr("CheckBox") - enabled: false + CheckBox { + text: qsTr("CheckBox") + enabled: false + } } } } diff --git a/demo/Pages/Basic/ProgressBarPage.qml b/demo/Pages/Basic/ProgressBarPage.qml index ef435ba5..440db51c 100644 --- a/demo/Pages/Basic/ProgressBarPage.qml +++ b/demo/Pages/Basic/ProgressBarPage.qml @@ -18,96 +18,106 @@ import QtQuick.Layouts 1.0 import Fluid.Controls 1.0 import "../.." -ColumnLayout { - Repeater { - model: 2 - - StyledRectangle { - Layout.fillWidth: true - Layout.fillHeight: true - Layout.minimumWidth: grid.width + 80 - Layout.minimumHeight: grid.height + 80 - - GridLayout { - id: grid - anchors.centerIn: parent - columns: 3 - - // Row 1 - - Item { - width: 1 - height: 1 - } +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) - TitleLabel { - text: qsTr("Determinate") + ScrollBar.vertical: ScrollBar {} - Layout.alignment: Qt.AlignHCenter - } + ColumnLayout { + id: layout + anchors.fill: parent - TitleLabel { - text: qsTr("Indeterminate") + Repeater { + model: 2 - Layout.alignment: Qt.AlignHCenter - } + StyledRectangle { + Layout.fillWidth: true + Layout.fillHeight: true + Layout.minimumWidth: grid.width + 80 + Layout.minimumHeight: grid.height + 80 - // Row 2 + GridLayout { + id: grid + anchors.centerIn: parent + columns: 3 - Label { - text: qsTr("Static") - } + // Row 1 - ProgressBar { - from: 0.0 - to: 1.0 - value: 0.5 - indeterminate: false - } + Item { + width: 1 + height: 1 + } - ProgressBar { - from: 0.0 - to: 1.0 - value: 0.5 - indeterminate: true - } + TitleLabel { + text: qsTr("Determinate") - // Row 3 + Layout.alignment: Qt.AlignHCenter + } - Label { - text: qsTr("Animated") - } + TitleLabel { + text: qsTr("Indeterminate") + + Layout.alignment: Qt.AlignHCenter + } - ProgressBar { - from: 0.0 - to: 1.0 - indeterminate: false + // Row 2 - SequentialAnimation on value { - running: true - loops: NumberAnimation.Infinite + Label { + text: qsTr("Static") + } + + ProgressBar { + from: 0.0 + to: 1.0 + value: 0.5 + indeterminate: false + } + + ProgressBar { + from: 0.0 + to: 1.0 + value: 0.5 + indeterminate: true + } + + // Row 3 - NumberAnimation { - from: 0.0 - to: 1.0 - duration: 3000 + Label { + text: qsTr("Animated") + } + + ProgressBar { + from: 0.0 + to: 1.0 + indeterminate: false + + SequentialAnimation on value { + running: true + loops: NumberAnimation.Infinite + + NumberAnimation { + from: 0.0 + to: 1.0 + duration: 3000 + } } } - } - ProgressBar { - from: 0.0 - to: 1.0 - indeterminate: true + ProgressBar { + from: 0.0 + to: 1.0 + indeterminate: true - SequentialAnimation on value { - running: true - loops: NumberAnimation.Infinite + SequentialAnimation on value { + running: true + loops: NumberAnimation.Infinite - NumberAnimation { - from: 0.0 - to: 1.0 - duration: 3000 + NumberAnimation { + from: 0.0 + to: 1.0 + duration: 3000 + } } } } diff --git a/demo/Pages/Basic/RadioButtonPage.qml b/demo/Pages/Basic/RadioButtonPage.qml index 356ed438..80c98d59 100644 --- a/demo/Pages/Basic/RadioButtonPage.qml +++ b/demo/Pages/Basic/RadioButtonPage.qml @@ -18,71 +18,81 @@ import QtQuick.Layouts 1.0 import Fluid.Controls 1.0 import "../.." -ColumnLayout { - Repeater { - model: 2 - - StyledRectangle { - Layout.fillWidth: true - Layout.fillHeight: true - Layout.minimumWidth: grid.width + 80 - Layout.minimumHeight: grid.height + 80 - - GridLayout { - id: grid - anchors.centerIn: parent - columns: 3 - rows: 3 - - // Row 1 - - Item { - width: 1 - height: 1 - } +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) - TitleLabel { - text: qsTr("Enabled") + ScrollBar.vertical: ScrollBar {} - Layout.alignment: Qt.AlignHCenter - } + ColumnLayout { + id: layout + anchors.fill: parent - TitleLabel { - text: qsTr("Disabled") + Repeater { + model: 2 - Layout.alignment: Qt.AlignHCenter - } + StyledRectangle { + Layout.fillWidth: true + Layout.fillHeight: true + Layout.minimumWidth: grid.width + 80 + Layout.minimumHeight: grid.height + 80 - // Row 2 + GridLayout { + id: grid + anchors.centerIn: parent + columns: 3 + rows: 3 - Label { - text: qsTr("On") - } + // Row 1 - RadioButton { - checked: true - text: qsTr("RadioButton") - } + Item { + width: 1 + height: 1 + } - RadioButton { - checked: true - enabled: false - text: qsTr("RadioButton") - } + TitleLabel { + text: qsTr("Enabled") - // Row 3 + Layout.alignment: Qt.AlignHCenter + } - Label { - text: qsTr("Off") - } + TitleLabel { + text: qsTr("Disabled") - RadioButton { - text: qsTr("RadioButton") - } + Layout.alignment: Qt.AlignHCenter + } + + // Row 2 + + Label { + text: qsTr("On") + } + + RadioButton { + checked: true + text: qsTr("RadioButton") + } + + RadioButton { + checked: true + enabled: false + text: qsTr("RadioButton") + } + + // Row 3 + + Label { + text: qsTr("Off") + } + + RadioButton { + text: qsTr("RadioButton") + } - RadioButton { - text: qsTr("RadioButton") - enabled: false + RadioButton { + text: qsTr("RadioButton") + enabled: false + } } } } diff --git a/demo/Pages/Basic/SliderPage.qml b/demo/Pages/Basic/SliderPage.qml index ac950f33..72d9c116 100644 --- a/demo/Pages/Basic/SliderPage.qml +++ b/demo/Pages/Basic/SliderPage.qml @@ -18,123 +18,133 @@ import QtQuick.Layouts 1.0 import Fluid.Controls 1.0 import "../.." -ColumnLayout { - Repeater { - model: 2 - - StyledRectangle { - Layout.fillWidth: true - Layout.fillHeight: true - Layout.minimumWidth: grid.width + 80 - Layout.minimumHeight: grid.height + 80 - - GridLayout { - id: grid - anchors.centerIn: parent - columns: 3 - rows: 3 - - // Row 1 - - Item { - width: 1 - height: 1 - } - - TitleLabel { - text: qsTr("Enabled") - - Layout.alignment: Qt.AlignHCenter - } - - TitleLabel { - text: qsTr("Disabled") - - Layout.alignment: Qt.AlignHCenter - } - - // Row 2 - - Label { - text: qsTr("Horizontal / Single") - } - - Slider { - from: 0.0 - to: 1.0 - value: 0.5 - } - - Slider { - from: 0.0 - to: 1.0 - value: 0.5 - enabled: false - } - - // Row 3 - - Label { - text: qsTr("Horizontal / Range") - } - - RangeSlider { - from: 0.0 - to: 1.0 - first.value: 0.4 - second.value: 0.6 - } - - RangeSlider { - from: 0.0 - to: 1.0 - first.value: 0.4 - second.value: 0.6 - enabled: false - } - - // Row 4 - - Label { - text: qsTr("Vertical / Single") - } - - Slider { - from: 0.0 - to: 1.0 - value: 0.5 - orientation: Qt.Vertical - } - - Slider { - from: 0.0 - to: 1.0 - value: 0.5 - enabled: false - orientation: Qt.Vertical - } - - // Row 5 - - Label { - text: qsTr("Vertical / Range") - } - - RangeSlider { - from: 0.0 - to: 1.0 - first.value: 0.4 - second.value: 0.6 - orientation: Qt.Vertical - } - - RangeSlider { - from: 0.0 - to: 1.0 - first.value: 0.4 - second.value: 0.6 - enabled: false - orientation: Qt.Vertical +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) + + ScrollBar.vertical: ScrollBar {} + + ColumnLayout { + id: layout + anchors.fill: parent + + Repeater { + model: 2 + + StyledRectangle { + Layout.fillWidth: true + Layout.fillHeight: true + Layout.minimumWidth: grid.width + 80 + Layout.minimumHeight: grid.height + 80 + + GridLayout { + id: grid + anchors.centerIn: parent + columns: 3 + rows: 3 + + // Row 1 + + Item { + width: 1 + height: 1 + } + + TitleLabel { + text: qsTr("Enabled") + + Layout.alignment: Qt.AlignHCenter + } + + TitleLabel { + text: qsTr("Disabled") + + Layout.alignment: Qt.AlignHCenter + } + + // Row 2 + + Label { + text: qsTr("Horizontal / Single") + } + + Slider { + from: 0.0 + to: 1.0 + value: 0.5 + } + + Slider { + from: 0.0 + to: 1.0 + value: 0.5 + enabled: false + } + + // Row 3 + + Label { + text: qsTr("Horizontal / Range") + } + + RangeSlider { + from: 0.0 + to: 1.0 + first.value: 0.4 + second.value: 0.6 + } + + RangeSlider { + from: 0.0 + to: 1.0 + first.value: 0.4 + second.value: 0.6 + enabled: false + } + + // Row 4 + + Label { + text: qsTr("Vertical / Single") + } + + Slider { + from: 0.0 + to: 1.0 + value: 0.5 + orientation: Qt.Vertical + } + + Slider { + from: 0.0 + to: 1.0 + value: 0.5 + enabled: false + orientation: Qt.Vertical + } + + // Row 5 + + Label { + text: qsTr("Vertical / Range") + } + + RangeSlider { + from: 0.0 + to: 1.0 + first.value: 0.4 + second.value: 0.6 + orientation: Qt.Vertical + } + + RangeSlider { + from: 0.0 + to: 1.0 + first.value: 0.4 + second.value: 0.6 + enabled: false + orientation: Qt.Vertical + } } } } diff --git a/demo/Pages/Basic/SwitchPage.qml b/demo/Pages/Basic/SwitchPage.qml index 4bbbd36a..15c679b1 100644 --- a/demo/Pages/Basic/SwitchPage.qml +++ b/demo/Pages/Basic/SwitchPage.qml @@ -18,71 +18,81 @@ import QtQuick.Layouts 1.0 import Fluid.Controls 1.0 import "../.." -ColumnLayout { - Repeater { - model: 2 - - StyledRectangle { - Layout.fillWidth: true - Layout.fillHeight: true - Layout.minimumWidth: grid.width + 80 - Layout.minimumHeight: grid.height + 80 - - GridLayout { - id: grid - anchors.centerIn: parent - columns: 3 - rows: 3 - - // Row 1 - - Item { - width: 1 - height: 1 - } +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) - TitleLabel { - text: qsTr("Enabled") + ScrollBar.vertical: ScrollBar {} - Layout.alignment: Qt.AlignHCenter - } + ColumnLayout { + id: layout + anchors.fill: parent - TitleLabel { - text: qsTr("Disabled") + Repeater { + model: 2 - Layout.alignment: Qt.AlignHCenter - } + StyledRectangle { + Layout.fillWidth: true + Layout.fillHeight: true + Layout.minimumWidth: grid.width + 80 + Layout.minimumHeight: grid.height + 80 - // Row 2 + GridLayout { + id: grid + anchors.centerIn: parent + columns: 3 + rows: 3 - Label { - text: qsTr("On") - } + // Row 1 - Switch { - checked: true - text: qsTr("Switch") - } + Item { + width: 1 + height: 1 + } - Switch { - checked: true - enabled: false - text: qsTr("Switch") - } + TitleLabel { + text: qsTr("Enabled") - // Row 3 + Layout.alignment: Qt.AlignHCenter + } - Label { - text: qsTr("Off") - } + TitleLabel { + text: qsTr("Disabled") - Switch { - text: qsTr("Switch") - } + Layout.alignment: Qt.AlignHCenter + } + + // Row 2 + + Label { + text: qsTr("On") + } + + Switch { + checked: true + text: qsTr("Switch") + } + + Switch { + checked: true + enabled: false + text: qsTr("Switch") + } + + // Row 3 + + Label { + text: qsTr("Off") + } + + Switch { + text: qsTr("Switch") + } - Switch { - text: qsTr("Switch") - enabled: false + Switch { + text: qsTr("Switch") + enabled: false + } } } } diff --git a/demo/Pages/Compound/CardPage.qml b/demo/Pages/Compound/CardPage.qml index bab7de6d..ec33a3e9 100644 --- a/demo/Pages/Compound/CardPage.qml +++ b/demo/Pages/Compound/CardPage.qml @@ -16,10 +16,9 @@ import QtQuick 2.0 import QtQuick.Controls 2.0 import Fluid.Controls 1.0 -Page { - title: qsTr("Cards") - +Item { Card { + id: card anchors.centerIn: parent width: 400 height: 400 diff --git a/demo/Pages/Compound/InfoBarPage.qml b/demo/Pages/Compound/InfoBarPage.qml index 8cedf3e9..1830e39d 100644 --- a/demo/Pages/Compound/InfoBarPage.qml +++ b/demo/Pages/Compound/InfoBarPage.qml @@ -16,9 +16,7 @@ import QtQuick 2.0 import QtQuick.Controls 2.0 import Fluid.Controls 1.0 -Page { - title: qsTr("InfoBar") - +Item { Button { anchors.centerIn: parent text: qsTr("Open") diff --git a/demo/Pages/Material/ActionButtonPage.qml b/demo/Pages/Material/ActionButtonPage.qml index 9d3879bc..1fcf516a 100644 --- a/demo/Pages/Material/ActionButtonPage.qml +++ b/demo/Pages/Material/ActionButtonPage.qml @@ -18,41 +18,49 @@ import QtQuick.Controls.Material 2.0 import Fluid.Material 1.0 import "../.." -Page { - title: qsTr("Action button") +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) - Repeater { - model: 2 + ScrollBar.vertical: ScrollBar {} - StyledRectangle { - y: height * index - width: parent.width - height: parent.height / 2 + Column { + id: layout + anchors.fill: parent - Column { - anchors.centerIn: parent + Repeater { + model: 2 - ActionButton { - iconName: "device/airplanemode_active" - } + StyledRectangle { + //y: height * index + width: parent.width + height: parent.height / 2 - ActionButton { - iconName: "navigation/check" + Column { + anchors.centerIn: parent - Material.elevation: 1 - } + ActionButton { + iconName: "device/airplanemode_active" + } - ActionButton { - iconName: "device/airplanemode_active" + ActionButton { + iconName: "navigation/check" - Material.background: Material.primaryColor - } + Material.elevation: 1 + } + + ActionButton { + iconName: "device/airplanemode_active" + + Material.background: Material.primaryColor + } - ActionButton { - iconName: "navigation/check" + ActionButton { + iconName: "navigation/check" - Material.elevation: 1 - Material.background: Material.primaryColor + Material.elevation: 1 + Material.background: Material.primaryColor + } } } } diff --git a/demo/Pages/Material/WavePage.qml b/demo/Pages/Material/WavePage.qml index b450ecfc..01e6cffa 100644 --- a/demo/Pages/Material/WavePage.qml +++ b/demo/Pages/Material/WavePage.qml @@ -12,14 +12,13 @@ * $END_LICENSE$ */ +import QtQuick 2.0 import QtQuick.Controls 2.0 import QtQuick.Controls.Material 2.0 import Fluid.Controls 1.0 import "../.." -Page { - title: qsTr("Wave transition") - +Item { Wave { id: wave initialX: parent.width - size diff --git a/demo/Pages/Navigation/NavDrawerPage.qml b/demo/Pages/Navigation/NavDrawerPage.qml index 582ca329..4c7dd218 100644 --- a/demo/Pages/Navigation/NavDrawerPage.qml +++ b/demo/Pages/Navigation/NavDrawerPage.qml @@ -12,13 +12,12 @@ * $END_LICENSE$ */ +import QtQuick 2.0 import QtQuick.Controls 2.0 import Fluid.Controls 1.0 import "../.." -Page { - title: qsTr("Navigation drawer") - +Item { Button { anchors.centerIn: parent text: qsTr("Open") diff --git a/demo/Pages/Style/PalettePage.qml b/demo/Pages/Style/PalettePage.qml index 8eaf436d..3e5bea9f 100644 --- a/demo/Pages/Style/PalettePage.qml +++ b/demo/Pages/Style/PalettePage.qml @@ -20,102 +20,108 @@ import Fluid.Core 1.0 import Fluid.Controls 1.0 import "../.." -GridLayout { - id: grid +Flickable { + clip: true + contentHeight: Math.max(grid.implicitHeight, height) + + ScrollBar.vertical: ScrollBar {} property color whiteColor: Qt.rgba(255, 255, 255, 1) property color blackColor: Qt.rgba(0, 0, 0, 1) - anchors.centerIn: parent - columns: width / 300 - width: parent.width - rowSpacing: Units.smallSpacing - columnSpacing: Units.smallSpacing + GridLayout { + id: grid - Repeater { - model: ListModel { - ListElement { - paletteIndex: Material.Red - name: "Red" - } - ListElement { - paletteIndex: Material.Pink - name: "Pink" - } - ListElement { - paletteIndex: Material.Purple - name: "Purple" - } - ListElement { - paletteIndex: Material.DeepPurple - name: "DeepPurple" - } - ListElement { - paletteIndex: Material.Indigo - name: "Indigo" - } - ListElement { - paletteIndex: Material.Blue - name: "Blue" - } - ListElement { - paletteIndex: Material.LightBlue - name: "LightBlue" - } - ListElement { - paletteIndex: Material.Cyan - name: "Cyan" - } - ListElement { - paletteIndex: Material.Teal - name: "Teal" - } - ListElement { - paletteIndex: Material.Green - name: "Green" - } - ListElement { - paletteIndex: Material.LightGreen - name: "LightGreen" - } - ListElement { - paletteIndex: Material.Lime - name: "Lime" - } - ListElement { - paletteIndex: Material.Yellow - name: "Yellow" - } - ListElement { - paletteIndex: Material.Amber - name: "Amber" - } - ListElement { - paletteIndex: Material.Orange - name: "Orange" - } - ListElement { - paletteIndex: Material.DeepOrange - name: "DeepOrange" - } - ListElement { - paletteIndex: Material.Grey - name: "Grey" - } - ListElement { - paletteIndex: Material.BlueGrey - name: "BlueGrey" - } - ListElement { - paletteIndex: Material.Brown - name: "Brown" + anchors.fill: parent + columns: width / 300 + rowSpacing: Units.smallSpacing + columnSpacing: Units.smallSpacing + + Repeater { + model: ListModel { + ListElement { + paletteIndex: Material.Red + name: "Red" + } + ListElement { + paletteIndex: Material.Pink + name: "Pink" + } + ListElement { + paletteIndex: Material.Purple + name: "Purple" + } + ListElement { + paletteIndex: Material.DeepPurple + name: "DeepPurple" + } + ListElement { + paletteIndex: Material.Indigo + name: "Indigo" + } + ListElement { + paletteIndex: Material.Blue + name: "Blue" + } + ListElement { + paletteIndex: Material.LightBlue + name: "LightBlue" + } + ListElement { + paletteIndex: Material.Cyan + name: "Cyan" + } + ListElement { + paletteIndex: Material.Teal + name: "Teal" + } + ListElement { + paletteIndex: Material.Green + name: "Green" + } + ListElement { + paletteIndex: Material.LightGreen + name: "LightGreen" + } + ListElement { + paletteIndex: Material.Lime + name: "Lime" + } + ListElement { + paletteIndex: Material.Yellow + name: "Yellow" + } + ListElement { + paletteIndex: Material.Amber + name: "Amber" + } + ListElement { + paletteIndex: Material.Orange + name: "Orange" + } + ListElement { + paletteIndex: Material.DeepOrange + name: "DeepOrange" + } + ListElement { + paletteIndex: Material.Grey + name: "Grey" + } + ListElement { + paletteIndex: Material.BlueGrey + name: "BlueGrey" + } + ListElement { + paletteIndex: Material.Brown + name: "Brown" + } } - } - PaletteSwatch { - paletteIndex: model.paletteIndex - paletteName: model.name - paletteColor: Material.color(model.paletteIndex, Material.Shade500) + PaletteSwatch { + paletteIndex: model.paletteIndex + paletteName: model.name + paletteColor: Material.color(model.paletteIndex, Material.Shade500) + } } } } diff --git a/demo/Pages/Style/TypographyPage.qml b/demo/Pages/Style/TypographyPage.qml index f9c6aeef..d87d00cc 100644 --- a/demo/Pages/Style/TypographyPage.qml +++ b/demo/Pages/Style/TypographyPage.qml @@ -18,8 +18,14 @@ import QtQuick.Controls 2.0 import Fluid.Controls 1.0 import "../.." -Item { +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) + + ScrollBar.vertical: ScrollBar {} + ColumnLayout { + id: layout anchors.fill: parent anchors.margins: Units.mediumSpacing spacing: Units.smallSpacing From 44cb5274f31f941012001a4856f6b148c3d2be9f Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 29 Jan 2017 21:51:55 +0100 Subject: [PATCH 09/62] demo: Fix import of Wave component --- demo/Pages/Material/WavePage.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/demo/Pages/Material/WavePage.qml b/demo/Pages/Material/WavePage.qml index 01e6cffa..58cae01d 100644 --- a/demo/Pages/Material/WavePage.qml +++ b/demo/Pages/Material/WavePage.qml @@ -16,6 +16,7 @@ import QtQuick 2.0 import QtQuick.Controls 2.0 import QtQuick.Controls.Material 2.0 import Fluid.Controls 1.0 +import Fluid.Material 1.0 import "../.." Item { From edc9025f7c580fa820b2620672d14136fb540835 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 29 Jan 2017 21:57:06 +0100 Subject: [PATCH 10/62] Fix app toolbar height Move Page's AppBar to the header which already accounts for height so we don't need to consider it in AppToolBar anymore. --- controls/AppToolBar.qml | 2 -- controls/Page.qml | 3 +-- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/controls/AppToolBar.qml b/controls/AppToolBar.qml index 79615657..1f818162 100644 --- a/controls/AppToolBar.qml +++ b/controls/AppToolBar.qml @@ -34,8 +34,6 @@ ToolBar { property Page page property int maxActionCount: 3 - height: page ? page.appBar.height : 0 - function pop(page) { stack.pop(page.appBar) diff --git a/controls/Page.qml b/controls/Page.qml index 73e218b2..7cd93f51 100644 --- a/controls/Page.qml +++ b/controls/Page.qml @@ -124,11 +124,10 @@ Page { return StackView.view.push({item: component, properties: properties}); } - FluidControls.AppBar { + header: FluidControls.AppBar { id: appBar title: page.title - parent: null leftAction: FluidControls.Action { text: "Back" From 5e50d5f991b2e91a160fd03073309b6ad1b2340f Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 3 Feb 2017 06:06:09 +0100 Subject: [PATCH 11/62] demo: Fix typo in navigation components --- demo/NavigationComponents.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/NavigationComponents.qml b/demo/NavigationComponents.qml index 829b1fe6..a6075ca3 100644 --- a/demo/NavigationComponents.qml +++ b/demo/NavigationComponents.qml @@ -20,7 +20,7 @@ import Fluid.Controls 1.0 import "Pages/Navigation" Tab { - title: qsTr("Nagitation Components") + title: qsTr("Navigation Components") Pane { id: listPane From 6061540d0310ceb096ad8f56a4a2fd34caae83e9 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 3 Feb 2017 06:25:57 +0100 Subject: [PATCH 12/62] controls: Anchor tab bar to AppBar buttons AppBar is now not so tall. --- controls/AppBar.qml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 7f81c296..39307df0 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -89,7 +89,7 @@ ToolBar { property AppToolBar toolbar - height: Device.gridUnit + (tabBar.visible ? tabBar.height : 0) + height: Device.gridUnit IconButton { id: leftButton @@ -162,8 +162,13 @@ ToolBar { TabBar { id: tabBar - width: parent.width - y: actionsRow.height + + anchors { + left: parent.left + top: actionsRow.bottom + right: parent.right + } + visible: count > 0 } } From 640ac3169b2d24ea4d553d0f77f4cd8c2c876bde Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 3 Feb 2017 06:29:47 +0100 Subject: [PATCH 13/62] controls: Use TitleLabel for AppBar Prefer typography components that can be styled over style settings. --- controls/AppBar.qml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 39307df0..34682c88 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -114,7 +114,7 @@ ToolBar { } } - Label { + TitleLabel { id: titleLabel anchors { @@ -126,7 +126,6 @@ ToolBar { } textFormat: Text.PlainText - font: FluidStyle.titleFont color: Material.primaryTextColor elide: Text.ElideRight } From da330529762ce50828ea613ca83207db243ab750 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 3 Feb 2017 06:50:22 +0100 Subject: [PATCH 14/62] Say hello to DialogLabel DialogLabel is a styled Label for dialogs. [ChangeLog][Controls] DialogLabel component for styled labels suitable to message boxes. --- controls/+material/DialogLabel.qml | 23 ++++++++++++++++++ controls/CMakeLists.txt | 2 ++ controls/DialogLabel.qml | 38 ++++++++++++++++++++++++++++++ controls/qmldir | 1 + controls/qmldir_noplugin | 1 + 5 files changed, 65 insertions(+) create mode 100644 controls/+material/DialogLabel.qml create mode 100644 controls/DialogLabel.qml diff --git a/controls/+material/DialogLabel.qml b/controls/+material/DialogLabel.qml new file mode 100644 index 00000000..4230d4c1 --- /dev/null +++ b/controls/+material/DialogLabel.qml @@ -0,0 +1,23 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Material 2.0 +import Fluid.Core 1.0 as FluidCore + +Label { + font.pixelSize: FluidCore.Device.isMobile ? 18 : 17 + color: Material.secondaryTextColor +} diff --git a/controls/CMakeLists.txt b/controls/CMakeLists.txt index 5a9b6e64..0c190abb 100644 --- a/controls/CMakeLists.txt +++ b/controls/CMakeLists.txt @@ -15,6 +15,7 @@ set(QML_FILES Card.qml CircleImage.qml Dialog.qml + DialogLabel.qml DisplayLabel.qml FluidStyle.qml FluidWindow.qml @@ -47,6 +48,7 @@ set(MATERIAL_FILES +material/BaseListItem.qml +material/BodyLabel.qml +material/CaptionLabel.qml + +material/DialogLabel.qml +material/DisplayLabel.qml +material/HeadlineLabel.qml +material/SubheadingLabel.qml diff --git a/controls/DialogLabel.qml b/controls/DialogLabel.qml new file mode 100644 index 00000000..27770276 --- /dev/null +++ b/controls/DialogLabel.qml @@ -0,0 +1,38 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.0 +import QtQuick.Templates 2.0 as T + +/*! + \qmltype DialogLabel + \inqmlmodule Fluid.Controls + \ingroup fluidcontrols + + \brief Text label with standard font and styling suitable to message box text. + + \code + import QtQuick 2.0 + import Fluid.Controls 1.0 as FluidControls + + FluidControls.DialogLabel { + text: "Text to display" + } + \endcode +*/ +T.Label { + font.pixelSize: 18 + color: "#909090" + linkColor: "#45a7d7" +} diff --git a/controls/qmldir b/controls/qmldir index 74d619d1..1eb9813b 100644 --- a/controls/qmldir +++ b/controls/qmldir @@ -12,6 +12,7 @@ CaptionLabel 1.0 CaptionLabel.qml Card 1.0 Card.qml CircleImage 1.0 CircleImage.qml Dialog 1.0 Dialog.qml +DialogLabel 1.0 DialogLabel.qml DisplayLabel 1.0 DisplayLabel.qml FluidWindow 1.0 FluidWindow.qml HeadlineLabel 1.0 HeadlineLabel.qml diff --git a/controls/qmldir_noplugin b/controls/qmldir_noplugin index aafa6648..07b7dcb8 100644 --- a/controls/qmldir_noplugin +++ b/controls/qmldir_noplugin @@ -10,6 +10,7 @@ CaptionLabel 1.0 CaptionLabel.qml Card 1.0 Card.qml CircleImage 1.0 CircleImage.qml Dialog 1.0 Dialog.qml +DialogLabel 1.0 DialogLabel.qml DisplayLabel 1.0 DisplayLabel.qml FluidWindow 1.0 FluidWindow.qml HeadlineLabel 1.0 HeadlineLabel.qml From e866ed543d6a1b0c4db0f613df66bd21ee513e06 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 3 Feb 2017 07:57:33 +0100 Subject: [PATCH 15/62] controls: Fix tab colors for TabbedPage Default tab colors are suited for tabs inside a page, since TabbedPage places them on a AppBar we must switch the colors to fit nicely the style. --- controls/TabbedPage.qml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/controls/TabbedPage.qml b/controls/TabbedPage.qml index d8fc1a06..08ca923f 100644 --- a/controls/TabbedPage.qml +++ b/controls/TabbedPage.qml @@ -15,6 +15,7 @@ import QtQuick 2.4 import QtQuick.Controls 2.0 +import QtQuick.Controls.Material 2.0 import Fluid.Controls 1.0 as FluidControls FluidControls.Page { @@ -39,6 +40,9 @@ FluidControls.Page { delegate: TabButton { text: modelData.title + Material.foreground: appBar.Material.accentColor + Material.accent: appBar.Material.foreground + FluidControls.Icon { id: tabIcon From 6a299d982ec1c865278afd00dc87ce455d0639fc Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 3 Feb 2017 08:12:20 +0100 Subject: [PATCH 16/62] demo: Terse page titles --- demo/BasicComponents.qml | 2 +- demo/CompoundComponents.qml | 2 +- demo/MaterialComponents.qml | 2 +- demo/NavigationComponents.qml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/demo/BasicComponents.qml b/demo/BasicComponents.qml index 88e3316a..a46f0831 100644 --- a/demo/BasicComponents.qml +++ b/demo/BasicComponents.qml @@ -20,7 +20,7 @@ import Fluid.Controls 1.0 import "Pages/Basic" Tab { - title: qsTr("Basic Components") + title: qsTr("Basic") Pane { id: listPane diff --git a/demo/CompoundComponents.qml b/demo/CompoundComponents.qml index 7389631b..2de7bd24 100644 --- a/demo/CompoundComponents.qml +++ b/demo/CompoundComponents.qml @@ -20,7 +20,7 @@ import Fluid.Controls 1.0 import "Pages/Compound" Tab { - title: qsTr("Compound Components") + title: qsTr("Compound") Pane { id: listPane diff --git a/demo/MaterialComponents.qml b/demo/MaterialComponents.qml index ba7eb49f..444b0495 100644 --- a/demo/MaterialComponents.qml +++ b/demo/MaterialComponents.qml @@ -20,7 +20,7 @@ import Fluid.Controls 1.0 import "Pages/Material" Tab { - title: qsTr("Material Components") + title: qsTr("Material") Pane { id: listPane diff --git a/demo/NavigationComponents.qml b/demo/NavigationComponents.qml index a6075ca3..ce0a2fdc 100644 --- a/demo/NavigationComponents.qml +++ b/demo/NavigationComponents.qml @@ -20,7 +20,7 @@ import Fluid.Controls 1.0 import "Pages/Navigation" Tab { - title: qsTr("Navigation Components") + title: qsTr("Navigation") Pane { id: listPane From 917a0013339edf917e294075d395deda906f3a7e Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 3 Feb 2017 08:19:32 +0100 Subject: [PATCH 17/62] controls: Set inactive tab color for TabbedPage according to guidelines Material Design guidelines says inactive tab color is white with 70% alpha. --- controls/TabbedPage.qml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/controls/TabbedPage.qml b/controls/TabbedPage.qml index 08ca923f..3080cbdd 100644 --- a/controls/TabbedPage.qml +++ b/controls/TabbedPage.qml @@ -40,9 +40,12 @@ FluidControls.Page { delegate: TabButton { text: modelData.title - Material.foreground: appBar.Material.accentColor + // Active color Material.accent: appBar.Material.foreground + // Inactive color + Material.foreground: Qt.rgba(255, 255, 255, 0.7) + FluidControls.Icon { id: tabIcon From 934645b0facc47a7e8f49722d5c3a7b00e4dd2c9 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 3 Feb 2017 08:23:32 +0100 Subject: [PATCH 18/62] demo: Center palette page --- demo/Pages/Style/PalettePage.qml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/demo/Pages/Style/PalettePage.qml b/demo/Pages/Style/PalettePage.qml index 3e5bea9f..bc34dab8 100644 --- a/demo/Pages/Style/PalettePage.qml +++ b/demo/Pages/Style/PalettePage.qml @@ -32,7 +32,15 @@ Flickable { GridLayout { id: grid - anchors.fill: parent + anchors { + top: parent.top + bottom: parent.bottom + horizontalCenter: parent.horizontalCenter + topMargin: Units.largeSpacing + } + + width: parent.width * 0.8 + columns: width / 300 rowSpacing: Units.smallSpacing columnSpacing: Units.smallSpacing From 2631902812719b5cc7e6e686a2abc42ff961e478 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 3 Feb 2017 22:38:27 +0100 Subject: [PATCH 19/62] controls: TabbedPage improvements Set unfocused tab text color to AppBar foreground color with 70% opacity instead of hard-coded white. Set active tab indicator color to AppBar foreground color. Support fixed and scrollble tab bars, also left aligned and centered. Move all components inside the background with layouts to get sizing right and align tab text to title label keyline. Issue: #55 --- controls/AppBar.qml | 143 +++++++++++++++++++++++----------------- controls/TabbedPage.qml | 6 +- 2 files changed, 86 insertions(+), 63 deletions(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 34682c88..822b2581 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -18,6 +18,7 @@ import QtQuick.Controls.Material 2.0 import QtQuick.Layouts 1.0 import Fluid.Core 1.0 import Fluid.Controls 1.0 +import Fluid.Material 1.0 as FluidMaterial /*! \qmltype AppBar @@ -29,7 +30,7 @@ import Fluid.Controls 1.0 ToolBar { id: appBar - Material.elevation: toolbar ? 0 : elevation + Material.elevation: toolbar && !tabBar.visible ? 0 : elevation Material.theme: toolbar ? toolbar.Material.theme : Material.Light /*! @@ -89,85 +90,105 @@ ToolBar { property AppToolBar toolbar - height: Device.gridUnit + implicitHeight: background.implicitHeight - IconButton { - id: leftButton + background: Rectangle { + color: appBar.Material.toolBarColor + height: implicitHeight + implicitHeight: Device.gridUnit + (tabBar.visible ? tabBar.implicitHeight : 0) - property bool showing: leftAction && leftAction.visible - property int margin: (width - 24)/2 - - anchors { - verticalCenter: actionsRow.verticalCenter - left: parent.left - leftMargin: leftButton.showing ? 16 - leftButton.margin : -leftButton.width + layer.enabled: appBar.Material.elevation > 0 + layer.effect: FluidMaterial.ElevationEffect { + elevation: appBar.Material.elevation + fullWidth: true } - iconSize: appBar.iconSize + ColumnLayout { + anchors.fill: parent + spacing: 0 - iconSource: leftAction ? leftAction.iconSource : "" - visible: leftAction && leftAction.visible - enabled: leftAction && leftAction.enabled - onClicked: { - if (leftAction) - leftAction.triggered(leftButton) - } - } + RowLayout { + spacing: 0 - TitleLabel { - id: titleLabel + Layout.preferredHeight: Device.gridUnit + Layout.fillWidth: true - anchors { - verticalCenter: actionsRow.verticalCenter - left: parent.left - right: actionsRow.left - leftMargin: 16 + (leftButton.showing ? Device.gridUnit - leftButton.margin : 0) - rightMargin: 16 - } + IconButton { + id: leftButton - textFormat: Text.PlainText - color: Material.primaryTextColor - elide: Text.ElideRight - } + property bool showing: leftAction && leftAction.visible + property int margin: (width - 24)/2 - Row { - id: actionsRow + Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter + Layout.leftMargin: leftButton.showing ? 16 - leftButton.margin : -leftButton.width - anchors { - right: parent.right - rightMargin: 16 - leftButton.margin - } + iconSize: appBar.iconSize + + iconSource: leftAction ? leftAction.iconSource : "" + visible: leftAction && leftAction.visible + enabled: leftAction && leftAction.enabled + onClicked: { + if (leftAction) + leftAction.triggered(leftButton) + } + } + + TitleLabel { + id: titleLabel + + Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter + Layout.leftMargin: 16 + (leftButton.showing ? Device.gridUnit - leftButton.margin : 0) + Layout.rightMargin: 16 + + textFormat: Text.PlainText + color: Material.primaryTextColor + elide: Text.ElideRight + } - height: appBar.height + Item { + Layout.fillWidth: true + } - spacing: 24 - 2 * leftButton.margin + Row { + id: actionsRow - Repeater { - model: appBar.actions - delegate: IconButton { - id: actionButton + Layout.alignment: Qt.AlignRight | Qt.AlignVCenter + Layout.rightMargin: 16 - leftButton.margin + Layout.preferredHeight: Device.gridUnit - anchors.verticalCenter: parent.verticalCenter + spacing: 24 - 2 * leftButton.margin - iconSize: appBar.iconSize + Repeater { + model: appBar.actions + delegate: IconButton { + id: actionButton - iconSource: modelData.iconSource - visible: modelData.visible - enabled: modelData.enabled - onClicked: modelData.triggered(actionButton) + anchors.verticalCenter: parent.verticalCenter + + iconSize: appBar.iconSize + + iconSource: modelData.iconSource + visible: modelData.visible + enabled: modelData.enabled + onClicked: modelData.triggered(actionButton) + } + } + } } - } - } - TabBar { - id: tabBar + TabBar { + id: tabBar - anchors { - left: parent.left - top: actionsRow.bottom - right: parent.right - } + property bool fixed: true + property bool centered: false - visible: count > 0 + Material.accent: appBar.Material.foreground + + Layout.alignment: centered ? Qt.AlignHCenter : Qt.AlignLeft + Layout.leftMargin: centered ? 0 : leftKeyline - 12 + + visible: count > 0 + } + } } } diff --git a/controls/TabbedPage.qml b/controls/TabbedPage.qml index 3080cbdd..bec05432 100644 --- a/controls/TabbedPage.qml +++ b/controls/TabbedPage.qml @@ -16,6 +16,7 @@ import QtQuick 2.4 import QtQuick.Controls 2.0 import QtQuick.Controls.Material 2.0 +import Fluid.Core 1.0 as FluidCore import Fluid.Controls 1.0 as FluidControls FluidControls.Page { @@ -39,12 +40,13 @@ FluidControls.Page { model: swipeView.contentChildren delegate: TabButton { text: modelData.title + width: parent.fixed ? parent.width / parent.count : implicitWidth // Active color Material.accent: appBar.Material.foreground - // Inactive color - Material.foreground: Qt.rgba(255, 255, 255, 0.7) + // Unfocused color + Material.foreground: FluidCore.Utils.alpha(appBar.Material.foreground, 0.7) FluidControls.Icon { id: tabIcon From 48fd54ca0e0e40a272f14883815c8deb3a60c5e7 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 5 Feb 2017 09:55:36 +0100 Subject: [PATCH 20/62] demo: Add dummy actions to the tabbed page Demonstrate AppBar actions. --- demo/main.qml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/demo/main.qml b/demo/main.qml index 87e46c6b..414a6a37 100644 --- a/demo/main.qml +++ b/demo/main.qml @@ -74,6 +74,24 @@ FluidWindow { initialPage: TabbedPage { title: window.title + actions: [ + Action { + text: qsTr("Dummy error") + iconName: "alert/warning" + onTriggered: console.log("Dummy error") + }, + Action { + text: qsTr("Colors") + iconName: "image/color_lens" + onTriggered: console.log("Colors") + }, + Action { + text: qsTr("Settings") + iconName: "action/settings" + onTriggered: console.log("Settings clicked") + } + ] + BasicComponents {} CompoundComponents {} MaterialComponents {} From b57cb0a65d732a3f74e15730cc667acb92ef3b04 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 5 Feb 2017 10:27:29 +0100 Subject: [PATCH 21/62] demo: Add icons to navigation drawer's actions --- demo/main.qml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/demo/main.qml b/demo/main.qml index 414a6a37..37b00771 100644 --- a/demo/main.qml +++ b/demo/main.qml @@ -58,14 +58,17 @@ FluidWindow { actions: [ Action { text: qsTr("Action 1") + iconName: "action/info" onTriggered: console.log("action1 triggered") }, Action { text: qsTr("Action 2") + iconName: "action/info" onTriggered: console.log("action2 triggered") }, Action { text: qsTr("Action 3") + iconName: "action/info" onTriggered: console.log("action3 triggered") } ] From 167b3e1f610b9bebe2d9895f46707766be977697 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 5 Feb 2017 22:45:39 +0100 Subject: [PATCH 22/62] Say hello to MenuItem Implement a custom MenuItem with Icon. [ChangeLog][Controls] MenuItem with Icon. Closes: #56 --- controls/CMakeLists.txt | 1 + controls/MenuItem.qml | 61 ++++++++++++++++++++++++++++++++++++++++ controls/qmldir | 1 + controls/qmldir_noplugin | 1 + 4 files changed, 64 insertions(+) create mode 100644 controls/MenuItem.qml diff --git a/controls/CMakeLists.txt b/controls/CMakeLists.txt index 0c190abb..e31083da 100644 --- a/controls/CMakeLists.txt +++ b/controls/CMakeLists.txt @@ -26,6 +26,7 @@ set(QML_FILES ListItemDelegate.qml ListItem.qml Loadable.qml + MenuItem.qml NavigationDrawer.qml NoiseBackground.qml Page.qml diff --git a/controls/MenuItem.qml b/controls/MenuItem.qml new file mode 100644 index 00000000..7461aad1 --- /dev/null +++ b/controls/MenuItem.qml @@ -0,0 +1,61 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.8 +import QtQuick.Controls 2.1 +import QtQuick.Controls.Material 2.1 +import Fluid.Controls 1.0 as FluidControls + +/*! + \qmltype MenuItem + \inqmlmodule Fluid.Controls + \ingroup fluidcontrols + + \brief Menu item with an \l Icon. +*/ +MenuItem { + id: control + + property alias iconName: icon.name + property alias iconSource: icon.source + property alias iconSize: icon.size + property alias iconColor: icon.color + + contentItem: Item { + FluidControls.Icon { + id: icon + + anchors.verticalCenter: parent.verticalCenter + } + + Text { + anchors { + left: icon.right + verticalCenter: parent.verticalCenter + leftMargin: 16 + } + + leftPadding: control.checkable && !control.mirrored ? control.indicator.width + control.spacing : 0 + rightPadding: control.checkable && control.mirrored ? control.indicator.width + control.spacing : 0 + + text: control.text + font: control.font + color: control.enabled ? control.Material.foreground : control.Material.hintTextColor + elide: Text.ElideRight + visible: control.text + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + } + } +} diff --git a/controls/qmldir b/controls/qmldir index 1eb9813b..79943117 100644 --- a/controls/qmldir +++ b/controls/qmldir @@ -22,6 +22,7 @@ InfoBar 1.0 InfoBar.qml ListItemDelegate 1.0 ListItemDelegate.qml ListItem 1.0 ListItem.qml Loadable 1.0 Loadable.qml +MenuItem 1.0 MenuItem.qml NavigationDrawer 1.0 NavigationDrawer.qml NoiseBackground 1.0 NoiseBackground.qml Page 1.0 Page.qml diff --git a/controls/qmldir_noplugin b/controls/qmldir_noplugin index 07b7dcb8..a29fb374 100644 --- a/controls/qmldir_noplugin +++ b/controls/qmldir_noplugin @@ -20,6 +20,7 @@ InfoBar 1.0 InfoBar.qml ListItemDelegate 1.0 ListItemDelegate.qml ListItem 1.0 ListItem.qml Loadable 1.0 Loadable.qml +MenuItem 1.0 MenuItem.qml NavigationDrawer 1.0 NavigationDrawer.qml NoiseBackground 1.0 NoiseBackground.qml Page 1.0 Page.qml From a7a0b2fadc183a480d2f9fbe157f22cb79ee2704 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 5 Feb 2017 22:46:26 +0100 Subject: [PATCH 23/62] demo: Show only one AppBar action Demonstrate how the overflow works by showing only one action. --- demo/main.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/demo/main.qml b/demo/main.qml index 37b00771..1f2d5174 100644 --- a/demo/main.qml +++ b/demo/main.qml @@ -77,6 +77,8 @@ FluidWindow { initialPage: TabbedPage { title: window.title + appBar.maxActionCount: 1 + actions: [ Action { text: qsTr("Dummy error") From 010ef213e0c5c6fae3af8fbb8381c73ffa5f40bc Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 5 Feb 2017 22:46:56 +0100 Subject: [PATCH 24/62] controls: Implement AppBar overflow Show only maxActionCount actions, the rest of them shall be displayed in an overflow menu. [ChangeLog][Controls] AppBar now shows only as much actions as indicated by the maxActionCount property, remaining actions will spill over into a drop-down menu. --- controls/AppBar.qml | 57 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 48 insertions(+), 9 deletions(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 822b2581..cd059d4b 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -1,6 +1,7 @@ /* * This file is part of Fluid. * + * Copyright (C) 2017 Pier Luigi Fiorini * Copyright (C) 2017 Michael Spencer * * $BEGIN_LICENSE:MPL2$ @@ -12,12 +13,13 @@ * $END_LICENSE$ */ +import QtQml 2.2 import QtQuick 2.0 import QtQuick.Controls 2.0 import QtQuick.Controls.Material 2.0 import QtQuick.Layouts 1.0 import Fluid.Core 1.0 -import Fluid.Controls 1.0 +import Fluid.Controls 1.0 as FluidControls import Fluid.Material 1.0 as FluidMaterial /*! @@ -113,7 +115,7 @@ ToolBar { Layout.preferredHeight: Device.gridUnit Layout.fillWidth: true - IconButton { + FluidControls.IconButton { id: leftButton property bool showing: leftAction && leftAction.visible @@ -133,7 +135,7 @@ ToolBar { } } - TitleLabel { + FluidControls.TitleLabel { id: titleLabel Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter @@ -159,18 +161,55 @@ ToolBar { spacing: 24 - 2 * leftButton.margin Repeater { - model: appBar.actions - delegate: IconButton { + model: appBar.actions.length > appBar.maxActionCount ? appBar.maxActionCount : appBar.actions.length + delegate: FluidControls.IconButton { id: actionButton anchors.verticalCenter: parent.verticalCenter iconSize: appBar.iconSize + iconSource: appBar.actions[index].iconSource - iconSource: modelData.iconSource - visible: modelData.visible - enabled: modelData.enabled - onClicked: modelData.triggered(actionButton) + visible: appBar.actions[index].visible + enabled: appBar.actions[index].enabled + + onClicked: appBar.actions[index].triggered(actionButton) + } + } + + FluidControls.IconButton { + id: overflowButton + + anchors.verticalCenter: parent.verticalCenter + + iconSize: appBar.iconSize + iconName: "navigation/more_vert" + + onClicked: overflowMenu.open() + + Menu { + id: overflowMenu + + y: overflowButton.height + + Instantiator { + model: appBar.actions.length - appBar.maxActionCount + delegate: FluidControls.MenuItem { + id: overflowMenuItem + + iconSource: appBar.actions[index].iconSource + iconSize: appBar.iconSize + + text: appBar.actions[index + appBar.maxActionCount].text + + enabled: appBar.actions[index + appBar.maxActionCount].enabled + visible: appBar.actions[index + appBar.maxActionCount].visible + + onTriggered: appBar.actions[index + appBar.maxActionCount].triggered(overflowMenuItem) + } + onObjectAdded: overflowMenu.addItem(object) + onObjectRemoved: overflowMenu.removeItem(index) + } } } } From 070e2b6b41f43274cff40756aba2279f040d15c4 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 5 Feb 2017 22:52:18 +0100 Subject: [PATCH 25/62] Require Qt 5.8 --- CMakeLists.txt | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 34112629..e08aa598 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,7 @@ if(NOT CMAKE_BUILD_TYPE) endif() # Find Qt5 -set(REQUIRED_QT_VERSION "5.7.0") +set(REQUIRED_QT_VERSION "5.8.0") find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED COMPONENTS Svg Gui Qml Quick QuickTest QuickControls2) diff --git a/README.md b/README.md index 70d04ba2..1a025e62 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Fluid is a collection of cross-platform QtQuick components for building fluid an ## Dependencies -Qt >= 5.7.0 with at least the following modules is required: +Qt >= 5.8.0 with at least the following modules is required: * [qtbase](http://code.qt.io/cgit/qt/qtbase.git) * [qtdeclarative](http://code.qt.io/cgit/qt/qtdeclarative.git) From 5acbe7fb0ad33419c8956f93e691eec82902b9da Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 5 Feb 2017 23:00:24 +0100 Subject: [PATCH 26/62] demo: Add tooltips to actions Demonstrate tooltips on AppBar actions. --- demo/main.qml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/demo/main.qml b/demo/main.qml index 1f2d5174..e11afdee 100644 --- a/demo/main.qml +++ b/demo/main.qml @@ -83,16 +83,19 @@ FluidWindow { Action { text: qsTr("Dummy error") iconName: "alert/warning" + tooltip: qsTr("Show a dummy error") onTriggered: console.log("Dummy error") }, Action { text: qsTr("Colors") iconName: "image/color_lens" + tooltip: qsTr("Pick a color") onTriggered: console.log("Colors") }, Action { text: qsTr("Settings") iconName: "action/settings" + tooltip: qsTr("Settings") onTriggered: console.log("Settings clicked") } ] From 4133e8efb7eed6fdddc73f7e637837543a3d1295 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 5 Feb 2017 23:00:48 +0100 Subject: [PATCH 27/62] controls: Add tooltips to AppBar actions Issue: #55 --- controls/AppBar.qml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index cd059d4b..816b86fe 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -165,6 +165,9 @@ ToolBar { delegate: FluidControls.IconButton { id: actionButton + ToolTip.visible: ToolTip.text !== "" && hovered && !overflowMenu.visible + ToolTip.text: appBar.actions[index].tooltip + anchors.verticalCenter: parent.verticalCenter iconSize: appBar.iconSize From 15bee6c091c58916a600c8a4f7930eca0f79d2f3 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Tue, 7 Feb 2017 00:22:23 +0100 Subject: [PATCH 28/62] controls: Show AppBar overflow button only when necessary Spill extra actions into the overflow menu only when the number of actions is greated than the max actions to show, in order to avoid showing the overflow button and menu when unnecessary. --- controls/AppBar.qml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 816b86fe..faa06c58 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -190,13 +190,15 @@ ToolBar { onClicked: overflowMenu.open() + visible: appBar.actions.length > appBar.maxActionCount + Menu { id: overflowMenu y: overflowButton.height Instantiator { - model: appBar.actions.length - appBar.maxActionCount + model: appBar.actions.length > appBar.maxActionCount ? appBar.actions.length - appBar.maxActionCount : 0 delegate: FluidControls.MenuItem { id: overflowMenuItem From 7f562e05775bc015089b81652be06346306247b1 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Tue, 7 Feb 2017 00:56:18 +0100 Subject: [PATCH 29/62] Anchor stack views to parent Make sure stack views are correctly attached to the parent. --- controls/AppToolBar.qml | 3 +-- controls/FluidWindow.qml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/controls/AppToolBar.qml b/controls/AppToolBar.qml index 1f818162..0c67385a 100644 --- a/controls/AppToolBar.qml +++ b/controls/AppToolBar.qml @@ -56,7 +56,6 @@ ToolBar { StackView { id: stack - width: parent.width - height: parent.height + anchors.fill: parent } } diff --git a/controls/FluidWindow.qml b/controls/FluidWindow.qml index e7b0b67e..5056d9fa 100644 --- a/controls/FluidWindow.qml +++ b/controls/FluidWindow.qml @@ -85,8 +85,7 @@ ApplicationWindow { FluidControls.PageStack { id: pageStack - width: parent.width - height: parent.height + anchors.fill: parent onPushed: appBar.push(page) onPopped: appBar.pop(page) From 765070e829248978c3a00f8d5635781e1bf5f913 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Tue, 7 Feb 2017 21:47:02 +0100 Subject: [PATCH 30/62] controls: Fix issues introduced with TabbedPage Current implementation can be improved moving TabBar to the TabbedPage itself. As a matter of fact, Page has a header property that we can use to place the TabBar instead of hacking the AppBar to contain two components. We also reduce layout complexity and go back to anchoring AppBar contents to the parent. Height is now calculated correctly. Issue: #55 --- controls/AppBar.qml | 188 ++++++++++++++++------------------------ controls/Page.qml | 5 +- controls/TabbedPage.qml | 91 ++++++++++++------- demo/main.qml | 4 +- 4 files changed, 142 insertions(+), 146 deletions(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index faa06c58..64b0cf9d 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -32,7 +32,7 @@ import Fluid.Material 1.0 as FluidMaterial ToolBar { id: appBar - Material.elevation: toolbar && !tabBar.visible ? 0 : elevation + Material.elevation: toolbar ? 0 : elevation Material.theme: toolbar ? toolbar.Material.theme : Material.Light /*! @@ -86,153 +86,117 @@ ToolBar { */ property alias title: titleLabel.text - property alias tabs: tabBar.contentData - - property alias currentTabIndex: tabBar.currentIndex - property AppToolBar toolbar - implicitHeight: background.implicitHeight + implicitHeight: Device.gridUnit - background: Rectangle { - color: appBar.Material.toolBarColor - height: implicitHeight - implicitHeight: Device.gridUnit + (tabBar.visible ? tabBar.implicitHeight : 0) + IconButton { + id: leftButton - layer.enabled: appBar.Material.elevation > 0 - layer.effect: FluidMaterial.ElevationEffect { - elevation: appBar.Material.elevation - fullWidth: true + property bool showing: leftAction && leftAction.visible + property int margin: (width - 24)/2 + + anchors { + verticalCenter: actionsRow.verticalCenter + left: parent.left + leftMargin: leftButton.showing ? 16 - leftButton.margin : -leftButton.width } - ColumnLayout { - anchors.fill: parent - spacing: 0 + iconSize: appBar.iconSize - RowLayout { - spacing: 0 + iconSource: leftAction ? leftAction.iconSource : "" + visible: leftAction && leftAction.visible + enabled: leftAction && leftAction.enabled + onClicked: { + if (leftAction) + leftAction.triggered(leftButton) + } + } - Layout.preferredHeight: Device.gridUnit - Layout.fillWidth: true + FluidControls.TitleLabel { + id: titleLabel - FluidControls.IconButton { - id: leftButton + anchors { + verticalCenter: actionsRow.verticalCenter + left: parent.left + right: actionsRow.left + leftMargin: 16 + (leftButton.showing ? Device.gridUnit - leftButton.margin : 0) + rightMargin: 16 + } - property bool showing: leftAction && leftAction.visible - property int margin: (width - 24)/2 + textFormat: Text.PlainText + color: Material.primaryTextColor + elide: Text.ElideRight + } - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter - Layout.leftMargin: leftButton.showing ? 16 - leftButton.margin : -leftButton.width + Row { + id: actionsRow - iconSize: appBar.iconSize + anchors { + right: parent.right + rightMargin: 16 - leftButton.margin + } - iconSource: leftAction ? leftAction.iconSource : "" - visible: leftAction && leftAction.visible - enabled: leftAction && leftAction.enabled - onClicked: { - if (leftAction) - leftAction.triggered(leftButton) - } - } + height: appBar.height - FluidControls.TitleLabel { - id: titleLabel + spacing: 24 - 2 * leftButton.margin - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter - Layout.leftMargin: 16 + (leftButton.showing ? Device.gridUnit - leftButton.margin : 0) - Layout.rightMargin: 16 + Repeater { + model: appBar.actions.length > appBar.maxActionCount ? appBar.maxActionCount : appBar.actions.length + delegate: FluidControls.IconButton { + id: actionButton - textFormat: Text.PlainText - color: Material.primaryTextColor - elide: Text.ElideRight - } + ToolTip.visible: ToolTip.text !== "" && hovered && !overflowMenu.visible + ToolTip.text: appBar.actions[index].tooltip - Item { - Layout.fillWidth: true - } + anchors.verticalCenter: parent.verticalCenter - Row { - id: actionsRow + iconSize: appBar.iconSize + iconSource: appBar.actions[index].iconSource - Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - Layout.rightMargin: 16 - leftButton.margin - Layout.preferredHeight: Device.gridUnit + visible: appBar.actions[index].visible + enabled: appBar.actions[index].enabled - spacing: 24 - 2 * leftButton.margin + onClicked: appBar.actions[index].triggered(actionButton) + } + } - Repeater { - model: appBar.actions.length > appBar.maxActionCount ? appBar.maxActionCount : appBar.actions.length - delegate: FluidControls.IconButton { - id: actionButton + FluidControls.IconButton { + id: overflowButton - ToolTip.visible: ToolTip.text !== "" && hovered && !overflowMenu.visible - ToolTip.text: appBar.actions[index].tooltip + anchors.verticalCenter: parent.verticalCenter - anchors.verticalCenter: parent.verticalCenter + iconSize: appBar.iconSize + iconName: "navigation/more_vert" - iconSize: appBar.iconSize - iconSource: appBar.actions[index].iconSource + onClicked: overflowMenu.open() - visible: appBar.actions[index].visible - enabled: appBar.actions[index].enabled + visible: appBar.actions.length > appBar.maxActionCount - onClicked: appBar.actions[index].triggered(actionButton) - } - } + Menu { + id: overflowMenu - FluidControls.IconButton { - id: overflowButton + y: overflowButton.height - anchors.verticalCenter: parent.verticalCenter + Instantiator { + model: appBar.actions.length > appBar.maxActionCount ? appBar.actions.length - appBar.maxActionCount : 0 + delegate: FluidControls.MenuItem { + id: overflowMenuItem + iconSource: appBar.actions[index].iconSource iconSize: appBar.iconSize - iconName: "navigation/more_vert" - - onClicked: overflowMenu.open() - - visible: appBar.actions.length > appBar.maxActionCount - - Menu { - id: overflowMenu - - y: overflowButton.height - - Instantiator { - model: appBar.actions.length > appBar.maxActionCount ? appBar.actions.length - appBar.maxActionCount : 0 - delegate: FluidControls.MenuItem { - id: overflowMenuItem - - iconSource: appBar.actions[index].iconSource - iconSize: appBar.iconSize - text: appBar.actions[index + appBar.maxActionCount].text + text: appBar.actions[index + appBar.maxActionCount].text - enabled: appBar.actions[index + appBar.maxActionCount].enabled - visible: appBar.actions[index + appBar.maxActionCount].visible + enabled: appBar.actions[index + appBar.maxActionCount].enabled + visible: appBar.actions[index + appBar.maxActionCount].visible - onTriggered: appBar.actions[index + appBar.maxActionCount].triggered(overflowMenuItem) - } - onObjectAdded: overflowMenu.addItem(object) - onObjectRemoved: overflowMenu.removeItem(index) - } - } + onTriggered: appBar.actions[index + appBar.maxActionCount].triggered(overflowMenuItem) } + onObjectAdded: overflowMenu.addItem(object) + onObjectRemoved: overflowMenu.removeItem(index) } } - - TabBar { - id: tabBar - - property bool fixed: true - property bool centered: false - - Material.accent: appBar.Material.foreground - - Layout.alignment: centered ? Qt.AlignHCenter : Qt.AlignLeft - Layout.leftMargin: centered ? 0 : leftKeyline - 12 - - visible: count > 0 - } } } } diff --git a/controls/Page.qml b/controls/Page.qml index 7cd93f51..b0e71394 100644 --- a/controls/Page.qml +++ b/controls/Page.qml @@ -124,12 +124,13 @@ Page { return StackView.view.push({item: component, properties: properties}); } - header: FluidControls.AppBar { + FluidControls.AppBar { id: appBar title: page.title + parent: null - leftAction: FluidControls.Action { + leftAction: Action { text: "Back" iconName: "navigation/arrow_back" onTriggered: page.pop() diff --git a/controls/TabbedPage.qml b/controls/TabbedPage.qml index bec05432..b0de47f0 100644 --- a/controls/TabbedPage.qml +++ b/controls/TabbedPage.qml @@ -26,51 +26,82 @@ FluidControls.Page { property alias count: swipeView.count - readonly property int currentIndex: appBar.currentTabIndex + readonly property int currentIndex: __private.currentTabIndex /*! The currently selected tab. */ readonly property Tab selectedTab: count > 0 - ? swipeView.contentChildren[currentIndex] : null + ? swipeView.contentChildren[currentIndex] : null onCurrentIndexChanged: swipeView.currentIndex = currentIndex - appBar.tabs: Repeater { - model: swipeView.contentChildren - delegate: TabButton { - text: modelData.title - width: parent.fixed ? parent.width / parent.count : implicitWidth + QtObject { + id: __private - // Active color - Material.accent: appBar.Material.foreground + property alias currentTabIndex: tabBar.currentIndex + } + + appBar.elevation: 0 - // Unfocused color - Material.foreground: FluidCore.Utils.alpha(appBar.Material.foreground, 0.7) + header: ToolBar { + visible: tabBar.count > 0 - FluidControls.Icon { - id: tabIcon + Material.elevation: 2 - anchors.left: parent.left - anchors.verticalCenter: parent.verticalCenter - anchors.leftMargin: FluidControls.Units.smallSpacing + TabBar { + id: tabBar - name: modelData.iconName - source: modelData.iconSource - visible: status == Image.Ready + property bool fixed: true + property bool centered: false + + anchors { + top: centered ? undefined : parent.top + left: centered ? undefined : parent.left + leftMargin: centered ? 0 : appBar ? appBar.leftKeyline - 12 : 0 + horizontalCenter: centered ? parent.horizontalCenter : undefined } - FluidControls.IconButton { - id: tabCloseButton + Material.accent: appBar.Material.foreground + Material.background: "transparent" + + Repeater { + model: swipeView.contentChildren + delegate: TabButton { + text: modelData.title + width: parent.fixed ? parent.width / parent.count : implicitWidth + + // Active color + Material.accent: appBar.Material.foreground + + // Unfocused color + Material.foreground: FluidCore.Utils.alpha(appBar.Material.foreground, 0.7) + + FluidControls.Icon { + id: tabIcon + + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + anchors.leftMargin: FluidControls.Units.smallSpacing + + name: modelData.iconName + source: modelData.iconSource + visible: status == Image.Ready + } + + FluidControls.IconButton { + id: tabCloseButton - anchors.right: parent.right - anchors.verticalCenter: parent.verticalCenter - anchors.rightMargin: FluidControls.Units.smallSpacing + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.rightMargin: FluidControls.Units.smallSpacing - iconName: "navigation/close" - visible: modelData.canRemove + iconName: "navigation/close" + visible: modelData.canRemove - onClicked: swipeView.removeItem(swipeView.currentIndex) + onClicked: swipeView.removeItem(swipeView.currentIndex) + } + } } } } @@ -78,13 +109,13 @@ FluidControls.Page { SwipeView { id: swipeView anchors.fill: parent - currentIndex: appBar.currentTabIndex + currentIndex: __private.currentTabIndex - onCurrentIndexChanged: appBar.currentTabIndex = currentIndex + onCurrentIndexChanged: __private.currentTabIndex = currentIndex } function addTab(tab) { swipeView.addItem(tab); - appBar.currentTabIndex = swipeView.count - 1; + __private.currentTabIndex = swipeView.count - 1; } } diff --git a/demo/main.qml b/demo/main.qml index e11afdee..32020398 100644 --- a/demo/main.qml +++ b/demo/main.qml @@ -30,6 +30,8 @@ FluidWindow { title: qsTr("Fluid Demo") + appBar.maxActionCount: 1 + Material.primary: Material.LightBlue Material.accent: Material.Blue @@ -77,8 +79,6 @@ FluidWindow { initialPage: TabbedPage { title: window.title - appBar.maxActionCount: 1 - actions: [ Action { text: qsTr("Dummy error") From 6c2f58de016cd60f080548b92fe8e9c4e1a96391 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Tue, 7 Feb 2017 21:54:39 +0100 Subject: [PATCH 31/62] controls: Set tooltip for Page leftAction [ChangeLog][Controls] Set tooltip for Page leftAction. --- controls/AppBar.qml | 3 +++ controls/Page.qml | 1 + 2 files changed, 4 insertions(+) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 64b0cf9d..ed6188bc 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -96,6 +96,9 @@ ToolBar { property bool showing: leftAction && leftAction.visible property int margin: (width - 24)/2 + ToolTip.visible: ToolTip.text != "" && hovered + ToolTip.text: leftAction ? leftAction.tooltip : "" + anchors { verticalCenter: actionsRow.verticalCenter left: parent.left diff --git a/controls/Page.qml b/controls/Page.qml index b0e71394..4cca737f 100644 --- a/controls/Page.qml +++ b/controls/Page.qml @@ -132,6 +132,7 @@ Page { leftAction: Action { text: "Back" + tooltip: qsTr("Go back") iconName: "navigation/arrow_back" onTriggered: page.pop() visible: page.canGoBack From 56c93381154cf8e33b40f6d6147256c1e9d3974c Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Tue, 7 Feb 2017 21:55:22 +0100 Subject: [PATCH 32/62] controls: Mark Page leftAction text as translatable --- controls/Page.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controls/Page.qml b/controls/Page.qml index 4cca737f..438f55e4 100644 --- a/controls/Page.qml +++ b/controls/Page.qml @@ -131,7 +131,7 @@ Page { parent: null leftAction: Action { - text: "Back" + text: qsTr("Back") tooltip: qsTr("Go back") iconName: "navigation/arrow_back" onTriggered: page.pop() From cc7086c2b86ee3bb5bd249ed1946e638ed1b8d68 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Tue, 7 Feb 2017 21:56:03 +0100 Subject: [PATCH 33/62] controls: Remove unused import --- controls/AppBar.qml | 1 - 1 file changed, 1 deletion(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index ed6188bc..4cc6c330 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -20,7 +20,6 @@ import QtQuick.Controls.Material 2.0 import QtQuick.Layouts 1.0 import Fluid.Core 1.0 import Fluid.Controls 1.0 as FluidControls -import Fluid.Material 1.0 as FluidMaterial /*! \qmltype AppBar From 2f82b916b064a9617f4aa590247ddc32740adea7 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Tue, 7 Feb 2017 22:00:08 +0100 Subject: [PATCH 34/62] Close the correct tab Do not close the active tab. --- controls/TabbedPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controls/TabbedPage.qml b/controls/TabbedPage.qml index b0de47f0..2441b549 100644 --- a/controls/TabbedPage.qml +++ b/controls/TabbedPage.qml @@ -99,7 +99,7 @@ FluidControls.Page { iconName: "navigation/close" visible: modelData.canRemove - onClicked: swipeView.removeItem(swipeView.currentIndex) + onClicked: swipeView.removeItem(index) } } } From b5b5ae10823e10ef702e2655c0a324c7a024640e Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Tue, 7 Feb 2017 23:04:14 +0100 Subject: [PATCH 35/62] Use standard Material icon color Qt 5.8 introduced new Material colors: iconColor and iconDisabledColor. Use standardized icon colors since we now depend on that version. Closes: #42 --- controls/FluidStyle.qml | 3 --- controls/Icon.qml | 6 ++---- controls/ListItem.qml | 4 +--- tests/auto/controls/tst_icon.qml | 4 ++-- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/controls/FluidStyle.qml b/controls/FluidStyle.qml index 4d3afea8..eac93937 100644 --- a/controls/FluidStyle.qml +++ b/controls/FluidStyle.qml @@ -27,9 +27,6 @@ pragma Singleton QtObject { id: fluidStyle - readonly property color iconColorLight: Qt.rgba(0,0,0,0.54) - readonly property color iconColorDark: Qt.rgba(1,1,1) - readonly property font display4Font: Qt.font({ family: "Roboto", weight: Font.Light, pixelSize: 112 }) diff --git a/controls/Icon.qml b/controls/Icon.qml index 3f0d4c53..c406ba36 100644 --- a/controls/Icon.qml +++ b/controls/Icon.qml @@ -74,11 +74,9 @@ Item { id: icon /*! - The color of the icon. Defaults to \c FluidStyle.iconColorLight. For dark backgrounds, - set \c Material.theme to Material.Dark or set this to \c FluidStyle.iconColorDark. + The color of the icon. Defaults to \c Material.iconColor. */ - property color color: Material.theme == Material.Light ? FluidStyle.iconColorLight - : FluidStyle.iconColorDark + property color color: Material.iconColor /*! The size of the icon. Defaults to 24px. diff --git a/controls/ListItem.qml b/controls/ListItem.qml index 252e9fd8..e77c8a13 100644 --- a/controls/ListItem.qml +++ b/controls/ListItem.qml @@ -71,9 +71,7 @@ BaseListItem { } visible: icon.valid - color: listItem.highlighted ? Material.primaryColor - : Material.theme == Material.Light ? FluidStyle.iconColorLight - : FluidStyle.iconColorDark + color: listItem.highlighted ? Material.primaryColor : enabled ? Material.iconColor : Material.iconDisabledColor } } diff --git a/tests/auto/controls/tst_icon.qml b/tests/auto/controls/tst_icon.qml index 6d3fc269..be2d355c 100644 --- a/tests/auto/controls/tst_icon.qml +++ b/tests/auto/controls/tst_icon.qml @@ -70,14 +70,14 @@ Icon { icon.Material.theme = Material.Light // Colors must be converted to strings for compare to work - compare(String(icon.color), String(FluidStyle.iconColorLight)) + compare(String(icon.color), String(Material.iconColor)) } function test_color_should_be_dark_icon_color_for_dark_theme() { icon.Material.theme = Material.Dark // Colors must be converted to strings for compare to work - compare(String(icon.color), String(FluidStyle.iconColorDark)) + compare(String(icon.color), String(Material.iconColor)) } } } From 3ec8f38c830bc43a1c6edd1a725b963fe3feae9e Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 8 Feb 2017 08:37:13 +0100 Subject: [PATCH 36/62] demo: Busy indicator during image loading --- demo/Pages/Compound/CardPage.qml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/demo/Pages/Compound/CardPage.qml b/demo/Pages/Compound/CardPage.qml index ec33a3e9..88e8bb74 100644 --- a/demo/Pages/Compound/CardPage.qml +++ b/demo/Pages/Compound/CardPage.qml @@ -32,6 +32,11 @@ Item { } height: 200 source: "https://www.nps.gov/yose/planyourvisit/images/glacier-point-people-960web.jpg" + + BusyIndicator { + anchors.centerIn: parent + visible: picture.status !== Image.Ready + } } Column { From 1cd10070be46d595ace3d1cf7292df5df48352dd Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 8 Feb 2017 08:37:44 +0100 Subject: [PATCH 37/62] Ignore .qmlc files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 305f772e..ffddfae3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ build/ material-design-icons/ icons/ *.user +*.qmlc From db128f54be2c65b98bf32e5d60aa1b286f938bfa Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 8 Feb 2017 08:45:58 +0100 Subject: [PATCH 38/62] controls: Fix overflow action icon Wrong index. --- controls/AppBar.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 4cc6c330..76c01847 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -185,7 +185,7 @@ ToolBar { delegate: FluidControls.MenuItem { id: overflowMenuItem - iconSource: appBar.actions[index].iconSource + iconSource: appBar.actions[index + appBar.maxActionCount].iconSource iconSize: appBar.iconSize text: appBar.actions[index + appBar.maxActionCount].text From a6203ead90a8e309ba7ac7f446fd8e96320b0835 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Fri, 10 Feb 2017 08:59:33 +0100 Subject: [PATCH 39/62] Update plugins.qmltypes --- controls/plugins.qmltypes | 5340 ++++++++++++++++++++++++++++++++++--- core/plugins.qmltypes | 4852 ++++++++++++++++++++++++++++++++- effects/plugins.qmltypes | 6 +- material/plugins.qmltypes | 560 +--- 4 files changed, 9853 insertions(+), 905 deletions(-) diff --git a/controls/plugins.qmltypes b/controls/plugins.qmltypes index 29ef8462..d1b0ccf3 100644 --- a/controls/plugins.qmltypes +++ b/controls/plugins.qmltypes @@ -7,483 +7,5040 @@ import QtQuick.tooling 1.2 // 'qmlplugindump-qt5 -nonrelocatable Fluid.Controls 1.0' Module { - dependencies: [ - "Fluid.Core 1.0", - "Fluid.Effects 1.0", - "Fluid.Material 1.0", - "QtGraphicalEffects 1.0", - "QtQml 2.2", - "QtQuick 2.7", - "QtQuick.Controls 2.0", - "QtQuick.Controls.Material 2.0", - "QtQuick.Controls.Material.impl 2.0", - "QtQuick.Controls.Universal 2.0", - "QtQuick.Controls.Universal.impl 2.0", - "QtQuick.Controls.impl 2.0", - "QtQuick.Layouts 1.1", - "QtQuick.Templates 2.0", - "QtQuick.Window 2.2" - ] - Component { - prototype: "QQuickApplicationWindow" - name: "QtQuick.Controls/ApplicationWindow 2.0" - exports: ["QtQuick.Controls/ApplicationWindow 2.0"] + dependencies: [] + Component { + name: "Clipboard" + prototype: "QObject" + exports: ["Fluid.Core/Clipboard 1.0"] + exportMetaObjectRevisions: [0] + Property { name: "text"; type: "string" } + Method { + name: "setText" + Parameter { name: "text"; type: "string" } + } + Method { name: "clear" } + } + Component { + name: "DateUtils" + prototype: "QObject" + exports: ["Fluid.Core/DateUtils 1.0"] + isCreatable: false + isSingleton: true + exportMetaObjectRevisions: [0] + Enum { + name: "DurationFormat" + values: { + "Long": 0, + "Short": 1 + } + } + Enum { + name: "DurationType" + values: { + "Seconds": 0, + "Minutes": 1, + "Hours": 2, + "Any": 3 + } + } + Method { + name: "formatDuration" + type: "string" + Parameter { name: "duration"; type: "qlonglong" } + Parameter { name: "format"; type: "DurationFormat" } + Parameter { name: "type"; type: "DurationType" } + } + Method { + name: "formatDuration" + type: "string" + Parameter { name: "duration"; type: "qlonglong" } + Parameter { name: "format"; type: "DurationFormat" } + } + Method { + name: "formatDuration" + type: "string" + Parameter { name: "duration"; type: "qlonglong" } + } + Method { + name: "friendlyTime" + type: "string" + Parameter { name: "time"; type: "QDateTime" } + Parameter { name: "standalone"; type: "bool" } + } + } + Component { + name: "Device" + prototype: "QObject" + exports: ["Fluid.Core/Device 1.0"] + isCreatable: false + isSingleton: true + exportMetaObjectRevisions: [0] + Enum { + name: "FormFactor" + values: { + "Phone": 0, + "Phablet": 1, + "Tablet": 2, + "Computer": 3, + "TV": 4, + "Unknown": 5 + } + } + Property { name: "formFactor"; type: "FormFactor"; isReadonly: true } + Property { name: "name"; type: "string"; isReadonly: true } + Property { name: "iconName"; type: "string"; isReadonly: true } + Property { name: "isPortrait"; type: "bool"; isReadonly: true } + Property { name: "isMobile"; type: "bool"; isReadonly: true } + Property { name: "hasTouchScreen"; type: "bool"; isReadonly: true } + Property { name: "hoverEnabled"; type: "bool"; isReadonly: true } + Property { name: "gridUnit"; type: "int"; isReadonly: true } + Signal { name: "geometryChanged" } + } + Component { + name: "QAbstractItemModel" + prototype: "QObject" + Enum { + name: "LayoutChangeHint" + values: { + "NoLayoutChangeHint": 0, + "VerticalSortHint": 1, + "HorizontalSortHint": 2 + } + } + Signal { + name: "dataChanged" + Parameter { name: "topLeft"; type: "QModelIndex" } + Parameter { name: "bottomRight"; type: "QModelIndex" } + Parameter { name: "roles"; type: "QVector" } + } + Signal { + name: "dataChanged" + Parameter { name: "topLeft"; type: "QModelIndex" } + Parameter { name: "bottomRight"; type: "QModelIndex" } + } + Signal { + name: "headerDataChanged" + Parameter { name: "orientation"; type: "Qt::Orientation" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "layoutChanged" + Parameter { name: "parents"; type: "QList" } + Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" } + } + Signal { + name: "layoutChanged" + Parameter { name: "parents"; type: "QList" } + } + Signal { name: "layoutChanged" } + Signal { + name: "layoutAboutToBeChanged" + Parameter { name: "parents"; type: "QList" } + Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" } + } + Signal { + name: "layoutAboutToBeChanged" + Parameter { name: "parents"; type: "QList" } + } + Signal { name: "layoutAboutToBeChanged" } + Signal { + name: "rowsAboutToBeInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "rowsInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "rowsAboutToBeRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "rowsRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsAboutToBeInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsAboutToBeRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { name: "modelAboutToBeReset" } + Signal { name: "modelReset" } + Signal { + name: "rowsAboutToBeMoved" + Parameter { name: "sourceParent"; type: "QModelIndex" } + Parameter { name: "sourceStart"; type: "int" } + Parameter { name: "sourceEnd"; type: "int" } + Parameter { name: "destinationParent"; type: "QModelIndex" } + Parameter { name: "destinationRow"; type: "int" } + } + Signal { + name: "rowsMoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + Parameter { name: "destination"; type: "QModelIndex" } + Parameter { name: "row"; type: "int" } + } + Signal { + name: "columnsAboutToBeMoved" + Parameter { name: "sourceParent"; type: "QModelIndex" } + Parameter { name: "sourceStart"; type: "int" } + Parameter { name: "sourceEnd"; type: "int" } + Parameter { name: "destinationParent"; type: "QModelIndex" } + Parameter { name: "destinationColumn"; type: "int" } + } + Signal { + name: "columnsMoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + Parameter { name: "destination"; type: "QModelIndex" } + Parameter { name: "column"; type: "int" } + } + Method { name: "submit"; type: "bool" } + Method { name: "revert" } + Method { + name: "hasIndex" + type: "bool" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { + name: "hasIndex" + type: "bool" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + } + Method { + name: "index" + type: "QModelIndex" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { + name: "index" + type: "QModelIndex" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + } + Method { + name: "parent" + type: "QModelIndex" + Parameter { name: "child"; type: "QModelIndex" } + } + Method { + name: "sibling" + type: "QModelIndex" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + Parameter { name: "idx"; type: "QModelIndex" } + } + Method { + name: "rowCount" + type: "int" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { name: "rowCount"; type: "int" } + Method { + name: "columnCount" + type: "int" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { name: "columnCount"; type: "int" } + Method { + name: "hasChildren" + type: "bool" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { name: "hasChildren"; type: "bool" } + Method { + name: "data" + type: "QVariant" + Parameter { name: "index"; type: "QModelIndex" } + Parameter { name: "role"; type: "int" } + } + Method { + name: "data" + type: "QVariant" + Parameter { name: "index"; type: "QModelIndex" } + } + Method { + name: "setData" + type: "bool" + Parameter { name: "index"; type: "QModelIndex" } + Parameter { name: "value"; type: "QVariant" } + Parameter { name: "role"; type: "int" } + } + Method { + name: "setData" + type: "bool" + Parameter { name: "index"; type: "QModelIndex" } + Parameter { name: "value"; type: "QVariant" } + } + Method { + name: "headerData" + type: "QVariant" + Parameter { name: "section"; type: "int" } + Parameter { name: "orientation"; type: "Qt::Orientation" } + Parameter { name: "role"; type: "int" } + } + Method { + name: "headerData" + type: "QVariant" + Parameter { name: "section"; type: "int" } + Parameter { name: "orientation"; type: "Qt::Orientation" } + } + Method { + name: "fetchMore" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { + name: "canFetchMore" + type: "bool" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { + name: "flags" + type: "Qt::ItemFlags" + Parameter { name: "index"; type: "QModelIndex" } + } + Method { + name: "match" + type: "QModelIndexList" + Parameter { name: "start"; type: "QModelIndex" } + Parameter { name: "role"; type: "int" } + Parameter { name: "value"; type: "QVariant" } + Parameter { name: "hits"; type: "int" } + Parameter { name: "flags"; type: "Qt::MatchFlags" } + } + Method { + name: "match" + type: "QModelIndexList" + Parameter { name: "start"; type: "QModelIndex" } + Parameter { name: "role"; type: "int" } + Parameter { name: "value"; type: "QVariant" } + Parameter { name: "hits"; type: "int" } + } + Method { + name: "match" + type: "QModelIndexList" + Parameter { name: "start"; type: "QModelIndex" } + Parameter { name: "role"; type: "int" } + Parameter { name: "value"; type: "QVariant" } + } + } + Component { name: "QAbstractListModel"; prototype: "QAbstractItemModel" } + Component { + name: "QAbstractProxyModel" + prototype: "QAbstractItemModel" + Property { name: "sourceModel"; type: "QAbstractItemModel"; isPointer: true } + Method { + name: "mapToSource" + type: "QModelIndex" + Parameter { name: "proxyIndex"; type: "QModelIndex" } + } + Method { + name: "mapFromSource" + type: "QModelIndex" + Parameter { name: "sourceIndex"; type: "QModelIndex" } + } + Method { + name: "mapSelectionToSource" + type: "QItemSelection" + Parameter { name: "selection"; type: "QItemSelection" } + } + Method { + name: "mapSelectionFromSource" + type: "QItemSelection" + Parameter { name: "selection"; type: "QItemSelection" } + } + } + Component { + name: "QDoubleValidator" + prototype: "QValidator" + Enum { + name: "Notation" + values: { + "StandardNotation": 0, + "ScientificNotation": 1 + } + } + Property { name: "bottom"; type: "double" } + Property { name: "top"; type: "double" } + Property { name: "decimals"; type: "int" } + Property { name: "notation"; type: "Notation" } + Signal { + name: "bottomChanged" + Parameter { name: "bottom"; type: "double" } + } + Signal { + name: "topChanged" + Parameter { name: "top"; type: "double" } + } + Signal { + name: "decimalsChanged" + Parameter { name: "decimals"; type: "int" } + } + Signal { + name: "notationChanged" + Parameter { name: "notation"; type: "QDoubleValidator::Notation" } + } + } + Component { + name: "QInputMethod" + prototype: "QObject" + exports: ["QtQuick/InputMethod 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Action" + values: { + "Click": 0, + "ContextMenu": 1 + } + } + Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "anchorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "keyboardRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "inputItemClipRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "visible"; type: "bool"; isReadonly: true } + Property { name: "animating"; type: "bool"; isReadonly: true } + Property { name: "locale"; type: "QLocale"; isReadonly: true } + Property { name: "inputDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + Signal { + name: "inputDirectionChanged" + Parameter { name: "newDirection"; type: "Qt::LayoutDirection" } + } + Method { name: "show" } + Method { name: "hide" } + Method { + name: "update" + Parameter { name: "queries"; type: "Qt::InputMethodQueries" } + } + Method { name: "reset" } + Method { name: "commit" } + Method { + name: "invokeAction" + Parameter { name: "a"; type: "Action" } + Parameter { name: "cursorPosition"; type: "int" } + } + } + Component { + name: "QIntValidator" + prototype: "QValidator" + Property { name: "bottom"; type: "int" } + Property { name: "top"; type: "int" } + Signal { + name: "bottomChanged" + Parameter { name: "bottom"; type: "int" } + } + Signal { + name: "topChanged" + Parameter { name: "top"; type: "int" } + } + } + Component { + name: "QKeySequence" + exports: ["QtQuick/StandardKey 2.2"] + isCreatable: false + exportMetaObjectRevisions: [2] + Enum { + name: "StandardKey" + values: { + "UnknownKey": 0, + "HelpContents": 1, + "WhatsThis": 2, + "Open": 3, + "Close": 4, + "Save": 5, + "New": 6, + "Delete": 7, + "Cut": 8, + "Copy": 9, + "Paste": 10, + "Undo": 11, + "Redo": 12, + "Back": 13, + "Forward": 14, + "Refresh": 15, + "ZoomIn": 16, + "ZoomOut": 17, + "Print": 18, + "AddTab": 19, + "NextChild": 20, + "PreviousChild": 21, + "Find": 22, + "FindNext": 23, + "FindPrevious": 24, + "Replace": 25, + "SelectAll": 26, + "Bold": 27, + "Italic": 28, + "Underline": 29, + "MoveToNextChar": 30, + "MoveToPreviousChar": 31, + "MoveToNextWord": 32, + "MoveToPreviousWord": 33, + "MoveToNextLine": 34, + "MoveToPreviousLine": 35, + "MoveToNextPage": 36, + "MoveToPreviousPage": 37, + "MoveToStartOfLine": 38, + "MoveToEndOfLine": 39, + "MoveToStartOfBlock": 40, + "MoveToEndOfBlock": 41, + "MoveToStartOfDocument": 42, + "MoveToEndOfDocument": 43, + "SelectNextChar": 44, + "SelectPreviousChar": 45, + "SelectNextWord": 46, + "SelectPreviousWord": 47, + "SelectNextLine": 48, + "SelectPreviousLine": 49, + "SelectNextPage": 50, + "SelectPreviousPage": 51, + "SelectStartOfLine": 52, + "SelectEndOfLine": 53, + "SelectStartOfBlock": 54, + "SelectEndOfBlock": 55, + "SelectStartOfDocument": 56, + "SelectEndOfDocument": 57, + "DeleteStartOfWord": 58, + "DeleteEndOfWord": 59, + "DeleteEndOfLine": 60, + "InsertParagraphSeparator": 61, + "InsertLineSeparator": 62, + "SaveAs": 63, + "Preferences": 64, + "Quit": 65, + "FullScreen": 66, + "Deselect": 67, + "DeleteCompleteLine": 68, + "Backspace": 69, + "Cancel": 70 + } + } + } + Component { + name: "QQmlApplication" + prototype: "QObject" + Property { name: "arguments"; type: "QStringList"; isReadonly: true } + Property { name: "name"; type: "string" } + Property { name: "version"; type: "string" } + Property { name: "organization"; type: "string" } + Property { name: "domain"; type: "string" } + Signal { name: "aboutToQuit" } + Method { + name: "setName" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "setVersion" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "setOrganization" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "setDomain" + Parameter { name: "arg"; type: "string" } + } + } + Component { + name: "QQmlDelegateModel" + defaultProperty: "delegate" + prototype: "QQmlInstanceModel" + exports: ["QtQuick/VisualDataModel 2.0"] + exportMetaObjectRevisions: [0] + attachedType: "QQmlDelegateModelAttached" + Property { name: "model"; type: "QVariant" } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "filterOnGroup"; type: "string" } + Property { name: "items"; type: "QQmlDelegateModelGroup"; isReadonly: true; isPointer: true } + Property { + name: "persistedItems" + type: "QQmlDelegateModelGroup" + isReadonly: true + isPointer: true + } + Property { name: "groups"; type: "QQmlDelegateModelGroup"; isList: true; isReadonly: true } + Property { name: "parts"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "rootIndex"; type: "QVariant" } + Signal { name: "filterGroupChanged" } + Signal { name: "defaultGroupsChanged" } + Method { + name: "modelIndex" + type: "QVariant" + Parameter { name: "idx"; type: "int" } + } + Method { name: "parentModelIndex"; type: "QVariant" } + } + Component { + name: "QQmlDelegateModelAttached" + prototype: "QObject" + Property { name: "model"; type: "QQmlDelegateModel"; isReadonly: true; isPointer: true } + Property { name: "groups"; type: "QStringList" } + Property { name: "isUnresolved"; type: "bool"; isReadonly: true } + Signal { name: "unresolvedChanged" } + } + Component { + name: "QQmlDelegateModelGroup" + prototype: "QObject" + exports: ["QtQuick/VisualDataGroup 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "name"; type: "string" } + Property { name: "includeByDefault"; type: "bool" } + Signal { name: "defaultIncludeChanged" } + Signal { + name: "changed" + Parameter { name: "removed"; type: "QQmlV4Handle" } + Parameter { name: "inserted"; type: "QQmlV4Handle" } + } + Method { + name: "insert" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "create" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "resolve" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "remove" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "addGroups" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "removeGroups" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "setGroups" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "move" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "get" + type: "QQmlV4Handle" + Parameter { name: "index"; type: "int" } + } + } + Component { name: "QQmlDelegateModelParts"; prototype: "QObject" } + Component { + name: "QQmlEasingValueType" + exports: ["QtQuick/Easing 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Type" + values: { + "Linear": 0, + "InQuad": 1, + "OutQuad": 2, + "InOutQuad": 3, + "OutInQuad": 4, + "InCubic": 5, + "OutCubic": 6, + "InOutCubic": 7, + "OutInCubic": 8, + "InQuart": 9, + "OutQuart": 10, + "InOutQuart": 11, + "OutInQuart": 12, + "InQuint": 13, + "OutQuint": 14, + "InOutQuint": 15, + "OutInQuint": 16, + "InSine": 17, + "OutSine": 18, + "InOutSine": 19, + "OutInSine": 20, + "InExpo": 21, + "OutExpo": 22, + "InOutExpo": 23, + "OutInExpo": 24, + "InCirc": 25, + "OutCirc": 26, + "InOutCirc": 27, + "OutInCirc": 28, + "InElastic": 29, + "OutElastic": 30, + "InOutElastic": 31, + "OutInElastic": 32, + "InBack": 33, + "OutBack": 34, + "InOutBack": 35, + "OutInBack": 36, + "InBounce": 37, + "OutBounce": 38, + "InOutBounce": 39, + "OutInBounce": 40, + "InCurve": 41, + "OutCurve": 42, + "SineCurve": 43, + "CosineCurve": 44, + "Bezier": 45 + } + } + Property { name: "type"; type: "Type" } + Property { name: "amplitude"; type: "double" } + Property { name: "overshoot"; type: "double" } + Property { name: "period"; type: "double" } + Property { name: "bezierCurve"; type: "QVariantList" } + } + Component { + name: "QQmlListElement" + prototype: "QObject" + exports: ["QtQuick/ListElement 2.0"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQmlListModel" + prototype: "QAbstractListModel" + exports: ["QtQuick/ListModel 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "dynamicRoles"; type: "bool" } + Method { name: "clear" } + Method { + name: "remove" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "append" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "insert" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "get" + type: "QQmlV4Handle" + Parameter { name: "index"; type: "int" } + } + Method { + name: "set" + Parameter { name: "index"; type: "int" } + Parameter { type: "QQmlV4Handle" } + } + Method { + name: "setProperty" + Parameter { name: "index"; type: "int" } + Parameter { name: "property"; type: "string" } + Parameter { name: "value"; type: "QVariant" } + } + Method { + name: "move" + Parameter { name: "from"; type: "int" } + Parameter { name: "to"; type: "int" } + Parameter { name: "count"; type: "int" } + } + Method { name: "sync" } + } + Component { + name: "QQmlObjectModel" + defaultProperty: "children" + prototype: "QQmlInstanceModel" + exports: ["QtQuick/VisualItemModel 2.0"] + exportMetaObjectRevisions: [0] + attachedType: "QQmlObjectModelAttached" + Property { name: "children"; type: "QObject"; isList: true; isReadonly: true } + Method { name: "clear"; revision: 3 } + Method { + name: "get" + revision: 3 + type: "QObject*" + Parameter { name: "index"; type: "int" } + } + Method { + name: "append" + revision: 3 + Parameter { name: "object"; type: "QObject"; isPointer: true } + } + Method { + name: "insert" + revision: 3 + Parameter { name: "index"; type: "int" } + Parameter { name: "object"; type: "QObject"; isPointer: true } + } + Method { + name: "move" + revision: 3 + Parameter { name: "from"; type: "int" } + Parameter { name: "to"; type: "int" } + Parameter { name: "n"; type: "int" } + } + Method { + name: "move" + revision: 3 + Parameter { name: "from"; type: "int" } + Parameter { name: "to"; type: "int" } + } + Method { + name: "remove" + revision: 3 + Parameter { name: "index"; type: "int" } + Parameter { name: "n"; type: "int" } + } + Method { + name: "remove" + revision: 3 + Parameter { name: "index"; type: "int" } + } + } + Component { + name: "QQmlObjectModelAttached" + prototype: "QObject" + Property { name: "index"; type: "int"; isReadonly: true } + } + Component { + name: "QQmlSortFilterProxyModel" + prototype: "QSortFilterProxyModel" + exports: ["Fluid.Core/SortFilterProxyModel 1.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "PatternSyntax" + values: { + "RegExp": 0, + "Wildcard": 1, + "FixedString": 2, + "RegExp2": 3, + "WildcardUnix": 4, + "W3CXmlSchema11": 5 + } + } + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "filterRoleName"; type: "string" } + Property { name: "filterPattern"; type: "string" } + Property { name: "filterPatternSyntax"; type: "PatternSyntax" } + Property { name: "filterValue"; type: "QVariant" } + Property { name: "filterExpression"; type: "QQmlScriptString" } + Property { name: "sortRoleName"; type: "string" } + Property { name: "sortOrder"; type: "Qt::SortOrder" } + Property { name: "sortExpression"; type: "QQmlScriptString" } + } + Component { + name: "QQuickAbstractAnimation" + prototype: "QObject" + exports: ["QtQuick/Animation 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Loops" + values: { + "Infinite": -2 + } + } + Property { name: "running"; type: "bool" } + Property { name: "paused"; type: "bool" } + Property { name: "alwaysRunToEnd"; type: "bool" } + Property { name: "loops"; type: "int" } + Signal { name: "started" } + Signal { name: "stopped" } + Signal { + name: "runningChanged" + Parameter { type: "bool" } + } + Signal { + name: "pausedChanged" + Parameter { type: "bool" } + } + Signal { + name: "alwaysRunToEndChanged" + Parameter { type: "bool" } + } + Signal { + name: "loopCountChanged" + Parameter { type: "int" } + } + Method { name: "restart" } + Method { name: "start" } + Method { name: "pause" } + Method { name: "resume" } + Method { name: "stop" } + Method { name: "complete" } + } + Component { + name: "QQuickAccessibleAttached" + prototype: "QObject" + exports: ["QtQuick/Accessible 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "role"; type: "QAccessible::Role" } + Property { name: "name"; type: "string" } + Property { name: "description"; type: "string" } + Property { name: "ignored"; type: "bool" } + Property { name: "checkable"; type: "bool" } + Property { name: "checked"; type: "bool" } + Property { name: "editable"; type: "bool" } + Property { name: "focusable"; type: "bool" } + Property { name: "focused"; type: "bool" } + Property { name: "multiLine"; type: "bool" } + Property { name: "readOnly"; type: "bool" } + Property { name: "selected"; type: "bool" } + Property { name: "selectable"; type: "bool" } + Property { name: "pressed"; type: "bool" } + Property { name: "checkStateMixed"; type: "bool" } + Property { name: "defaultButton"; type: "bool" } + Property { name: "passwordEdit"; type: "bool" } + Property { name: "selectableText"; type: "bool" } + Property { name: "searchEdit"; type: "bool" } + Signal { + name: "checkableChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "checkedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "editableChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "focusableChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "focusedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "multiLineChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "readOnlyChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "selectedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "selectableChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "pressedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "checkStateMixedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "defaultButtonChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "passwordEditChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "selectableTextChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "searchEditChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { name: "pressAction" } + Signal { name: "toggleAction" } + Signal { name: "increaseAction" } + Signal { name: "decreaseAction" } + Signal { name: "scrollUpAction" } + Signal { name: "scrollDownAction" } + Signal { name: "scrollLeftAction" } + Signal { name: "scrollRightAction" } + Signal { name: "previousPageAction" } + Signal { name: "nextPageAction" } + Method { name: "valueChanged" } + Method { name: "cursorPositionChanged" } + Method { + name: "setIgnored" + Parameter { name: "ignored"; type: "bool" } + } + } + Component { + name: "QQuickAnchorAnimation" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/AnchorAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "targets"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "duration"; type: "int" } + Property { name: "easing"; type: "QEasingCurve" } + Signal { + name: "durationChanged" + Parameter { type: "int" } + } + Signal { + name: "easingChanged" + Parameter { type: "QEasingCurve" } + } + } + Component { + name: "QQuickAnchorChanges" + prototype: "QQuickStateOperation" + exports: ["QtQuick/AnchorChanges 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "anchors"; type: "QQuickAnchorSet"; isReadonly: true; isPointer: true } + } + Component { + name: "QQuickAnchorSet" + prototype: "QObject" + Property { name: "left"; type: "QQmlScriptString" } + Property { name: "right"; type: "QQmlScriptString" } + Property { name: "horizontalCenter"; type: "QQmlScriptString" } + Property { name: "top"; type: "QQmlScriptString" } + Property { name: "bottom"; type: "QQmlScriptString" } + Property { name: "verticalCenter"; type: "QQmlScriptString" } + Property { name: "baseline"; type: "QQmlScriptString" } + } + Component { + name: "QQuickAnchors" + prototype: "QObject" + Property { name: "left"; type: "QQuickAnchorLine" } + Property { name: "right"; type: "QQuickAnchorLine" } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine" } + Property { name: "top"; type: "QQuickAnchorLine" } + Property { name: "bottom"; type: "QQuickAnchorLine" } + Property { name: "verticalCenter"; type: "QQuickAnchorLine" } + Property { name: "baseline"; type: "QQuickAnchorLine" } + Property { name: "margins"; type: "double" } + Property { name: "leftMargin"; type: "double" } + Property { name: "rightMargin"; type: "double" } + Property { name: "horizontalCenterOffset"; type: "double" } + Property { name: "topMargin"; type: "double" } + Property { name: "bottomMargin"; type: "double" } + Property { name: "verticalCenterOffset"; type: "double" } + Property { name: "baselineOffset"; type: "double" } + Property { name: "fill"; type: "QQuickItem"; isPointer: true } + Property { name: "centerIn"; type: "QQuickItem"; isPointer: true } + Property { name: "alignWhenCentered"; type: "bool" } + Signal { name: "centerAlignedChanged" } + } + Component { + name: "QQuickAnimatedImage" + defaultProperty: "data" + prototype: "QQuickImage" + exports: ["QtQuick/AnimatedImage 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "playing"; type: "bool" } + Property { name: "paused"; type: "bool" } + Property { name: "currentFrame"; type: "int" } + Property { name: "frameCount"; type: "int"; isReadonly: true } + Property { name: "sourceSize"; type: "QSize"; isReadonly: true } + Signal { name: "frameChanged" } + } + Component { + name: "QQuickAnimatedSprite" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/AnimatedSprite 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "LoopParameters" + values: { + "Infinite": -1 + } + } + Property { name: "running"; type: "bool" } + Property { name: "interpolate"; type: "bool" } + Property { name: "source"; type: "QUrl" } + Property { name: "reverse"; type: "bool" } + Property { name: "frameSync"; type: "bool" } + Property { name: "frameCount"; type: "int" } + Property { name: "frameHeight"; type: "int" } + Property { name: "frameWidth"; type: "int" } + Property { name: "frameX"; type: "int" } + Property { name: "frameY"; type: "int" } + Property { name: "frameRate"; type: "double" } + Property { name: "frameDuration"; type: "int" } + Property { name: "loops"; type: "int" } + Property { name: "paused"; type: "bool" } + Property { name: "currentFrame"; type: "int" } + Signal { + name: "pausedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "runningChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "interpolateChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "sourceChanged" + Parameter { name: "arg"; type: "QUrl" } + } + Signal { + name: "reverseChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "frameSyncChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "frameCountChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameHeightChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameWidthChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameXChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameYChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameRateChanged" + Parameter { name: "arg"; type: "double" } + } + Signal { + name: "frameDurationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "loopsChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "currentFrameChanged" + Parameter { name: "arg"; type: "int" } + } + Method { name: "start" } + Method { name: "stop" } + Method { name: "restart" } + Method { + name: "advance" + Parameter { name: "frames"; type: "int" } + } + Method { name: "advance" } + Method { name: "pause" } + Method { name: "resume" } + Method { + name: "setRunning" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setPaused" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setInterpolate" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setSource" + Parameter { name: "arg"; type: "QUrl" } + } + Method { + name: "setReverse" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setFrameSync" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setFrameCount" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameHeight" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameWidth" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameX" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameY" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameRate" + Parameter { name: "arg"; type: "double" } + } + Method { + name: "setFrameDuration" + Parameter { name: "arg"; type: "int" } + } + Method { name: "resetFrameRate" } + Method { name: "resetFrameDuration" } + Method { + name: "setLoops" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setCurrentFrame" + Parameter { name: "arg"; type: "int" } + } + } + Component { + name: "QQuickAnimationController" + defaultProperty: "animation" + prototype: "QObject" + exports: ["QtQuick/AnimationController 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "progress"; type: "double" } + Property { name: "animation"; type: "QQuickAbstractAnimation"; isPointer: true } + Method { name: "reload" } + Method { name: "completeToBeginning" } + Method { name: "completeToEnd" } + } + Component { + name: "QQuickAnimationGroup" + defaultProperty: "animations" + prototype: "QQuickAbstractAnimation" + Property { name: "animations"; type: "QQuickAbstractAnimation"; isList: true; isReadonly: true } + } + Component { + name: "QQuickAnimator" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/Animator 2.2"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "easing"; type: "QEasingCurve" } + Property { name: "duration"; type: "int" } + Property { name: "to"; type: "double" } + Property { name: "from"; type: "double" } + Signal { + name: "targetItemChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "durationChanged" + Parameter { name: "duration"; type: "int" } + } + Signal { + name: "easingChanged" + Parameter { name: "curve"; type: "QEasingCurve" } + } + Signal { + name: "toChanged" + Parameter { name: "to"; type: "double" } + } + Signal { + name: "fromChanged" + Parameter { name: "from"; type: "double" } + } + } + Component { + name: "QQuickApplication" + prototype: "QQmlApplication" + exports: ["QtQuick/Application 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "active"; type: "bool"; isReadonly: true } + Property { name: "layoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + Property { name: "supportsMultipleWindows"; type: "bool"; isReadonly: true } + Property { name: "state"; type: "Qt::ApplicationState"; isReadonly: true } + Property { name: "font"; type: "QFont"; isReadonly: true } + Signal { + name: "stateChanged" + Parameter { name: "state"; type: "Qt::ApplicationState" } + } + } + Component { + name: "QQuickBasePositioner" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: ["QtQuick/Positioner 2.0", "QtQuick/Positioner 2.6"] + isCreatable: false + exportMetaObjectRevisions: [0, 6] + attachedType: "QQuickPositionerAttached" + Property { name: "spacing"; type: "double" } + Property { name: "populate"; type: "QQuickTransition"; isPointer: true } + Property { name: "move"; type: "QQuickTransition"; isPointer: true } + Property { name: "add"; type: "QQuickTransition"; isPointer: true } + Property { name: "padding"; revision: 6; type: "double" } + Property { name: "topPadding"; revision: 6; type: "double" } + Property { name: "leftPadding"; revision: 6; type: "double" } + Property { name: "rightPadding"; revision: 6; type: "double" } + Property { name: "bottomPadding"; revision: 6; type: "double" } + Signal { name: "paddingChanged"; revision: 6 } + Signal { name: "topPaddingChanged"; revision: 6 } + Signal { name: "leftPaddingChanged"; revision: 6 } + Signal { name: "rightPaddingChanged"; revision: 6 } + Signal { name: "bottomPaddingChanged"; revision: 6 } + } + Component { + name: "QQuickBehavior" + defaultProperty: "animation" + prototype: "QObject" + exports: ["QtQuick/Behavior 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "animation"; type: "QQuickAbstractAnimation"; isPointer: true } + Property { name: "enabled"; type: "bool" } + } + Component { + name: "QQuickBorderImage" + defaultProperty: "data" + prototype: "QQuickImageBase" + exports: ["QtQuick/BorderImage 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "TileMode" + values: { + "Stretch": 0, + "Repeat": 1, + "Round": 2 + } + } + Property { name: "border"; type: "QQuickScaleGrid"; isReadonly: true; isPointer: true } + Property { name: "horizontalTileMode"; type: "TileMode" } + Property { name: "verticalTileMode"; type: "TileMode" } + Property { name: "sourceSize"; type: "QSize"; isReadonly: true } + } + Component { + name: "QQuickBorderImageMesh" + prototype: "QQuickShaderEffectMesh" + exports: ["QtQuick/BorderImageMesh 2.8"] + exportMetaObjectRevisions: [0] + Enum { + name: "TileMode" + values: { + "Stretch": 0, + "Repeat": 1, + "Round": 2 + } + } + Property { name: "border"; type: "QQuickScaleGrid"; isReadonly: true; isPointer: true } + Property { name: "size"; type: "QSize" } + Property { name: "horizontalTileMode"; type: "TileMode" } + Property { name: "verticalTileMode"; type: "TileMode" } + } + Component { + name: "QQuickCanvasItem" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/Canvas 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "RenderTarget" + values: { + "Image": 0, + "FramebufferObject": 1 + } + } + Enum { + name: "RenderStrategy" + values: { + "Immediate": 0, + "Threaded": 1, + "Cooperative": 2 + } + } + Property { name: "available"; type: "bool"; isReadonly: true } + Property { name: "contextType"; type: "string" } + Property { name: "context"; type: "QQmlV4Handle"; isReadonly: true } + Property { name: "canvasSize"; type: "QSizeF" } + Property { name: "tileSize"; type: "QSize" } + Property { name: "canvasWindow"; type: "QRectF" } + Property { name: "renderTarget"; type: "RenderTarget" } + Property { name: "renderStrategy"; type: "RenderStrategy" } + Signal { + name: "paint" + Parameter { name: "region"; type: "QRect" } + } + Signal { name: "painted" } + Signal { name: "imageLoaded" } + Method { + name: "loadImage" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "unloadImage" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "isImageLoaded" + type: "bool" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "isImageLoading" + type: "bool" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "isImageError" + type: "bool" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "getContext" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "requestAnimationFrame" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "cancelRequestAnimationFrame" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { name: "requestPaint" } + Method { + name: "markDirty" + Parameter { name: "dirtyRect"; type: "QRectF" } + } + Method { name: "markDirty" } + Method { + name: "save" + type: "bool" + Parameter { name: "filename"; type: "string" } + } + Method { + name: "toDataURL" + type: "string" + Parameter { name: "type"; type: "string" } + } + Method { name: "toDataURL"; type: "string" } + } + Component { + name: "QQuickCloseEvent" + prototype: "QObject" + Property { name: "accepted"; type: "bool" } + } + Component { + name: "QQuickColorAnimation" + prototype: "QQuickPropertyAnimation" + exports: ["QtQuick/ColorAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "from"; type: "QColor" } + Property { name: "to"; type: "QColor" } + } + Component { + name: "QQuickColumn" + defaultProperty: "data" + prototype: "QQuickBasePositioner" + exports: ["QtQuick/Column 2.0", "QtQuick/Column 2.6"] + exportMetaObjectRevisions: [0, 6] + } + Component { + name: "QQuickCurve" + prototype: "QQuickPathElement" + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "relativeX"; type: "double" } + Property { name: "relativeY"; type: "double" } + } + Component { + name: "QQuickDoubleValidator" + prototype: "QDoubleValidator" + exports: ["QtQuick/DoubleValidator 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "locale"; type: "string" } + Signal { name: "localeNameChanged" } + } + Component { + name: "QQuickDrag" + prototype: "QObject" + exports: ["QtQuick/Drag 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + attachedType: "QQuickDragAttached" + Enum { + name: "DragType" + values: { + "None": 0, + "Automatic": 1, + "Internal": 2 + } + } + Enum { + name: "Axis" + values: { + "XAxis": 1, + "YAxis": 2, + "XAndYAxis": 3, + "XandYAxis": 3 + } + } + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "axis"; type: "Axis" } + Property { name: "minimumX"; type: "double" } + Property { name: "maximumX"; type: "double" } + Property { name: "minimumY"; type: "double" } + Property { name: "maximumY"; type: "double" } + Property { name: "active"; type: "bool"; isReadonly: true } + Property { name: "filterChildren"; type: "bool" } + Property { name: "smoothed"; type: "bool" } + Property { name: "threshold"; type: "double" } + } + Component { + name: "QQuickDragAttached" + prototype: "QObject" + Property { name: "active"; type: "bool" } + Property { name: "source"; type: "QObject"; isPointer: true } + Property { name: "target"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "hotSpot"; type: "QPointF" } + Property { name: "imageSource"; revision: 8; type: "QUrl" } + Property { name: "keys"; type: "QStringList" } + Property { name: "mimeData"; type: "QVariantMap" } + Property { name: "supportedActions"; type: "Qt::DropActions" } + Property { name: "proposedAction"; type: "Qt::DropAction" } + Property { name: "dragType"; type: "QQuickDrag::DragType" } + Signal { name: "dragStarted" } + Signal { + name: "dragFinished" + Parameter { name: "dropAction"; type: "Qt::DropAction" } + } + Method { + name: "start" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "startDrag" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "cancel" } + Method { name: "drop"; type: "int" } + } + Component { + name: "QQuickDropArea" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/DropArea 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "containsDrag"; type: "bool"; isReadonly: true } + Property { name: "keys"; type: "QStringList" } + Property { name: "drag"; type: "QQuickDropAreaDrag"; isReadonly: true; isPointer: true } + Signal { name: "sourceChanged" } + Signal { + name: "entered" + Parameter { name: "drag"; type: "QQuickDropEvent"; isPointer: true } + } + Signal { name: "exited" } + Signal { + name: "positionChanged" + Parameter { name: "drag"; type: "QQuickDropEvent"; isPointer: true } + } + Signal { + name: "dropped" + Parameter { name: "drop"; type: "QQuickDropEvent"; isPointer: true } + } + } + Component { + name: "QQuickDropAreaDrag" + prototype: "QObject" + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "source"; type: "QObject"; isReadonly: true; isPointer: true } + Signal { name: "positionChanged" } + } + Component { + name: "QQuickDropEvent" + prototype: "QObject" + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "source"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "keys"; type: "QStringList"; isReadonly: true } + Property { name: "supportedActions"; type: "Qt::DropActions"; isReadonly: true } + Property { name: "proposedAction"; type: "Qt::DropActions"; isReadonly: true } + Property { name: "action"; type: "Qt::DropAction" } + Property { name: "accepted"; type: "bool" } + Property { name: "hasColor"; type: "bool"; isReadonly: true } + Property { name: "hasHtml"; type: "bool"; isReadonly: true } + Property { name: "hasText"; type: "bool"; isReadonly: true } + Property { name: "hasUrls"; type: "bool"; isReadonly: true } + Property { name: "colorData"; type: "QVariant"; isReadonly: true } + Property { name: "html"; type: "string"; isReadonly: true } + Property { name: "text"; type: "string"; isReadonly: true } + Property { name: "urls"; type: "QList"; isReadonly: true } + Property { name: "formats"; type: "QStringList"; isReadonly: true } + Method { + name: "getDataAsString" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "getDataAsArrayBuffer" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "acceptProposedAction" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "accept" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + } + Component { + name: "QQuickEnterKeyAttached" + prototype: "QObject" + exports: ["QtQuick/EnterKey 2.6"] + isCreatable: false + exportMetaObjectRevisions: [6] + Property { name: "type"; type: "Qt::EnterKeyType" } + } + Component { + name: "QQuickFlickable" + defaultProperty: "flickableData" + prototype: "QQuickItem" + exports: ["QtQuick/Flickable 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "BoundsBehavior" + values: { + "StopAtBounds": 0, + "DragOverBounds": 1, + "OvershootBounds": 2, + "DragAndOvershootBounds": 3 + } + } + Enum { + name: "FlickableDirection" + values: { + "AutoFlickDirection": 0, + "HorizontalFlick": 1, + "VerticalFlick": 2, + "HorizontalAndVerticalFlick": 3, + "AutoFlickIfNeeded": 12 + } + } + Property { name: "contentWidth"; type: "double" } + Property { name: "contentHeight"; type: "double" } + Property { name: "contentX"; type: "double" } + Property { name: "contentY"; type: "double" } + Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "topMargin"; type: "double" } + Property { name: "bottomMargin"; type: "double" } + Property { name: "originY"; type: "double"; isReadonly: true } + Property { name: "leftMargin"; type: "double" } + Property { name: "rightMargin"; type: "double" } + Property { name: "originX"; type: "double"; isReadonly: true } + Property { name: "horizontalVelocity"; type: "double"; isReadonly: true } + Property { name: "verticalVelocity"; type: "double"; isReadonly: true } + Property { name: "boundsBehavior"; type: "BoundsBehavior" } + Property { name: "rebound"; type: "QQuickTransition"; isPointer: true } + Property { name: "maximumFlickVelocity"; type: "double" } + Property { name: "flickDeceleration"; type: "double" } + Property { name: "moving"; type: "bool"; isReadonly: true } + Property { name: "movingHorizontally"; type: "bool"; isReadonly: true } + Property { name: "movingVertically"; type: "bool"; isReadonly: true } + Property { name: "flicking"; type: "bool"; isReadonly: true } + Property { name: "flickingHorizontally"; type: "bool"; isReadonly: true } + Property { name: "flickingVertically"; type: "bool"; isReadonly: true } + Property { name: "dragging"; type: "bool"; isReadonly: true } + Property { name: "draggingHorizontally"; type: "bool"; isReadonly: true } + Property { name: "draggingVertically"; type: "bool"; isReadonly: true } + Property { name: "flickableDirection"; type: "FlickableDirection" } + Property { name: "interactive"; type: "bool" } + Property { name: "pressDelay"; type: "int" } + Property { name: "atXEnd"; type: "bool"; isReadonly: true } + Property { name: "atYEnd"; type: "bool"; isReadonly: true } + Property { name: "atXBeginning"; type: "bool"; isReadonly: true } + Property { name: "atYBeginning"; type: "bool"; isReadonly: true } + Property { + name: "visibleArea" + type: "QQuickFlickableVisibleArea" + isReadonly: true + isPointer: true + } + Property { name: "pixelAligned"; type: "bool" } + Property { name: "flickableData"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "flickableChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Signal { name: "isAtBoundaryChanged" } + Signal { name: "movementStarted" } + Signal { name: "movementEnded" } + Signal { name: "flickStarted" } + Signal { name: "flickEnded" } + Signal { name: "dragStarted" } + Signal { name: "dragEnded" } + Method { + name: "resizeContent" + Parameter { name: "w"; type: "double" } + Parameter { name: "h"; type: "double" } + Parameter { name: "center"; type: "QPointF" } + } + Method { name: "returnToBounds" } + Method { + name: "flick" + Parameter { name: "xVelocity"; type: "double" } + Parameter { name: "yVelocity"; type: "double" } + } + Method { name: "cancelFlick" } + } + Component { + name: "QQuickFlickableVisibleArea" + prototype: "QObject" + Property { name: "xPosition"; type: "double"; isReadonly: true } + Property { name: "yPosition"; type: "double"; isReadonly: true } + Property { name: "widthRatio"; type: "double"; isReadonly: true } + Property { name: "heightRatio"; type: "double"; isReadonly: true } + Signal { + name: "xPositionChanged" + Parameter { name: "xPosition"; type: "double" } + } + Signal { + name: "yPositionChanged" + Parameter { name: "yPosition"; type: "double" } + } + Signal { + name: "widthRatioChanged" + Parameter { name: "widthRatio"; type: "double" } + } + Signal { + name: "heightRatioChanged" + Parameter { name: "heightRatio"; type: "double" } + } + } + Component { + name: "QQuickFlipable" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/Flipable 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "Side" + values: { + "Front": 0, + "Back": 1 + } + } + Property { name: "front"; type: "QQuickItem"; isPointer: true } + Property { name: "back"; type: "QQuickItem"; isPointer: true } + Property { name: "side"; type: "Side"; isReadonly: true } + } + Component { + name: "QQuickFlow" + defaultProperty: "data" + prototype: "QQuickBasePositioner" + exports: ["QtQuick/Flow 2.0", "QtQuick/Flow 2.6"] + exportMetaObjectRevisions: [0, 6] + Enum { + name: "Flow" + values: { + "LeftToRight": 0, + "TopToBottom": 1 + } + } + Property { name: "flow"; type: "Flow" } + Property { name: "layoutDirection"; type: "Qt::LayoutDirection" } + Property { name: "effectiveLayoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + } + Component { + name: "QQuickFocusScope" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/FocusScope 2.0"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickFontLoader" + prototype: "QObject" + exports: ["QtQuick/FontLoader 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "Status" + values: { + "Null": 0, + "Ready": 1, + "Loading": 2, + "Error": 3 + } + } + Property { name: "source"; type: "QUrl" } + Property { name: "name"; type: "string" } + Property { name: "status"; type: "Status"; isReadonly: true } + } + Component { + name: "QQuickFontMetrics" + prototype: "QObject" + exports: ["QtQuick/FontMetrics 2.4"] + exportMetaObjectRevisions: [0] + Property { name: "font"; type: "QFont" } + Property { name: "ascent"; type: "double"; isReadonly: true } + Property { name: "descent"; type: "double"; isReadonly: true } + Property { name: "height"; type: "double"; isReadonly: true } + Property { name: "leading"; type: "double"; isReadonly: true } + Property { name: "lineSpacing"; type: "double"; isReadonly: true } + Property { name: "minimumLeftBearing"; type: "double"; isReadonly: true } + Property { name: "minimumRightBearing"; type: "double"; isReadonly: true } + Property { name: "maximumCharacterWidth"; type: "double"; isReadonly: true } + Property { name: "xHeight"; type: "double"; isReadonly: true } + Property { name: "averageCharacterWidth"; type: "double"; isReadonly: true } + Property { name: "underlinePosition"; type: "double"; isReadonly: true } + Property { name: "overlinePosition"; type: "double"; isReadonly: true } + Property { name: "strikeOutPosition"; type: "double"; isReadonly: true } + Property { name: "lineWidth"; type: "double"; isReadonly: true } + Signal { + name: "fontChanged" + Parameter { name: "font"; type: "QFont" } + } + Method { + name: "advanceWidth" + type: "double" + Parameter { name: "text"; type: "string" } + } + Method { + name: "boundingRect" + type: "QRectF" + Parameter { name: "text"; type: "string" } + } + Method { + name: "tightBoundingRect" + type: "QRectF" + Parameter { name: "text"; type: "string" } + } + Method { + name: "elidedText" + type: "string" + Parameter { name: "text"; type: "string" } + Parameter { name: "mode"; type: "Qt::TextElideMode" } + Parameter { name: "width"; type: "double" } + Parameter { name: "flags"; type: "int" } + } + Method { + name: "elidedText" + type: "string" + Parameter { name: "text"; type: "string" } + Parameter { name: "mode"; type: "Qt::TextElideMode" } + Parameter { name: "width"; type: "double" } + } + } + Component { + name: "QQuickFontValueType" + exports: ["QtQuick/Font 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "FontWeight" + values: { + "Thin": 0, + "ExtraLight": 12, + "Light": 25, + "Normal": 50, + "Medium": 57, + "DemiBold": 63, + "Bold": 75, + "ExtraBold": 81, + "Black": 87 + } + } + Enum { + name: "Capitalization" + values: { + "MixedCase": 0, + "AllUppercase": 1, + "AllLowercase": 2, + "SmallCaps": 3, + "Capitalize": 4 + } + } + Enum { + name: "HintingPreference" + values: { + "PreferDefaultHinting": 0, + "PreferNoHinting": 1, + "PreferVerticalHinting": 2, + "PreferFullHinting": 3 + } + } + Property { name: "family"; type: "string" } + Property { name: "styleName"; type: "string" } + Property { name: "bold"; type: "bool" } + Property { name: "weight"; type: "FontWeight" } + Property { name: "italic"; type: "bool" } + Property { name: "underline"; type: "bool" } + Property { name: "overline"; type: "bool" } + Property { name: "strikeout"; type: "bool" } + Property { name: "pointSize"; type: "double" } + Property { name: "pixelSize"; type: "int" } + Property { name: "capitalization"; type: "Capitalization" } + Property { name: "letterSpacing"; type: "double" } + Property { name: "wordSpacing"; type: "double" } + Property { name: "hintingPreference"; type: "HintingPreference" } + Method { name: "toString"; type: "string" } + } + Component { + name: "QQuickGrabGestureEvent" + prototype: "QObject" + Property { name: "touchPoints"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "dragThreshold"; type: "double"; isReadonly: true } + Method { name: "grab" } + } + Component { + name: "QQuickGradient" + defaultProperty: "stops" + prototype: "QObject" + exports: ["QtQuick/Gradient 2.0"] exportMetaObjectRevisions: [0] - isComposite: true + Property { name: "stops"; type: "QQuickGradientStop"; isList: true; isReadonly: true } + Signal { name: "updated" } + } + Component { + name: "QQuickGradientStop" + prototype: "QObject" + exports: ["QtQuick/GradientStop 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "position"; type: "double" } + Property { name: "color"; type: "QColor" } + } + Component { + name: "QQuickGraphicsInfo" + prototype: "QObject" + exports: ["QtQuick/GraphicsInfo 2.8"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "GraphicsApi" + values: { + "Unknown": 0, + "Software": 1, + "OpenGL": 2, + "Direct3D12": 3 + } + } + Enum { + name: "ShaderType" + values: { + "UnknownShadingLanguage": 0, + "GLSL": 1, + "HLSL": 2 + } + } + Enum { + name: "ShaderCompilationType" + values: { + "RuntimeCompilation": 1, + "OfflineCompilation": 2 + } + } + Enum { + name: "ShaderSourceType" + values: { + "ShaderSourceString": 1, + "ShaderSourceFile": 2, + "ShaderByteCode": 4 + } + } + Enum { + name: "OpenGLContextProfile" + values: { + "OpenGLNoProfile": 0, + "OpenGLCoreProfile": 1, + "OpenGLCompatibilityProfile": 2 + } + } + Enum { + name: "RenderableType" + values: { + "SurfaceFormatUnspecified": 0, + "SurfaceFormatOpenGL": 1, + "SurfaceFormatOpenGLES": 2 + } + } + Property { name: "api"; type: "GraphicsApi"; isReadonly: true } + Property { name: "shaderType"; type: "ShaderType"; isReadonly: true } + Property { name: "shaderCompilationType"; type: "ShaderCompilationType"; isReadonly: true } + Property { name: "shaderSourceType"; type: "ShaderSourceType"; isReadonly: true } + Property { name: "majorVersion"; type: "int"; isReadonly: true } + Property { name: "minorVersion"; type: "int"; isReadonly: true } + Property { name: "profile"; type: "OpenGLContextProfile"; isReadonly: true } + Property { name: "renderableType"; type: "RenderableType"; isReadonly: true } + } + Component { + name: "QQuickGrid" + defaultProperty: "data" + prototype: "QQuickBasePositioner" + exports: ["QtQuick/Grid 2.0", "QtQuick/Grid 2.1", "QtQuick/Grid 2.6"] + exportMetaObjectRevisions: [0, 1, 6] + Enum { + name: "Flow" + values: { + "LeftToRight": 0, + "TopToBottom": 1 + } + } + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Property { name: "rows"; type: "int" } + Property { name: "columns"; type: "int" } + Property { name: "rowSpacing"; type: "double" } + Property { name: "columnSpacing"; type: "double" } + Property { name: "flow"; type: "Flow" } + Property { name: "layoutDirection"; type: "Qt::LayoutDirection" } + Property { name: "effectiveLayoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + Property { name: "horizontalItemAlignment"; revision: 1; type: "HAlignment" } + Property { + name: "effectiveHorizontalItemAlignment" + revision: 1 + type: "HAlignment" + isReadonly: true + } + Property { name: "verticalItemAlignment"; revision: 1; type: "VAlignment" } + Signal { + name: "horizontalAlignmentChanged" + revision: 1 + Parameter { name: "alignment"; type: "HAlignment" } + } + Signal { + name: "effectiveHorizontalAlignmentChanged" + revision: 1 + Parameter { name: "alignment"; type: "HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + revision: 1 + Parameter { name: "alignment"; type: "VAlignment" } + } + } + Component { + name: "QQuickGridMesh" + prototype: "QQuickShaderEffectMesh" + exports: ["QtQuick/GridMesh 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "resolution"; type: "QSize" } + } + Component { + name: "QQuickGridView" + defaultProperty: "data" + prototype: "QQuickItemView" + exports: [ + "QtQuick/GridView 2.0", + "QtQuick/GridView 2.1", + "QtQuick/GridView 2.7" + ] + exportMetaObjectRevisions: [0, 1, 7] + attachedType: "QQuickGridViewAttached" + Enum { + name: "Flow" + values: { + "FlowLeftToRight": 0, + "FlowTopToBottom": 2 + } + } + Enum { + name: "SnapMode" + values: { + "NoSnap": 0, + "SnapToRow": 1, + "SnapOneRow": 2 + } + } + Property { name: "flow"; type: "Flow" } + Property { name: "cellWidth"; type: "double" } + Property { name: "cellHeight"; type: "double" } + Property { name: "snapMode"; type: "SnapMode" } + Signal { name: "highlightMoveDurationChanged" } + Method { name: "moveCurrentIndexUp" } + Method { name: "moveCurrentIndexDown" } + Method { name: "moveCurrentIndexLeft" } + Method { name: "moveCurrentIndexRight" } + } + Component { name: "QQuickGridViewAttached"; prototype: "QQuickItemViewAttached" } + Component { + name: "QQuickImage" + defaultProperty: "data" + prototype: "QQuickImageBase" + exports: [ + "QtQuick/Image 2.0", + "QtQuick/Image 2.3", + "QtQuick/Image 2.5" + ] + exportMetaObjectRevisions: [0, 1, 2] + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Enum { + name: "FillMode" + values: { + "Stretch": 0, + "PreserveAspectFit": 1, + "PreserveAspectCrop": 2, + "Tile": 3, + "TileVertically": 4, + "TileHorizontally": 5, + "Pad": 6 + } + } + Property { name: "fillMode"; type: "FillMode" } + Property { name: "paintedWidth"; type: "double"; isReadonly: true } + Property { name: "paintedHeight"; type: "double"; isReadonly: true } + Property { name: "horizontalAlignment"; type: "HAlignment" } + Property { name: "verticalAlignment"; type: "VAlignment" } + Property { name: "mipmap"; revision: 1; type: "bool" } + Property { name: "autoTransform"; revision: 2; type: "bool" } + Signal { name: "paintedGeometryChanged" } + Signal { + name: "horizontalAlignmentChanged" + Parameter { name: "alignment"; type: "HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + Parameter { name: "alignment"; type: "VAlignment" } + } + Signal { + name: "mipmapChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { name: "autoTransformChanged"; revision: 2 } + } + Component { + name: "QQuickImageBase" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + Enum { + name: "Status" + values: { + "Null": 0, + "Ready": 1, + "Loading": 2, + "Error": 3 + } + } + Property { name: "status"; type: "Status"; isReadonly: true } + Property { name: "source"; type: "QUrl" } + Property { name: "progress"; type: "double"; isReadonly: true } + Property { name: "asynchronous"; type: "bool" } + Property { name: "cache"; type: "bool" } + Property { name: "sourceSize"; type: "QSize" } + Property { name: "mirror"; type: "bool" } + Signal { + name: "sourceChanged" + Parameter { type: "QUrl" } + } + Signal { + name: "statusChanged" + Parameter { type: "QQuickImageBase::Status" } + } + Signal { + name: "progressChanged" + Parameter { name: "progress"; type: "double" } + } + } + Component { + name: "QQuickImplicitSizeItem" + defaultProperty: "data" + prototype: "QQuickItem" + Property { name: "implicitWidth"; type: "double"; isReadonly: true } + Property { name: "implicitHeight"; type: "double"; isReadonly: true } + Signal { name: "implicitWidthChanged2"; revision: 1 } + Signal { name: "implicitHeightChanged2"; revision: 1 } + } + Component { + name: "QQuickIntValidator" + prototype: "QIntValidator" + exports: ["QtQuick/IntValidator 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "locale"; type: "string" } + Signal { name: "localeNameChanged" } + } + Component { + name: "QQuickItem" + defaultProperty: "data" + prototype: "QObject" + exports: [ + "QtQuick/Item 2.0", + "QtQuick/Item 2.1", + "QtQuick/Item 2.4", + "QtQuick/Item 2.7" + ] + exportMetaObjectRevisions: [0, 1, 2, 7] + Enum { + name: "TransformOrigin" + values: { + "TopLeft": 0, + "Top": 1, + "TopRight": 2, + "Left": 3, + "Center": 4, + "Right": 5, + "BottomLeft": 6, + "Bottom": 7, + "BottomRight": 8 + } + } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + name: "QQuickItemGrabResult" + prototype: "QObject" + Property { name: "image"; type: "QImage"; isReadonly: true } + Property { name: "url"; type: "QUrl"; isReadonly: true } + Signal { name: "ready" } + Method { + name: "saveToFile" + type: "bool" + Parameter { name: "fileName"; type: "string" } + } + } + Component { + name: "QQuickItemLayer" + prototype: "QObject" + Property { name: "enabled"; type: "bool" } + Property { name: "textureSize"; type: "QSize" } + Property { name: "sourceRect"; type: "QRectF" } + Property { name: "mipmap"; type: "bool" } + Property { name: "smooth"; type: "bool" } + Property { name: "wrapMode"; type: "QQuickShaderEffectSource::WrapMode" } + Property { name: "format"; type: "QQuickShaderEffectSource::Format" } + Property { name: "samplerName"; type: "QByteArray" } + Property { name: "effect"; type: "QQmlComponent"; isPointer: true } + Property { name: "textureMirroring"; type: "QQuickShaderEffectSource::TextureMirroring" } + Signal { + name: "enabledChanged" + Parameter { name: "enabled"; type: "bool" } + } + Signal { + name: "sizeChanged" + Parameter { name: "size"; type: "QSize" } + } + Signal { + name: "mipmapChanged" + Parameter { name: "mipmap"; type: "bool" } + } + Signal { + name: "wrapModeChanged" + Parameter { name: "mode"; type: "QQuickShaderEffectSource::WrapMode" } + } + Signal { + name: "nameChanged" + Parameter { name: "name"; type: "QByteArray" } + } + Signal { + name: "effectChanged" + Parameter { name: "component"; type: "QQmlComponent"; isPointer: true } + } + Signal { + name: "smoothChanged" + Parameter { name: "smooth"; type: "bool" } + } + Signal { + name: "formatChanged" + Parameter { name: "format"; type: "QQuickShaderEffectSource::Format" } + } + Signal { + name: "sourceRectChanged" + Parameter { name: "sourceRect"; type: "QRectF" } + } + Signal { + name: "textureMirroringChanged" + Parameter { name: "mirroring"; type: "QQuickShaderEffectSource::TextureMirroring" } + } + } + Component { + name: "QQuickItemView" + defaultProperty: "flickableData" + prototype: "QQuickFlickable" + exports: ["QtQuick/ItemView 2.1", "QtQuick/ItemView 2.3"] + isCreatable: false + exportMetaObjectRevisions: [1, 2] + Enum { + name: "LayoutDirection" + values: { + "LeftToRight": 0, + "RightToLeft": 1, + "VerticalTopToBottom": 2, + "VerticalBottomToTop": 3 + } + } + Enum { + name: "VerticalLayoutDirection" + values: { + "TopToBottom": 2, + "BottomToTop": 3 + } + } + Enum { + name: "HighlightRangeMode" + values: { + "NoHighlightRange": 0, + "ApplyRange": 1, + "StrictlyEnforceRange": 2 + } + } + Enum { + name: "PositionMode" + values: { + "Beginning": 0, + "Center": 1, + "End": 2, + "Visible": 3, + "Contain": 4, + "SnapPosition": 5 + } + } + Property { name: "model"; type: "QVariant" } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "currentIndex"; type: "int" } + Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "keyNavigationWraps"; type: "bool" } + Property { name: "keyNavigationEnabled"; revision: 7; type: "bool" } + Property { name: "cacheBuffer"; type: "int" } + Property { name: "displayMarginBeginning"; revision: 2; type: "int" } + Property { name: "displayMarginEnd"; revision: 2; type: "int" } + Property { name: "layoutDirection"; type: "Qt::LayoutDirection" } + Property { name: "effectiveLayoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + Property { name: "verticalLayoutDirection"; type: "VerticalLayoutDirection" } + Property { name: "header"; type: "QQmlComponent"; isPointer: true } + Property { name: "headerItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "footer"; type: "QQmlComponent"; isPointer: true } + Property { name: "footerItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "populate"; type: "QQuickTransition"; isPointer: true } + Property { name: "add"; type: "QQuickTransition"; isPointer: true } + Property { name: "addDisplaced"; type: "QQuickTransition"; isPointer: true } + Property { name: "move"; type: "QQuickTransition"; isPointer: true } + Property { name: "moveDisplaced"; type: "QQuickTransition"; isPointer: true } + Property { name: "remove"; type: "QQuickTransition"; isPointer: true } + Property { name: "removeDisplaced"; type: "QQuickTransition"; isPointer: true } + Property { name: "displaced"; type: "QQuickTransition"; isPointer: true } + Property { name: "highlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "highlightItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "highlightFollowsCurrentItem"; type: "bool" } + Property { name: "highlightRangeMode"; type: "HighlightRangeMode" } + Property { name: "preferredHighlightBegin"; type: "double" } + Property { name: "preferredHighlightEnd"; type: "double" } + Property { name: "highlightMoveDuration"; type: "int" } + Signal { name: "keyNavigationEnabledChanged"; revision: 7 } + Signal { name: "populateTransitionChanged" } + Signal { name: "addTransitionChanged" } + Signal { name: "addDisplacedTransitionChanged" } + Signal { name: "moveTransitionChanged" } + Signal { name: "moveDisplacedTransitionChanged" } + Signal { name: "removeTransitionChanged" } + Signal { name: "removeDisplacedTransitionChanged" } + Signal { name: "displacedTransitionChanged" } + Method { + name: "positionViewAtIndex" + Parameter { name: "index"; type: "int" } + Parameter { name: "mode"; type: "int" } + } + Method { + name: "indexAt" + type: "int" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + Method { + name: "itemAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + Method { name: "positionViewAtBeginning" } + Method { name: "positionViewAtEnd" } + Method { name: "forceLayout"; revision: 1 } + } + Component { + name: "QQuickItemViewAttached" + prototype: "QObject" + Property { name: "view"; type: "QQuickItemView"; isReadonly: true; isPointer: true } + Property { name: "isCurrentItem"; type: "bool"; isReadonly: true } + Property { name: "delayRemove"; type: "bool" } + Property { name: "section"; type: "string"; isReadonly: true } + Property { name: "previousSection"; type: "string"; isReadonly: true } + Property { name: "nextSection"; type: "string"; isReadonly: true } + Signal { name: "currentItemChanged" } + Signal { name: "add" } + Signal { name: "remove" } + Signal { name: "prevSectionChanged" } + } + Component { + name: "QQuickKeyEvent" + prototype: "QObject" + Property { name: "key"; type: "int"; isReadonly: true } + Property { name: "text"; type: "string"; isReadonly: true } + Property { name: "modifiers"; type: "int"; isReadonly: true } + Property { name: "isAutoRepeat"; type: "bool"; isReadonly: true } + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "nativeScanCode"; type: "uint"; isReadonly: true } + Property { name: "accepted"; type: "bool" } + Method { + name: "matches" + revision: 2 + type: "bool" + Parameter { name: "key"; type: "QKeySequence::StandardKey" } + } + } + Component { + name: "QQuickKeyNavigationAttached" + prototype: "QObject" + exports: ["QtQuick/KeyNavigation 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Priority" + values: { + "BeforeItem": 0, + "AfterItem": 1 + } + } + Property { name: "left"; type: "QQuickItem"; isPointer: true } + Property { name: "right"; type: "QQuickItem"; isPointer: true } + Property { name: "up"; type: "QQuickItem"; isPointer: true } + Property { name: "down"; type: "QQuickItem"; isPointer: true } + Property { name: "tab"; type: "QQuickItem"; isPointer: true } + Property { name: "backtab"; type: "QQuickItem"; isPointer: true } + Property { name: "priority"; type: "Priority" } + } + Component { + name: "QQuickKeysAttached" + prototype: "QObject" + exports: ["QtQuick/Keys 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Priority" + values: { + "BeforeItem": 0, + "AfterItem": 1 + } + } + Property { name: "enabled"; type: "bool" } + Property { name: "forwardTo"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "priority"; type: "Priority" } + Signal { + name: "pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "released" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit0Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit1Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit2Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit3Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit4Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit5Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit6Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit7Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit8Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit9Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "leftPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "rightPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "upPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "downPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "tabPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "backtabPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "asteriskPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "numberSignPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "escapePressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "returnPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "enterPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "deletePressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "spacePressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "backPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "cancelPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "selectPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "yesPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "noPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "context1Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "context2Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "context3Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "context4Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "callPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "hangupPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "flipPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "menuPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "volumeUpPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "volumeDownPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + } + Component { + name: "QQuickLayoutMirroringAttached" + prototype: "QObject" + exports: ["QtQuick/LayoutMirroring 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "enabled"; type: "bool" } + Property { name: "childrenInherit"; type: "bool" } + } + Component { + name: "QQuickListView" + defaultProperty: "data" + prototype: "QQuickItemView" + exports: [ + "QtQuick/ListView 2.0", + "QtQuick/ListView 2.1", + "QtQuick/ListView 2.4", + "QtQuick/ListView 2.7" + ] + exportMetaObjectRevisions: [0, 1, 2, 7] + attachedType: "QQuickListViewAttached" + Enum { + name: "Orientation" + values: { + "Horizontal": 1, + "Vertical": 2 + } + } + Enum { + name: "SnapMode" + values: { + "NoSnap": 0, + "SnapToItem": 1, + "SnapOneItem": 2 + } + } + Enum { + name: "HeaderPositioning" + values: { + "InlineHeader": 0, + "OverlayHeader": 1, + "PullBackHeader": 2 + } + } + Enum { + name: "FooterPositioning" + values: { + "InlineFooter": 0, + "OverlayFooter": 1, + "PullBackFooter": 2 + } + } + Property { name: "highlightMoveVelocity"; type: "double" } + Property { name: "highlightResizeVelocity"; type: "double" } + Property { name: "highlightResizeDuration"; type: "int" } + Property { name: "spacing"; type: "double" } + Property { name: "orientation"; type: "Orientation" } + Property { name: "section"; type: "QQuickViewSection"; isReadonly: true; isPointer: true } + Property { name: "currentSection"; type: "string"; isReadonly: true } + Property { name: "snapMode"; type: "SnapMode" } + Property { name: "headerPositioning"; revision: 2; type: "HeaderPositioning" } + Property { name: "footerPositioning"; revision: 2; type: "FooterPositioning" } + Signal { name: "headerPositioningChanged"; revision: 2 } + Signal { name: "footerPositioningChanged"; revision: 2 } + Method { name: "incrementCurrentIndex" } + Method { name: "decrementCurrentIndex" } + } + Component { name: "QQuickListViewAttached"; prototype: "QQuickItemViewAttached" } + Component { + name: "QQuickLoader" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: ["QtQuick/Loader 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "Status" + values: { + "Null": 0, + "Ready": 1, + "Loading": 2, + "Error": 3 + } + } + Property { name: "active"; type: "bool" } + Property { name: "source"; type: "QUrl" } + Property { name: "sourceComponent"; type: "QQmlComponent"; isPointer: true } + Property { name: "item"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "status"; type: "Status"; isReadonly: true } + Property { name: "progress"; type: "double"; isReadonly: true } + Property { name: "asynchronous"; type: "bool" } + Signal { name: "loaded" } + Method { + name: "setSource" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + } + Component { + name: "QQuickMatrix4x4" + prototype: "QQuickTransform" + exports: ["QtQuick/Matrix4x4 2.3"] + exportMetaObjectRevisions: [0] + Property { name: "matrix"; type: "QMatrix4x4" } + } + Component { + name: "QQuickMouseArea" + defaultProperty: "data" + prototype: "QQuickItem" + exports: [ + "QtQuick/MouseArea 2.0", + "QtQuick/MouseArea 2.4", + "QtQuick/MouseArea 2.5" + ] + exportMetaObjectRevisions: [0, 1, 2] + Property { name: "mouseX"; type: "double"; isReadonly: true } + Property { name: "mouseY"; type: "double"; isReadonly: true } + Property { name: "containsMouse"; type: "bool"; isReadonly: true } + Property { name: "pressed"; type: "bool"; isReadonly: true } + Property { name: "enabled"; type: "bool" } + Property { name: "scrollGestureEnabled"; revision: 2; type: "bool" } + Property { name: "pressedButtons"; type: "Qt::MouseButtons"; isReadonly: true } + Property { name: "acceptedButtons"; type: "Qt::MouseButtons" } + Property { name: "hoverEnabled"; type: "bool" } + Property { name: "drag"; type: "QQuickDrag"; isReadonly: true; isPointer: true } + Property { name: "preventStealing"; type: "bool" } + Property { name: "propagateComposedEvents"; type: "bool" } + Property { name: "cursorShape"; type: "Qt::CursorShape" } + Property { name: "containsPress"; revision: 1; type: "bool"; isReadonly: true } + Signal { name: "hoveredChanged" } + Signal { name: "scrollGestureEnabledChanged"; revision: 2 } + Signal { + name: "positionChanged" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "mouseXChanged" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "mouseYChanged" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "pressed" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "pressAndHold" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "released" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "clicked" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "doubleClicked" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "wheel" + Parameter { name: "wheel"; type: "QQuickWheelEvent"; isPointer: true } + } + Signal { name: "entered" } + Signal { name: "exited" } + Signal { name: "canceled" } + Signal { name: "containsPressChanged"; revision: 1 } + } + Component { + name: "QQuickMultiPointTouchArea" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/MultiPointTouchArea 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "touchPoints"; type: "QQuickTouchPoint"; isList: true; isReadonly: true } + Property { name: "minimumTouchPoints"; type: "int" } + Property { name: "maximumTouchPoints"; type: "int" } + Property { name: "mouseEnabled"; type: "bool" } + Signal { + name: "pressed" + Parameter { name: "touchPoints"; type: "QList" } + } + Signal { + name: "updated" + Parameter { name: "touchPoints"; type: "QList" } + } + Signal { + name: "released" + Parameter { name: "touchPoints"; type: "QList" } + } + Signal { + name: "canceled" + Parameter { name: "touchPoints"; type: "QList" } + } + Signal { + name: "gestureStarted" + Parameter { name: "gesture"; type: "QQuickGrabGestureEvent"; isPointer: true } + } + Signal { + name: "touchUpdated" + Parameter { name: "touchPoints"; type: "QList" } + } + } + Component { + name: "QQuickNumberAnimation" + prototype: "QQuickPropertyAnimation" + exports: ["QtQuick/NumberAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "from"; type: "double" } + Property { name: "to"; type: "double" } + } + Component { + name: "QQuickOpacityAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/OpacityAnimator 2.2"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickOpenGLInfo" + prototype: "QObject" + exports: ["QtQuick/OpenGLInfo 2.4"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "ContextProfile" + values: { + "NoProfile": 0, + "CoreProfile": 1, + "CompatibilityProfile": 2 + } + } + Enum { + name: "RenderableType" + values: { + "Unspecified": 0, + "OpenGL": 1, + "OpenGLES": 2 + } + } + Property { name: "majorVersion"; type: "int"; isReadonly: true } + Property { name: "minorVersion"; type: "int"; isReadonly: true } + Property { name: "profile"; type: "ContextProfile"; isReadonly: true } + Property { name: "renderableType"; type: "RenderableType"; isReadonly: true } + } + Component { + name: "QQuickPackage" defaultProperty: "data" + prototype: "QObject" + exports: ["QtQuick/Package 2.0"] + exportMetaObjectRevisions: [0] + attachedType: "QQuickPackageAttached" + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } } Component { + name: "QQuickPackageAttached" + prototype: "QObject" + Property { name: "name"; type: "string" } + } + Component { + name: "QQuickPaintedItem" + defaultProperty: "data" prototype: "QQuickItem" - name: "QtQuick.Controls.Material.impl/BoxShadow 2.0" - exports: ["QtQuick.Controls.Material.impl/BoxShadow 2.0"] + exports: ["QtQuick/PaintedItem 2.0"] + isCreatable: false exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "offsetX"; type: "int" } - Property { name: "offsetY"; type: "int" } - Property { name: "blurRadius"; type: "int" } - Property { name: "spreadRadius"; type: "int" } - Property { name: "source"; type: "QQuickItem"; isPointer: true } - Property { name: "fullWidth"; type: "bool" } - Property { name: "fullHeight"; type: "bool" } - Property { name: "glowRadius"; type: "double" } - Property { name: "spread"; type: "double" } - Property { name: "color"; type: "QColor" } - Property { name: "cornerRadius"; type: "double" } - Property { name: "cached"; type: "bool" } + Enum { + name: "RenderTarget" + values: { + "Image": 0, + "FramebufferObject": 1, + "InvertedYFramebufferObject": 2 + } + } + Property { name: "contentsSize"; type: "QSize" } + Property { name: "fillColor"; type: "QColor" } + Property { name: "contentsScale"; type: "double" } + Property { name: "renderTarget"; type: "RenderTarget" } + Property { name: "textureSize"; type: "QSize" } } Component { - prototype: "QQuickBusyIndicator" - name: "QtQuick.Controls/BusyIndicator 2.0" - exports: ["QtQuick.Controls/BusyIndicator 2.0"] + name: "QQuickParallelAnimation" + defaultProperty: "animations" + prototype: "QQuickAnimationGroup" + exports: ["QtQuick/ParallelAnimation 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" } Component { - prototype: "QQuickButton" - name: "QtQuick.Controls/Button 2.0" - exports: ["QtQuick.Controls/Button 2.0"] + name: "QQuickParentAnimation" + defaultProperty: "animations" + prototype: "QQuickAnimationGroup" + exports: ["QtQuick/ParentAnimation 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "newParent"; type: "QQuickItem"; isPointer: true } + Property { name: "via"; type: "QQuickItem"; isPointer: true } } Component { - prototype: "QQuickCheckBox" - name: "QtQuick.Controls/CheckBox 2.0" - exports: ["QtQuick.Controls/CheckBox 2.0"] + name: "QQuickParentChange" + prototype: "QQuickStateOperation" + exports: ["QtQuick/ParentChange 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "x"; type: "QQmlScriptString" } + Property { name: "y"; type: "QQmlScriptString" } + Property { name: "width"; type: "QQmlScriptString" } + Property { name: "height"; type: "QQmlScriptString" } + Property { name: "scale"; type: "QQmlScriptString" } + Property { name: "rotation"; type: "QQmlScriptString" } } Component { - prototype: "QQuickCheckDelegate" - name: "QtQuick.Controls/CheckDelegate 2.0" - exports: ["QtQuick.Controls/CheckDelegate 2.0"] + name: "QQuickPath" + defaultProperty: "pathElements" + prototype: "QObject" + exports: ["QtQuick/Path 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "pathElements"; type: "QQuickPathElement"; isList: true; isReadonly: true } + Property { name: "startX"; type: "double" } + Property { name: "startY"; type: "double" } + Property { name: "closed"; type: "bool"; isReadonly: true } + Signal { name: "changed" } } Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.Material.impl/CheckIndicator 2.0" - exports: ["QtQuick.Controls.Material.impl/CheckIndicator 2.0"] + name: "QQuickPathAnimation" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/PathAnimation 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } + Enum { + name: "Orientation" + values: { + "Fixed": 0, + "RightFirst": 1, + "LeftFirst": 2, + "BottomFirst": 3, + "TopFirst": 4 + } + } + Property { name: "duration"; type: "int" } + Property { name: "easing"; type: "QEasingCurve" } + Property { name: "path"; type: "QQuickPath"; isPointer: true } + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "orientation"; type: "Orientation" } + Property { name: "anchorPoint"; type: "QPointF" } + Property { name: "orientationEntryDuration"; type: "int" } + Property { name: "orientationExitDuration"; type: "int" } + Property { name: "endRotation"; type: "double" } + Signal { + name: "durationChanged" + Parameter { type: "int" } + } + Signal { + name: "easingChanged" + Parameter { type: "QEasingCurve" } + } + Signal { + name: "orientationChanged" + Parameter { type: "Orientation" } + } + Signal { + name: "anchorPointChanged" + Parameter { type: "QPointF" } + } + Signal { + name: "orientationEntryDurationChanged" + Parameter { type: "double" } + } + Signal { + name: "orientationExitDurationChanged" + Parameter { type: "double" } + } + Signal { + name: "endRotationChanged" + Parameter { type: "double" } + } } Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.impl/CheckIndicator 2.0" - exports: ["QtQuick.Controls.impl/CheckIndicator 2.0"] + name: "QQuickPathArc" + prototype: "QQuickCurve" + exports: ["QtQuick/PathArc 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } + Enum { + name: "ArcDirection" + values: { + "Clockwise": 0, + "Counterclockwise": 1 + } + } + Property { name: "radiusX"; type: "double" } + Property { name: "radiusY"; type: "double" } + Property { name: "useLargeArc"; type: "bool" } + Property { name: "direction"; type: "ArcDirection" } } Component { - prototype: "QQuickComboBox" - name: "QtQuick.Controls/ComboBox 2.0" - exports: ["QtQuick.Controls/ComboBox 2.0"] + name: "QQuickPathAttribute" + prototype: "QQuickPathElement" + exports: ["QtQuick/PathAttribute 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "name"; type: "string" } + Property { name: "value"; type: "double" } } Component { - prototype: "QQuickDial" - name: "QtQuick.Controls/Dial 2.0" - exports: ["QtQuick.Controls/Dial 2.0"] + name: "QQuickPathCatmullRomCurve" + prototype: "QQuickCurve" + exports: ["QtQuick/PathCurve 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" } Component { - prototype: "QQuickDrawer" - name: "QtQuick.Controls/Drawer 2.0" - exports: ["QtQuick.Controls/Drawer 2.0"] + name: "QQuickPathCubic" + prototype: "QQuickCurve" + exports: ["QtQuick/PathCubic 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + Property { name: "control1X"; type: "double" } + Property { name: "control1Y"; type: "double" } + Property { name: "control2X"; type: "double" } + Property { name: "control2Y"; type: "double" } + Property { name: "relativeControl1X"; type: "double" } + Property { name: "relativeControl1Y"; type: "double" } + Property { name: "relativeControl2X"; type: "double" } + Property { name: "relativeControl2Y"; type: "double" } } Component { - prototype: "QQuickItem" - name: "QtQuick.Controls.Material.impl/ElevationEffect 2.0" - exports: ["QtQuick.Controls.Material.impl/ElevationEffect 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "source"; type: "QVariant" } - Property { name: "elevation"; type: "int" } - Property { name: "fullWidth"; type: "bool" } - Property { name: "fullHeight"; type: "bool" } - Property { name: "sourceItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { name: "_shadows"; type: "QVariant"; isReadonly: true } - Property { name: "_shadow"; type: "QVariant"; isReadonly: true } + name: "QQuickPathElement" + prototype: "QObject" + Signal { name: "changed" } } Component { + name: "QQuickPathInterpolator" prototype: "QObject" - name: "FluidStyle 1.0" - exports: ["FluidStyle 1.0"] + exports: ["QtQuick/PathInterpolator 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - isCreatable: false - isSingleton: true - Property { name: "iconColorLight"; type: "QColor"; isReadonly: true } - Property { name: "iconColorDark"; type: "QColor"; isReadonly: true } - Property { name: "display4Font"; type: "QFont"; isReadonly: true } - Property { name: "display3Font"; type: "QFont"; isReadonly: true } - Property { name: "display2Font"; type: "QFont"; isReadonly: true } - Property { name: "display1Font"; type: "QFont"; isReadonly: true } - Property { name: "headlineFont"; type: "QFont"; isReadonly: true } - Property { name: "titleFont"; type: "QFont"; isReadonly: true } - Property { name: "subheadingFont"; type: "QFont"; isReadonly: true } - Property { name: "body2Font"; type: "QFont"; isReadonly: true } - Property { name: "body1Font"; type: "QFont"; isReadonly: true } - Property { name: "captionFont"; type: "QFont"; isReadonly: true } - Property { name: "buttonFont"; type: "QFont"; isReadonly: true } - Property { name: "subheaderFont"; type: "QFont"; isReadonly: true } - Property { name: "dialogFont"; type: "QFont"; isReadonly: true } + Property { name: "path"; type: "QQuickPath"; isPointer: true } + Property { name: "progress"; type: "double" } + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "angle"; type: "double"; isReadonly: true } } Component { - prototype: "QQuickFrame" - name: "QtQuick.Controls/Frame 2.0" - exports: ["QtQuick.Controls/Frame 2.0"] + name: "QQuickPathLine" + prototype: "QQuickCurve" + exports: ["QtQuick/PathLine 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" } Component { - prototype: "QQuickGroupBox" - name: "QtQuick.Controls/GroupBox 2.0" - exports: ["QtQuick.Controls/GroupBox 2.0"] + name: "QQuickPathPercent" + prototype: "QQuickPathElement" + exports: ["QtQuick/PathPercent 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + Property { name: "value"; type: "double" } } Component { - prototype: "QQuickItemDelegate" - name: "QtQuick.Controls/ItemDelegate 2.0" - exports: ["QtQuick.Controls/ItemDelegate 2.0"] + name: "QQuickPathQuad" + prototype: "QQuickCurve" + exports: ["QtQuick/PathQuad 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "controlX"; type: "double" } + Property { name: "controlY"; type: "double" } + Property { name: "relativeControlX"; type: "double" } + Property { name: "relativeControlY"; type: "double" } } Component { - prototype: "QQuickLabel" - name: "QtQuick.Controls/Label 2.0" - exports: ["QtQuick.Controls/Label 2.0"] + name: "QQuickPathSvg" + prototype: "QQuickCurve" + exports: ["QtQuick/PathSvg 2.0"] exportMetaObjectRevisions: [0] - isComposite: true + Property { name: "path"; type: "string" } + } + Component { + name: "QQuickPathView" defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/PathView 2.0", "QtQuick/PathView 2.7"] + exportMetaObjectRevisions: [0, 7] + attachedType: "QQuickPathViewAttached" + Enum { + name: "HighlightRangeMode" + values: { + "NoHighlightRange": 0, + "ApplyRange": 1, + "StrictlyEnforceRange": 2 + } + } + Enum { + name: "SnapMode" + values: { + "NoSnap": 0, + "SnapToItem": 1, + "SnapOneItem": 2 + } + } + Enum { + name: "MovementDirection" + values: { + "Shortest": 0, + "Negative": 1, + "Positive": 2 + } + } + Enum { + name: "PositionMode" + values: { + "Beginning": 0, + "Center": 1, + "End": 2, + "Contain": 4, + "SnapPosition": 5 + } + } + Property { name: "model"; type: "QVariant" } + Property { name: "path"; type: "QQuickPath"; isPointer: true } + Property { name: "currentIndex"; type: "int" } + Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "offset"; type: "double" } + Property { name: "highlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "highlightItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "preferredHighlightBegin"; type: "double" } + Property { name: "preferredHighlightEnd"; type: "double" } + Property { name: "highlightRangeMode"; type: "HighlightRangeMode" } + Property { name: "highlightMoveDuration"; type: "int" } + Property { name: "dragMargin"; type: "double" } + Property { name: "maximumFlickVelocity"; type: "double" } + Property { name: "flickDeceleration"; type: "double" } + Property { name: "interactive"; type: "bool" } + Property { name: "moving"; type: "bool"; isReadonly: true } + Property { name: "flicking"; type: "bool"; isReadonly: true } + Property { name: "dragging"; type: "bool"; isReadonly: true } + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "pathItemCount"; type: "int" } + Property { name: "snapMode"; type: "SnapMode" } + Property { name: "movementDirection"; revision: 7; type: "MovementDirection" } + Property { name: "cacheItemCount"; type: "int" } + Signal { name: "snapPositionChanged" } + Signal { name: "movementStarted" } + Signal { name: "movementEnded" } + Signal { name: "movementDirectionChanged"; revision: 7 } + Signal { name: "flickStarted" } + Signal { name: "flickEnded" } + Signal { name: "dragStarted" } + Signal { name: "dragEnded" } + Method { name: "incrementCurrentIndex" } + Method { name: "decrementCurrentIndex" } + Method { + name: "positionViewAtIndex" + Parameter { name: "index"; type: "int" } + Parameter { name: "mode"; type: "int" } + } + Method { + name: "indexAt" + type: "int" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + Method { + name: "itemAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + name: "QQuickPathViewAttached" + prototype: "QObject" + Property { name: "view"; type: "QQuickPathView"; isReadonly: true; isPointer: true } + Property { name: "isCurrentItem"; type: "bool"; isReadonly: true } + Property { name: "onPath"; type: "bool"; isReadonly: true } + Signal { name: "currentItemChanged" } + Signal { name: "pathChanged" } } Component { - prototype: "QQuickMenu" - name: "QtQuick.Controls/Menu 2.0" - exports: ["QtQuick.Controls/Menu 2.0"] + name: "QQuickPauseAnimation" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/PauseAnimation 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + Property { name: "duration"; type: "int" } + Signal { + name: "durationChanged" + Parameter { type: "int" } + } + } + Component { + name: "QQuickPen" + prototype: "QObject" + Property { name: "width"; type: "double" } + Property { name: "color"; type: "QColor" } + Property { name: "pixelAligned"; type: "bool" } + Signal { name: "penChanged" } } Component { - prototype: "QQuickMenuItem" - name: "QtQuick.Controls/MenuItem 2.0" - exports: ["QtQuick.Controls/MenuItem 2.0"] + name: "QQuickPinch" + prototype: "QObject" + exports: ["QtQuick/Pinch 2.0"] exportMetaObjectRevisions: [0] - isComposite: true + Enum { + name: "Axis" + values: { + "NoDrag": 0, + "XAxis": 1, + "YAxis": 2, + "XAndYAxis": 3, + "XandYAxis": 3 + } + } + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "minimumScale"; type: "double" } + Property { name: "maximumScale"; type: "double" } + Property { name: "minimumRotation"; type: "double" } + Property { name: "maximumRotation"; type: "double" } + Property { name: "dragAxis"; type: "Axis" } + Property { name: "minimumX"; type: "double" } + Property { name: "maximumX"; type: "double" } + Property { name: "minimumY"; type: "double" } + Property { name: "maximumY"; type: "double" } + Property { name: "active"; type: "bool"; isReadonly: true } + } + Component { + name: "QQuickPinchArea" defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/PinchArea 2.0", "QtQuick/PinchArea 2.5"] + exportMetaObjectRevisions: [0, 1] + Property { name: "enabled"; type: "bool" } + Property { name: "pinch"; type: "QQuickPinch"; isReadonly: true; isPointer: true } + Signal { + name: "pinchStarted" + Parameter { name: "pinch"; type: "QQuickPinchEvent"; isPointer: true } + } + Signal { + name: "pinchUpdated" + Parameter { name: "pinch"; type: "QQuickPinchEvent"; isPointer: true } + } + Signal { + name: "pinchFinished" + Parameter { name: "pinch"; type: "QQuickPinchEvent"; isPointer: true } + } + Signal { + name: "smartZoom" + revision: 1 + Parameter { name: "pinch"; type: "QQuickPinchEvent"; isPointer: true } + } + } + Component { + name: "QQuickPinchEvent" + prototype: "QObject" + Property { name: "center"; type: "QPointF"; isReadonly: true } + Property { name: "startCenter"; type: "QPointF"; isReadonly: true } + Property { name: "previousCenter"; type: "QPointF"; isReadonly: true } + Property { name: "scale"; type: "double"; isReadonly: true } + Property { name: "previousScale"; type: "double"; isReadonly: true } + Property { name: "angle"; type: "double"; isReadonly: true } + Property { name: "previousAngle"; type: "double"; isReadonly: true } + Property { name: "rotation"; type: "double"; isReadonly: true } + Property { name: "point1"; type: "QPointF"; isReadonly: true } + Property { name: "startPoint1"; type: "QPointF"; isReadonly: true } + Property { name: "point2"; type: "QPointF"; isReadonly: true } + Property { name: "startPoint2"; type: "QPointF"; isReadonly: true } + Property { name: "pointCount"; type: "int"; isReadonly: true } + Property { name: "accepted"; type: "bool" } + } + Component { + name: "QQuickPositionerAttached" + prototype: "QObject" + Property { name: "index"; type: "int"; isReadonly: true } + Property { name: "isFirstItem"; type: "bool"; isReadonly: true } + Property { name: "isLastItem"; type: "bool"; isReadonly: true } } Component { - prototype: "QQuickPage" - name: "QtQuick.Controls/Page 2.0" - exports: ["QtQuick.Controls/Page 2.0"] + name: "QQuickPropertyAction" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/PropertyAction 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + Property { name: "target"; type: "QObject"; isPointer: true } + Property { name: "property"; type: "string" } + Property { name: "properties"; type: "string" } + Property { name: "targets"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "exclude"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "value"; type: "QVariant" } + Signal { + name: "valueChanged" + Parameter { type: "QVariant" } + } + Signal { + name: "propertiesChanged" + Parameter { type: "string" } + } } Component { - prototype: "QQuickPageIndicator" - name: "QtQuick.Controls/PageIndicator 2.0" - exports: ["QtQuick.Controls/PageIndicator 2.0"] + name: "QQuickPropertyAnimation" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/PropertyAnimation 2.0"] exportMetaObjectRevisions: [0] - isComposite: true + Property { name: "duration"; type: "int" } + Property { name: "from"; type: "QVariant" } + Property { name: "to"; type: "QVariant" } + Property { name: "easing"; type: "QEasingCurve" } + Property { name: "target"; type: "QObject"; isPointer: true } + Property { name: "property"; type: "string" } + Property { name: "properties"; type: "string" } + Property { name: "targets"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "exclude"; type: "QObject"; isList: true; isReadonly: true } + Signal { + name: "durationChanged" + Parameter { type: "int" } + } + Signal { + name: "fromChanged" + Parameter { type: "QVariant" } + } + Signal { + name: "toChanged" + Parameter { type: "QVariant" } + } + Signal { + name: "easingChanged" + Parameter { type: "QEasingCurve" } + } + Signal { + name: "propertiesChanged" + Parameter { type: "string" } + } + } + Component { + name: "QQuickPropertyChanges" + prototype: "QQuickStateOperation" + exports: ["QtQuick/PropertyChanges 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "target"; type: "QObject"; isPointer: true } + Property { name: "restoreEntryValues"; type: "bool" } + Property { name: "explicit"; type: "bool" } + } + Component { + name: "QQuickRectangle" defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/Rectangle 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "color"; type: "QColor" } + Property { name: "gradient"; type: "QQuickGradient"; isPointer: true } + Property { name: "border"; type: "QQuickPen"; isReadonly: true; isPointer: true } + Property { name: "radius"; type: "double" } } Component { - prototype: "QQuickPane" - name: "QtQuick.Controls/Pane 2.0" - exports: ["QtQuick.Controls/Pane 2.0"] + name: "QQuickRepeater" + defaultProperty: "delegate" + prototype: "QQuickItem" + exports: ["QtQuick/Repeater 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + Property { name: "model"; type: "QVariant" } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "count"; type: "int"; isReadonly: true } + Signal { + name: "itemAdded" + Parameter { name: "index"; type: "int" } + Parameter { name: "item"; type: "QQuickItem"; isPointer: true } + } + Signal { + name: "itemRemoved" + Parameter { name: "index"; type: "int" } + Parameter { name: "item"; type: "QQuickItem"; isPointer: true } + } + Method { + name: "itemAt" + type: "QQuickItem*" + Parameter { name: "index"; type: "int" } + } } Component { - prototype: "QQuickPopup" - name: "QtQuick.Controls/Popup 2.0" - exports: ["QtQuick.Controls/Popup 2.0"] + name: "QQuickRotation" + prototype: "QQuickTransform" + exports: ["QtQuick/Rotation 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + Property { name: "origin"; type: "QVector3D" } + Property { name: "angle"; type: "double" } + Property { name: "axis"; type: "QVector3D" } } Component { - prototype: "QQuickProgressBar" - name: "QtQuick.Controls/ProgressBar 2.0" - exports: ["QtQuick.Controls/ProgressBar 2.0"] + name: "QQuickRotationAnimation" + prototype: "QQuickPropertyAnimation" + exports: ["QtQuick/RotationAnimation 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Enum { + name: "RotationDirection" + values: { + "Numerical": 0, + "Shortest": 1, + "Clockwise": 2, + "Counterclockwise": 3 + } + } + Property { name: "from"; type: "double" } + Property { name: "to"; type: "double" } + Property { name: "direction"; type: "RotationDirection" } } Component { - prototype: "QQuickRadioButton" - name: "QtQuick.Controls/RadioButton 2.0" - exports: ["QtQuick.Controls/RadioButton 2.0"] + name: "QQuickRotationAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/RotationAnimator 2.2"] exportMetaObjectRevisions: [0] - isComposite: true + Enum { + name: "RotationDirection" + values: { + "Numerical": 0, + "Shortest": 1, + "Clockwise": 2, + "Counterclockwise": 3 + } + } + Property { name: "direction"; type: "RotationDirection" } + Signal { + name: "directionChanged" + Parameter { name: "dir"; type: "RotationDirection" } + } + } + Component { + name: "QQuickRow" defaultProperty: "data" + prototype: "QQuickBasePositioner" + exports: ["QtQuick/Row 2.0", "QtQuick/Row 2.6"] + exportMetaObjectRevisions: [0, 6] + Property { name: "layoutDirection"; type: "Qt::LayoutDirection" } + Property { name: "effectiveLayoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } } Component { - prototype: "QQuickRadioDelegate" - name: "QtQuick.Controls/RadioDelegate 2.0" - exports: ["QtQuick.Controls/RadioDelegate 2.0"] + name: "QQuickScale" + prototype: "QQuickTransform" + exports: ["QtQuick/Scale 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "origin"; type: "QVector3D" } + Property { name: "xScale"; type: "double" } + Property { name: "yScale"; type: "double" } + Property { name: "zScale"; type: "double" } + Signal { name: "scaleChanged" } } Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.impl/RadioIndicator 2.0" - exports: ["QtQuick.Controls.impl/RadioIndicator 2.0"] + name: "QQuickScaleAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/ScaleAnimator 2.2"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } } Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.Universal.impl/RadioIndicator 2.0" - exports: ["QtQuick.Controls.Universal.impl/RadioIndicator 2.0"] + name: "QQuickScaleGrid" + prototype: "QObject" + Property { name: "left"; type: "int" } + Property { name: "top"; type: "int" } + Property { name: "right"; type: "int" } + Property { name: "bottom"; type: "int" } + Signal { name: "borderChanged" } + } + Component { + name: "QQuickScriptAction" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/ScriptAction 2.0"] exportMetaObjectRevisions: [0] - isComposite: true + Property { name: "script"; type: "QQmlScriptString" } + Property { name: "scriptName"; type: "string" } + } + Component { + name: "QQuickSequentialAnimation" + defaultProperty: "animations" + prototype: "QQuickAnimationGroup" + exports: ["QtQuick/SequentialAnimation 2.0"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickShaderEffect" defaultProperty: "data" - Property { name: "control"; type: "QVariant" } + prototype: "QQuickItem" + exports: ["QtQuick/ShaderEffect 2.0", "QtQuick/ShaderEffect 2.4"] + exportMetaObjectRevisions: [0, 1] + Enum { + name: "CullMode" + values: { + "NoCulling": 0, + "BackFaceCulling": 1, + "FrontFaceCulling": 2 + } + } + Enum { + name: "Status" + values: { + "Compiled": 0, + "Uncompiled": 1, + "Error": 2 + } + } + Property { name: "fragmentShader"; type: "QByteArray" } + Property { name: "vertexShader"; type: "QByteArray" } + Property { name: "blending"; type: "bool" } + Property { name: "mesh"; type: "QVariant" } + Property { name: "cullMode"; type: "CullMode" } + Property { name: "log"; type: "string"; isReadonly: true } + Property { name: "status"; type: "Status"; isReadonly: true } + Property { name: "supportsAtlasTextures"; revision: 1; type: "bool" } } Component { - prototype: "QQuickRangeSlider" - name: "QtQuick.Controls/RangeSlider 2.0" - exports: ["QtQuick.Controls/RangeSlider 2.0"] + name: "QQuickShaderEffectMesh" + prototype: "QObject" + exports: ["QtQuick/ShaderEffectMesh 2.0"] + isCreatable: false exportMetaObjectRevisions: [0] - isComposite: true + Signal { name: "geometryChanged" } + } + Component { + name: "QQuickShaderEffectSource" defaultProperty: "data" + prototype: "QQuickItem" + exports: [ + "QtQuick/ShaderEffectSource 2.0", + "QtQuick/ShaderEffectSource 2.6" + ] + exportMetaObjectRevisions: [0, 1] + Enum { + name: "WrapMode" + values: { + "ClampToEdge": 0, + "RepeatHorizontally": 1, + "RepeatVertically": 2, + "Repeat": 3 + } + } + Enum { + name: "Format" + values: { + "Alpha": 6406, + "RGB": 6407, + "RGBA": 6408 + } + } + Enum { + name: "TextureMirroring" + values: { + "NoMirroring": 0, + "MirrorHorizontally": 1, + "MirrorVertically": 2 + } + } + Property { name: "wrapMode"; type: "WrapMode" } + Property { name: "sourceItem"; type: "QQuickItem"; isPointer: true } + Property { name: "sourceRect"; type: "QRectF" } + Property { name: "textureSize"; type: "QSize" } + Property { name: "format"; type: "Format" } + Property { name: "live"; type: "bool" } + Property { name: "hideSource"; type: "bool" } + Property { name: "mipmap"; type: "bool" } + Property { name: "recursive"; type: "bool" } + Property { name: "textureMirroring"; revision: 1; type: "TextureMirroring" } + Signal { name: "scheduledUpdateCompleted" } + Method { name: "scheduleUpdate" } + } + Component { + name: "QQuickShortcut" + prototype: "QObject" + exports: ["QtQuick/Shortcut 2.5", "QtQuick/Shortcut 2.6"] + exportMetaObjectRevisions: [0, 1] + Property { name: "sequence"; type: "QVariant" } + Property { name: "nativeText"; revision: 1; type: "string"; isReadonly: true } + Property { name: "portableText"; revision: 1; type: "string"; isReadonly: true } + Property { name: "enabled"; type: "bool" } + Property { name: "autoRepeat"; type: "bool" } + Property { name: "context"; type: "Qt::ShortcutContext" } + Signal { name: "activated" } + Signal { name: "activatedAmbiguously" } + } + Component { + name: "QQuickSmoothedAnimation" + prototype: "QQuickNumberAnimation" + exports: ["QtQuick/SmoothedAnimation 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "ReversingMode" + values: { + "Eased": 0, + "Immediate": 1, + "Sync": 2 + } + } + Property { name: "velocity"; type: "double" } + Property { name: "reversingMode"; type: "ReversingMode" } + Property { name: "maximumEasingTime"; type: "double" } + } + Component { + name: "QQuickSpringAnimation" + prototype: "QQuickNumberAnimation" + exports: ["QtQuick/SpringAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "velocity"; type: "double" } + Property { name: "spring"; type: "double" } + Property { name: "damping"; type: "double" } + Property { name: "epsilon"; type: "double" } + Property { name: "modulus"; type: "double" } + Property { name: "mass"; type: "double" } + Signal { name: "syncChanged" } + } + Component { + name: "QQuickSprite" + prototype: "QQuickStochasticState" + exports: ["QtQuick/Sprite 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "source"; type: "QUrl" } + Property { name: "reverse"; type: "bool" } + Property { name: "frameSync"; type: "bool" } + Property { name: "frames"; type: "int" } + Property { name: "frameCount"; type: "int" } + Property { name: "frameHeight"; type: "int" } + Property { name: "frameWidth"; type: "int" } + Property { name: "frameX"; type: "int" } + Property { name: "frameY"; type: "int" } + Property { name: "frameRate"; type: "double" } + Property { name: "frameRateVariation"; type: "double" } + Property { name: "frameDuration"; type: "int" } + Property { name: "frameDurationVariation"; type: "int" } + Signal { + name: "sourceChanged" + Parameter { name: "arg"; type: "QUrl" } + } + Signal { + name: "frameHeightChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameWidthChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "reverseChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "frameCountChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameXChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameYChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameRateChanged" + Parameter { name: "arg"; type: "double" } + } + Signal { + name: "frameRateVariationChanged" + Parameter { name: "arg"; type: "double" } + } + Signal { + name: "frameDurationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameDurationVariationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameSyncChanged" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setSource" + Parameter { name: "arg"; type: "QUrl" } + } + Method { + name: "setFrameHeight" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameWidth" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setReverse" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setFrames" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameCount" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameX" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameY" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameRate" + Parameter { name: "arg"; type: "double" } + } + Method { + name: "setFrameRateVariation" + Parameter { name: "arg"; type: "double" } + } + Method { + name: "setFrameDuration" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameDurationVariation" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameSync" + Parameter { name: "arg"; type: "bool" } + } + } + Component { + name: "QQuickSpriteSequence" + defaultProperty: "sprites" + prototype: "QQuickItem" + exports: ["QtQuick/SpriteSequence 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "running"; type: "bool" } + Property { name: "interpolate"; type: "bool" } + Property { name: "goalSprite"; type: "string" } + Property { name: "currentSprite"; type: "string"; isReadonly: true } + Property { name: "sprites"; type: "QQuickSprite"; isList: true; isReadonly: true } + Signal { + name: "runningChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "interpolateChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "goalSpriteChanged" + Parameter { name: "arg"; type: "string" } + } + Signal { + name: "currentSpriteChanged" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "jumpTo" + Parameter { name: "sprite"; type: "string" } + } + Method { + name: "setGoalSprite" + Parameter { name: "sprite"; type: "string" } + } + Method { + name: "setRunning" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setInterpolate" + Parameter { name: "arg"; type: "bool" } + } + } + Component { + name: "QQuickState" + defaultProperty: "changes" + prototype: "QObject" + exports: ["QtQuick/State 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "name"; type: "string" } + Property { name: "when"; type: "QQmlBinding"; isPointer: true } + Property { name: "extend"; type: "string" } + Property { name: "changes"; type: "QQuickStateOperation"; isList: true; isReadonly: true } + Signal { name: "completed" } + } + Component { + name: "QQuickStateChangeScript" + prototype: "QQuickStateOperation" + exports: ["QtQuick/StateChangeScript 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "script"; type: "QQmlScriptString" } + Property { name: "name"; type: "string" } + } + Component { + name: "QQuickStateGroup" + prototype: "QObject" + exports: ["QtQuick/StateGroup 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "state"; type: "string" } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + } + Component { name: "QQuickStateOperation"; prototype: "QObject" } + Component { + name: "QQuickStochasticState" + prototype: "QObject" + Property { name: "duration"; type: "int" } + Property { name: "durationVariation"; type: "int" } + Property { name: "randomStart"; type: "bool" } + Property { name: "to"; type: "QVariantMap" } + Property { name: "name"; type: "string" } + Signal { + name: "durationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "nameChanged" + Parameter { name: "arg"; type: "string" } + } + Signal { + name: "toChanged" + Parameter { name: "arg"; type: "QVariantMap" } + } + Signal { + name: "durationVariationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { name: "entered" } + Signal { + name: "randomStartChanged" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setDuration" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setName" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "setTo" + Parameter { name: "arg"; type: "QVariantMap" } + } + Method { + name: "setDurationVariation" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setRandomStart" + Parameter { name: "arg"; type: "bool" } + } } Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.Material.impl/Ripple 2.0" - exports: ["QtQuick.Controls.Material.impl/Ripple 2.0"] + name: "QQuickSystemPalette" + prototype: "QObject" + exports: ["QtQuick/SystemPalette 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - Property { name: "colored"; type: "bool" } + Enum { + name: "ColorGroup" + values: { + "Active": 0, + "Inactive": 2, + "Disabled": 1 + } + } + Property { name: "colorGroup"; type: "QQuickSystemPalette::ColorGroup" } + Property { name: "window"; type: "QColor"; isReadonly: true } + Property { name: "windowText"; type: "QColor"; isReadonly: true } + Property { name: "base"; type: "QColor"; isReadonly: true } + Property { name: "text"; type: "QColor"; isReadonly: true } + Property { name: "alternateBase"; type: "QColor"; isReadonly: true } + Property { name: "button"; type: "QColor"; isReadonly: true } + Property { name: "buttonText"; type: "QColor"; isReadonly: true } + Property { name: "light"; type: "QColor"; isReadonly: true } + Property { name: "midlight"; type: "QColor"; isReadonly: true } + Property { name: "dark"; type: "QColor"; isReadonly: true } + Property { name: "mid"; type: "QColor"; isReadonly: true } + Property { name: "shadow"; type: "QColor"; isReadonly: true } + Property { name: "highlight"; type: "QColor"; isReadonly: true } + Property { name: "highlightedText"; type: "QColor"; isReadonly: true } + Signal { name: "paletteChanged" } } Component { - prototype: "QQuickScrollBar" - name: "QtQuick.Controls/ScrollBar 2.0" - exports: ["QtQuick.Controls/ScrollBar 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true + name: "QQuickText" defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: [ + "QtQuick/Text 2.0", + "QtQuick/Text 2.2", + "QtQuick/Text 2.3", + "QtQuick/Text 2.6" + ] + exportMetaObjectRevisions: [0, 2, 3, 6] + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4, + "AlignJustify": 8 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Enum { + name: "TextStyle" + values: { + "Normal": 0, + "Outline": 1, + "Raised": 2, + "Sunken": 3 + } + } + Enum { + name: "TextFormat" + values: { + "PlainText": 0, + "RichText": 1, + "AutoText": 2, + "StyledText": 4 + } + } + Enum { + name: "TextElideMode" + values: { + "ElideLeft": 0, + "ElideRight": 1, + "ElideMiddle": 2, + "ElideNone": 3 + } + } + Enum { + name: "WrapMode" + values: { + "NoWrap": 0, + "WordWrap": 1, + "WrapAnywhere": 3, + "WrapAtWordBoundaryOrAnywhere": 4, + "Wrap": 4 + } + } + Enum { + name: "RenderType" + values: { + "QtRendering": 0, + "NativeRendering": 1 + } + } + Enum { + name: "LineHeightMode" + values: { + "ProportionalHeight": 0, + "FixedHeight": 1 + } + } + Enum { + name: "FontSizeMode" + values: { + "FixedSize": 0, + "HorizontalFit": 1, + "VerticalFit": 2, + "Fit": 3 + } + } + Property { name: "text"; type: "string" } + Property { name: "font"; type: "QFont" } + Property { name: "color"; type: "QColor" } + Property { name: "linkColor"; type: "QColor" } + Property { name: "style"; type: "TextStyle" } + Property { name: "styleColor"; type: "QColor" } + Property { name: "horizontalAlignment"; type: "HAlignment" } + Property { name: "effectiveHorizontalAlignment"; type: "HAlignment"; isReadonly: true } + Property { name: "verticalAlignment"; type: "VAlignment" } + Property { name: "wrapMode"; type: "WrapMode" } + Property { name: "lineCount"; type: "int"; isReadonly: true } + Property { name: "truncated"; type: "bool"; isReadonly: true } + Property { name: "maximumLineCount"; type: "int" } + Property { name: "textFormat"; type: "TextFormat" } + Property { name: "elide"; type: "TextElideMode" } + Property { name: "contentWidth"; type: "double"; isReadonly: true } + Property { name: "contentHeight"; type: "double"; isReadonly: true } + Property { name: "paintedWidth"; type: "double"; isReadonly: true } + Property { name: "paintedHeight"; type: "double"; isReadonly: true } + Property { name: "lineHeight"; type: "double" } + Property { name: "lineHeightMode"; type: "LineHeightMode" } + Property { name: "baseUrl"; type: "QUrl" } + Property { name: "minimumPixelSize"; type: "int" } + Property { name: "minimumPointSize"; type: "int" } + Property { name: "fontSizeMode"; type: "FontSizeMode" } + Property { name: "renderType"; type: "RenderType" } + Property { name: "hoveredLink"; revision: 2; type: "string"; isReadonly: true } + Property { name: "padding"; revision: 6; type: "double" } + Property { name: "topPadding"; revision: 6; type: "double" } + Property { name: "leftPadding"; revision: 6; type: "double" } + Property { name: "rightPadding"; revision: 6; type: "double" } + Property { name: "bottomPadding"; revision: 6; type: "double" } + Signal { + name: "textChanged" + Parameter { name: "text"; type: "string" } + } + Signal { + name: "linkActivated" + Parameter { name: "link"; type: "string" } + } + Signal { + name: "linkHovered" + revision: 2 + Parameter { name: "link"; type: "string" } + } + Signal { + name: "fontChanged" + Parameter { name: "font"; type: "QFont" } + } + Signal { + name: "styleChanged" + Parameter { name: "style"; type: "QQuickText::TextStyle" } + } + Signal { + name: "horizontalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickText::HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickText::VAlignment" } + } + Signal { + name: "textFormatChanged" + Parameter { name: "textFormat"; type: "QQuickText::TextFormat" } + } + Signal { + name: "elideModeChanged" + Parameter { name: "mode"; type: "QQuickText::TextElideMode" } + } + Signal { name: "contentSizeChanged" } + Signal { + name: "lineHeightChanged" + Parameter { name: "lineHeight"; type: "double" } + } + Signal { + name: "lineHeightModeChanged" + Parameter { name: "mode"; type: "LineHeightMode" } + } + Signal { + name: "lineLaidOut" + Parameter { name: "line"; type: "QQuickTextLine"; isPointer: true } + } + Signal { name: "paddingChanged"; revision: 6 } + Signal { name: "topPaddingChanged"; revision: 6 } + Signal { name: "leftPaddingChanged"; revision: 6 } + Signal { name: "rightPaddingChanged"; revision: 6 } + Signal { name: "bottomPaddingChanged"; revision: 6 } + Method { name: "doLayout" } + Method { + name: "linkAt" + revision: 3 + type: "string" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } } + Component { name: "QQuickTextDocument"; prototype: "QObject" } Component { - prototype: "QQuickScrollIndicator" - name: "QtQuick.Controls/ScrollIndicator 2.0" - exports: ["QtQuick.Controls/ScrollIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true + name: "QQuickTextEdit" defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: [ + "QtQuick/TextEdit 2.0", + "QtQuick/TextEdit 2.1", + "QtQuick/TextEdit 2.2", + "QtQuick/TextEdit 2.3", + "QtQuick/TextEdit 2.6", + "QtQuick/TextEdit 2.7" + ] + exportMetaObjectRevisions: [0, 1, 2, 3, 6, 7] + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4, + "AlignJustify": 8 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Enum { + name: "TextFormat" + values: { + "PlainText": 0, + "RichText": 1, + "AutoText": 2 + } + } + Enum { + name: "WrapMode" + values: { + "NoWrap": 0, + "WordWrap": 1, + "WrapAnywhere": 3, + "WrapAtWordBoundaryOrAnywhere": 4, + "Wrap": 4 + } + } + Enum { + name: "SelectionMode" + values: { + "SelectCharacters": 0, + "SelectWords": 1 + } + } + Enum { + name: "RenderType" + values: { + "QtRendering": 0, + "NativeRendering": 1 + } + } + Property { name: "text"; type: "string" } + Property { name: "color"; type: "QColor" } + Property { name: "selectionColor"; type: "QColor" } + Property { name: "selectedTextColor"; type: "QColor" } + Property { name: "font"; type: "QFont" } + Property { name: "horizontalAlignment"; type: "HAlignment" } + Property { name: "effectiveHorizontalAlignment"; type: "HAlignment"; isReadonly: true } + Property { name: "verticalAlignment"; type: "VAlignment" } + Property { name: "wrapMode"; type: "WrapMode" } + Property { name: "lineCount"; type: "int"; isReadonly: true } + Property { name: "length"; type: "int"; isReadonly: true } + Property { name: "contentWidth"; type: "double"; isReadonly: true } + Property { name: "contentHeight"; type: "double"; isReadonly: true } + Property { name: "paintedWidth"; type: "double"; isReadonly: true } + Property { name: "paintedHeight"; type: "double"; isReadonly: true } + Property { name: "textFormat"; type: "TextFormat" } + Property { name: "readOnly"; type: "bool" } + Property { name: "cursorVisible"; type: "bool" } + Property { name: "cursorPosition"; type: "int" } + Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "cursorDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "overwriteMode"; type: "bool" } + Property { name: "selectionStart"; type: "int"; isReadonly: true } + Property { name: "selectionEnd"; type: "int"; isReadonly: true } + Property { name: "selectedText"; type: "string"; isReadonly: true } + Property { name: "activeFocusOnPress"; type: "bool" } + Property { name: "persistentSelection"; type: "bool" } + Property { name: "textMargin"; type: "double" } + Property { name: "inputMethodHints"; type: "Qt::InputMethodHints" } + Property { name: "selectByKeyboard"; revision: 1; type: "bool" } + Property { name: "selectByMouse"; type: "bool" } + Property { name: "mouseSelectionMode"; type: "SelectionMode" } + Property { name: "canPaste"; type: "bool"; isReadonly: true } + Property { name: "canUndo"; type: "bool"; isReadonly: true } + Property { name: "canRedo"; type: "bool"; isReadonly: true } + Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true } + Property { name: "baseUrl"; type: "QUrl" } + Property { name: "renderType"; type: "RenderType" } + Property { + name: "textDocument" + revision: 1 + type: "QQuickTextDocument" + isReadonly: true + isPointer: true + } + Property { name: "hoveredLink"; revision: 2; type: "string"; isReadonly: true } + Property { name: "padding"; revision: 6; type: "double" } + Property { name: "topPadding"; revision: 6; type: "double" } + Property { name: "leftPadding"; revision: 6; type: "double" } + Property { name: "rightPadding"; revision: 6; type: "double" } + Property { name: "bottomPadding"; revision: 6; type: "double" } + Property { name: "preeditText"; revision: 7; type: "string"; isReadonly: true } + Signal { name: "preeditTextChanged"; revision: 7 } + Signal { name: "contentSizeChanged" } + Signal { + name: "colorChanged" + Parameter { name: "color"; type: "QColor" } + } + Signal { + name: "selectionColorChanged" + Parameter { name: "color"; type: "QColor" } + } + Signal { + name: "selectedTextColorChanged" + Parameter { name: "color"; type: "QColor" } + } + Signal { + name: "fontChanged" + Parameter { name: "font"; type: "QFont" } + } + Signal { + name: "horizontalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickTextEdit::HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickTextEdit::VAlignment" } + } + Signal { + name: "textFormatChanged" + Parameter { name: "textFormat"; type: "QQuickTextEdit::TextFormat" } + } + Signal { + name: "readOnlyChanged" + Parameter { name: "isReadOnly"; type: "bool" } + } + Signal { + name: "cursorVisibleChanged" + Parameter { name: "isCursorVisible"; type: "bool" } + } + Signal { + name: "overwriteModeChanged" + Parameter { name: "overwriteMode"; type: "bool" } + } + Signal { + name: "activeFocusOnPressChanged" + Parameter { name: "activeFocusOnPressed"; type: "bool" } + } + Signal { + name: "persistentSelectionChanged" + Parameter { name: "isPersistentSelection"; type: "bool" } + } + Signal { + name: "textMarginChanged" + Parameter { name: "textMargin"; type: "double" } + } + Signal { + name: "selectByKeyboardChanged" + revision: 1 + Parameter { name: "selectByKeyboard"; type: "bool" } + } + Signal { + name: "selectByMouseChanged" + Parameter { name: "selectByMouse"; type: "bool" } + } + Signal { + name: "mouseSelectionModeChanged" + Parameter { name: "mode"; type: "QQuickTextEdit::SelectionMode" } + } + Signal { + name: "linkActivated" + Parameter { name: "link"; type: "string" } + } + Signal { + name: "linkHovered" + revision: 2 + Parameter { name: "link"; type: "string" } + } + Signal { name: "editingFinished"; revision: 6 } + Signal { name: "paddingChanged"; revision: 6 } + Signal { name: "topPaddingChanged"; revision: 6 } + Signal { name: "leftPaddingChanged"; revision: 6 } + Signal { name: "rightPaddingChanged"; revision: 6 } + Signal { name: "bottomPaddingChanged"; revision: 6 } + Method { name: "selectAll" } + Method { name: "selectWord" } + Method { + name: "select" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { name: "deselect" } + Method { + name: "isRightToLeft" + type: "bool" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { name: "cut" } + Method { name: "copy" } + Method { name: "paste" } + Method { name: "undo" } + Method { name: "redo" } + Method { + name: "insert" + Parameter { name: "position"; type: "int" } + Parameter { name: "text"; type: "string" } + } + Method { + name: "remove" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { + name: "append" + revision: 2 + Parameter { name: "text"; type: "string" } + } + Method { name: "clear"; revision: 7 } + Method { + name: "inputMethodQuery" + revision: 4 + type: "QVariant" + Parameter { name: "query"; type: "Qt::InputMethodQuery" } + Parameter { name: "argument"; type: "QVariant" } + } + Method { + name: "positionToRectangle" + type: "QRectF" + Parameter { type: "int" } + } + Method { + name: "positionAt" + type: "int" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + Method { + name: "moveCursorSelection" + Parameter { name: "pos"; type: "int" } + } + Method { + name: "moveCursorSelection" + Parameter { name: "pos"; type: "int" } + Parameter { name: "mode"; type: "SelectionMode" } + } + Method { + name: "getText" + type: "string" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { + name: "getFormattedText" + type: "string" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { + name: "linkAt" + revision: 3 + type: "string" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } } Component { - prototype: "QQuickSlider" - name: "QtQuick.Controls/Slider 2.0" - exports: ["QtQuick.Controls/Slider 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true + name: "QQuickTextInput" defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: [ + "QtQuick/TextInput 2.0", + "QtQuick/TextInput 2.2", + "QtQuick/TextInput 2.4", + "QtQuick/TextInput 2.6", + "QtQuick/TextInput 2.7" + ] + exportMetaObjectRevisions: [0, 2, 3, 6, 7] + Enum { + name: "EchoMode" + values: { + "Normal": 0, + "NoEcho": 1, + "Password": 2, + "PasswordEchoOnEdit": 3 + } + } + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Enum { + name: "WrapMode" + values: { + "NoWrap": 0, + "WordWrap": 1, + "WrapAnywhere": 3, + "WrapAtWordBoundaryOrAnywhere": 4, + "Wrap": 4 + } + } + Enum { + name: "SelectionMode" + values: { + "SelectCharacters": 0, + "SelectWords": 1 + } + } + Enum { + name: "CursorPosition" + values: { + "CursorBetweenCharacters": 0, + "CursorOnCharacter": 1 + } + } + Enum { + name: "RenderType" + values: { + "QtRendering": 0, + "NativeRendering": 1 + } + } + Property { name: "text"; type: "string" } + Property { name: "length"; type: "int"; isReadonly: true } + Property { name: "color"; type: "QColor" } + Property { name: "selectionColor"; type: "QColor" } + Property { name: "selectedTextColor"; type: "QColor" } + Property { name: "font"; type: "QFont" } + Property { name: "horizontalAlignment"; type: "HAlignment" } + Property { name: "effectiveHorizontalAlignment"; type: "HAlignment"; isReadonly: true } + Property { name: "verticalAlignment"; type: "VAlignment" } + Property { name: "wrapMode"; type: "WrapMode" } + Property { name: "readOnly"; type: "bool" } + Property { name: "cursorVisible"; type: "bool" } + Property { name: "cursorPosition"; type: "int" } + Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "cursorDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "overwriteMode"; type: "bool" } + Property { name: "selectionStart"; type: "int"; isReadonly: true } + Property { name: "selectionEnd"; type: "int"; isReadonly: true } + Property { name: "selectedText"; type: "string"; isReadonly: true } + Property { name: "maximumLength"; type: "int" } + Property { name: "validator"; type: "QValidator"; isPointer: true } + Property { name: "inputMask"; type: "string" } + Property { name: "inputMethodHints"; type: "Qt::InputMethodHints" } + Property { name: "acceptableInput"; type: "bool"; isReadonly: true } + Property { name: "echoMode"; type: "EchoMode" } + Property { name: "activeFocusOnPress"; type: "bool" } + Property { name: "passwordCharacter"; type: "string" } + Property { name: "passwordMaskDelay"; revision: 3; type: "int" } + Property { name: "displayText"; type: "string"; isReadonly: true } + Property { name: "preeditText"; revision: 7; type: "string"; isReadonly: true } + Property { name: "autoScroll"; type: "bool" } + Property { name: "selectByMouse"; type: "bool" } + Property { name: "mouseSelectionMode"; type: "SelectionMode" } + Property { name: "persistentSelection"; type: "bool" } + Property { name: "canPaste"; type: "bool"; isReadonly: true } + Property { name: "canUndo"; type: "bool"; isReadonly: true } + Property { name: "canRedo"; type: "bool"; isReadonly: true } + Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true } + Property { name: "contentWidth"; type: "double"; isReadonly: true } + Property { name: "contentHeight"; type: "double"; isReadonly: true } + Property { name: "renderType"; type: "RenderType" } + Property { name: "padding"; revision: 6; type: "double" } + Property { name: "topPadding"; revision: 6; type: "double" } + Property { name: "leftPadding"; revision: 6; type: "double" } + Property { name: "rightPadding"; revision: 6; type: "double" } + Property { name: "bottomPadding"; revision: 6; type: "double" } + Signal { name: "accepted" } + Signal { name: "editingFinished"; revision: 2 } + Signal { + name: "fontChanged" + Parameter { name: "font"; type: "QFont" } + } + Signal { + name: "horizontalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickTextInput::HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickTextInput::VAlignment" } + } + Signal { + name: "readOnlyChanged" + Parameter { name: "isReadOnly"; type: "bool" } + } + Signal { + name: "cursorVisibleChanged" + Parameter { name: "isCursorVisible"; type: "bool" } + } + Signal { + name: "overwriteModeChanged" + Parameter { name: "overwriteMode"; type: "bool" } + } + Signal { + name: "maximumLengthChanged" + Parameter { name: "maximumLength"; type: "int" } + } + Signal { + name: "inputMaskChanged" + Parameter { name: "inputMask"; type: "string" } + } + Signal { + name: "echoModeChanged" + Parameter { name: "echoMode"; type: "QQuickTextInput::EchoMode" } + } + Signal { + name: "passwordMaskDelayChanged" + revision: 3 + Parameter { name: "delay"; type: "int" } + } + Signal { name: "preeditTextChanged"; revision: 7 } + Signal { + name: "activeFocusOnPressChanged" + Parameter { name: "activeFocusOnPress"; type: "bool" } + } + Signal { + name: "autoScrollChanged" + Parameter { name: "autoScroll"; type: "bool" } + } + Signal { + name: "selectByMouseChanged" + Parameter { name: "selectByMouse"; type: "bool" } + } + Signal { + name: "mouseSelectionModeChanged" + Parameter { name: "mode"; type: "QQuickTextInput::SelectionMode" } + } + Signal { name: "contentSizeChanged" } + Signal { name: "paddingChanged"; revision: 6 } + Signal { name: "topPaddingChanged"; revision: 6 } + Signal { name: "leftPaddingChanged"; revision: 6 } + Signal { name: "rightPaddingChanged"; revision: 6 } + Signal { name: "bottomPaddingChanged"; revision: 6 } + Method { name: "selectAll" } + Method { name: "selectWord" } + Method { + name: "select" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { name: "deselect" } + Method { + name: "isRightToLeft" + type: "bool" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { name: "cut" } + Method { name: "copy" } + Method { name: "paste" } + Method { name: "undo" } + Method { name: "redo" } + Method { + name: "insert" + Parameter { name: "position"; type: "int" } + Parameter { name: "text"; type: "string" } + } + Method { + name: "remove" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { + name: "ensureVisible" + revision: 3 + Parameter { name: "position"; type: "int" } + } + Method { name: "clear"; revision: 7 } + Method { + name: "positionAt" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "positionToRectangle" + type: "QRectF" + Parameter { name: "pos"; type: "int" } + } + Method { + name: "moveCursorSelection" + Parameter { name: "pos"; type: "int" } + } + Method { + name: "moveCursorSelection" + Parameter { name: "pos"; type: "int" } + Parameter { name: "mode"; type: "SelectionMode" } + } + Method { + name: "inputMethodQuery" + revision: 3 + type: "QVariant" + Parameter { name: "query"; type: "Qt::InputMethodQuery" } + Parameter { name: "argument"; type: "QVariant" } + } + Method { + name: "getText" + type: "string" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } } Component { - prototype: "QQuickItem" - name: "QtQuick.Controls.Material.impl/SliderHandle 2.0" - exports: ["QtQuick.Controls.Material.impl/SliderHandle 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "value"; type: "double" } - Property { name: "handleHasFocus"; type: "bool" } - Property { name: "handlePressed"; type: "bool" } - Property { name: "initialSize"; type: "int"; isReadonly: true } - Property { name: "horizontal"; type: "bool"; isReadonly: true } - Property { name: "control"; type: "QVariant"; isReadonly: true } + name: "QQuickTextLine" + prototype: "QObject" + Property { name: "number"; type: "int"; isReadonly: true } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } } Component { - prototype: "QQuickSpinBox" - name: "QtQuick.Controls/SpinBox 2.0" - exports: ["QtQuick.Controls/SpinBox 2.0"] + name: "QQuickTextMetrics" + prototype: "QObject" + exports: ["QtQuick/TextMetrics 2.4"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "font"; type: "QFont" } + Property { name: "text"; type: "string" } + Property { name: "advanceWidth"; type: "double"; isReadonly: true } + Property { name: "boundingRect"; type: "QRectF"; isReadonly: true } + Property { name: "width"; type: "double"; isReadonly: true } + Property { name: "height"; type: "double"; isReadonly: true } + Property { name: "tightBoundingRect"; type: "QRectF"; isReadonly: true } + Property { name: "elidedText"; type: "string"; isReadonly: true } + Property { name: "elide"; type: "Qt::TextElideMode" } + Property { name: "elideWidth"; type: "double" } + Signal { name: "metricsChanged" } } Component { - prototype: "QQuickStackView" - name: "QtQuick.Controls/StackView 2.0" - exports: ["QtQuick.Controls/StackView 2.0"] + name: "QQuickTouchPoint" + prototype: "QObject" + exports: ["QtQuick/TouchPoint 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "pointId"; type: "int"; isReadonly: true } + Property { name: "pressed"; type: "bool"; isReadonly: true } + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "pressure"; type: "double"; isReadonly: true } + Property { name: "velocity"; type: "QVector2D"; isReadonly: true } + Property { name: "area"; type: "QRectF"; isReadonly: true } + Property { name: "startX"; type: "double"; isReadonly: true } + Property { name: "startY"; type: "double"; isReadonly: true } + Property { name: "previousX"; type: "double"; isReadonly: true } + Property { name: "previousY"; type: "double"; isReadonly: true } + Property { name: "sceneX"; type: "double"; isReadonly: true } + Property { name: "sceneY"; type: "double"; isReadonly: true } } + Component { name: "QQuickTransform"; prototype: "QObject" } Component { - prototype: "QQuickSwipeDelegate" - name: "QtQuick.Controls/SwipeDelegate 2.0" - exports: ["QtQuick.Controls/SwipeDelegate 2.0"] + name: "QQuickTransition" + defaultProperty: "animations" + prototype: "QObject" + exports: ["QtQuick/Transition 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "from"; type: "string" } + Property { name: "to"; type: "string" } + Property { name: "reversible"; type: "bool" } + Property { name: "running"; type: "bool"; isReadonly: true } + Property { name: "animations"; type: "QQuickAbstractAnimation"; isList: true; isReadonly: true } + Property { name: "enabled"; type: "bool" } } Component { - prototype: "QQuickSwipeView" - name: "QtQuick.Controls/SwipeView 2.0" - exports: ["QtQuick.Controls/SwipeView 2.0"] + name: "QQuickTranslate" + prototype: "QQuickTransform" + exports: ["QtQuick/Translate 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } } Component { - prototype: "QQuickSwitch" - name: "QtQuick.Controls/Switch 2.0" - exports: ["QtQuick.Controls/Switch 2.0"] + name: "QQuickUniformAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/UniformAnimator 2.2"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "uniform"; type: "string" } + Signal { + name: "uniformChanged" + Parameter { type: "string" } + } } Component { - prototype: "QQuickSwitchDelegate" - name: "QtQuick.Controls/SwitchDelegate 2.0" - exports: ["QtQuick.Controls/SwitchDelegate 2.0"] + name: "QQuickVector3dAnimation" + prototype: "QQuickPropertyAnimation" + exports: ["QtQuick/Vector3dAnimation 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "from"; type: "QVector3D" } + Property { name: "to"; type: "QVector3D" } } Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.Universal.impl/SwitchIndicator 2.0" - exports: ["QtQuick.Controls.Universal.impl/SwitchIndicator 2.0"] + name: "QQuickViewSection" + prototype: "QObject" + exports: ["QtQuick/ViewSection 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } + Enum { + name: "SectionCriteria" + values: { + "FullString": 0, + "FirstCharacter": 1 + } + } + Enum { + name: "LabelPositioning" + values: { + "InlineLabels": 1, + "CurrentLabelAtStart": 2, + "NextLabelAtEnd": 4 + } + } + Property { name: "property"; type: "string" } + Property { name: "criteria"; type: "SectionCriteria" } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "labelPositioning"; type: "int" } + Signal { name: "sectionsChanged" } } Component { - prototype: "QQuickItem" - name: "QtQuick.Controls.impl/SwitchIndicator 2.0" - exports: ["QtQuick.Controls.impl/SwitchIndicator 2.0"] + name: "QQuickViewTransitionAttached" + prototype: "QObject" + exports: ["QtQuick/ViewTransition 2.0"] + isCreatable: false exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } + Property { name: "index"; type: "int"; isReadonly: true } + Property { name: "item"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "destination"; type: "QPointF"; isReadonly: true } + Property { name: "targetIndexes"; type: "QList"; isReadonly: true } + Property { name: "targetItems"; type: "QObject"; isList: true; isReadonly: true } } Component { - prototype: "QQuickItem" - name: "QtQuick.Controls.Material.impl/SwitchIndicator 2.0" - exports: ["QtQuick.Controls.Material.impl/SwitchIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } + name: "QQuickWheelEvent" + prototype: "QObject" + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "angleDelta"; type: "QPoint"; isReadonly: true } + Property { name: "pixelDelta"; type: "QPoint"; isReadonly: true } + Property { name: "buttons"; type: "int"; isReadonly: true } + Property { name: "modifiers"; type: "int"; isReadonly: true } + Property { name: "inverted"; type: "bool"; isReadonly: true } + Property { name: "accepted"; type: "bool" } } Component { - prototype: "QQuickTabBar" - name: "QtQuick.Controls/TabBar 2.0" - exports: ["QtQuick.Controls/TabBar 2.0"] + name: "QQuickWorkerScript" + prototype: "QObject" + exports: ["QtQuick/WorkerScript 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + Property { name: "source"; type: "QUrl" } + Signal { + name: "message" + Parameter { name: "messageObject"; type: "QQmlV4Handle" } + } + Method { + name: "sendMessage" + Parameter { type: "QQmlV4Function"; isPointer: true } + } } Component { - prototype: "QQuickTabButton" - name: "QtQuick.Controls/TabButton 2.0" - exports: ["QtQuick.Controls/TabButton 2.0"] + name: "QQuickXAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/XAnimator 2.2"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" } Component { - prototype: "QQuickTextArea" - name: "QtQuick.Controls/TextArea 2.0" - exports: ["QtQuick.Controls/TextArea 2.0"] + name: "QQuickYAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/YAnimator 2.2"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" } Component { - prototype: "QQuickTextField" - name: "QtQuick.Controls/TextField 2.0" - exports: ["QtQuick.Controls/TextField 2.0"] + name: "QRegExpValidator" + prototype: "QValidator" + exports: ["QtQuick/RegExpValidator 2.0"] exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + Property { name: "regExp"; type: "QRegExp" } + Signal { + name: "regExpChanged" + Parameter { name: "regExp"; type: "QRegExp" } + } } Component { - prototype: "QQuickToolBar" - name: "QtQuick.Controls/ToolBar 2.0" - exports: ["QtQuick.Controls/ToolBar 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + name: "QSortFilterProxyModel" + prototype: "QAbstractProxyModel" + Property { name: "filterRegExp"; type: "QRegExp" } + Property { name: "filterKeyColumn"; type: "int" } + Property { name: "dynamicSortFilter"; type: "bool" } + Property { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" } + Property { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" } + Property { name: "isSortLocaleAware"; type: "bool" } + Property { name: "sortRole"; type: "int" } + Property { name: "filterRole"; type: "int" } + Method { + name: "setFilterRegExp" + Parameter { name: "pattern"; type: "string" } + } + Method { + name: "setFilterWildcard" + Parameter { name: "pattern"; type: "string" } + } + Method { + name: "setFilterFixedString" + Parameter { name: "pattern"; type: "string" } + } + Method { name: "clear" } + Method { name: "invalidate" } } Component { - prototype: "QQuickToolButton" - name: "QtQuick.Controls/ToolButton 2.0" - exports: ["QtQuick.Controls/ToolButton 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" + name: "QValidator" + prototype: "QObject" + Signal { name: "changed" } } Component { - prototype: "QQuickToolTip" - name: "QtQuick.Controls/ToolTip 2.0" - exports: ["QtQuick.Controls/ToolTip 2.0"] + name: "StandardPaths" + prototype: "QObject" + exports: ["Fluid.Core/StandardPaths 1.0"] + isCreatable: false + isSingleton: true exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" + Enum { + name: "StandardLocation" + values: { + "DesktopLocation": 0, + "DocumentsLocation": 1, + "FontsLocation": 2, + "ApplicationsLocation": 3, + "MusicLocation": 4, + "MoviesLocation": 5, + "PicturesLocation": 6, + "TempLocation": 7, + "HomeLocation": 8, + "DataLocation": 9, + "CacheLocation": 10, + "GenericDataLocation": 11, + "RuntimeLocation": 12, + "ConfigLocation": 13, + "DownloadLocation": 14, + "GenericCacheLocation": 15, + "GenericConfigLocation": 16 + } + } + Method { + name: "locateFile" + type: "string" + Parameter { name: "type"; type: "StandardLocation" } + Parameter { name: "fileName"; type: "string" } + } + Method { + name: "locateDirectory" + type: "string" + Parameter { name: "type"; type: "StandardLocation" } + Parameter { name: "dirName"; type: "string" } + } } Component { - prototype: "QQuickTumbler" - name: "QtQuick.Controls/Tumbler 2.0" - exports: ["QtQuick.Controls/Tumbler 2.0"] + prototype: "QObject" + name: "FluidStyle 1.0" + exports: ["FluidStyle 1.0"] exportMetaObjectRevisions: [0] isComposite: true - defaultProperty: "data" + isCreatable: false + isSingleton: true + Property { name: "display4Font"; type: "QFont"; isReadonly: true } + Property { name: "display3Font"; type: "QFont"; isReadonly: true } + Property { name: "display2Font"; type: "QFont"; isReadonly: true } + Property { name: "display1Font"; type: "QFont"; isReadonly: true } + Property { name: "headlineFont"; type: "QFont"; isReadonly: true } + Property { name: "titleFont"; type: "QFont"; isReadonly: true } + Property { name: "subheadingFont"; type: "QFont"; isReadonly: true } + Property { name: "body2Font"; type: "QFont"; isReadonly: true } + Property { name: "body1Font"; type: "QFont"; isReadonly: true } + Property { name: "captionFont"; type: "QFont"; isReadonly: true } + Property { name: "buttonFont"; type: "QFont"; isReadonly: true } + Property { name: "subheaderFont"; type: "QFont"; isReadonly: true } + Property { name: "dialogFont"; type: "QFont"; isReadonly: true } } Component { - prototype: "QQuickItem" + prototype: "QObject" name: "Units 1.0" exports: ["Units 1.0"] exportMetaObjectRevisions: [0] @@ -509,6 +5066,151 @@ Module { type: "QVariant" Parameter { name: "x"; type: "QVariant" } } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } } Component { prototype: "QObject" diff --git a/core/plugins.qmltypes b/core/plugins.qmltypes index f8f71ef7..d26a02ce 100644 --- a/core/plugins.qmltypes +++ b/core/plugins.qmltypes @@ -7,7 +7,7 @@ import QtQuick.tooling 1.2 // 'qmlplugindump-qt5 -nonrelocatable Fluid.Core 1.0' Module { - dependencies: ["QtQuick 2.0"] + dependencies: [] Component { name: "Clipboard" prototype: "QObject" @@ -61,6 +61,12 @@ Module { type: "string" Parameter { name: "duration"; type: "qlonglong" } } + Method { + name: "friendlyTime" + type: "string" + Parameter { name: "time"; type: "QDateTime" } + Parameter { name: "standalone"; type: "bool" } + } } Component { name: "Device" @@ -90,6 +96,271 @@ Module { Property { name: "gridUnit"; type: "int"; isReadonly: true } Signal { name: "geometryChanged" } } + Component { + name: "QAbstractItemModel" + prototype: "QObject" + Enum { + name: "LayoutChangeHint" + values: { + "NoLayoutChangeHint": 0, + "VerticalSortHint": 1, + "HorizontalSortHint": 2 + } + } + Signal { + name: "dataChanged" + Parameter { name: "topLeft"; type: "QModelIndex" } + Parameter { name: "bottomRight"; type: "QModelIndex" } + Parameter { name: "roles"; type: "QVector" } + } + Signal { + name: "dataChanged" + Parameter { name: "topLeft"; type: "QModelIndex" } + Parameter { name: "bottomRight"; type: "QModelIndex" } + } + Signal { + name: "headerDataChanged" + Parameter { name: "orientation"; type: "Qt::Orientation" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "layoutChanged" + Parameter { name: "parents"; type: "QList" } + Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" } + } + Signal { + name: "layoutChanged" + Parameter { name: "parents"; type: "QList" } + } + Signal { name: "layoutChanged" } + Signal { + name: "layoutAboutToBeChanged" + Parameter { name: "parents"; type: "QList" } + Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" } + } + Signal { + name: "layoutAboutToBeChanged" + Parameter { name: "parents"; type: "QList" } + } + Signal { name: "layoutAboutToBeChanged" } + Signal { + name: "rowsAboutToBeInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "rowsInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "rowsAboutToBeRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "rowsRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsAboutToBeInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsAboutToBeRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { name: "modelAboutToBeReset" } + Signal { name: "modelReset" } + Signal { + name: "rowsAboutToBeMoved" + Parameter { name: "sourceParent"; type: "QModelIndex" } + Parameter { name: "sourceStart"; type: "int" } + Parameter { name: "sourceEnd"; type: "int" } + Parameter { name: "destinationParent"; type: "QModelIndex" } + Parameter { name: "destinationRow"; type: "int" } + } + Signal { + name: "rowsMoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + Parameter { name: "destination"; type: "QModelIndex" } + Parameter { name: "row"; type: "int" } + } + Signal { + name: "columnsAboutToBeMoved" + Parameter { name: "sourceParent"; type: "QModelIndex" } + Parameter { name: "sourceStart"; type: "int" } + Parameter { name: "sourceEnd"; type: "int" } + Parameter { name: "destinationParent"; type: "QModelIndex" } + Parameter { name: "destinationColumn"; type: "int" } + } + Signal { + name: "columnsMoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + Parameter { name: "destination"; type: "QModelIndex" } + Parameter { name: "column"; type: "int" } + } + Method { name: "submit"; type: "bool" } + Method { name: "revert" } + Method { + name: "hasIndex" + type: "bool" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { + name: "hasIndex" + type: "bool" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + } + Method { + name: "index" + type: "QModelIndex" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { + name: "index" + type: "QModelIndex" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + } + Method { + name: "parent" + type: "QModelIndex" + Parameter { name: "child"; type: "QModelIndex" } + } + Method { + name: "sibling" + type: "QModelIndex" + Parameter { name: "row"; type: "int" } + Parameter { name: "column"; type: "int" } + Parameter { name: "idx"; type: "QModelIndex" } + } + Method { + name: "rowCount" + type: "int" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { name: "rowCount"; type: "int" } + Method { + name: "columnCount" + type: "int" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { name: "columnCount"; type: "int" } + Method { + name: "hasChildren" + type: "bool" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { name: "hasChildren"; type: "bool" } + Method { + name: "data" + type: "QVariant" + Parameter { name: "index"; type: "QModelIndex" } + Parameter { name: "role"; type: "int" } + } + Method { + name: "data" + type: "QVariant" + Parameter { name: "index"; type: "QModelIndex" } + } + Method { + name: "setData" + type: "bool" + Parameter { name: "index"; type: "QModelIndex" } + Parameter { name: "value"; type: "QVariant" } + Parameter { name: "role"; type: "int" } + } + Method { + name: "setData" + type: "bool" + Parameter { name: "index"; type: "QModelIndex" } + Parameter { name: "value"; type: "QVariant" } + } + Method { + name: "headerData" + type: "QVariant" + Parameter { name: "section"; type: "int" } + Parameter { name: "orientation"; type: "Qt::Orientation" } + Parameter { name: "role"; type: "int" } + } + Method { + name: "headerData" + type: "QVariant" + Parameter { name: "section"; type: "int" } + Parameter { name: "orientation"; type: "Qt::Orientation" } + } + Method { + name: "fetchMore" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { + name: "canFetchMore" + type: "bool" + Parameter { name: "parent"; type: "QModelIndex" } + } + Method { + name: "flags" + type: "Qt::ItemFlags" + Parameter { name: "index"; type: "QModelIndex" } + } + Method { + name: "match" + type: "QModelIndexList" + Parameter { name: "start"; type: "QModelIndex" } + Parameter { name: "role"; type: "int" } + Parameter { name: "value"; type: "QVariant" } + Parameter { name: "hits"; type: "int" } + Parameter { name: "flags"; type: "Qt::MatchFlags" } + } + Method { + name: "match" + type: "QModelIndexList" + Parameter { name: "start"; type: "QModelIndex" } + Parameter { name: "role"; type: "int" } + Parameter { name: "value"; type: "QVariant" } + Parameter { name: "hits"; type: "int" } + } + Method { + name: "match" + type: "QModelIndexList" + Parameter { name: "start"; type: "QModelIndex" } + Parameter { name: "role"; type: "int" } + Parameter { name: "value"; type: "QVariant" } + } + } + Component { name: "QAbstractListModel"; prototype: "QAbstractItemModel" } Component { name: "QAbstractProxyModel" prototype: "QAbstractItemModel" @@ -115,6 +386,456 @@ Module { Parameter { name: "selection"; type: "QItemSelection" } } } + Component { + name: "QDoubleValidator" + prototype: "QValidator" + Enum { + name: "Notation" + values: { + "StandardNotation": 0, + "ScientificNotation": 1 + } + } + Property { name: "bottom"; type: "double" } + Property { name: "top"; type: "double" } + Property { name: "decimals"; type: "int" } + Property { name: "notation"; type: "Notation" } + Signal { + name: "bottomChanged" + Parameter { name: "bottom"; type: "double" } + } + Signal { + name: "topChanged" + Parameter { name: "top"; type: "double" } + } + Signal { + name: "decimalsChanged" + Parameter { name: "decimals"; type: "int" } + } + Signal { + name: "notationChanged" + Parameter { name: "notation"; type: "QDoubleValidator::Notation" } + } + } + Component { + name: "QInputMethod" + prototype: "QObject" + exports: ["QtQuick/InputMethod 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Action" + values: { + "Click": 0, + "ContextMenu": 1 + } + } + Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "anchorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "keyboardRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "inputItemClipRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "visible"; type: "bool"; isReadonly: true } + Property { name: "animating"; type: "bool"; isReadonly: true } + Property { name: "locale"; type: "QLocale"; isReadonly: true } + Property { name: "inputDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + Signal { + name: "inputDirectionChanged" + Parameter { name: "newDirection"; type: "Qt::LayoutDirection" } + } + Method { name: "show" } + Method { name: "hide" } + Method { + name: "update" + Parameter { name: "queries"; type: "Qt::InputMethodQueries" } + } + Method { name: "reset" } + Method { name: "commit" } + Method { + name: "invokeAction" + Parameter { name: "a"; type: "Action" } + Parameter { name: "cursorPosition"; type: "int" } + } + } + Component { + name: "QIntValidator" + prototype: "QValidator" + Property { name: "bottom"; type: "int" } + Property { name: "top"; type: "int" } + Signal { + name: "bottomChanged" + Parameter { name: "bottom"; type: "int" } + } + Signal { + name: "topChanged" + Parameter { name: "top"; type: "int" } + } + } + Component { + name: "QKeySequence" + exports: ["QtQuick/StandardKey 2.2"] + isCreatable: false + exportMetaObjectRevisions: [2] + Enum { + name: "StandardKey" + values: { + "UnknownKey": 0, + "HelpContents": 1, + "WhatsThis": 2, + "Open": 3, + "Close": 4, + "Save": 5, + "New": 6, + "Delete": 7, + "Cut": 8, + "Copy": 9, + "Paste": 10, + "Undo": 11, + "Redo": 12, + "Back": 13, + "Forward": 14, + "Refresh": 15, + "ZoomIn": 16, + "ZoomOut": 17, + "Print": 18, + "AddTab": 19, + "NextChild": 20, + "PreviousChild": 21, + "Find": 22, + "FindNext": 23, + "FindPrevious": 24, + "Replace": 25, + "SelectAll": 26, + "Bold": 27, + "Italic": 28, + "Underline": 29, + "MoveToNextChar": 30, + "MoveToPreviousChar": 31, + "MoveToNextWord": 32, + "MoveToPreviousWord": 33, + "MoveToNextLine": 34, + "MoveToPreviousLine": 35, + "MoveToNextPage": 36, + "MoveToPreviousPage": 37, + "MoveToStartOfLine": 38, + "MoveToEndOfLine": 39, + "MoveToStartOfBlock": 40, + "MoveToEndOfBlock": 41, + "MoveToStartOfDocument": 42, + "MoveToEndOfDocument": 43, + "SelectNextChar": 44, + "SelectPreviousChar": 45, + "SelectNextWord": 46, + "SelectPreviousWord": 47, + "SelectNextLine": 48, + "SelectPreviousLine": 49, + "SelectNextPage": 50, + "SelectPreviousPage": 51, + "SelectStartOfLine": 52, + "SelectEndOfLine": 53, + "SelectStartOfBlock": 54, + "SelectEndOfBlock": 55, + "SelectStartOfDocument": 56, + "SelectEndOfDocument": 57, + "DeleteStartOfWord": 58, + "DeleteEndOfWord": 59, + "DeleteEndOfLine": 60, + "InsertParagraphSeparator": 61, + "InsertLineSeparator": 62, + "SaveAs": 63, + "Preferences": 64, + "Quit": 65, + "FullScreen": 66, + "Deselect": 67, + "DeleteCompleteLine": 68, + "Backspace": 69, + "Cancel": 70 + } + } + } + Component { + name: "QQmlApplication" + prototype: "QObject" + Property { name: "arguments"; type: "QStringList"; isReadonly: true } + Property { name: "name"; type: "string" } + Property { name: "version"; type: "string" } + Property { name: "organization"; type: "string" } + Property { name: "domain"; type: "string" } + Signal { name: "aboutToQuit" } + Method { + name: "setName" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "setVersion" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "setOrganization" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "setDomain" + Parameter { name: "arg"; type: "string" } + } + } + Component { + name: "QQmlDelegateModel" + defaultProperty: "delegate" + prototype: "QQmlInstanceModel" + exports: ["QtQuick/VisualDataModel 2.0"] + exportMetaObjectRevisions: [0] + attachedType: "QQmlDelegateModelAttached" + Property { name: "model"; type: "QVariant" } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "filterOnGroup"; type: "string" } + Property { name: "items"; type: "QQmlDelegateModelGroup"; isReadonly: true; isPointer: true } + Property { + name: "persistedItems" + type: "QQmlDelegateModelGroup" + isReadonly: true + isPointer: true + } + Property { name: "groups"; type: "QQmlDelegateModelGroup"; isList: true; isReadonly: true } + Property { name: "parts"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "rootIndex"; type: "QVariant" } + Signal { name: "filterGroupChanged" } + Signal { name: "defaultGroupsChanged" } + Method { + name: "modelIndex" + type: "QVariant" + Parameter { name: "idx"; type: "int" } + } + Method { name: "parentModelIndex"; type: "QVariant" } + } + Component { + name: "QQmlDelegateModelAttached" + prototype: "QObject" + Property { name: "model"; type: "QQmlDelegateModel"; isReadonly: true; isPointer: true } + Property { name: "groups"; type: "QStringList" } + Property { name: "isUnresolved"; type: "bool"; isReadonly: true } + Signal { name: "unresolvedChanged" } + } + Component { + name: "QQmlDelegateModelGroup" + prototype: "QObject" + exports: ["QtQuick/VisualDataGroup 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "name"; type: "string" } + Property { name: "includeByDefault"; type: "bool" } + Signal { name: "defaultIncludeChanged" } + Signal { + name: "changed" + Parameter { name: "removed"; type: "QQmlV4Handle" } + Parameter { name: "inserted"; type: "QQmlV4Handle" } + } + Method { + name: "insert" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "create" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "resolve" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "remove" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "addGroups" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "removeGroups" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "setGroups" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "move" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "get" + type: "QQmlV4Handle" + Parameter { name: "index"; type: "int" } + } + } + Component { name: "QQmlDelegateModelParts"; prototype: "QObject" } + Component { + name: "QQmlEasingValueType" + exports: ["QtQuick/Easing 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Type" + values: { + "Linear": 0, + "InQuad": 1, + "OutQuad": 2, + "InOutQuad": 3, + "OutInQuad": 4, + "InCubic": 5, + "OutCubic": 6, + "InOutCubic": 7, + "OutInCubic": 8, + "InQuart": 9, + "OutQuart": 10, + "InOutQuart": 11, + "OutInQuart": 12, + "InQuint": 13, + "OutQuint": 14, + "InOutQuint": 15, + "OutInQuint": 16, + "InSine": 17, + "OutSine": 18, + "InOutSine": 19, + "OutInSine": 20, + "InExpo": 21, + "OutExpo": 22, + "InOutExpo": 23, + "OutInExpo": 24, + "InCirc": 25, + "OutCirc": 26, + "InOutCirc": 27, + "OutInCirc": 28, + "InElastic": 29, + "OutElastic": 30, + "InOutElastic": 31, + "OutInElastic": 32, + "InBack": 33, + "OutBack": 34, + "InOutBack": 35, + "OutInBack": 36, + "InBounce": 37, + "OutBounce": 38, + "InOutBounce": 39, + "OutInBounce": 40, + "InCurve": 41, + "OutCurve": 42, + "SineCurve": 43, + "CosineCurve": 44, + "Bezier": 45 + } + } + Property { name: "type"; type: "Type" } + Property { name: "amplitude"; type: "double" } + Property { name: "overshoot"; type: "double" } + Property { name: "period"; type: "double" } + Property { name: "bezierCurve"; type: "QVariantList" } + } + Component { + name: "QQmlListElement" + prototype: "QObject" + exports: ["QtQuick/ListElement 2.0"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQmlListModel" + prototype: "QAbstractListModel" + exports: ["QtQuick/ListModel 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "dynamicRoles"; type: "bool" } + Method { name: "clear" } + Method { + name: "remove" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "append" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "insert" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "get" + type: "QQmlV4Handle" + Parameter { name: "index"; type: "int" } + } + Method { + name: "set" + Parameter { name: "index"; type: "int" } + Parameter { type: "QQmlV4Handle" } + } + Method { + name: "setProperty" + Parameter { name: "index"; type: "int" } + Parameter { name: "property"; type: "string" } + Parameter { name: "value"; type: "QVariant" } + } + Method { + name: "move" + Parameter { name: "from"; type: "int" } + Parameter { name: "to"; type: "int" } + Parameter { name: "count"; type: "int" } + } + Method { name: "sync" } + } + Component { + name: "QQmlObjectModel" + defaultProperty: "children" + prototype: "QQmlInstanceModel" + exports: ["QtQuick/VisualItemModel 2.0"] + exportMetaObjectRevisions: [0] + attachedType: "QQmlObjectModelAttached" + Property { name: "children"; type: "QObject"; isList: true; isReadonly: true } + Method { name: "clear"; revision: 3 } + Method { + name: "get" + revision: 3 + type: "QObject*" + Parameter { name: "index"; type: "int" } + } + Method { + name: "append" + revision: 3 + Parameter { name: "object"; type: "QObject"; isPointer: true } + } + Method { + name: "insert" + revision: 3 + Parameter { name: "index"; type: "int" } + Parameter { name: "object"; type: "QObject"; isPointer: true } + } + Method { + name: "move" + revision: 3 + Parameter { name: "from"; type: "int" } + Parameter { name: "to"; type: "int" } + Parameter { name: "n"; type: "int" } + } + Method { + name: "move" + revision: 3 + Parameter { name: "from"; type: "int" } + Parameter { name: "to"; type: "int" } + } + Method { + name: "remove" + revision: 3 + Parameter { name: "index"; type: "int" } + Parameter { name: "n"; type: "int" } + } + Method { + name: "remove" + revision: 3 + Parameter { name: "index"; type: "int" } + } + } + Component { + name: "QQmlObjectModelAttached" + prototype: "QObject" + Property { name: "index"; type: "int"; isReadonly: true } + } Component { name: "QQmlSortFilterProxyModel" prototype: "QSortFilterProxyModel" @@ -142,30 +863,4117 @@ Module { Property { name: "sortExpression"; type: "QQmlScriptString" } } Component { - name: "QSortFilterProxyModel" - prototype: "QAbstractProxyModel" - Property { name: "filterRegExp"; type: "QRegExp" } - Property { name: "filterKeyColumn"; type: "int" } - Property { name: "dynamicSortFilter"; type: "bool" } - Property { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" } - Property { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" } - Property { name: "isSortLocaleAware"; type: "bool" } - Property { name: "sortRole"; type: "int" } - Property { name: "filterRole"; type: "int" } - Method { - name: "setFilterRegExp" - Parameter { name: "pattern"; type: "string" } + name: "QQuickAbstractAnimation" + prototype: "QObject" + exports: ["QtQuick/Animation 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Loops" + values: { + "Infinite": -2 + } } - Method { - name: "setFilterWildcard" - Parameter { name: "pattern"; type: "string" } + Property { name: "running"; type: "bool" } + Property { name: "paused"; type: "bool" } + Property { name: "alwaysRunToEnd"; type: "bool" } + Property { name: "loops"; type: "int" } + Signal { name: "started" } + Signal { name: "stopped" } + Signal { + name: "runningChanged" + Parameter { type: "bool" } } - Method { - name: "setFilterFixedString" - Parameter { name: "pattern"; type: "string" } + Signal { + name: "pausedChanged" + Parameter { type: "bool" } } - Method { name: "clear" } - Method { name: "invalidate" } + Signal { + name: "alwaysRunToEndChanged" + Parameter { type: "bool" } + } + Signal { + name: "loopCountChanged" + Parameter { type: "int" } + } + Method { name: "restart" } + Method { name: "start" } + Method { name: "pause" } + Method { name: "resume" } + Method { name: "stop" } + Method { name: "complete" } + } + Component { + name: "QQuickAccessibleAttached" + prototype: "QObject" + exports: ["QtQuick/Accessible 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "role"; type: "QAccessible::Role" } + Property { name: "name"; type: "string" } + Property { name: "description"; type: "string" } + Property { name: "ignored"; type: "bool" } + Property { name: "checkable"; type: "bool" } + Property { name: "checked"; type: "bool" } + Property { name: "editable"; type: "bool" } + Property { name: "focusable"; type: "bool" } + Property { name: "focused"; type: "bool" } + Property { name: "multiLine"; type: "bool" } + Property { name: "readOnly"; type: "bool" } + Property { name: "selected"; type: "bool" } + Property { name: "selectable"; type: "bool" } + Property { name: "pressed"; type: "bool" } + Property { name: "checkStateMixed"; type: "bool" } + Property { name: "defaultButton"; type: "bool" } + Property { name: "passwordEdit"; type: "bool" } + Property { name: "selectableText"; type: "bool" } + Property { name: "searchEdit"; type: "bool" } + Signal { + name: "checkableChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "checkedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "editableChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "focusableChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "focusedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "multiLineChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "readOnlyChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "selectedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "selectableChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "pressedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "checkStateMixedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "defaultButtonChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "passwordEditChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "selectableTextChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "searchEditChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { name: "pressAction" } + Signal { name: "toggleAction" } + Signal { name: "increaseAction" } + Signal { name: "decreaseAction" } + Signal { name: "scrollUpAction" } + Signal { name: "scrollDownAction" } + Signal { name: "scrollLeftAction" } + Signal { name: "scrollRightAction" } + Signal { name: "previousPageAction" } + Signal { name: "nextPageAction" } + Method { name: "valueChanged" } + Method { name: "cursorPositionChanged" } + Method { + name: "setIgnored" + Parameter { name: "ignored"; type: "bool" } + } + } + Component { + name: "QQuickAnchorAnimation" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/AnchorAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "targets"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "duration"; type: "int" } + Property { name: "easing"; type: "QEasingCurve" } + Signal { + name: "durationChanged" + Parameter { type: "int" } + } + Signal { + name: "easingChanged" + Parameter { type: "QEasingCurve" } + } + } + Component { + name: "QQuickAnchorChanges" + prototype: "QQuickStateOperation" + exports: ["QtQuick/AnchorChanges 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "anchors"; type: "QQuickAnchorSet"; isReadonly: true; isPointer: true } + } + Component { + name: "QQuickAnchorSet" + prototype: "QObject" + Property { name: "left"; type: "QQmlScriptString" } + Property { name: "right"; type: "QQmlScriptString" } + Property { name: "horizontalCenter"; type: "QQmlScriptString" } + Property { name: "top"; type: "QQmlScriptString" } + Property { name: "bottom"; type: "QQmlScriptString" } + Property { name: "verticalCenter"; type: "QQmlScriptString" } + Property { name: "baseline"; type: "QQmlScriptString" } + } + Component { + name: "QQuickAnchors" + prototype: "QObject" + Property { name: "left"; type: "QQuickAnchorLine" } + Property { name: "right"; type: "QQuickAnchorLine" } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine" } + Property { name: "top"; type: "QQuickAnchorLine" } + Property { name: "bottom"; type: "QQuickAnchorLine" } + Property { name: "verticalCenter"; type: "QQuickAnchorLine" } + Property { name: "baseline"; type: "QQuickAnchorLine" } + Property { name: "margins"; type: "double" } + Property { name: "leftMargin"; type: "double" } + Property { name: "rightMargin"; type: "double" } + Property { name: "horizontalCenterOffset"; type: "double" } + Property { name: "topMargin"; type: "double" } + Property { name: "bottomMargin"; type: "double" } + Property { name: "verticalCenterOffset"; type: "double" } + Property { name: "baselineOffset"; type: "double" } + Property { name: "fill"; type: "QQuickItem"; isPointer: true } + Property { name: "centerIn"; type: "QQuickItem"; isPointer: true } + Property { name: "alignWhenCentered"; type: "bool" } + Signal { name: "centerAlignedChanged" } + } + Component { + name: "QQuickAnimatedImage" + defaultProperty: "data" + prototype: "QQuickImage" + exports: ["QtQuick/AnimatedImage 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "playing"; type: "bool" } + Property { name: "paused"; type: "bool" } + Property { name: "currentFrame"; type: "int" } + Property { name: "frameCount"; type: "int"; isReadonly: true } + Property { name: "sourceSize"; type: "QSize"; isReadonly: true } + Signal { name: "frameChanged" } + } + Component { + name: "QQuickAnimatedSprite" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/AnimatedSprite 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "LoopParameters" + values: { + "Infinite": -1 + } + } + Property { name: "running"; type: "bool" } + Property { name: "interpolate"; type: "bool" } + Property { name: "source"; type: "QUrl" } + Property { name: "reverse"; type: "bool" } + Property { name: "frameSync"; type: "bool" } + Property { name: "frameCount"; type: "int" } + Property { name: "frameHeight"; type: "int" } + Property { name: "frameWidth"; type: "int" } + Property { name: "frameX"; type: "int" } + Property { name: "frameY"; type: "int" } + Property { name: "frameRate"; type: "double" } + Property { name: "frameDuration"; type: "int" } + Property { name: "loops"; type: "int" } + Property { name: "paused"; type: "bool" } + Property { name: "currentFrame"; type: "int" } + Signal { + name: "pausedChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "runningChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "interpolateChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "sourceChanged" + Parameter { name: "arg"; type: "QUrl" } + } + Signal { + name: "reverseChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "frameSyncChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "frameCountChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameHeightChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameWidthChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameXChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameYChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameRateChanged" + Parameter { name: "arg"; type: "double" } + } + Signal { + name: "frameDurationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "loopsChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "currentFrameChanged" + Parameter { name: "arg"; type: "int" } + } + Method { name: "start" } + Method { name: "stop" } + Method { name: "restart" } + Method { + name: "advance" + Parameter { name: "frames"; type: "int" } + } + Method { name: "advance" } + Method { name: "pause" } + Method { name: "resume" } + Method { + name: "setRunning" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setPaused" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setInterpolate" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setSource" + Parameter { name: "arg"; type: "QUrl" } + } + Method { + name: "setReverse" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setFrameSync" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setFrameCount" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameHeight" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameWidth" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameX" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameY" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameRate" + Parameter { name: "arg"; type: "double" } + } + Method { + name: "setFrameDuration" + Parameter { name: "arg"; type: "int" } + } + Method { name: "resetFrameRate" } + Method { name: "resetFrameDuration" } + Method { + name: "setLoops" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setCurrentFrame" + Parameter { name: "arg"; type: "int" } + } + } + Component { + name: "QQuickAnimationController" + defaultProperty: "animation" + prototype: "QObject" + exports: ["QtQuick/AnimationController 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "progress"; type: "double" } + Property { name: "animation"; type: "QQuickAbstractAnimation"; isPointer: true } + Method { name: "reload" } + Method { name: "completeToBeginning" } + Method { name: "completeToEnd" } + } + Component { + name: "QQuickAnimationGroup" + defaultProperty: "animations" + prototype: "QQuickAbstractAnimation" + Property { name: "animations"; type: "QQuickAbstractAnimation"; isList: true; isReadonly: true } + } + Component { + name: "QQuickAnimator" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/Animator 2.2"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "easing"; type: "QEasingCurve" } + Property { name: "duration"; type: "int" } + Property { name: "to"; type: "double" } + Property { name: "from"; type: "double" } + Signal { + name: "targetItemChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "durationChanged" + Parameter { name: "duration"; type: "int" } + } + Signal { + name: "easingChanged" + Parameter { name: "curve"; type: "QEasingCurve" } + } + Signal { + name: "toChanged" + Parameter { name: "to"; type: "double" } + } + Signal { + name: "fromChanged" + Parameter { name: "from"; type: "double" } + } + } + Component { + name: "QQuickApplication" + prototype: "QQmlApplication" + exports: ["QtQuick/Application 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "active"; type: "bool"; isReadonly: true } + Property { name: "layoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + Property { name: "supportsMultipleWindows"; type: "bool"; isReadonly: true } + Property { name: "state"; type: "Qt::ApplicationState"; isReadonly: true } + Property { name: "font"; type: "QFont"; isReadonly: true } + Signal { + name: "stateChanged" + Parameter { name: "state"; type: "Qt::ApplicationState" } + } + } + Component { + name: "QQuickBasePositioner" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: ["QtQuick/Positioner 2.0", "QtQuick/Positioner 2.6"] + isCreatable: false + exportMetaObjectRevisions: [0, 6] + attachedType: "QQuickPositionerAttached" + Property { name: "spacing"; type: "double" } + Property { name: "populate"; type: "QQuickTransition"; isPointer: true } + Property { name: "move"; type: "QQuickTransition"; isPointer: true } + Property { name: "add"; type: "QQuickTransition"; isPointer: true } + Property { name: "padding"; revision: 6; type: "double" } + Property { name: "topPadding"; revision: 6; type: "double" } + Property { name: "leftPadding"; revision: 6; type: "double" } + Property { name: "rightPadding"; revision: 6; type: "double" } + Property { name: "bottomPadding"; revision: 6; type: "double" } + Signal { name: "paddingChanged"; revision: 6 } + Signal { name: "topPaddingChanged"; revision: 6 } + Signal { name: "leftPaddingChanged"; revision: 6 } + Signal { name: "rightPaddingChanged"; revision: 6 } + Signal { name: "bottomPaddingChanged"; revision: 6 } + } + Component { + name: "QQuickBehavior" + defaultProperty: "animation" + prototype: "QObject" + exports: ["QtQuick/Behavior 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "animation"; type: "QQuickAbstractAnimation"; isPointer: true } + Property { name: "enabled"; type: "bool" } + } + Component { + name: "QQuickBorderImage" + defaultProperty: "data" + prototype: "QQuickImageBase" + exports: ["QtQuick/BorderImage 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "TileMode" + values: { + "Stretch": 0, + "Repeat": 1, + "Round": 2 + } + } + Property { name: "border"; type: "QQuickScaleGrid"; isReadonly: true; isPointer: true } + Property { name: "horizontalTileMode"; type: "TileMode" } + Property { name: "verticalTileMode"; type: "TileMode" } + Property { name: "sourceSize"; type: "QSize"; isReadonly: true } + } + Component { + name: "QQuickBorderImageMesh" + prototype: "QQuickShaderEffectMesh" + exports: ["QtQuick/BorderImageMesh 2.8"] + exportMetaObjectRevisions: [0] + Enum { + name: "TileMode" + values: { + "Stretch": 0, + "Repeat": 1, + "Round": 2 + } + } + Property { name: "border"; type: "QQuickScaleGrid"; isReadonly: true; isPointer: true } + Property { name: "size"; type: "QSize" } + Property { name: "horizontalTileMode"; type: "TileMode" } + Property { name: "verticalTileMode"; type: "TileMode" } + } + Component { + name: "QQuickCanvasItem" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/Canvas 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "RenderTarget" + values: { + "Image": 0, + "FramebufferObject": 1 + } + } + Enum { + name: "RenderStrategy" + values: { + "Immediate": 0, + "Threaded": 1, + "Cooperative": 2 + } + } + Property { name: "available"; type: "bool"; isReadonly: true } + Property { name: "contextType"; type: "string" } + Property { name: "context"; type: "QQmlV4Handle"; isReadonly: true } + Property { name: "canvasSize"; type: "QSizeF" } + Property { name: "tileSize"; type: "QSize" } + Property { name: "canvasWindow"; type: "QRectF" } + Property { name: "renderTarget"; type: "RenderTarget" } + Property { name: "renderStrategy"; type: "RenderStrategy" } + Signal { + name: "paint" + Parameter { name: "region"; type: "QRect" } + } + Signal { name: "painted" } + Signal { name: "imageLoaded" } + Method { + name: "loadImage" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "unloadImage" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "isImageLoaded" + type: "bool" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "isImageLoading" + type: "bool" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "isImageError" + type: "bool" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "getContext" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "requestAnimationFrame" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "cancelRequestAnimationFrame" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { name: "requestPaint" } + Method { + name: "markDirty" + Parameter { name: "dirtyRect"; type: "QRectF" } + } + Method { name: "markDirty" } + Method { + name: "save" + type: "bool" + Parameter { name: "filename"; type: "string" } + } + Method { + name: "toDataURL" + type: "string" + Parameter { name: "type"; type: "string" } + } + Method { name: "toDataURL"; type: "string" } + } + Component { + name: "QQuickCloseEvent" + prototype: "QObject" + Property { name: "accepted"; type: "bool" } + } + Component { + name: "QQuickColorAnimation" + prototype: "QQuickPropertyAnimation" + exports: ["QtQuick/ColorAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "from"; type: "QColor" } + Property { name: "to"; type: "QColor" } + } + Component { + name: "QQuickColumn" + defaultProperty: "data" + prototype: "QQuickBasePositioner" + exports: ["QtQuick/Column 2.0", "QtQuick/Column 2.6"] + exportMetaObjectRevisions: [0, 6] + } + Component { + name: "QQuickCurve" + prototype: "QQuickPathElement" + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "relativeX"; type: "double" } + Property { name: "relativeY"; type: "double" } + } + Component { + name: "QQuickDoubleValidator" + prototype: "QDoubleValidator" + exports: ["QtQuick/DoubleValidator 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "locale"; type: "string" } + Signal { name: "localeNameChanged" } + } + Component { + name: "QQuickDrag" + prototype: "QObject" + exports: ["QtQuick/Drag 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + attachedType: "QQuickDragAttached" + Enum { + name: "DragType" + values: { + "None": 0, + "Automatic": 1, + "Internal": 2 + } + } + Enum { + name: "Axis" + values: { + "XAxis": 1, + "YAxis": 2, + "XAndYAxis": 3, + "XandYAxis": 3 + } + } + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "axis"; type: "Axis" } + Property { name: "minimumX"; type: "double" } + Property { name: "maximumX"; type: "double" } + Property { name: "minimumY"; type: "double" } + Property { name: "maximumY"; type: "double" } + Property { name: "active"; type: "bool"; isReadonly: true } + Property { name: "filterChildren"; type: "bool" } + Property { name: "smoothed"; type: "bool" } + Property { name: "threshold"; type: "double" } + } + Component { + name: "QQuickDragAttached" + prototype: "QObject" + Property { name: "active"; type: "bool" } + Property { name: "source"; type: "QObject"; isPointer: true } + Property { name: "target"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "hotSpot"; type: "QPointF" } + Property { name: "imageSource"; revision: 8; type: "QUrl" } + Property { name: "keys"; type: "QStringList" } + Property { name: "mimeData"; type: "QVariantMap" } + Property { name: "supportedActions"; type: "Qt::DropActions" } + Property { name: "proposedAction"; type: "Qt::DropAction" } + Property { name: "dragType"; type: "QQuickDrag::DragType" } + Signal { name: "dragStarted" } + Signal { + name: "dragFinished" + Parameter { name: "dropAction"; type: "Qt::DropAction" } + } + Method { + name: "start" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "startDrag" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "cancel" } + Method { name: "drop"; type: "int" } + } + Component { + name: "QQuickDropArea" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/DropArea 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "containsDrag"; type: "bool"; isReadonly: true } + Property { name: "keys"; type: "QStringList" } + Property { name: "drag"; type: "QQuickDropAreaDrag"; isReadonly: true; isPointer: true } + Signal { name: "sourceChanged" } + Signal { + name: "entered" + Parameter { name: "drag"; type: "QQuickDropEvent"; isPointer: true } + } + Signal { name: "exited" } + Signal { + name: "positionChanged" + Parameter { name: "drag"; type: "QQuickDropEvent"; isPointer: true } + } + Signal { + name: "dropped" + Parameter { name: "drop"; type: "QQuickDropEvent"; isPointer: true } + } + } + Component { + name: "QQuickDropAreaDrag" + prototype: "QObject" + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "source"; type: "QObject"; isReadonly: true; isPointer: true } + Signal { name: "positionChanged" } + } + Component { + name: "QQuickDropEvent" + prototype: "QObject" + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "source"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "keys"; type: "QStringList"; isReadonly: true } + Property { name: "supportedActions"; type: "Qt::DropActions"; isReadonly: true } + Property { name: "proposedAction"; type: "Qt::DropActions"; isReadonly: true } + Property { name: "action"; type: "Qt::DropAction" } + Property { name: "accepted"; type: "bool" } + Property { name: "hasColor"; type: "bool"; isReadonly: true } + Property { name: "hasHtml"; type: "bool"; isReadonly: true } + Property { name: "hasText"; type: "bool"; isReadonly: true } + Property { name: "hasUrls"; type: "bool"; isReadonly: true } + Property { name: "colorData"; type: "QVariant"; isReadonly: true } + Property { name: "html"; type: "string"; isReadonly: true } + Property { name: "text"; type: "string"; isReadonly: true } + Property { name: "urls"; type: "QList"; isReadonly: true } + Property { name: "formats"; type: "QStringList"; isReadonly: true } + Method { + name: "getDataAsString" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "getDataAsArrayBuffer" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "acceptProposedAction" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "accept" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + } + Component { + name: "QQuickEnterKeyAttached" + prototype: "QObject" + exports: ["QtQuick/EnterKey 2.6"] + isCreatable: false + exportMetaObjectRevisions: [6] + Property { name: "type"; type: "Qt::EnterKeyType" } + } + Component { + name: "QQuickFlickable" + defaultProperty: "flickableData" + prototype: "QQuickItem" + exports: ["QtQuick/Flickable 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "BoundsBehavior" + values: { + "StopAtBounds": 0, + "DragOverBounds": 1, + "OvershootBounds": 2, + "DragAndOvershootBounds": 3 + } + } + Enum { + name: "FlickableDirection" + values: { + "AutoFlickDirection": 0, + "HorizontalFlick": 1, + "VerticalFlick": 2, + "HorizontalAndVerticalFlick": 3, + "AutoFlickIfNeeded": 12 + } + } + Property { name: "contentWidth"; type: "double" } + Property { name: "contentHeight"; type: "double" } + Property { name: "contentX"; type: "double" } + Property { name: "contentY"; type: "double" } + Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "topMargin"; type: "double" } + Property { name: "bottomMargin"; type: "double" } + Property { name: "originY"; type: "double"; isReadonly: true } + Property { name: "leftMargin"; type: "double" } + Property { name: "rightMargin"; type: "double" } + Property { name: "originX"; type: "double"; isReadonly: true } + Property { name: "horizontalVelocity"; type: "double"; isReadonly: true } + Property { name: "verticalVelocity"; type: "double"; isReadonly: true } + Property { name: "boundsBehavior"; type: "BoundsBehavior" } + Property { name: "rebound"; type: "QQuickTransition"; isPointer: true } + Property { name: "maximumFlickVelocity"; type: "double" } + Property { name: "flickDeceleration"; type: "double" } + Property { name: "moving"; type: "bool"; isReadonly: true } + Property { name: "movingHorizontally"; type: "bool"; isReadonly: true } + Property { name: "movingVertically"; type: "bool"; isReadonly: true } + Property { name: "flicking"; type: "bool"; isReadonly: true } + Property { name: "flickingHorizontally"; type: "bool"; isReadonly: true } + Property { name: "flickingVertically"; type: "bool"; isReadonly: true } + Property { name: "dragging"; type: "bool"; isReadonly: true } + Property { name: "draggingHorizontally"; type: "bool"; isReadonly: true } + Property { name: "draggingVertically"; type: "bool"; isReadonly: true } + Property { name: "flickableDirection"; type: "FlickableDirection" } + Property { name: "interactive"; type: "bool" } + Property { name: "pressDelay"; type: "int" } + Property { name: "atXEnd"; type: "bool"; isReadonly: true } + Property { name: "atYEnd"; type: "bool"; isReadonly: true } + Property { name: "atXBeginning"; type: "bool"; isReadonly: true } + Property { name: "atYBeginning"; type: "bool"; isReadonly: true } + Property { + name: "visibleArea" + type: "QQuickFlickableVisibleArea" + isReadonly: true + isPointer: true + } + Property { name: "pixelAligned"; type: "bool" } + Property { name: "flickableData"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "flickableChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Signal { name: "isAtBoundaryChanged" } + Signal { name: "movementStarted" } + Signal { name: "movementEnded" } + Signal { name: "flickStarted" } + Signal { name: "flickEnded" } + Signal { name: "dragStarted" } + Signal { name: "dragEnded" } + Method { + name: "resizeContent" + Parameter { name: "w"; type: "double" } + Parameter { name: "h"; type: "double" } + Parameter { name: "center"; type: "QPointF" } + } + Method { name: "returnToBounds" } + Method { + name: "flick" + Parameter { name: "xVelocity"; type: "double" } + Parameter { name: "yVelocity"; type: "double" } + } + Method { name: "cancelFlick" } + } + Component { + name: "QQuickFlickableVisibleArea" + prototype: "QObject" + Property { name: "xPosition"; type: "double"; isReadonly: true } + Property { name: "yPosition"; type: "double"; isReadonly: true } + Property { name: "widthRatio"; type: "double"; isReadonly: true } + Property { name: "heightRatio"; type: "double"; isReadonly: true } + Signal { + name: "xPositionChanged" + Parameter { name: "xPosition"; type: "double" } + } + Signal { + name: "yPositionChanged" + Parameter { name: "yPosition"; type: "double" } + } + Signal { + name: "widthRatioChanged" + Parameter { name: "widthRatio"; type: "double" } + } + Signal { + name: "heightRatioChanged" + Parameter { name: "heightRatio"; type: "double" } + } + } + Component { + name: "QQuickFlipable" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/Flipable 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "Side" + values: { + "Front": 0, + "Back": 1 + } + } + Property { name: "front"; type: "QQuickItem"; isPointer: true } + Property { name: "back"; type: "QQuickItem"; isPointer: true } + Property { name: "side"; type: "Side"; isReadonly: true } + } + Component { + name: "QQuickFlow" + defaultProperty: "data" + prototype: "QQuickBasePositioner" + exports: ["QtQuick/Flow 2.0", "QtQuick/Flow 2.6"] + exportMetaObjectRevisions: [0, 6] + Enum { + name: "Flow" + values: { + "LeftToRight": 0, + "TopToBottom": 1 + } + } + Property { name: "flow"; type: "Flow" } + Property { name: "layoutDirection"; type: "Qt::LayoutDirection" } + Property { name: "effectiveLayoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + } + Component { + name: "QQuickFocusScope" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/FocusScope 2.0"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickFontLoader" + prototype: "QObject" + exports: ["QtQuick/FontLoader 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "Status" + values: { + "Null": 0, + "Ready": 1, + "Loading": 2, + "Error": 3 + } + } + Property { name: "source"; type: "QUrl" } + Property { name: "name"; type: "string" } + Property { name: "status"; type: "Status"; isReadonly: true } + } + Component { + name: "QQuickFontMetrics" + prototype: "QObject" + exports: ["QtQuick/FontMetrics 2.4"] + exportMetaObjectRevisions: [0] + Property { name: "font"; type: "QFont" } + Property { name: "ascent"; type: "double"; isReadonly: true } + Property { name: "descent"; type: "double"; isReadonly: true } + Property { name: "height"; type: "double"; isReadonly: true } + Property { name: "leading"; type: "double"; isReadonly: true } + Property { name: "lineSpacing"; type: "double"; isReadonly: true } + Property { name: "minimumLeftBearing"; type: "double"; isReadonly: true } + Property { name: "minimumRightBearing"; type: "double"; isReadonly: true } + Property { name: "maximumCharacterWidth"; type: "double"; isReadonly: true } + Property { name: "xHeight"; type: "double"; isReadonly: true } + Property { name: "averageCharacterWidth"; type: "double"; isReadonly: true } + Property { name: "underlinePosition"; type: "double"; isReadonly: true } + Property { name: "overlinePosition"; type: "double"; isReadonly: true } + Property { name: "strikeOutPosition"; type: "double"; isReadonly: true } + Property { name: "lineWidth"; type: "double"; isReadonly: true } + Signal { + name: "fontChanged" + Parameter { name: "font"; type: "QFont" } + } + Method { + name: "advanceWidth" + type: "double" + Parameter { name: "text"; type: "string" } + } + Method { + name: "boundingRect" + type: "QRectF" + Parameter { name: "text"; type: "string" } + } + Method { + name: "tightBoundingRect" + type: "QRectF" + Parameter { name: "text"; type: "string" } + } + Method { + name: "elidedText" + type: "string" + Parameter { name: "text"; type: "string" } + Parameter { name: "mode"; type: "Qt::TextElideMode" } + Parameter { name: "width"; type: "double" } + Parameter { name: "flags"; type: "int" } + } + Method { + name: "elidedText" + type: "string" + Parameter { name: "text"; type: "string" } + Parameter { name: "mode"; type: "Qt::TextElideMode" } + Parameter { name: "width"; type: "double" } + } + } + Component { + name: "QQuickFontValueType" + exports: ["QtQuick/Font 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "FontWeight" + values: { + "Thin": 0, + "ExtraLight": 12, + "Light": 25, + "Normal": 50, + "Medium": 57, + "DemiBold": 63, + "Bold": 75, + "ExtraBold": 81, + "Black": 87 + } + } + Enum { + name: "Capitalization" + values: { + "MixedCase": 0, + "AllUppercase": 1, + "AllLowercase": 2, + "SmallCaps": 3, + "Capitalize": 4 + } + } + Enum { + name: "HintingPreference" + values: { + "PreferDefaultHinting": 0, + "PreferNoHinting": 1, + "PreferVerticalHinting": 2, + "PreferFullHinting": 3 + } + } + Property { name: "family"; type: "string" } + Property { name: "styleName"; type: "string" } + Property { name: "bold"; type: "bool" } + Property { name: "weight"; type: "FontWeight" } + Property { name: "italic"; type: "bool" } + Property { name: "underline"; type: "bool" } + Property { name: "overline"; type: "bool" } + Property { name: "strikeout"; type: "bool" } + Property { name: "pointSize"; type: "double" } + Property { name: "pixelSize"; type: "int" } + Property { name: "capitalization"; type: "Capitalization" } + Property { name: "letterSpacing"; type: "double" } + Property { name: "wordSpacing"; type: "double" } + Property { name: "hintingPreference"; type: "HintingPreference" } + Method { name: "toString"; type: "string" } + } + Component { + name: "QQuickGrabGestureEvent" + prototype: "QObject" + Property { name: "touchPoints"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "dragThreshold"; type: "double"; isReadonly: true } + Method { name: "grab" } + } + Component { + name: "QQuickGradient" + defaultProperty: "stops" + prototype: "QObject" + exports: ["QtQuick/Gradient 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "stops"; type: "QQuickGradientStop"; isList: true; isReadonly: true } + Signal { name: "updated" } + } + Component { + name: "QQuickGradientStop" + prototype: "QObject" + exports: ["QtQuick/GradientStop 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "position"; type: "double" } + Property { name: "color"; type: "QColor" } + } + Component { + name: "QQuickGraphicsInfo" + prototype: "QObject" + exports: ["QtQuick/GraphicsInfo 2.8"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "GraphicsApi" + values: { + "Unknown": 0, + "Software": 1, + "OpenGL": 2, + "Direct3D12": 3 + } + } + Enum { + name: "ShaderType" + values: { + "UnknownShadingLanguage": 0, + "GLSL": 1, + "HLSL": 2 + } + } + Enum { + name: "ShaderCompilationType" + values: { + "RuntimeCompilation": 1, + "OfflineCompilation": 2 + } + } + Enum { + name: "ShaderSourceType" + values: { + "ShaderSourceString": 1, + "ShaderSourceFile": 2, + "ShaderByteCode": 4 + } + } + Enum { + name: "OpenGLContextProfile" + values: { + "OpenGLNoProfile": 0, + "OpenGLCoreProfile": 1, + "OpenGLCompatibilityProfile": 2 + } + } + Enum { + name: "RenderableType" + values: { + "SurfaceFormatUnspecified": 0, + "SurfaceFormatOpenGL": 1, + "SurfaceFormatOpenGLES": 2 + } + } + Property { name: "api"; type: "GraphicsApi"; isReadonly: true } + Property { name: "shaderType"; type: "ShaderType"; isReadonly: true } + Property { name: "shaderCompilationType"; type: "ShaderCompilationType"; isReadonly: true } + Property { name: "shaderSourceType"; type: "ShaderSourceType"; isReadonly: true } + Property { name: "majorVersion"; type: "int"; isReadonly: true } + Property { name: "minorVersion"; type: "int"; isReadonly: true } + Property { name: "profile"; type: "OpenGLContextProfile"; isReadonly: true } + Property { name: "renderableType"; type: "RenderableType"; isReadonly: true } + } + Component { + name: "QQuickGrid" + defaultProperty: "data" + prototype: "QQuickBasePositioner" + exports: ["QtQuick/Grid 2.0", "QtQuick/Grid 2.1", "QtQuick/Grid 2.6"] + exportMetaObjectRevisions: [0, 1, 6] + Enum { + name: "Flow" + values: { + "LeftToRight": 0, + "TopToBottom": 1 + } + } + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Property { name: "rows"; type: "int" } + Property { name: "columns"; type: "int" } + Property { name: "rowSpacing"; type: "double" } + Property { name: "columnSpacing"; type: "double" } + Property { name: "flow"; type: "Flow" } + Property { name: "layoutDirection"; type: "Qt::LayoutDirection" } + Property { name: "effectiveLayoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + Property { name: "horizontalItemAlignment"; revision: 1; type: "HAlignment" } + Property { + name: "effectiveHorizontalItemAlignment" + revision: 1 + type: "HAlignment" + isReadonly: true + } + Property { name: "verticalItemAlignment"; revision: 1; type: "VAlignment" } + Signal { + name: "horizontalAlignmentChanged" + revision: 1 + Parameter { name: "alignment"; type: "HAlignment" } + } + Signal { + name: "effectiveHorizontalAlignmentChanged" + revision: 1 + Parameter { name: "alignment"; type: "HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + revision: 1 + Parameter { name: "alignment"; type: "VAlignment" } + } + } + Component { + name: "QQuickGridMesh" + prototype: "QQuickShaderEffectMesh" + exports: ["QtQuick/GridMesh 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "resolution"; type: "QSize" } + } + Component { + name: "QQuickGridView" + defaultProperty: "data" + prototype: "QQuickItemView" + exports: [ + "QtQuick/GridView 2.0", + "QtQuick/GridView 2.1", + "QtQuick/GridView 2.7" + ] + exportMetaObjectRevisions: [0, 1, 7] + attachedType: "QQuickGridViewAttached" + Enum { + name: "Flow" + values: { + "FlowLeftToRight": 0, + "FlowTopToBottom": 2 + } + } + Enum { + name: "SnapMode" + values: { + "NoSnap": 0, + "SnapToRow": 1, + "SnapOneRow": 2 + } + } + Property { name: "flow"; type: "Flow" } + Property { name: "cellWidth"; type: "double" } + Property { name: "cellHeight"; type: "double" } + Property { name: "snapMode"; type: "SnapMode" } + Signal { name: "highlightMoveDurationChanged" } + Method { name: "moveCurrentIndexUp" } + Method { name: "moveCurrentIndexDown" } + Method { name: "moveCurrentIndexLeft" } + Method { name: "moveCurrentIndexRight" } + } + Component { name: "QQuickGridViewAttached"; prototype: "QQuickItemViewAttached" } + Component { + name: "QQuickImage" + defaultProperty: "data" + prototype: "QQuickImageBase" + exports: [ + "QtQuick/Image 2.0", + "QtQuick/Image 2.3", + "QtQuick/Image 2.5" + ] + exportMetaObjectRevisions: [0, 1, 2] + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Enum { + name: "FillMode" + values: { + "Stretch": 0, + "PreserveAspectFit": 1, + "PreserveAspectCrop": 2, + "Tile": 3, + "TileVertically": 4, + "TileHorizontally": 5, + "Pad": 6 + } + } + Property { name: "fillMode"; type: "FillMode" } + Property { name: "paintedWidth"; type: "double"; isReadonly: true } + Property { name: "paintedHeight"; type: "double"; isReadonly: true } + Property { name: "horizontalAlignment"; type: "HAlignment" } + Property { name: "verticalAlignment"; type: "VAlignment" } + Property { name: "mipmap"; revision: 1; type: "bool" } + Property { name: "autoTransform"; revision: 2; type: "bool" } + Signal { name: "paintedGeometryChanged" } + Signal { + name: "horizontalAlignmentChanged" + Parameter { name: "alignment"; type: "HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + Parameter { name: "alignment"; type: "VAlignment" } + } + Signal { + name: "mipmapChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { name: "autoTransformChanged"; revision: 2 } + } + Component { + name: "QQuickImageBase" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + Enum { + name: "Status" + values: { + "Null": 0, + "Ready": 1, + "Loading": 2, + "Error": 3 + } + } + Property { name: "status"; type: "Status"; isReadonly: true } + Property { name: "source"; type: "QUrl" } + Property { name: "progress"; type: "double"; isReadonly: true } + Property { name: "asynchronous"; type: "bool" } + Property { name: "cache"; type: "bool" } + Property { name: "sourceSize"; type: "QSize" } + Property { name: "mirror"; type: "bool" } + Signal { + name: "sourceChanged" + Parameter { type: "QUrl" } + } + Signal { + name: "statusChanged" + Parameter { type: "QQuickImageBase::Status" } + } + Signal { + name: "progressChanged" + Parameter { name: "progress"; type: "double" } + } + } + Component { + name: "QQuickImplicitSizeItem" + defaultProperty: "data" + prototype: "QQuickItem" + Property { name: "implicitWidth"; type: "double"; isReadonly: true } + Property { name: "implicitHeight"; type: "double"; isReadonly: true } + Signal { name: "implicitWidthChanged2"; revision: 1 } + Signal { name: "implicitHeightChanged2"; revision: 1 } + } + Component { + name: "QQuickIntValidator" + prototype: "QIntValidator" + exports: ["QtQuick/IntValidator 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "locale"; type: "string" } + Signal { name: "localeNameChanged" } + } + Component { + name: "QQuickItem" + defaultProperty: "data" + prototype: "QObject" + exports: [ + "QtQuick/Item 2.0", + "QtQuick/Item 2.1", + "QtQuick/Item 2.4", + "QtQuick/Item 2.7" + ] + exportMetaObjectRevisions: [0, 1, 2, 7] + Enum { + name: "TransformOrigin" + values: { + "TopLeft": 0, + "Top": 1, + "TopRight": 2, + "Left": 3, + "Center": 4, + "Right": 5, + "BottomLeft": 6, + "Bottom": 7, + "BottomRight": 8 + } + } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + name: "QQuickItemGrabResult" + prototype: "QObject" + Property { name: "image"; type: "QImage"; isReadonly: true } + Property { name: "url"; type: "QUrl"; isReadonly: true } + Signal { name: "ready" } + Method { + name: "saveToFile" + type: "bool" + Parameter { name: "fileName"; type: "string" } + } + } + Component { + name: "QQuickItemLayer" + prototype: "QObject" + Property { name: "enabled"; type: "bool" } + Property { name: "textureSize"; type: "QSize" } + Property { name: "sourceRect"; type: "QRectF" } + Property { name: "mipmap"; type: "bool" } + Property { name: "smooth"; type: "bool" } + Property { name: "wrapMode"; type: "QQuickShaderEffectSource::WrapMode" } + Property { name: "format"; type: "QQuickShaderEffectSource::Format" } + Property { name: "samplerName"; type: "QByteArray" } + Property { name: "effect"; type: "QQmlComponent"; isPointer: true } + Property { name: "textureMirroring"; type: "QQuickShaderEffectSource::TextureMirroring" } + Signal { + name: "enabledChanged" + Parameter { name: "enabled"; type: "bool" } + } + Signal { + name: "sizeChanged" + Parameter { name: "size"; type: "QSize" } + } + Signal { + name: "mipmapChanged" + Parameter { name: "mipmap"; type: "bool" } + } + Signal { + name: "wrapModeChanged" + Parameter { name: "mode"; type: "QQuickShaderEffectSource::WrapMode" } + } + Signal { + name: "nameChanged" + Parameter { name: "name"; type: "QByteArray" } + } + Signal { + name: "effectChanged" + Parameter { name: "component"; type: "QQmlComponent"; isPointer: true } + } + Signal { + name: "smoothChanged" + Parameter { name: "smooth"; type: "bool" } + } + Signal { + name: "formatChanged" + Parameter { name: "format"; type: "QQuickShaderEffectSource::Format" } + } + Signal { + name: "sourceRectChanged" + Parameter { name: "sourceRect"; type: "QRectF" } + } + Signal { + name: "textureMirroringChanged" + Parameter { name: "mirroring"; type: "QQuickShaderEffectSource::TextureMirroring" } + } + } + Component { + name: "QQuickItemView" + defaultProperty: "flickableData" + prototype: "QQuickFlickable" + exports: ["QtQuick/ItemView 2.1", "QtQuick/ItemView 2.3"] + isCreatable: false + exportMetaObjectRevisions: [1, 2] + Enum { + name: "LayoutDirection" + values: { + "LeftToRight": 0, + "RightToLeft": 1, + "VerticalTopToBottom": 2, + "VerticalBottomToTop": 3 + } + } + Enum { + name: "VerticalLayoutDirection" + values: { + "TopToBottom": 2, + "BottomToTop": 3 + } + } + Enum { + name: "HighlightRangeMode" + values: { + "NoHighlightRange": 0, + "ApplyRange": 1, + "StrictlyEnforceRange": 2 + } + } + Enum { + name: "PositionMode" + values: { + "Beginning": 0, + "Center": 1, + "End": 2, + "Visible": 3, + "Contain": 4, + "SnapPosition": 5 + } + } + Property { name: "model"; type: "QVariant" } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "currentIndex"; type: "int" } + Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "keyNavigationWraps"; type: "bool" } + Property { name: "keyNavigationEnabled"; revision: 7; type: "bool" } + Property { name: "cacheBuffer"; type: "int" } + Property { name: "displayMarginBeginning"; revision: 2; type: "int" } + Property { name: "displayMarginEnd"; revision: 2; type: "int" } + Property { name: "layoutDirection"; type: "Qt::LayoutDirection" } + Property { name: "effectiveLayoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + Property { name: "verticalLayoutDirection"; type: "VerticalLayoutDirection" } + Property { name: "header"; type: "QQmlComponent"; isPointer: true } + Property { name: "headerItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "footer"; type: "QQmlComponent"; isPointer: true } + Property { name: "footerItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "populate"; type: "QQuickTransition"; isPointer: true } + Property { name: "add"; type: "QQuickTransition"; isPointer: true } + Property { name: "addDisplaced"; type: "QQuickTransition"; isPointer: true } + Property { name: "move"; type: "QQuickTransition"; isPointer: true } + Property { name: "moveDisplaced"; type: "QQuickTransition"; isPointer: true } + Property { name: "remove"; type: "QQuickTransition"; isPointer: true } + Property { name: "removeDisplaced"; type: "QQuickTransition"; isPointer: true } + Property { name: "displaced"; type: "QQuickTransition"; isPointer: true } + Property { name: "highlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "highlightItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "highlightFollowsCurrentItem"; type: "bool" } + Property { name: "highlightRangeMode"; type: "HighlightRangeMode" } + Property { name: "preferredHighlightBegin"; type: "double" } + Property { name: "preferredHighlightEnd"; type: "double" } + Property { name: "highlightMoveDuration"; type: "int" } + Signal { name: "keyNavigationEnabledChanged"; revision: 7 } + Signal { name: "populateTransitionChanged" } + Signal { name: "addTransitionChanged" } + Signal { name: "addDisplacedTransitionChanged" } + Signal { name: "moveTransitionChanged" } + Signal { name: "moveDisplacedTransitionChanged" } + Signal { name: "removeTransitionChanged" } + Signal { name: "removeDisplacedTransitionChanged" } + Signal { name: "displacedTransitionChanged" } + Method { + name: "positionViewAtIndex" + Parameter { name: "index"; type: "int" } + Parameter { name: "mode"; type: "int" } + } + Method { + name: "indexAt" + type: "int" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + Method { + name: "itemAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + Method { name: "positionViewAtBeginning" } + Method { name: "positionViewAtEnd" } + Method { name: "forceLayout"; revision: 1 } + } + Component { + name: "QQuickItemViewAttached" + prototype: "QObject" + Property { name: "view"; type: "QQuickItemView"; isReadonly: true; isPointer: true } + Property { name: "isCurrentItem"; type: "bool"; isReadonly: true } + Property { name: "delayRemove"; type: "bool" } + Property { name: "section"; type: "string"; isReadonly: true } + Property { name: "previousSection"; type: "string"; isReadonly: true } + Property { name: "nextSection"; type: "string"; isReadonly: true } + Signal { name: "currentItemChanged" } + Signal { name: "add" } + Signal { name: "remove" } + Signal { name: "prevSectionChanged" } + } + Component { + name: "QQuickKeyEvent" + prototype: "QObject" + Property { name: "key"; type: "int"; isReadonly: true } + Property { name: "text"; type: "string"; isReadonly: true } + Property { name: "modifiers"; type: "int"; isReadonly: true } + Property { name: "isAutoRepeat"; type: "bool"; isReadonly: true } + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "nativeScanCode"; type: "uint"; isReadonly: true } + Property { name: "accepted"; type: "bool" } + Method { + name: "matches" + revision: 2 + type: "bool" + Parameter { name: "key"; type: "QKeySequence::StandardKey" } + } + } + Component { + name: "QQuickKeyNavigationAttached" + prototype: "QObject" + exports: ["QtQuick/KeyNavigation 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Priority" + values: { + "BeforeItem": 0, + "AfterItem": 1 + } + } + Property { name: "left"; type: "QQuickItem"; isPointer: true } + Property { name: "right"; type: "QQuickItem"; isPointer: true } + Property { name: "up"; type: "QQuickItem"; isPointer: true } + Property { name: "down"; type: "QQuickItem"; isPointer: true } + Property { name: "tab"; type: "QQuickItem"; isPointer: true } + Property { name: "backtab"; type: "QQuickItem"; isPointer: true } + Property { name: "priority"; type: "Priority" } + } + Component { + name: "QQuickKeysAttached" + prototype: "QObject" + exports: ["QtQuick/Keys 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "Priority" + values: { + "BeforeItem": 0, + "AfterItem": 1 + } + } + Property { name: "enabled"; type: "bool" } + Property { name: "forwardTo"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "priority"; type: "Priority" } + Signal { + name: "pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "released" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit0Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit1Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit2Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit3Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit4Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit5Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit6Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit7Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit8Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "digit9Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "leftPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "rightPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "upPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "downPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "tabPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "backtabPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "asteriskPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "numberSignPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "escapePressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "returnPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "enterPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "deletePressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "spacePressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "backPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "cancelPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "selectPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "yesPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "noPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "context1Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "context2Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "context3Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "context4Pressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "callPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "hangupPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "flipPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "menuPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "volumeUpPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + Signal { + name: "volumeDownPressed" + Parameter { name: "event"; type: "QQuickKeyEvent"; isPointer: true } + } + } + Component { + name: "QQuickLayoutMirroringAttached" + prototype: "QObject" + exports: ["QtQuick/LayoutMirroring 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "enabled"; type: "bool" } + Property { name: "childrenInherit"; type: "bool" } + } + Component { + name: "QQuickListView" + defaultProperty: "data" + prototype: "QQuickItemView" + exports: [ + "QtQuick/ListView 2.0", + "QtQuick/ListView 2.1", + "QtQuick/ListView 2.4", + "QtQuick/ListView 2.7" + ] + exportMetaObjectRevisions: [0, 1, 2, 7] + attachedType: "QQuickListViewAttached" + Enum { + name: "Orientation" + values: { + "Horizontal": 1, + "Vertical": 2 + } + } + Enum { + name: "SnapMode" + values: { + "NoSnap": 0, + "SnapToItem": 1, + "SnapOneItem": 2 + } + } + Enum { + name: "HeaderPositioning" + values: { + "InlineHeader": 0, + "OverlayHeader": 1, + "PullBackHeader": 2 + } + } + Enum { + name: "FooterPositioning" + values: { + "InlineFooter": 0, + "OverlayFooter": 1, + "PullBackFooter": 2 + } + } + Property { name: "highlightMoveVelocity"; type: "double" } + Property { name: "highlightResizeVelocity"; type: "double" } + Property { name: "highlightResizeDuration"; type: "int" } + Property { name: "spacing"; type: "double" } + Property { name: "orientation"; type: "Orientation" } + Property { name: "section"; type: "QQuickViewSection"; isReadonly: true; isPointer: true } + Property { name: "currentSection"; type: "string"; isReadonly: true } + Property { name: "snapMode"; type: "SnapMode" } + Property { name: "headerPositioning"; revision: 2; type: "HeaderPositioning" } + Property { name: "footerPositioning"; revision: 2; type: "FooterPositioning" } + Signal { name: "headerPositioningChanged"; revision: 2 } + Signal { name: "footerPositioningChanged"; revision: 2 } + Method { name: "incrementCurrentIndex" } + Method { name: "decrementCurrentIndex" } + } + Component { name: "QQuickListViewAttached"; prototype: "QQuickItemViewAttached" } + Component { + name: "QQuickLoader" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: ["QtQuick/Loader 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "Status" + values: { + "Null": 0, + "Ready": 1, + "Loading": 2, + "Error": 3 + } + } + Property { name: "active"; type: "bool" } + Property { name: "source"; type: "QUrl" } + Property { name: "sourceComponent"; type: "QQmlComponent"; isPointer: true } + Property { name: "item"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "status"; type: "Status"; isReadonly: true } + Property { name: "progress"; type: "double"; isReadonly: true } + Property { name: "asynchronous"; type: "bool" } + Signal { name: "loaded" } + Method { + name: "setSource" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + } + Component { + name: "QQuickMatrix4x4" + prototype: "QQuickTransform" + exports: ["QtQuick/Matrix4x4 2.3"] + exportMetaObjectRevisions: [0] + Property { name: "matrix"; type: "QMatrix4x4" } + } + Component { + name: "QQuickMouseArea" + defaultProperty: "data" + prototype: "QQuickItem" + exports: [ + "QtQuick/MouseArea 2.0", + "QtQuick/MouseArea 2.4", + "QtQuick/MouseArea 2.5" + ] + exportMetaObjectRevisions: [0, 1, 2] + Property { name: "mouseX"; type: "double"; isReadonly: true } + Property { name: "mouseY"; type: "double"; isReadonly: true } + Property { name: "containsMouse"; type: "bool"; isReadonly: true } + Property { name: "pressed"; type: "bool"; isReadonly: true } + Property { name: "enabled"; type: "bool" } + Property { name: "scrollGestureEnabled"; revision: 2; type: "bool" } + Property { name: "pressedButtons"; type: "Qt::MouseButtons"; isReadonly: true } + Property { name: "acceptedButtons"; type: "Qt::MouseButtons" } + Property { name: "hoverEnabled"; type: "bool" } + Property { name: "drag"; type: "QQuickDrag"; isReadonly: true; isPointer: true } + Property { name: "preventStealing"; type: "bool" } + Property { name: "propagateComposedEvents"; type: "bool" } + Property { name: "cursorShape"; type: "Qt::CursorShape" } + Property { name: "containsPress"; revision: 1; type: "bool"; isReadonly: true } + Signal { name: "hoveredChanged" } + Signal { name: "scrollGestureEnabledChanged"; revision: 2 } + Signal { + name: "positionChanged" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "mouseXChanged" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "mouseYChanged" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "pressed" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "pressAndHold" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "released" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "clicked" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "doubleClicked" + Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true } + } + Signal { + name: "wheel" + Parameter { name: "wheel"; type: "QQuickWheelEvent"; isPointer: true } + } + Signal { name: "entered" } + Signal { name: "exited" } + Signal { name: "canceled" } + Signal { name: "containsPressChanged"; revision: 1 } + } + Component { + name: "QQuickMultiPointTouchArea" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/MultiPointTouchArea 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "touchPoints"; type: "QQuickTouchPoint"; isList: true; isReadonly: true } + Property { name: "minimumTouchPoints"; type: "int" } + Property { name: "maximumTouchPoints"; type: "int" } + Property { name: "mouseEnabled"; type: "bool" } + Signal { + name: "pressed" + Parameter { name: "touchPoints"; type: "QList" } + } + Signal { + name: "updated" + Parameter { name: "touchPoints"; type: "QList" } + } + Signal { + name: "released" + Parameter { name: "touchPoints"; type: "QList" } + } + Signal { + name: "canceled" + Parameter { name: "touchPoints"; type: "QList" } + } + Signal { + name: "gestureStarted" + Parameter { name: "gesture"; type: "QQuickGrabGestureEvent"; isPointer: true } + } + Signal { + name: "touchUpdated" + Parameter { name: "touchPoints"; type: "QList" } + } + } + Component { + name: "QQuickNumberAnimation" + prototype: "QQuickPropertyAnimation" + exports: ["QtQuick/NumberAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "from"; type: "double" } + Property { name: "to"; type: "double" } + } + Component { + name: "QQuickOpacityAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/OpacityAnimator 2.2"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickOpenGLInfo" + prototype: "QObject" + exports: ["QtQuick/OpenGLInfo 2.4"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "ContextProfile" + values: { + "NoProfile": 0, + "CoreProfile": 1, + "CompatibilityProfile": 2 + } + } + Enum { + name: "RenderableType" + values: { + "Unspecified": 0, + "OpenGL": 1, + "OpenGLES": 2 + } + } + Property { name: "majorVersion"; type: "int"; isReadonly: true } + Property { name: "minorVersion"; type: "int"; isReadonly: true } + Property { name: "profile"; type: "ContextProfile"; isReadonly: true } + Property { name: "renderableType"; type: "RenderableType"; isReadonly: true } + } + Component { + name: "QQuickPackage" + defaultProperty: "data" + prototype: "QObject" + exports: ["QtQuick/Package 2.0"] + exportMetaObjectRevisions: [0] + attachedType: "QQuickPackageAttached" + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + } + Component { + name: "QQuickPackageAttached" + prototype: "QObject" + Property { name: "name"; type: "string" } + } + Component { + name: "QQuickPaintedItem" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/PaintedItem 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "RenderTarget" + values: { + "Image": 0, + "FramebufferObject": 1, + "InvertedYFramebufferObject": 2 + } + } + Property { name: "contentsSize"; type: "QSize" } + Property { name: "fillColor"; type: "QColor" } + Property { name: "contentsScale"; type: "double" } + Property { name: "renderTarget"; type: "RenderTarget" } + Property { name: "textureSize"; type: "QSize" } + } + Component { + name: "QQuickParallelAnimation" + defaultProperty: "animations" + prototype: "QQuickAnimationGroup" + exports: ["QtQuick/ParallelAnimation 2.0"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickParentAnimation" + defaultProperty: "animations" + prototype: "QQuickAnimationGroup" + exports: ["QtQuick/ParentAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "newParent"; type: "QQuickItem"; isPointer: true } + Property { name: "via"; type: "QQuickItem"; isPointer: true } + } + Component { + name: "QQuickParentChange" + prototype: "QQuickStateOperation" + exports: ["QtQuick/ParentChange 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "x"; type: "QQmlScriptString" } + Property { name: "y"; type: "QQmlScriptString" } + Property { name: "width"; type: "QQmlScriptString" } + Property { name: "height"; type: "QQmlScriptString" } + Property { name: "scale"; type: "QQmlScriptString" } + Property { name: "rotation"; type: "QQmlScriptString" } + } + Component { + name: "QQuickPath" + defaultProperty: "pathElements" + prototype: "QObject" + exports: ["QtQuick/Path 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "pathElements"; type: "QQuickPathElement"; isList: true; isReadonly: true } + Property { name: "startX"; type: "double" } + Property { name: "startY"; type: "double" } + Property { name: "closed"; type: "bool"; isReadonly: true } + Signal { name: "changed" } + } + Component { + name: "QQuickPathAnimation" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/PathAnimation 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "Orientation" + values: { + "Fixed": 0, + "RightFirst": 1, + "LeftFirst": 2, + "BottomFirst": 3, + "TopFirst": 4 + } + } + Property { name: "duration"; type: "int" } + Property { name: "easing"; type: "QEasingCurve" } + Property { name: "path"; type: "QQuickPath"; isPointer: true } + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "orientation"; type: "Orientation" } + Property { name: "anchorPoint"; type: "QPointF" } + Property { name: "orientationEntryDuration"; type: "int" } + Property { name: "orientationExitDuration"; type: "int" } + Property { name: "endRotation"; type: "double" } + Signal { + name: "durationChanged" + Parameter { type: "int" } + } + Signal { + name: "easingChanged" + Parameter { type: "QEasingCurve" } + } + Signal { + name: "orientationChanged" + Parameter { type: "Orientation" } + } + Signal { + name: "anchorPointChanged" + Parameter { type: "QPointF" } + } + Signal { + name: "orientationEntryDurationChanged" + Parameter { type: "double" } + } + Signal { + name: "orientationExitDurationChanged" + Parameter { type: "double" } + } + Signal { + name: "endRotationChanged" + Parameter { type: "double" } + } + } + Component { + name: "QQuickPathArc" + prototype: "QQuickCurve" + exports: ["QtQuick/PathArc 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "ArcDirection" + values: { + "Clockwise": 0, + "Counterclockwise": 1 + } + } + Property { name: "radiusX"; type: "double" } + Property { name: "radiusY"; type: "double" } + Property { name: "useLargeArc"; type: "bool" } + Property { name: "direction"; type: "ArcDirection" } + } + Component { + name: "QQuickPathAttribute" + prototype: "QQuickPathElement" + exports: ["QtQuick/PathAttribute 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "name"; type: "string" } + Property { name: "value"; type: "double" } + } + Component { + name: "QQuickPathCatmullRomCurve" + prototype: "QQuickCurve" + exports: ["QtQuick/PathCurve 2.0"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickPathCubic" + prototype: "QQuickCurve" + exports: ["QtQuick/PathCubic 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "control1X"; type: "double" } + Property { name: "control1Y"; type: "double" } + Property { name: "control2X"; type: "double" } + Property { name: "control2Y"; type: "double" } + Property { name: "relativeControl1X"; type: "double" } + Property { name: "relativeControl1Y"; type: "double" } + Property { name: "relativeControl2X"; type: "double" } + Property { name: "relativeControl2Y"; type: "double" } + } + Component { + name: "QQuickPathElement" + prototype: "QObject" + Signal { name: "changed" } + } + Component { + name: "QQuickPathInterpolator" + prototype: "QObject" + exports: ["QtQuick/PathInterpolator 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "path"; type: "QQuickPath"; isPointer: true } + Property { name: "progress"; type: "double" } + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "angle"; type: "double"; isReadonly: true } + } + Component { + name: "QQuickPathLine" + prototype: "QQuickCurve" + exports: ["QtQuick/PathLine 2.0"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickPathPercent" + prototype: "QQuickPathElement" + exports: ["QtQuick/PathPercent 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "value"; type: "double" } + } + Component { + name: "QQuickPathQuad" + prototype: "QQuickCurve" + exports: ["QtQuick/PathQuad 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "controlX"; type: "double" } + Property { name: "controlY"; type: "double" } + Property { name: "relativeControlX"; type: "double" } + Property { name: "relativeControlY"; type: "double" } + } + Component { + name: "QQuickPathSvg" + prototype: "QQuickCurve" + exports: ["QtQuick/PathSvg 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "path"; type: "string" } + } + Component { + name: "QQuickPathView" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/PathView 2.0", "QtQuick/PathView 2.7"] + exportMetaObjectRevisions: [0, 7] + attachedType: "QQuickPathViewAttached" + Enum { + name: "HighlightRangeMode" + values: { + "NoHighlightRange": 0, + "ApplyRange": 1, + "StrictlyEnforceRange": 2 + } + } + Enum { + name: "SnapMode" + values: { + "NoSnap": 0, + "SnapToItem": 1, + "SnapOneItem": 2 + } + } + Enum { + name: "MovementDirection" + values: { + "Shortest": 0, + "Negative": 1, + "Positive": 2 + } + } + Enum { + name: "PositionMode" + values: { + "Beginning": 0, + "Center": 1, + "End": 2, + "Contain": 4, + "SnapPosition": 5 + } + } + Property { name: "model"; type: "QVariant" } + Property { name: "path"; type: "QQuickPath"; isPointer: true } + Property { name: "currentIndex"; type: "int" } + Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "offset"; type: "double" } + Property { name: "highlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "highlightItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "preferredHighlightBegin"; type: "double" } + Property { name: "preferredHighlightEnd"; type: "double" } + Property { name: "highlightRangeMode"; type: "HighlightRangeMode" } + Property { name: "highlightMoveDuration"; type: "int" } + Property { name: "dragMargin"; type: "double" } + Property { name: "maximumFlickVelocity"; type: "double" } + Property { name: "flickDeceleration"; type: "double" } + Property { name: "interactive"; type: "bool" } + Property { name: "moving"; type: "bool"; isReadonly: true } + Property { name: "flicking"; type: "bool"; isReadonly: true } + Property { name: "dragging"; type: "bool"; isReadonly: true } + Property { name: "count"; type: "int"; isReadonly: true } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "pathItemCount"; type: "int" } + Property { name: "snapMode"; type: "SnapMode" } + Property { name: "movementDirection"; revision: 7; type: "MovementDirection" } + Property { name: "cacheItemCount"; type: "int" } + Signal { name: "snapPositionChanged" } + Signal { name: "movementStarted" } + Signal { name: "movementEnded" } + Signal { name: "movementDirectionChanged"; revision: 7 } + Signal { name: "flickStarted" } + Signal { name: "flickEnded" } + Signal { name: "dragStarted" } + Signal { name: "dragEnded" } + Method { name: "incrementCurrentIndex" } + Method { name: "decrementCurrentIndex" } + Method { + name: "positionViewAtIndex" + Parameter { name: "index"; type: "int" } + Parameter { name: "mode"; type: "int" } + } + Method { + name: "indexAt" + type: "int" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + Method { + name: "itemAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + name: "QQuickPathViewAttached" + prototype: "QObject" + Property { name: "view"; type: "QQuickPathView"; isReadonly: true; isPointer: true } + Property { name: "isCurrentItem"; type: "bool"; isReadonly: true } + Property { name: "onPath"; type: "bool"; isReadonly: true } + Signal { name: "currentItemChanged" } + Signal { name: "pathChanged" } + } + Component { + name: "QQuickPauseAnimation" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/PauseAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "duration"; type: "int" } + Signal { + name: "durationChanged" + Parameter { type: "int" } + } + } + Component { + name: "QQuickPen" + prototype: "QObject" + Property { name: "width"; type: "double" } + Property { name: "color"; type: "QColor" } + Property { name: "pixelAligned"; type: "bool" } + Signal { name: "penChanged" } + } + Component { + name: "QQuickPinch" + prototype: "QObject" + exports: ["QtQuick/Pinch 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "Axis" + values: { + "NoDrag": 0, + "XAxis": 1, + "YAxis": 2, + "XAndYAxis": 3, + "XandYAxis": 3 + } + } + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "minimumScale"; type: "double" } + Property { name: "maximumScale"; type: "double" } + Property { name: "minimumRotation"; type: "double" } + Property { name: "maximumRotation"; type: "double" } + Property { name: "dragAxis"; type: "Axis" } + Property { name: "minimumX"; type: "double" } + Property { name: "maximumX"; type: "double" } + Property { name: "minimumY"; type: "double" } + Property { name: "maximumY"; type: "double" } + Property { name: "active"; type: "bool"; isReadonly: true } + } + Component { + name: "QQuickPinchArea" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/PinchArea 2.0", "QtQuick/PinchArea 2.5"] + exportMetaObjectRevisions: [0, 1] + Property { name: "enabled"; type: "bool" } + Property { name: "pinch"; type: "QQuickPinch"; isReadonly: true; isPointer: true } + Signal { + name: "pinchStarted" + Parameter { name: "pinch"; type: "QQuickPinchEvent"; isPointer: true } + } + Signal { + name: "pinchUpdated" + Parameter { name: "pinch"; type: "QQuickPinchEvent"; isPointer: true } + } + Signal { + name: "pinchFinished" + Parameter { name: "pinch"; type: "QQuickPinchEvent"; isPointer: true } + } + Signal { + name: "smartZoom" + revision: 1 + Parameter { name: "pinch"; type: "QQuickPinchEvent"; isPointer: true } + } + } + Component { + name: "QQuickPinchEvent" + prototype: "QObject" + Property { name: "center"; type: "QPointF"; isReadonly: true } + Property { name: "startCenter"; type: "QPointF"; isReadonly: true } + Property { name: "previousCenter"; type: "QPointF"; isReadonly: true } + Property { name: "scale"; type: "double"; isReadonly: true } + Property { name: "previousScale"; type: "double"; isReadonly: true } + Property { name: "angle"; type: "double"; isReadonly: true } + Property { name: "previousAngle"; type: "double"; isReadonly: true } + Property { name: "rotation"; type: "double"; isReadonly: true } + Property { name: "point1"; type: "QPointF"; isReadonly: true } + Property { name: "startPoint1"; type: "QPointF"; isReadonly: true } + Property { name: "point2"; type: "QPointF"; isReadonly: true } + Property { name: "startPoint2"; type: "QPointF"; isReadonly: true } + Property { name: "pointCount"; type: "int"; isReadonly: true } + Property { name: "accepted"; type: "bool" } + } + Component { + name: "QQuickPositionerAttached" + prototype: "QObject" + Property { name: "index"; type: "int"; isReadonly: true } + Property { name: "isFirstItem"; type: "bool"; isReadonly: true } + Property { name: "isLastItem"; type: "bool"; isReadonly: true } + } + Component { + name: "QQuickPropertyAction" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/PropertyAction 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "target"; type: "QObject"; isPointer: true } + Property { name: "property"; type: "string" } + Property { name: "properties"; type: "string" } + Property { name: "targets"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "exclude"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "value"; type: "QVariant" } + Signal { + name: "valueChanged" + Parameter { type: "QVariant" } + } + Signal { + name: "propertiesChanged" + Parameter { type: "string" } + } + } + Component { + name: "QQuickPropertyAnimation" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/PropertyAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "duration"; type: "int" } + Property { name: "from"; type: "QVariant" } + Property { name: "to"; type: "QVariant" } + Property { name: "easing"; type: "QEasingCurve" } + Property { name: "target"; type: "QObject"; isPointer: true } + Property { name: "property"; type: "string" } + Property { name: "properties"; type: "string" } + Property { name: "targets"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "exclude"; type: "QObject"; isList: true; isReadonly: true } + Signal { + name: "durationChanged" + Parameter { type: "int" } + } + Signal { + name: "fromChanged" + Parameter { type: "QVariant" } + } + Signal { + name: "toChanged" + Parameter { type: "QVariant" } + } + Signal { + name: "easingChanged" + Parameter { type: "QEasingCurve" } + } + Signal { + name: "propertiesChanged" + Parameter { type: "string" } + } + } + Component { + name: "QQuickPropertyChanges" + prototype: "QQuickStateOperation" + exports: ["QtQuick/PropertyChanges 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "target"; type: "QObject"; isPointer: true } + Property { name: "restoreEntryValues"; type: "bool" } + Property { name: "explicit"; type: "bool" } + } + Component { + name: "QQuickRectangle" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/Rectangle 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "color"; type: "QColor" } + Property { name: "gradient"; type: "QQuickGradient"; isPointer: true } + Property { name: "border"; type: "QQuickPen"; isReadonly: true; isPointer: true } + Property { name: "radius"; type: "double" } + } + Component { + name: "QQuickRepeater" + defaultProperty: "delegate" + prototype: "QQuickItem" + exports: ["QtQuick/Repeater 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "model"; type: "QVariant" } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "count"; type: "int"; isReadonly: true } + Signal { + name: "itemAdded" + Parameter { name: "index"; type: "int" } + Parameter { name: "item"; type: "QQuickItem"; isPointer: true } + } + Signal { + name: "itemRemoved" + Parameter { name: "index"; type: "int" } + Parameter { name: "item"; type: "QQuickItem"; isPointer: true } + } + Method { + name: "itemAt" + type: "QQuickItem*" + Parameter { name: "index"; type: "int" } + } + } + Component { + name: "QQuickRotation" + prototype: "QQuickTransform" + exports: ["QtQuick/Rotation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "origin"; type: "QVector3D" } + Property { name: "angle"; type: "double" } + Property { name: "axis"; type: "QVector3D" } + } + Component { + name: "QQuickRotationAnimation" + prototype: "QQuickPropertyAnimation" + exports: ["QtQuick/RotationAnimation 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "RotationDirection" + values: { + "Numerical": 0, + "Shortest": 1, + "Clockwise": 2, + "Counterclockwise": 3 + } + } + Property { name: "from"; type: "double" } + Property { name: "to"; type: "double" } + Property { name: "direction"; type: "RotationDirection" } + } + Component { + name: "QQuickRotationAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/RotationAnimator 2.2"] + exportMetaObjectRevisions: [0] + Enum { + name: "RotationDirection" + values: { + "Numerical": 0, + "Shortest": 1, + "Clockwise": 2, + "Counterclockwise": 3 + } + } + Property { name: "direction"; type: "RotationDirection" } + Signal { + name: "directionChanged" + Parameter { name: "dir"; type: "RotationDirection" } + } + } + Component { + name: "QQuickRow" + defaultProperty: "data" + prototype: "QQuickBasePositioner" + exports: ["QtQuick/Row 2.0", "QtQuick/Row 2.6"] + exportMetaObjectRevisions: [0, 6] + Property { name: "layoutDirection"; type: "Qt::LayoutDirection" } + Property { name: "effectiveLayoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } + } + Component { + name: "QQuickScale" + prototype: "QQuickTransform" + exports: ["QtQuick/Scale 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "origin"; type: "QVector3D" } + Property { name: "xScale"; type: "double" } + Property { name: "yScale"; type: "double" } + Property { name: "zScale"; type: "double" } + Signal { name: "scaleChanged" } + } + Component { + name: "QQuickScaleAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/ScaleAnimator 2.2"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickScaleGrid" + prototype: "QObject" + Property { name: "left"; type: "int" } + Property { name: "top"; type: "int" } + Property { name: "right"; type: "int" } + Property { name: "bottom"; type: "int" } + Signal { name: "borderChanged" } + } + Component { + name: "QQuickScriptAction" + prototype: "QQuickAbstractAnimation" + exports: ["QtQuick/ScriptAction 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "script"; type: "QQmlScriptString" } + Property { name: "scriptName"; type: "string" } + } + Component { + name: "QQuickSequentialAnimation" + defaultProperty: "animations" + prototype: "QQuickAnimationGroup" + exports: ["QtQuick/SequentialAnimation 2.0"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickShaderEffect" + defaultProperty: "data" + prototype: "QQuickItem" + exports: ["QtQuick/ShaderEffect 2.0", "QtQuick/ShaderEffect 2.4"] + exportMetaObjectRevisions: [0, 1] + Enum { + name: "CullMode" + values: { + "NoCulling": 0, + "BackFaceCulling": 1, + "FrontFaceCulling": 2 + } + } + Enum { + name: "Status" + values: { + "Compiled": 0, + "Uncompiled": 1, + "Error": 2 + } + } + Property { name: "fragmentShader"; type: "QByteArray" } + Property { name: "vertexShader"; type: "QByteArray" } + Property { name: "blending"; type: "bool" } + Property { name: "mesh"; type: "QVariant" } + Property { name: "cullMode"; type: "CullMode" } + Property { name: "log"; type: "string"; isReadonly: true } + Property { name: "status"; type: "Status"; isReadonly: true } + Property { name: "supportsAtlasTextures"; revision: 1; type: "bool" } + } + Component { + name: "QQuickShaderEffectMesh" + prototype: "QObject" + exports: ["QtQuick/ShaderEffectMesh 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Signal { name: "geometryChanged" } + } + Component { + name: "QQuickShaderEffectSource" + defaultProperty: "data" + prototype: "QQuickItem" + exports: [ + "QtQuick/ShaderEffectSource 2.0", + "QtQuick/ShaderEffectSource 2.6" + ] + exportMetaObjectRevisions: [0, 1] + Enum { + name: "WrapMode" + values: { + "ClampToEdge": 0, + "RepeatHorizontally": 1, + "RepeatVertically": 2, + "Repeat": 3 + } + } + Enum { + name: "Format" + values: { + "Alpha": 6406, + "RGB": 6407, + "RGBA": 6408 + } + } + Enum { + name: "TextureMirroring" + values: { + "NoMirroring": 0, + "MirrorHorizontally": 1, + "MirrorVertically": 2 + } + } + Property { name: "wrapMode"; type: "WrapMode" } + Property { name: "sourceItem"; type: "QQuickItem"; isPointer: true } + Property { name: "sourceRect"; type: "QRectF" } + Property { name: "textureSize"; type: "QSize" } + Property { name: "format"; type: "Format" } + Property { name: "live"; type: "bool" } + Property { name: "hideSource"; type: "bool" } + Property { name: "mipmap"; type: "bool" } + Property { name: "recursive"; type: "bool" } + Property { name: "textureMirroring"; revision: 1; type: "TextureMirroring" } + Signal { name: "scheduledUpdateCompleted" } + Method { name: "scheduleUpdate" } + } + Component { + name: "QQuickShortcut" + prototype: "QObject" + exports: ["QtQuick/Shortcut 2.5", "QtQuick/Shortcut 2.6"] + exportMetaObjectRevisions: [0, 1] + Property { name: "sequence"; type: "QVariant" } + Property { name: "nativeText"; revision: 1; type: "string"; isReadonly: true } + Property { name: "portableText"; revision: 1; type: "string"; isReadonly: true } + Property { name: "enabled"; type: "bool" } + Property { name: "autoRepeat"; type: "bool" } + Property { name: "context"; type: "Qt::ShortcutContext" } + Signal { name: "activated" } + Signal { name: "activatedAmbiguously" } + } + Component { + name: "QQuickSmoothedAnimation" + prototype: "QQuickNumberAnimation" + exports: ["QtQuick/SmoothedAnimation 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "ReversingMode" + values: { + "Eased": 0, + "Immediate": 1, + "Sync": 2 + } + } + Property { name: "velocity"; type: "double" } + Property { name: "reversingMode"; type: "ReversingMode" } + Property { name: "maximumEasingTime"; type: "double" } + } + Component { + name: "QQuickSpringAnimation" + prototype: "QQuickNumberAnimation" + exports: ["QtQuick/SpringAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "velocity"; type: "double" } + Property { name: "spring"; type: "double" } + Property { name: "damping"; type: "double" } + Property { name: "epsilon"; type: "double" } + Property { name: "modulus"; type: "double" } + Property { name: "mass"; type: "double" } + Signal { name: "syncChanged" } + } + Component { + name: "QQuickSprite" + prototype: "QQuickStochasticState" + exports: ["QtQuick/Sprite 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "source"; type: "QUrl" } + Property { name: "reverse"; type: "bool" } + Property { name: "frameSync"; type: "bool" } + Property { name: "frames"; type: "int" } + Property { name: "frameCount"; type: "int" } + Property { name: "frameHeight"; type: "int" } + Property { name: "frameWidth"; type: "int" } + Property { name: "frameX"; type: "int" } + Property { name: "frameY"; type: "int" } + Property { name: "frameRate"; type: "double" } + Property { name: "frameRateVariation"; type: "double" } + Property { name: "frameDuration"; type: "int" } + Property { name: "frameDurationVariation"; type: "int" } + Signal { + name: "sourceChanged" + Parameter { name: "arg"; type: "QUrl" } + } + Signal { + name: "frameHeightChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameWidthChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "reverseChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "frameCountChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameXChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameYChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameRateChanged" + Parameter { name: "arg"; type: "double" } + } + Signal { + name: "frameRateVariationChanged" + Parameter { name: "arg"; type: "double" } + } + Signal { + name: "frameDurationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameDurationVariationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "frameSyncChanged" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setSource" + Parameter { name: "arg"; type: "QUrl" } + } + Method { + name: "setFrameHeight" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameWidth" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setReverse" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setFrames" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameCount" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameX" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameY" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameRate" + Parameter { name: "arg"; type: "double" } + } + Method { + name: "setFrameRateVariation" + Parameter { name: "arg"; type: "double" } + } + Method { + name: "setFrameDuration" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameDurationVariation" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setFrameSync" + Parameter { name: "arg"; type: "bool" } + } + } + Component { + name: "QQuickSpriteSequence" + defaultProperty: "sprites" + prototype: "QQuickItem" + exports: ["QtQuick/SpriteSequence 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "running"; type: "bool" } + Property { name: "interpolate"; type: "bool" } + Property { name: "goalSprite"; type: "string" } + Property { name: "currentSprite"; type: "string"; isReadonly: true } + Property { name: "sprites"; type: "QQuickSprite"; isList: true; isReadonly: true } + Signal { + name: "runningChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "interpolateChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "goalSpriteChanged" + Parameter { name: "arg"; type: "string" } + } + Signal { + name: "currentSpriteChanged" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "jumpTo" + Parameter { name: "sprite"; type: "string" } + } + Method { + name: "setGoalSprite" + Parameter { name: "sprite"; type: "string" } + } + Method { + name: "setRunning" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setInterpolate" + Parameter { name: "arg"; type: "bool" } + } + } + Component { + name: "QQuickState" + defaultProperty: "changes" + prototype: "QObject" + exports: ["QtQuick/State 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "name"; type: "string" } + Property { name: "when"; type: "QQmlBinding"; isPointer: true } + Property { name: "extend"; type: "string" } + Property { name: "changes"; type: "QQuickStateOperation"; isList: true; isReadonly: true } + Signal { name: "completed" } + } + Component { + name: "QQuickStateChangeScript" + prototype: "QQuickStateOperation" + exports: ["QtQuick/StateChangeScript 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "script"; type: "QQmlScriptString" } + Property { name: "name"; type: "string" } + } + Component { + name: "QQuickStateGroup" + prototype: "QObject" + exports: ["QtQuick/StateGroup 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "state"; type: "string" } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + } + Component { name: "QQuickStateOperation"; prototype: "QObject" } + Component { + name: "QQuickStochasticState" + prototype: "QObject" + Property { name: "duration"; type: "int" } + Property { name: "durationVariation"; type: "int" } + Property { name: "randomStart"; type: "bool" } + Property { name: "to"; type: "QVariantMap" } + Property { name: "name"; type: "string" } + Signal { + name: "durationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "nameChanged" + Parameter { name: "arg"; type: "string" } + } + Signal { + name: "toChanged" + Parameter { name: "arg"; type: "QVariantMap" } + } + Signal { + name: "durationVariationChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { name: "entered" } + Signal { + name: "randomStartChanged" + Parameter { name: "arg"; type: "bool" } + } + Method { + name: "setDuration" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setName" + Parameter { name: "arg"; type: "string" } + } + Method { + name: "setTo" + Parameter { name: "arg"; type: "QVariantMap" } + } + Method { + name: "setDurationVariation" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setRandomStart" + Parameter { name: "arg"; type: "bool" } + } + } + Component { + name: "QQuickSystemPalette" + prototype: "QObject" + exports: ["QtQuick/SystemPalette 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "ColorGroup" + values: { + "Active": 0, + "Inactive": 2, + "Disabled": 1 + } + } + Property { name: "colorGroup"; type: "QQuickSystemPalette::ColorGroup" } + Property { name: "window"; type: "QColor"; isReadonly: true } + Property { name: "windowText"; type: "QColor"; isReadonly: true } + Property { name: "base"; type: "QColor"; isReadonly: true } + Property { name: "text"; type: "QColor"; isReadonly: true } + Property { name: "alternateBase"; type: "QColor"; isReadonly: true } + Property { name: "button"; type: "QColor"; isReadonly: true } + Property { name: "buttonText"; type: "QColor"; isReadonly: true } + Property { name: "light"; type: "QColor"; isReadonly: true } + Property { name: "midlight"; type: "QColor"; isReadonly: true } + Property { name: "dark"; type: "QColor"; isReadonly: true } + Property { name: "mid"; type: "QColor"; isReadonly: true } + Property { name: "shadow"; type: "QColor"; isReadonly: true } + Property { name: "highlight"; type: "QColor"; isReadonly: true } + Property { name: "highlightedText"; type: "QColor"; isReadonly: true } + Signal { name: "paletteChanged" } + } + Component { + name: "QQuickText" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: [ + "QtQuick/Text 2.0", + "QtQuick/Text 2.2", + "QtQuick/Text 2.3", + "QtQuick/Text 2.6" + ] + exportMetaObjectRevisions: [0, 2, 3, 6] + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4, + "AlignJustify": 8 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Enum { + name: "TextStyle" + values: { + "Normal": 0, + "Outline": 1, + "Raised": 2, + "Sunken": 3 + } + } + Enum { + name: "TextFormat" + values: { + "PlainText": 0, + "RichText": 1, + "AutoText": 2, + "StyledText": 4 + } + } + Enum { + name: "TextElideMode" + values: { + "ElideLeft": 0, + "ElideRight": 1, + "ElideMiddle": 2, + "ElideNone": 3 + } + } + Enum { + name: "WrapMode" + values: { + "NoWrap": 0, + "WordWrap": 1, + "WrapAnywhere": 3, + "WrapAtWordBoundaryOrAnywhere": 4, + "Wrap": 4 + } + } + Enum { + name: "RenderType" + values: { + "QtRendering": 0, + "NativeRendering": 1 + } + } + Enum { + name: "LineHeightMode" + values: { + "ProportionalHeight": 0, + "FixedHeight": 1 + } + } + Enum { + name: "FontSizeMode" + values: { + "FixedSize": 0, + "HorizontalFit": 1, + "VerticalFit": 2, + "Fit": 3 + } + } + Property { name: "text"; type: "string" } + Property { name: "font"; type: "QFont" } + Property { name: "color"; type: "QColor" } + Property { name: "linkColor"; type: "QColor" } + Property { name: "style"; type: "TextStyle" } + Property { name: "styleColor"; type: "QColor" } + Property { name: "horizontalAlignment"; type: "HAlignment" } + Property { name: "effectiveHorizontalAlignment"; type: "HAlignment"; isReadonly: true } + Property { name: "verticalAlignment"; type: "VAlignment" } + Property { name: "wrapMode"; type: "WrapMode" } + Property { name: "lineCount"; type: "int"; isReadonly: true } + Property { name: "truncated"; type: "bool"; isReadonly: true } + Property { name: "maximumLineCount"; type: "int" } + Property { name: "textFormat"; type: "TextFormat" } + Property { name: "elide"; type: "TextElideMode" } + Property { name: "contentWidth"; type: "double"; isReadonly: true } + Property { name: "contentHeight"; type: "double"; isReadonly: true } + Property { name: "paintedWidth"; type: "double"; isReadonly: true } + Property { name: "paintedHeight"; type: "double"; isReadonly: true } + Property { name: "lineHeight"; type: "double" } + Property { name: "lineHeightMode"; type: "LineHeightMode" } + Property { name: "baseUrl"; type: "QUrl" } + Property { name: "minimumPixelSize"; type: "int" } + Property { name: "minimumPointSize"; type: "int" } + Property { name: "fontSizeMode"; type: "FontSizeMode" } + Property { name: "renderType"; type: "RenderType" } + Property { name: "hoveredLink"; revision: 2; type: "string"; isReadonly: true } + Property { name: "padding"; revision: 6; type: "double" } + Property { name: "topPadding"; revision: 6; type: "double" } + Property { name: "leftPadding"; revision: 6; type: "double" } + Property { name: "rightPadding"; revision: 6; type: "double" } + Property { name: "bottomPadding"; revision: 6; type: "double" } + Signal { + name: "textChanged" + Parameter { name: "text"; type: "string" } + } + Signal { + name: "linkActivated" + Parameter { name: "link"; type: "string" } + } + Signal { + name: "linkHovered" + revision: 2 + Parameter { name: "link"; type: "string" } + } + Signal { + name: "fontChanged" + Parameter { name: "font"; type: "QFont" } + } + Signal { + name: "styleChanged" + Parameter { name: "style"; type: "QQuickText::TextStyle" } + } + Signal { + name: "horizontalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickText::HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickText::VAlignment" } + } + Signal { + name: "textFormatChanged" + Parameter { name: "textFormat"; type: "QQuickText::TextFormat" } + } + Signal { + name: "elideModeChanged" + Parameter { name: "mode"; type: "QQuickText::TextElideMode" } + } + Signal { name: "contentSizeChanged" } + Signal { + name: "lineHeightChanged" + Parameter { name: "lineHeight"; type: "double" } + } + Signal { + name: "lineHeightModeChanged" + Parameter { name: "mode"; type: "LineHeightMode" } + } + Signal { + name: "lineLaidOut" + Parameter { name: "line"; type: "QQuickTextLine"; isPointer: true } + } + Signal { name: "paddingChanged"; revision: 6 } + Signal { name: "topPaddingChanged"; revision: 6 } + Signal { name: "leftPaddingChanged"; revision: 6 } + Signal { name: "rightPaddingChanged"; revision: 6 } + Signal { name: "bottomPaddingChanged"; revision: 6 } + Method { name: "doLayout" } + Method { + name: "linkAt" + revision: 3 + type: "string" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { name: "QQuickTextDocument"; prototype: "QObject" } + Component { + name: "QQuickTextEdit" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: [ + "QtQuick/TextEdit 2.0", + "QtQuick/TextEdit 2.1", + "QtQuick/TextEdit 2.2", + "QtQuick/TextEdit 2.3", + "QtQuick/TextEdit 2.6", + "QtQuick/TextEdit 2.7" + ] + exportMetaObjectRevisions: [0, 1, 2, 3, 6, 7] + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4, + "AlignJustify": 8 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Enum { + name: "TextFormat" + values: { + "PlainText": 0, + "RichText": 1, + "AutoText": 2 + } + } + Enum { + name: "WrapMode" + values: { + "NoWrap": 0, + "WordWrap": 1, + "WrapAnywhere": 3, + "WrapAtWordBoundaryOrAnywhere": 4, + "Wrap": 4 + } + } + Enum { + name: "SelectionMode" + values: { + "SelectCharacters": 0, + "SelectWords": 1 + } + } + Enum { + name: "RenderType" + values: { + "QtRendering": 0, + "NativeRendering": 1 + } + } + Property { name: "text"; type: "string" } + Property { name: "color"; type: "QColor" } + Property { name: "selectionColor"; type: "QColor" } + Property { name: "selectedTextColor"; type: "QColor" } + Property { name: "font"; type: "QFont" } + Property { name: "horizontalAlignment"; type: "HAlignment" } + Property { name: "effectiveHorizontalAlignment"; type: "HAlignment"; isReadonly: true } + Property { name: "verticalAlignment"; type: "VAlignment" } + Property { name: "wrapMode"; type: "WrapMode" } + Property { name: "lineCount"; type: "int"; isReadonly: true } + Property { name: "length"; type: "int"; isReadonly: true } + Property { name: "contentWidth"; type: "double"; isReadonly: true } + Property { name: "contentHeight"; type: "double"; isReadonly: true } + Property { name: "paintedWidth"; type: "double"; isReadonly: true } + Property { name: "paintedHeight"; type: "double"; isReadonly: true } + Property { name: "textFormat"; type: "TextFormat" } + Property { name: "readOnly"; type: "bool" } + Property { name: "cursorVisible"; type: "bool" } + Property { name: "cursorPosition"; type: "int" } + Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "cursorDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "overwriteMode"; type: "bool" } + Property { name: "selectionStart"; type: "int"; isReadonly: true } + Property { name: "selectionEnd"; type: "int"; isReadonly: true } + Property { name: "selectedText"; type: "string"; isReadonly: true } + Property { name: "activeFocusOnPress"; type: "bool" } + Property { name: "persistentSelection"; type: "bool" } + Property { name: "textMargin"; type: "double" } + Property { name: "inputMethodHints"; type: "Qt::InputMethodHints" } + Property { name: "selectByKeyboard"; revision: 1; type: "bool" } + Property { name: "selectByMouse"; type: "bool" } + Property { name: "mouseSelectionMode"; type: "SelectionMode" } + Property { name: "canPaste"; type: "bool"; isReadonly: true } + Property { name: "canUndo"; type: "bool"; isReadonly: true } + Property { name: "canRedo"; type: "bool"; isReadonly: true } + Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true } + Property { name: "baseUrl"; type: "QUrl" } + Property { name: "renderType"; type: "RenderType" } + Property { + name: "textDocument" + revision: 1 + type: "QQuickTextDocument" + isReadonly: true + isPointer: true + } + Property { name: "hoveredLink"; revision: 2; type: "string"; isReadonly: true } + Property { name: "padding"; revision: 6; type: "double" } + Property { name: "topPadding"; revision: 6; type: "double" } + Property { name: "leftPadding"; revision: 6; type: "double" } + Property { name: "rightPadding"; revision: 6; type: "double" } + Property { name: "bottomPadding"; revision: 6; type: "double" } + Property { name: "preeditText"; revision: 7; type: "string"; isReadonly: true } + Signal { name: "preeditTextChanged"; revision: 7 } + Signal { name: "contentSizeChanged" } + Signal { + name: "colorChanged" + Parameter { name: "color"; type: "QColor" } + } + Signal { + name: "selectionColorChanged" + Parameter { name: "color"; type: "QColor" } + } + Signal { + name: "selectedTextColorChanged" + Parameter { name: "color"; type: "QColor" } + } + Signal { + name: "fontChanged" + Parameter { name: "font"; type: "QFont" } + } + Signal { + name: "horizontalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickTextEdit::HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickTextEdit::VAlignment" } + } + Signal { + name: "textFormatChanged" + Parameter { name: "textFormat"; type: "QQuickTextEdit::TextFormat" } + } + Signal { + name: "readOnlyChanged" + Parameter { name: "isReadOnly"; type: "bool" } + } + Signal { + name: "cursorVisibleChanged" + Parameter { name: "isCursorVisible"; type: "bool" } + } + Signal { + name: "overwriteModeChanged" + Parameter { name: "overwriteMode"; type: "bool" } + } + Signal { + name: "activeFocusOnPressChanged" + Parameter { name: "activeFocusOnPressed"; type: "bool" } + } + Signal { + name: "persistentSelectionChanged" + Parameter { name: "isPersistentSelection"; type: "bool" } + } + Signal { + name: "textMarginChanged" + Parameter { name: "textMargin"; type: "double" } + } + Signal { + name: "selectByKeyboardChanged" + revision: 1 + Parameter { name: "selectByKeyboard"; type: "bool" } + } + Signal { + name: "selectByMouseChanged" + Parameter { name: "selectByMouse"; type: "bool" } + } + Signal { + name: "mouseSelectionModeChanged" + Parameter { name: "mode"; type: "QQuickTextEdit::SelectionMode" } + } + Signal { + name: "linkActivated" + Parameter { name: "link"; type: "string" } + } + Signal { + name: "linkHovered" + revision: 2 + Parameter { name: "link"; type: "string" } + } + Signal { name: "editingFinished"; revision: 6 } + Signal { name: "paddingChanged"; revision: 6 } + Signal { name: "topPaddingChanged"; revision: 6 } + Signal { name: "leftPaddingChanged"; revision: 6 } + Signal { name: "rightPaddingChanged"; revision: 6 } + Signal { name: "bottomPaddingChanged"; revision: 6 } + Method { name: "selectAll" } + Method { name: "selectWord" } + Method { + name: "select" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { name: "deselect" } + Method { + name: "isRightToLeft" + type: "bool" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { name: "cut" } + Method { name: "copy" } + Method { name: "paste" } + Method { name: "undo" } + Method { name: "redo" } + Method { + name: "insert" + Parameter { name: "position"; type: "int" } + Parameter { name: "text"; type: "string" } + } + Method { + name: "remove" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { + name: "append" + revision: 2 + Parameter { name: "text"; type: "string" } + } + Method { name: "clear"; revision: 7 } + Method { + name: "inputMethodQuery" + revision: 4 + type: "QVariant" + Parameter { name: "query"; type: "Qt::InputMethodQuery" } + Parameter { name: "argument"; type: "QVariant" } + } + Method { + name: "positionToRectangle" + type: "QRectF" + Parameter { type: "int" } + } + Method { + name: "positionAt" + type: "int" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + Method { + name: "moveCursorSelection" + Parameter { name: "pos"; type: "int" } + } + Method { + name: "moveCursorSelection" + Parameter { name: "pos"; type: "int" } + Parameter { name: "mode"; type: "SelectionMode" } + } + Method { + name: "getText" + type: "string" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { + name: "getFormattedText" + type: "string" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { + name: "linkAt" + revision: 3 + type: "string" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + name: "QQuickTextInput" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: [ + "QtQuick/TextInput 2.0", + "QtQuick/TextInput 2.2", + "QtQuick/TextInput 2.4", + "QtQuick/TextInput 2.6", + "QtQuick/TextInput 2.7" + ] + exportMetaObjectRevisions: [0, 2, 3, 6, 7] + Enum { + name: "EchoMode" + values: { + "Normal": 0, + "NoEcho": 1, + "Password": 2, + "PasswordEchoOnEdit": 3 + } + } + Enum { + name: "HAlignment" + values: { + "AlignLeft": 1, + "AlignRight": 2, + "AlignHCenter": 4 + } + } + Enum { + name: "VAlignment" + values: { + "AlignTop": 32, + "AlignBottom": 64, + "AlignVCenter": 128 + } + } + Enum { + name: "WrapMode" + values: { + "NoWrap": 0, + "WordWrap": 1, + "WrapAnywhere": 3, + "WrapAtWordBoundaryOrAnywhere": 4, + "Wrap": 4 + } + } + Enum { + name: "SelectionMode" + values: { + "SelectCharacters": 0, + "SelectWords": 1 + } + } + Enum { + name: "CursorPosition" + values: { + "CursorBetweenCharacters": 0, + "CursorOnCharacter": 1 + } + } + Enum { + name: "RenderType" + values: { + "QtRendering": 0, + "NativeRendering": 1 + } + } + Property { name: "text"; type: "string" } + Property { name: "length"; type: "int"; isReadonly: true } + Property { name: "color"; type: "QColor" } + Property { name: "selectionColor"; type: "QColor" } + Property { name: "selectedTextColor"; type: "QColor" } + Property { name: "font"; type: "QFont" } + Property { name: "horizontalAlignment"; type: "HAlignment" } + Property { name: "effectiveHorizontalAlignment"; type: "HAlignment"; isReadonly: true } + Property { name: "verticalAlignment"; type: "VAlignment" } + Property { name: "wrapMode"; type: "WrapMode" } + Property { name: "readOnly"; type: "bool" } + Property { name: "cursorVisible"; type: "bool" } + Property { name: "cursorPosition"; type: "int" } + Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "cursorDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "overwriteMode"; type: "bool" } + Property { name: "selectionStart"; type: "int"; isReadonly: true } + Property { name: "selectionEnd"; type: "int"; isReadonly: true } + Property { name: "selectedText"; type: "string"; isReadonly: true } + Property { name: "maximumLength"; type: "int" } + Property { name: "validator"; type: "QValidator"; isPointer: true } + Property { name: "inputMask"; type: "string" } + Property { name: "inputMethodHints"; type: "Qt::InputMethodHints" } + Property { name: "acceptableInput"; type: "bool"; isReadonly: true } + Property { name: "echoMode"; type: "EchoMode" } + Property { name: "activeFocusOnPress"; type: "bool" } + Property { name: "passwordCharacter"; type: "string" } + Property { name: "passwordMaskDelay"; revision: 3; type: "int" } + Property { name: "displayText"; type: "string"; isReadonly: true } + Property { name: "preeditText"; revision: 7; type: "string"; isReadonly: true } + Property { name: "autoScroll"; type: "bool" } + Property { name: "selectByMouse"; type: "bool" } + Property { name: "mouseSelectionMode"; type: "SelectionMode" } + Property { name: "persistentSelection"; type: "bool" } + Property { name: "canPaste"; type: "bool"; isReadonly: true } + Property { name: "canUndo"; type: "bool"; isReadonly: true } + Property { name: "canRedo"; type: "bool"; isReadonly: true } + Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true } + Property { name: "contentWidth"; type: "double"; isReadonly: true } + Property { name: "contentHeight"; type: "double"; isReadonly: true } + Property { name: "renderType"; type: "RenderType" } + Property { name: "padding"; revision: 6; type: "double" } + Property { name: "topPadding"; revision: 6; type: "double" } + Property { name: "leftPadding"; revision: 6; type: "double" } + Property { name: "rightPadding"; revision: 6; type: "double" } + Property { name: "bottomPadding"; revision: 6; type: "double" } + Signal { name: "accepted" } + Signal { name: "editingFinished"; revision: 2 } + Signal { + name: "fontChanged" + Parameter { name: "font"; type: "QFont" } + } + Signal { + name: "horizontalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickTextInput::HAlignment" } + } + Signal { + name: "verticalAlignmentChanged" + Parameter { name: "alignment"; type: "QQuickTextInput::VAlignment" } + } + Signal { + name: "readOnlyChanged" + Parameter { name: "isReadOnly"; type: "bool" } + } + Signal { + name: "cursorVisibleChanged" + Parameter { name: "isCursorVisible"; type: "bool" } + } + Signal { + name: "overwriteModeChanged" + Parameter { name: "overwriteMode"; type: "bool" } + } + Signal { + name: "maximumLengthChanged" + Parameter { name: "maximumLength"; type: "int" } + } + Signal { + name: "inputMaskChanged" + Parameter { name: "inputMask"; type: "string" } + } + Signal { + name: "echoModeChanged" + Parameter { name: "echoMode"; type: "QQuickTextInput::EchoMode" } + } + Signal { + name: "passwordMaskDelayChanged" + revision: 3 + Parameter { name: "delay"; type: "int" } + } + Signal { name: "preeditTextChanged"; revision: 7 } + Signal { + name: "activeFocusOnPressChanged" + Parameter { name: "activeFocusOnPress"; type: "bool" } + } + Signal { + name: "autoScrollChanged" + Parameter { name: "autoScroll"; type: "bool" } + } + Signal { + name: "selectByMouseChanged" + Parameter { name: "selectByMouse"; type: "bool" } + } + Signal { + name: "mouseSelectionModeChanged" + Parameter { name: "mode"; type: "QQuickTextInput::SelectionMode" } + } + Signal { name: "contentSizeChanged" } + Signal { name: "paddingChanged"; revision: 6 } + Signal { name: "topPaddingChanged"; revision: 6 } + Signal { name: "leftPaddingChanged"; revision: 6 } + Signal { name: "rightPaddingChanged"; revision: 6 } + Signal { name: "bottomPaddingChanged"; revision: 6 } + Method { name: "selectAll" } + Method { name: "selectWord" } + Method { + name: "select" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { name: "deselect" } + Method { + name: "isRightToLeft" + type: "bool" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { name: "cut" } + Method { name: "copy" } + Method { name: "paste" } + Method { name: "undo" } + Method { name: "redo" } + Method { + name: "insert" + Parameter { name: "position"; type: "int" } + Parameter { name: "text"; type: "string" } + } + Method { + name: "remove" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + Method { + name: "ensureVisible" + revision: 3 + Parameter { name: "position"; type: "int" } + } + Method { name: "clear"; revision: 7 } + Method { + name: "positionAt" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "positionToRectangle" + type: "QRectF" + Parameter { name: "pos"; type: "int" } + } + Method { + name: "moveCursorSelection" + Parameter { name: "pos"; type: "int" } + } + Method { + name: "moveCursorSelection" + Parameter { name: "pos"; type: "int" } + Parameter { name: "mode"; type: "SelectionMode" } + } + Method { + name: "inputMethodQuery" + revision: 3 + type: "QVariant" + Parameter { name: "query"; type: "Qt::InputMethodQuery" } + Parameter { name: "argument"; type: "QVariant" } + } + Method { + name: "getText" + type: "string" + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + } + } + Component { + name: "QQuickTextLine" + prototype: "QObject" + Property { name: "number"; type: "int"; isReadonly: true } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + } + Component { + name: "QQuickTextMetrics" + prototype: "QObject" + exports: ["QtQuick/TextMetrics 2.4"] + exportMetaObjectRevisions: [0] + Property { name: "font"; type: "QFont" } + Property { name: "text"; type: "string" } + Property { name: "advanceWidth"; type: "double"; isReadonly: true } + Property { name: "boundingRect"; type: "QRectF"; isReadonly: true } + Property { name: "width"; type: "double"; isReadonly: true } + Property { name: "height"; type: "double"; isReadonly: true } + Property { name: "tightBoundingRect"; type: "QRectF"; isReadonly: true } + Property { name: "elidedText"; type: "string"; isReadonly: true } + Property { name: "elide"; type: "Qt::TextElideMode" } + Property { name: "elideWidth"; type: "double" } + Signal { name: "metricsChanged" } + } + Component { + name: "QQuickTouchPoint" + prototype: "QObject" + exports: ["QtQuick/TouchPoint 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "pointId"; type: "int"; isReadonly: true } + Property { name: "pressed"; type: "bool"; isReadonly: true } + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "pressure"; type: "double"; isReadonly: true } + Property { name: "velocity"; type: "QVector2D"; isReadonly: true } + Property { name: "area"; type: "QRectF"; isReadonly: true } + Property { name: "startX"; type: "double"; isReadonly: true } + Property { name: "startY"; type: "double"; isReadonly: true } + Property { name: "previousX"; type: "double"; isReadonly: true } + Property { name: "previousY"; type: "double"; isReadonly: true } + Property { name: "sceneX"; type: "double"; isReadonly: true } + Property { name: "sceneY"; type: "double"; isReadonly: true } + } + Component { name: "QQuickTransform"; prototype: "QObject" } + Component { + name: "QQuickTransition" + defaultProperty: "animations" + prototype: "QObject" + exports: ["QtQuick/Transition 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "from"; type: "string" } + Property { name: "to"; type: "string" } + Property { name: "reversible"; type: "bool" } + Property { name: "running"; type: "bool"; isReadonly: true } + Property { name: "animations"; type: "QQuickAbstractAnimation"; isList: true; isReadonly: true } + Property { name: "enabled"; type: "bool" } + } + Component { + name: "QQuickTranslate" + prototype: "QQuickTransform" + exports: ["QtQuick/Translate 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + } + Component { + name: "QQuickUniformAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/UniformAnimator 2.2"] + exportMetaObjectRevisions: [0] + Property { name: "uniform"; type: "string" } + Signal { + name: "uniformChanged" + Parameter { type: "string" } + } + } + Component { + name: "QQuickVector3dAnimation" + prototype: "QQuickPropertyAnimation" + exports: ["QtQuick/Vector3dAnimation 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "from"; type: "QVector3D" } + Property { name: "to"; type: "QVector3D" } + } + Component { + name: "QQuickViewSection" + prototype: "QObject" + exports: ["QtQuick/ViewSection 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "SectionCriteria" + values: { + "FullString": 0, + "FirstCharacter": 1 + } + } + Enum { + name: "LabelPositioning" + values: { + "InlineLabels": 1, + "CurrentLabelAtStart": 2, + "NextLabelAtEnd": 4 + } + } + Property { name: "property"; type: "string" } + Property { name: "criteria"; type: "SectionCriteria" } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "labelPositioning"; type: "int" } + Signal { name: "sectionsChanged" } + } + Component { + name: "QQuickViewTransitionAttached" + prototype: "QObject" + exports: ["QtQuick/ViewTransition 2.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "index"; type: "int"; isReadonly: true } + Property { name: "item"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "destination"; type: "QPointF"; isReadonly: true } + Property { name: "targetIndexes"; type: "QList"; isReadonly: true } + Property { name: "targetItems"; type: "QObject"; isList: true; isReadonly: true } + } + Component { + name: "QQuickWheelEvent" + prototype: "QObject" + Property { name: "x"; type: "double"; isReadonly: true } + Property { name: "y"; type: "double"; isReadonly: true } + Property { name: "angleDelta"; type: "QPoint"; isReadonly: true } + Property { name: "pixelDelta"; type: "QPoint"; isReadonly: true } + Property { name: "buttons"; type: "int"; isReadonly: true } + Property { name: "modifiers"; type: "int"; isReadonly: true } + Property { name: "inverted"; type: "bool"; isReadonly: true } + Property { name: "accepted"; type: "bool" } + } + Component { + name: "QQuickWorkerScript" + prototype: "QObject" + exports: ["QtQuick/WorkerScript 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "source"; type: "QUrl" } + Signal { + name: "message" + Parameter { name: "messageObject"; type: "QQmlV4Handle" } + } + Method { + name: "sendMessage" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + } + Component { + name: "QQuickXAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/XAnimator 2.2"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QQuickYAnimator" + prototype: "QQuickAnimator" + exports: ["QtQuick/YAnimator 2.2"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QRegExpValidator" + prototype: "QValidator" + exports: ["QtQuick/RegExpValidator 2.0"] + exportMetaObjectRevisions: [0] + Property { name: "regExp"; type: "QRegExp" } + Signal { + name: "regExpChanged" + Parameter { name: "regExp"; type: "QRegExp" } + } + } + Component { + name: "QSortFilterProxyModel" + prototype: "QAbstractProxyModel" + Property { name: "filterRegExp"; type: "QRegExp" } + Property { name: "filterKeyColumn"; type: "int" } + Property { name: "dynamicSortFilter"; type: "bool" } + Property { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" } + Property { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" } + Property { name: "isSortLocaleAware"; type: "bool" } + Property { name: "sortRole"; type: "int" } + Property { name: "filterRole"; type: "int" } + Method { + name: "setFilterRegExp" + Parameter { name: "pattern"; type: "string" } + } + Method { + name: "setFilterWildcard" + Parameter { name: "pattern"; type: "string" } + } + Method { + name: "setFilterFixedString" + Parameter { name: "pattern"; type: "string" } + } + Method { name: "clear" } + Method { name: "invalidate" } + } + Component { + name: "QValidator" + prototype: "QObject" + Signal { name: "changed" } } Component { name: "StandardPaths" diff --git a/effects/plugins.qmltypes b/effects/plugins.qmltypes index 85c02891..1bd6bc22 100644 --- a/effects/plugins.qmltypes +++ b/effects/plugins.qmltypes @@ -7,9 +7,5 @@ import QtQuick.tooling 1.2 // 'qmlplugindump-qt5 -nonrelocatable Fluid.Effects 1.0' Module { - dependencies: [ - "QtGraphicalEffects 1.0", - "QtQuick 2.4", - "QtQuick.Window 2.1" - ] + dependencies: [] } diff --git a/material/plugins.qmltypes b/material/plugins.qmltypes index 238ccfec..6c021929 100644 --- a/material/plugins.qmltypes +++ b/material/plugins.qmltypes @@ -7,563 +7,5 @@ import QtQuick.tooling 1.2 // 'qmlplugindump-qt5 -nonrelocatable Fluid.Material 1.0' Module { - dependencies: [ - "Fluid.Controls 1.0", - "Fluid.Core 1.0", - "Fluid.Effects 1.0", - "QtGraphicalEffects 1.0", - "QtQml 2.2", - "QtQuick 2.7", - "QtQuick.Controls 2.0", - "QtQuick.Controls.Material 2.0", - "QtQuick.Controls.Material.impl 2.0", - "QtQuick.Controls.Universal 2.0", - "QtQuick.Controls.Universal.impl 2.0", - "QtQuick.Controls.impl 2.0", - "QtQuick.Layouts 1.1", - "QtQuick.Templates 2.0", - "QtQuick.Window 2.2" - ] - Component { - prototype: "QQuickApplicationWindow" - name: "QtQuick.Controls/ApplicationWindow 2.0" - exports: ["QtQuick.Controls/ApplicationWindow 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickItem" - name: "QtQuick.Controls.Material.impl/BoxShadow 2.0" - exports: ["QtQuick.Controls.Material.impl/BoxShadow 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "offsetX"; type: "int" } - Property { name: "offsetY"; type: "int" } - Property { name: "blurRadius"; type: "int" } - Property { name: "spreadRadius"; type: "int" } - Property { name: "source"; type: "QQuickItem"; isPointer: true } - Property { name: "fullWidth"; type: "bool" } - Property { name: "fullHeight"; type: "bool" } - Property { name: "glowRadius"; type: "double" } - Property { name: "spread"; type: "double" } - Property { name: "color"; type: "QColor" } - Property { name: "cornerRadius"; type: "double" } - Property { name: "cached"; type: "bool" } - } - Component { - prototype: "QQuickBusyIndicator" - name: "QtQuick.Controls/BusyIndicator 2.0" - exports: ["QtQuick.Controls/BusyIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickButton" - name: "QtQuick.Controls/Button 2.0" - exports: ["QtQuick.Controls/Button 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickCheckBox" - name: "QtQuick.Controls/CheckBox 2.0" - exports: ["QtQuick.Controls/CheckBox 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickCheckDelegate" - name: "QtQuick.Controls/CheckDelegate 2.0" - exports: ["QtQuick.Controls/CheckDelegate 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.Material.impl/CheckIndicator 2.0" - exports: ["QtQuick.Controls.Material.impl/CheckIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - } - Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.impl/CheckIndicator 2.0" - exports: ["QtQuick.Controls.impl/CheckIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - } - Component { - prototype: "QQuickComboBox" - name: "QtQuick.Controls/ComboBox 2.0" - exports: ["QtQuick.Controls/ComboBox 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickDial" - name: "QtQuick.Controls/Dial 2.0" - exports: ["QtQuick.Controls/Dial 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickDrawer" - name: "QtQuick.Controls/Drawer 2.0" - exports: ["QtQuick.Controls/Drawer 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickItem" - name: "QtQuick.Controls.Material.impl/ElevationEffect 2.0" - exports: ["QtQuick.Controls.Material.impl/ElevationEffect 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "source"; type: "QVariant" } - Property { name: "elevation"; type: "int" } - Property { name: "fullWidth"; type: "bool" } - Property { name: "fullHeight"; type: "bool" } - Property { name: "sourceItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { name: "_shadows"; type: "QVariant"; isReadonly: true } - Property { name: "_shadow"; type: "QVariant"; isReadonly: true } - } - Component { - prototype: "QObject" - name: "FluidStyle 1.0" - exports: ["FluidStyle 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - isCreatable: false - isSingleton: true - Property { name: "iconColorLight"; type: "QColor"; isReadonly: true } - Property { name: "iconColorDark"; type: "QColor"; isReadonly: true } - Property { name: "display4Font"; type: "QFont"; isReadonly: true } - Property { name: "display3Font"; type: "QFont"; isReadonly: true } - Property { name: "display2Font"; type: "QFont"; isReadonly: true } - Property { name: "display1Font"; type: "QFont"; isReadonly: true } - Property { name: "headlineFont"; type: "QFont"; isReadonly: true } - Property { name: "titleFont"; type: "QFont"; isReadonly: true } - Property { name: "subheadingFont"; type: "QFont"; isReadonly: true } - Property { name: "body2Font"; type: "QFont"; isReadonly: true } - Property { name: "body1Font"; type: "QFont"; isReadonly: true } - Property { name: "captionFont"; type: "QFont"; isReadonly: true } - Property { name: "buttonFont"; type: "QFont"; isReadonly: true } - Property { name: "subheaderFont"; type: "QFont"; isReadonly: true } - Property { name: "dialogFont"; type: "QFont"; isReadonly: true } - } - Component { - prototype: "QQuickFrame" - name: "QtQuick.Controls/Frame 2.0" - exports: ["QtQuick.Controls/Frame 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickGroupBox" - name: "QtQuick.Controls/GroupBox 2.0" - exports: ["QtQuick.Controls/GroupBox 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickItemDelegate" - name: "QtQuick.Controls/ItemDelegate 2.0" - exports: ["QtQuick.Controls/ItemDelegate 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickLabel" - name: "QtQuick.Controls/Label 2.0" - exports: ["QtQuick.Controls/Label 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickMenu" - name: "QtQuick.Controls/Menu 2.0" - exports: ["QtQuick.Controls/Menu 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickMenuItem" - name: "QtQuick.Controls/MenuItem 2.0" - exports: ["QtQuick.Controls/MenuItem 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickPage" - name: "QtQuick.Controls/Page 2.0" - exports: ["QtQuick.Controls/Page 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickPageIndicator" - name: "QtQuick.Controls/PageIndicator 2.0" - exports: ["QtQuick.Controls/PageIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickPane" - name: "QtQuick.Controls/Pane 2.0" - exports: ["QtQuick.Controls/Pane 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickPopup" - name: "QtQuick.Controls/Popup 2.0" - exports: ["QtQuick.Controls/Popup 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickProgressBar" - name: "QtQuick.Controls/ProgressBar 2.0" - exports: ["QtQuick.Controls/ProgressBar 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickRadioButton" - name: "QtQuick.Controls/RadioButton 2.0" - exports: ["QtQuick.Controls/RadioButton 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickRadioDelegate" - name: "QtQuick.Controls/RadioDelegate 2.0" - exports: ["QtQuick.Controls/RadioDelegate 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.impl/RadioIndicator 2.0" - exports: ["QtQuick.Controls.impl/RadioIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - } - Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.Universal.impl/RadioIndicator 2.0" - exports: ["QtQuick.Controls.Universal.impl/RadioIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QVariant" } - } - Component { - prototype: "QQuickRangeSlider" - name: "QtQuick.Controls/RangeSlider 2.0" - exports: ["QtQuick.Controls/RangeSlider 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.Material.impl/Ripple 2.0" - exports: ["QtQuick.Controls.Material.impl/Ripple 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - Property { name: "colored"; type: "bool" } - } - Component { - prototype: "QQuickScrollBar" - name: "QtQuick.Controls/ScrollBar 2.0" - exports: ["QtQuick.Controls/ScrollBar 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickScrollIndicator" - name: "QtQuick.Controls/ScrollIndicator 2.0" - exports: ["QtQuick.Controls/ScrollIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickSlider" - name: "QtQuick.Controls/Slider 2.0" - exports: ["QtQuick.Controls/Slider 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickItem" - name: "QtQuick.Controls.Material.impl/SliderHandle 2.0" - exports: ["QtQuick.Controls.Material.impl/SliderHandle 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "value"; type: "double" } - Property { name: "handleHasFocus"; type: "bool" } - Property { name: "handlePressed"; type: "bool" } - Property { name: "initialSize"; type: "int"; isReadonly: true } - Property { name: "horizontal"; type: "bool"; isReadonly: true } - Property { name: "control"; type: "QVariant"; isReadonly: true } - } - Component { - prototype: "QQuickSpinBox" - name: "QtQuick.Controls/SpinBox 2.0" - exports: ["QtQuick.Controls/SpinBox 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickStackView" - name: "QtQuick.Controls/StackView 2.0" - exports: ["QtQuick.Controls/StackView 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickSwipeDelegate" - name: "QtQuick.Controls/SwipeDelegate 2.0" - exports: ["QtQuick.Controls/SwipeDelegate 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickSwipeView" - name: "QtQuick.Controls/SwipeView 2.0" - exports: ["QtQuick.Controls/SwipeView 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickSwitch" - name: "QtQuick.Controls/Switch 2.0" - exports: ["QtQuick.Controls/Switch 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickSwitchDelegate" - name: "QtQuick.Controls/SwitchDelegate 2.0" - exports: ["QtQuick.Controls/SwitchDelegate 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickRectangle" - name: "QtQuick.Controls.Universal.impl/SwitchIndicator 2.0" - exports: ["QtQuick.Controls.Universal.impl/SwitchIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.Controls.impl/SwitchIndicator 2.0" - exports: ["QtQuick.Controls.impl/SwitchIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.Controls.Material.impl/SwitchIndicator 2.0" - exports: ["QtQuick.Controls.Material.impl/SwitchIndicator 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - } - Component { - prototype: "QQuickTabBar" - name: "QtQuick.Controls/TabBar 2.0" - exports: ["QtQuick.Controls/TabBar 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickTabButton" - name: "QtQuick.Controls/TabButton 2.0" - exports: ["QtQuick.Controls/TabButton 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickTextArea" - name: "QtQuick.Controls/TextArea 2.0" - exports: ["QtQuick.Controls/TextArea 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickTextField" - name: "QtQuick.Controls/TextField 2.0" - exports: ["QtQuick.Controls/TextField 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickToolBar" - name: "QtQuick.Controls/ToolBar 2.0" - exports: ["QtQuick.Controls/ToolBar 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickToolButton" - name: "QtQuick.Controls/ToolButton 2.0" - exports: ["QtQuick.Controls/ToolButton 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickToolTip" - name: "QtQuick.Controls/ToolTip 2.0" - exports: ["QtQuick.Controls/ToolTip 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "contentData" - } - Component { - prototype: "QQuickTumbler" - name: "QtQuick.Controls/Tumbler 2.0" - exports: ["QtQuick.Controls/Tumbler 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - } - Component { - prototype: "QQuickItem" - name: "Units 1.0" - exports: ["Units 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - isCreatable: false - isSingleton: true - defaultProperty: "data" - Property { name: "gridUnit"; type: "int"; isReadonly: true } - Property { name: "smallSpacing"; type: "double"; isReadonly: true } - Property { name: "mediumSpacing"; type: "double"; isReadonly: true } - Property { name: "largeSpacing"; type: "double"; isReadonly: true } - Property { name: "shortDuration"; type: "int"; isReadonly: true } - Property { name: "mediumDuration"; type: "int"; isReadonly: true } - Property { name: "longDuration"; type: "int"; isReadonly: true } - Property { name: "iconSizes"; type: "QObject"; isReadonly: true; isPointer: true } - Method { - name: "gu" - type: "QVariant" - Parameter { name: "x"; type: "QVariant" } - } - Method { - name: "roundToIconSize" - type: "QVariant" - Parameter { name: "x"; type: "QVariant" } - } - } - Component { - prototype: "QObject" - name: "Utils 1.0" - exports: ["Utils 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - isCreatable: false - isSingleton: true - Method { - name: "asColor" - type: "QVariant" - Parameter { name: "color"; type: "QVariant" } - } - Method { - name: "alpha" - type: "QVariant" - Parameter { name: "color"; type: "QVariant" } - Parameter { name: "alpha"; type: "QVariant" } - } - Method { - name: "blendColors" - type: "QVariant" - Parameter { name: "color1"; type: "QVariant" } - Parameter { name: "color2"; type: "QVariant" } - Parameter { name: "a"; type: "QVariant" } - } - Method { - name: "luminance" - type: "QVariant" - Parameter { name: "color"; type: "QVariant" } - } - Method { - name: "lightDark" - type: "QVariant" - Parameter { name: "background"; type: "QVariant" } - Parameter { name: "lightColor"; type: "QVariant" } - Parameter { name: "darkColor"; type: "QVariant" } - } - Method { - name: "isDarkColor" - type: "QVariant" - Parameter { name: "color"; type: "QVariant" } - } - Method { - name: "getSourceForIconName" - type: "QVariant" - Parameter { name: "name"; type: "QVariant" } - } - Method { - name: "scale" - type: "QVariant" - Parameter { name: "percent"; type: "QVariant" } - Parameter { name: "start"; type: "QVariant" } - Parameter { name: "end"; type: "QVariant" } - } - } + dependencies: [] } From 71f626a28b93fafd109520317ec7a423151bab5a Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 11 Feb 2017 18:20:26 +0100 Subject: [PATCH 40/62] Add icon color properties back to FluidStyle Looks like everything crashes without these properties even though nothing is using them. Partially amend b5b5ae1. --- controls/FluidStyle.qml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/controls/FluidStyle.qml b/controls/FluidStyle.qml index eac93937..4d3afea8 100644 --- a/controls/FluidStyle.qml +++ b/controls/FluidStyle.qml @@ -27,6 +27,9 @@ pragma Singleton QtObject { id: fluidStyle + readonly property color iconColorLight: Qt.rgba(0,0,0,0.54) + readonly property color iconColorDark: Qt.rgba(1,1,1) + readonly property font display4Font: Qt.font({ family: "Roboto", weight: Font.Light, pixelSize: 112 }) From a3e93ffef379d96b93ceeb14c37cb8ab9184cd4f Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 11 Feb 2017 19:18:13 +0100 Subject: [PATCH 41/62] Say hello to AlertDialog Add a simple alert dialog. [ChangeLog][Controls] Add a simple alert dialog. Closes: #62 --- controls/AlertDialog.qml | 41 ++++++++++++++++++++++++++++++++++++++++ controls/CMakeLists.txt | 1 + controls/qmldir | 1 + controls/qmldir_noplugin | 1 + 4 files changed, 44 insertions(+) create mode 100644 controls/AlertDialog.qml diff --git a/controls/AlertDialog.qml b/controls/AlertDialog.qml new file mode 100644 index 00000000..babaca98 --- /dev/null +++ b/controls/AlertDialog.qml @@ -0,0 +1,41 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.1 +import Fluid.Controls 1.0 as FluidControls + +/*! + \qmltype Dialog + \inqmlmodule Fluid.Controls + \ingroup fluidcontrols + + \brief Alert dialogs are urgent interruptions to inform the user about a situation. + + An alert dialog is used to interrupt the user's workflow to inform them about + a situation that requires their acknowledgement. + + Most alert don't need a title and they summarize a decision in a sentence or two + by either asking a question or making a statement related to the action buttons. +*/ +Dialog { + property alias text: dialogLabel.text + + focus: true + modal: true + + FluidControls.DialogLabel { + id: dialogLabel + } +} diff --git a/controls/CMakeLists.txt b/controls/CMakeLists.txt index e31083da..2e4ae305 100644 --- a/controls/CMakeLists.txt +++ b/controls/CMakeLists.txt @@ -7,6 +7,7 @@ set(QML_FILES plugins.qmltypes qmldir Action.qml + AlertDialog.qml AppBar.qml AppToolBar.qml BaseListItem.qml diff --git a/controls/qmldir b/controls/qmldir index 79943117..3304cec6 100644 --- a/controls/qmldir +++ b/controls/qmldir @@ -4,6 +4,7 @@ class FluidControlsPlugin typeinfo plugins.qmltypes Action 1.0 Action.qml +AlertDialog 1.0 AlertDialog.qml AppBar 1.0 AppBar.qml AppToolBar 1.0 AppToolBar.qml BaseListItem 1.0 BaseListItem.qml diff --git a/controls/qmldir_noplugin b/controls/qmldir_noplugin index a29fb374..cebfff8f 100644 --- a/controls/qmldir_noplugin +++ b/controls/qmldir_noplugin @@ -2,6 +2,7 @@ module Fluid.Controls typeinfo plugins.qmltypes Action 1.0 Action.qml +AlertDialog 1.0 AlertDialog.qml AppBar 1.0 AppBar.qml AppToolBar 1.0 AppToolBar.qml BaseListItem 1.0 BaseListItem.qml From 3869553f7a108cf307015117f32f8dd99ee4107b Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 11 Feb 2017 19:20:29 +0100 Subject: [PATCH 42/62] Remove Dialog Replaced by QtQuick Controls 2 Dialog. [Changelog][Controls] Remove Dialog as it is provided by Qt now. Closes: #69 --- controls/CMakeLists.txt | 1 - controls/Dialog.qml | 169 --------------------------------------- controls/qmldir | 1 - controls/qmldir_noplugin | 1 - 4 files changed, 172 deletions(-) delete mode 100644 controls/Dialog.qml diff --git a/controls/CMakeLists.txt b/controls/CMakeLists.txt index 2e4ae305..723bdc9b 100644 --- a/controls/CMakeLists.txt +++ b/controls/CMakeLists.txt @@ -15,7 +15,6 @@ set(QML_FILES CaptionLabel.qml Card.qml CircleImage.qml - Dialog.qml DialogLabel.qml DisplayLabel.qml FluidStyle.qml diff --git a/controls/Dialog.qml b/controls/Dialog.qml deleted file mode 100644 index b9d1b77d..00000000 --- a/controls/Dialog.qml +++ /dev/null @@ -1,169 +0,0 @@ -/* - * This file is part of Fluid. - * - * Copyright (C) 2017 Pier Luigi Fiorini - * Copyright (C) 2017 Michael Spencer - * - * $BEGIN_LICENSE:MPL2$ - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * $END_LICENSE$ - */ - -import QtQuick 2.0 -import QtQuick.Controls 2.0 -import QtQuick.Controls.Material 2.0 -import QtQuick.Layouts 1.0 -import Fluid.Core 1.0 -import Fluid.Controls 1.0 - -/*! - \qmltype Dialog - \inqmlmodule Fluid.Controls - \ingroup fluidcontrols - - \brief Dialog. -*/ -Popup { - property alias title: titleLabel.text - property alias text: textLabel.text - - property alias positiveButton: positiveButton - property alias negativeButton: negativeButton - - property string positiveButtonText: qsTr("Ok") - property string negativeButtonText: qsTr("Cancel") - - default property alias dialogContent: dialogContentItem.data - - property bool __triggered - - padding: 0 - modal: true - focus: true - - x: (parent.width - width)/2 - y: (parent.height - height)/2 - - signal accepted - signal rejected - signal canceled - - onOpened: __triggered = false - - onAccepted: { - __triggered = true - close() - } - - onRejected: { - __triggered = true - close() - } - - onClosed: { - if (!__triggered) - canceled() - } - - ColumnLayout { - width: parent.width - spacing: 0 - - Rectangle { - Layout.fillWidth: true - Layout.preferredWidth: column.implicitWidth + 48 - Layout.preferredHeight: column.implicitHeight + 48 - Layout.minimumWidth: Device.isMobile ? 280 : 300 - - ColumnLayout { - id: column - - anchors.centerIn: parent - spacing: 0 - - width: parent.width - 48 - - TitleLabel { - id: titleLabel - - Layout.fillWidth: true - - wrapMode: Text.Wrap - visible: title != "" - } - - Item { - Layout.fillWidth: true - Layout.preferredHeight: 20 - visible: titleLabel.visible && textLabel.visible - } - - Label { - id: textLabel - - Layout.fillWidth: true - - font: FluidStyle.dialogFont - wrapMode: Text.Wrap - color: Material.secondaryTextColor - visible: text != "" - } - - Item { - Layout.fillWidth: true - Layout.preferredHeight: 20 - visible: textLabel.visible - } - - Item { - id: dialogContentItem - Layout.fillWidth: true - Layout.preferredHeight: childrenRect.height - } - } - } - - RowLayout { - Layout.alignment: Qt.AlignRight - Layout.preferredHeight: 52 - - spacing: 0 - - Button { - id: negativeButton - - Layout.alignment: Qt.AlignVCenter - Material.foreground: Material.primaryColor - - text: negativeButtonText - flat: true - - onClicked: rejected() - } - - Item { - Layout.preferredWidth: 8 - } - - Button { - id: positiveButton - - Layout.alignment: Qt.AlignVCenter - Material.foreground: Material.primaryColor - - text: positiveButtonText - flat: true - - onClicked: accepted() - } - - Item { - Layout.preferredWidth: 8 - } - } - } -} diff --git a/controls/qmldir b/controls/qmldir index 3304cec6..2636cff9 100644 --- a/controls/qmldir +++ b/controls/qmldir @@ -12,7 +12,6 @@ BodyLabel 1.0 BodyLabel.qml CaptionLabel 1.0 CaptionLabel.qml Card 1.0 Card.qml CircleImage 1.0 CircleImage.qml -Dialog 1.0 Dialog.qml DialogLabel 1.0 DialogLabel.qml DisplayLabel 1.0 DisplayLabel.qml FluidWindow 1.0 FluidWindow.qml diff --git a/controls/qmldir_noplugin b/controls/qmldir_noplugin index cebfff8f..0e394f86 100644 --- a/controls/qmldir_noplugin +++ b/controls/qmldir_noplugin @@ -10,7 +10,6 @@ BodyLabel 1.0 BodyLabel.qml CaptionLabel 1.0 CaptionLabel.qml Card 1.0 Card.qml CircleImage 1.0 CircleImage.qml -Dialog 1.0 Dialog.qml DialogLabel 1.0 DialogLabel.qml DisplayLabel 1.0 DisplayLabel.qml FluidWindow 1.0 FluidWindow.qml From b53a2e7c67b1148f2ed7265e155eef3df91827c0 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 11 Feb 2017 22:48:23 +0100 Subject: [PATCH 43/62] Input dialog [ChangeLog][Controls] Ready made input dialog. Closes: #54 --- controls/CMakeLists.txt | 1 + controls/InputDialog.qml | 45 ++++++++++++++++++++++++++++++++++++++++ controls/qmldir | 1 + controls/qmldir_noplugin | 1 + 4 files changed, 48 insertions(+) create mode 100644 controls/InputDialog.qml diff --git a/controls/CMakeLists.txt b/controls/CMakeLists.txt index 723bdc9b..18acdbc9 100644 --- a/controls/CMakeLists.txt +++ b/controls/CMakeLists.txt @@ -23,6 +23,7 @@ set(QML_FILES IconButton.qml Icon.qml InfoBar.qml + InputDialog.qml ListItemDelegate.qml ListItem.qml Loadable.qml diff --git a/controls/InputDialog.qml b/controls/InputDialog.qml new file mode 100644 index 00000000..cec7a671 --- /dev/null +++ b/controls/InputDialog.qml @@ -0,0 +1,45 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.1 +import Fluid.Controls 1.0 as FluidControls + +/*! + \qmltype InputDialog + \inqmlmodule Fluid.Controls + \ingroup fluidcontrols + + \brief Input dialogs ask the user to input data with certain constraints. + + The dialog is automatically accepted when the Return or Enter key is pressed + and the input in an acceptable state. +*/ +Dialog { + id: dialog + + /* + Text field. + */ + property alias textField: textField + + focus: true + modal: true + + TextField { + id: textField + focus: true + onAccepted: dialog.accept() + } +} diff --git a/controls/qmldir b/controls/qmldir index 2636cff9..2fa56499 100644 --- a/controls/qmldir +++ b/controls/qmldir @@ -19,6 +19,7 @@ HeadlineLabel 1.0 HeadlineLabel.qml IconButton 1.0 IconButton.qml Icon 1.0 Icon.qml InfoBar 1.0 InfoBar.qml +InputDialog 1.0 InputDialog.qml ListItemDelegate 1.0 ListItemDelegate.qml ListItem 1.0 ListItem.qml Loadable 1.0 Loadable.qml diff --git a/controls/qmldir_noplugin b/controls/qmldir_noplugin index 0e394f86..27c2e877 100644 --- a/controls/qmldir_noplugin +++ b/controls/qmldir_noplugin @@ -17,6 +17,7 @@ HeadlineLabel 1.0 HeadlineLabel.qml IconButton 1.0 IconButton.qml Icon 1.0 Icon.qml InfoBar 1.0 InfoBar.qml +InputDialog 1.0 InputDialog.qml ListItemDelegate 1.0 ListItemDelegate.qml ListItem 1.0 ListItem.qml Loadable 1.0 Loadable.qml From 4f5ee5dec95edb1aec81b2dfc0f17f4e254a79dc Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 11 Feb 2017 22:49:06 +0100 Subject: [PATCH 44/62] demo: Add dialogs --- demo/CompoundComponents.qml | 1 + demo/Pages/Compound/DialogsPage.qml | 53 +++++++++++++++++++++++++++++ demo/demo.qrc | 1 + 3 files changed, 55 insertions(+) create mode 100644 demo/Pages/Compound/DialogsPage.qml diff --git a/demo/CompoundComponents.qml b/demo/CompoundComponents.qml index 2de7bd24..15e274bb 100644 --- a/demo/CompoundComponents.qml +++ b/demo/CompoundComponents.qml @@ -46,6 +46,7 @@ Tab { ListElement { title: qsTr("ListItem"); source: "qrc:/Pages/Compound/ListItemPage.qml" } ListElement { title: qsTr("Card"); source: "qrc:/Pages/Compound/CardPage.qml" } ListElement { title: qsTr("InfoBar"); source: "qrc:/Pages/Compound/InfoBarPage.qml" } + ListElement { title: qsTr("Dialogs"); source: "qrc:/Pages/Compound/DialogsPage.qml" } } header: Subheader { text: qsTr("Demos") diff --git a/demo/Pages/Compound/DialogsPage.qml b/demo/Pages/Compound/DialogsPage.qml new file mode 100644 index 00000000..f162ccf1 --- /dev/null +++ b/demo/Pages/Compound/DialogsPage.qml @@ -0,0 +1,53 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.1 +import Fluid.Controls 1.0 as FluidControls + +Item { + Column { + anchors.centerIn: parent + + Button { + text: qsTr("Alert") + onClicked: alert.open() + } + + Button { + text: qsTr("Input") + onClicked: input.open() + } + } + + FluidControls.AlertDialog { + id: alert + + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + + text: qsTr("Discard draft?") + standardButtons: Dialog.Discard | Dialog.Cancel + } + + FluidControls.InputDialog { + id: input + + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + + title: qsTr("Type a number") + textField.inputMask: "999" + } +} diff --git a/demo/demo.qrc b/demo/demo.qrc index b447c47f..784975a9 100644 --- a/demo/demo.qrc +++ b/demo/demo.qrc @@ -16,6 +16,7 @@ Pages/Basic/RadioButtonPage.qml Pages/Basic/SliderPage.qml Pages/Basic/SwitchPage.qml + Pages/Compound/DialogsPage.qml Pages/Compound/ListItemPage.qml Pages/Compound/SubPage.qml Pages/Compound/CardPage.qml From ff828bdb63aeecb7477975957399c0fd86625ab1 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 8 Feb 2017 08:38:37 +0100 Subject: [PATCH 45/62] Say hello to Fluid.Layouts Add layout helpers. [ChangeLog] Add new Fluid.Layouts import. Issue: #68 --- CMakeLists.txt | 1 + fluid.pri | 1 + layouts/AutomaticGrid.qml | 81 +++++++++++++++++++ layouts/CMakeLists.txt | 8 ++ layouts/ColumnFlow.qml | 160 ++++++++++++++++++++++++++++++++++++++ layouts/qmldir | 4 + layouts/qmldir_noplugin | 4 + 7 files changed, 259 insertions(+) create mode 100644 layouts/AutomaticGrid.qml create mode 100644 layouts/CMakeLists.txt create mode 100644 layouts/ColumnFlow.qml create mode 100644 layouts/qmldir create mode 100644 layouts/qmldir_noplugin diff --git a/CMakeLists.txt b/CMakeLists.txt index e08aa598..25c950a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,6 +69,7 @@ add_subdirectory(controls) add_subdirectory(core) add_subdirectory(demo) add_subdirectory(effects) +add_subdirectory(layouts) add_subdirectory(src) add_subdirectory(tests) add_subdirectory(material) diff --git a/fluid.pri b/fluid.pri index af7e52a8..64859191 100644 --- a/fluid.pri +++ b/fluid.pri @@ -2,6 +2,7 @@ DEFINES += FLUID_LOCAL include(src/src.pri) include(core/core.pri) include(controls/controls.pri) +include(layouts/layouts.pri) include(effects/effects.pri) include(material/material.pri) diff --git a/layouts/AutomaticGrid.qml b/layouts/AutomaticGrid.qml new file mode 100644 index 00000000..b96c7ff4 --- /dev/null +++ b/layouts/AutomaticGrid.qml @@ -0,0 +1,81 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.4 + +/*! + \qmltype AutomaticGrid + \inqmlmodule Fluid.Layouts + \ingroup fluidlayouts + + \brief Lay out children in a grid that automatically fits the available space. + + \code + import QtQuick 2.0 + import Fluid.Layouts 1.0 as FluidLayouts + + Item { + width: 600 + height: 600 + + FluidLayouts.AutomaticGrid { + anchors.fill: parent + cellWidth: 100 + cellHeight: cellWidth + model: 20 + + delegate: Rectangle { + id: item + height: 100.0 * Math.random() + color: Qt.rgba(Math.random(), Math.random(), Math.random(), Math.random()) + Text { + text: index + } + } + } + } + \endcode +*/ +Grid { + id: grid + + default property alias delegate: repeater.delegate + property real cellWidth + property real cellHeight + property alias model: repeater.model + property real widthOverride: parent.width + property real heightOverride: parent.height + property real minColumnSpacing + + columns: { + var flooredResult = Math.floor(widthOverride/cellWidth); + if (flooredResult >= 1 && flooredResult <= repeater.count) + if ((widthOverride - (flooredResult * cellWidth)) / (flooredResult + 1) < minColumnSpacing) + return flooredResult - 1; + else + return flooredResult; + else if (flooredResult > repeater.count) + return repeater.count; + else + return 1; + } + + columnSpacing: (widthOverride - (columns * cellWidth)) / (columns + 1) < (minColumnSpacing / 2) ? (minColumnSpacing / 2) : (widthOverride - (columns * cellWidth)) / (columns + 1) + width: widthOverride - 2*columnSpacing + + Repeater { + id: repeater + } +} diff --git a/layouts/CMakeLists.txt b/layouts/CMakeLists.txt new file mode 100644 index 00000000..bd7626aa --- /dev/null +++ b/layouts/CMakeLists.txt @@ -0,0 +1,8 @@ +set(QML_FILES + qmldir + AutomaticGrid.qml + ColumnFlow.qml +) + +install(FILES ${QML_FILES} + DESTINATION ${QML_INSTALL_DIR}/Fluid/Layouts) diff --git a/layouts/ColumnFlow.qml b/layouts/ColumnFlow.qml new file mode 100644 index 00000000..a1074e0b --- /dev/null +++ b/layouts/ColumnFlow.qml @@ -0,0 +1,160 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * Copyright (C) 2017 Michael Spencer + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.4 + +/*! + \qmltype ColumnFlow + \inqmlmodule Fluid.Layouts + \ingroup fluidlayouts + + \brief Automatically position children in columns. + + \code + import QtQuick 2.0 + import Fluid.Layouts 1.0 as FluidLayouts + + Item { + width: 600 + height: 600 + + FluidLayouts.ColumnFlow { + anchors.fill: parent + columns: 5 + model: 20 + + delegate: Rectangle { + id: item + height: 100.0 * Math.random() + color: Qt.rgba(Math.random(), Math.random(), Math.random(), Math.random()) + Text { + text: index + } + } + } + } + \endcode +*/ +Item { + id: columnFlow + + property int columnWidth: 100 + + property int columns: Math.max(0, Math.floor(width / columnWidth)) + property alias model: repeater.model + property alias delegate: repeater.delegate + property int contentHeight: 0 + + height: contentHeight + + onColumnsChanged: reEvalColumns() + onModelChanged: reEvalColumns() + + onWidthChanged: updateWidths() + + QtObject { + id: __private + + property bool repeaterCompleted: false + } + + function updateWidths() { + if (repeaterCompleted) { + var count = 0; + + // Add the first elements + for (var i = 0; count < columns && i < columnFlow.children.length; i++) { + if (!columnFlow.children[i] || String(columnFlow.children[i]).indexOf("QQuickRepeater") == 0) + continue; + + columnFlow.children[i].width = width / columns; + count++; + } + } + } + + function reEvalColumns() { + if (!repeaterCompleted) + return; + var i, j + var columnHeights = new Array(columns); + var lastItem = new Array(columns); + var lastI = -1; + var count = 0; + + // Add the first elements + for (i = 0; count < columns && i < columnFlow.children.length; i++) { + if (!columnFlow.children[i] || String(columnFlow.children[i]).indexOf("QQuickRepeater") == 0 + || !columnFlow.children[i].visible) + continue; + + lastItem[count] = i; + columnHeights[count] = columnFlow.children[i].height; + + columnFlow.children[i].anchors.top = columnFlow.top; + columnFlow.children[i].anchors.left = (lastI === -1 ? columnFlow.left : columnFlow.children[lastI].right); + columnFlow.children[i].anchors.right = undefined; + columnFlow.children[i].width = columnFlow.width / columns; + + lastI = i; + count++; + } + + // Add the other elements + for (i = i; i < columnFlow.children.length; i++) { + var highestHeight = Number.MAX_VALUE; + var newColumn = 0; + + if (!columnFlow.children[i] || !columnFlow.children[i].visible) + continue; + + // find the shortest column + for (j = 0; j < columns; j++) { + if (columnHeights[j] < highestHeight) { + newColumn = j; + highestHeight = columnHeights[j]; + } + } + + // add the element to the shortest column + columnFlow.children[i].anchors.top = columnFlow.children[lastItem[newColumn]].bottom; + columnFlow.children[i].anchors.left = columnFlow.children[lastItem[newColumn]].left; + columnFlow.children[i].anchors.right = columnFlow.children[lastItem[newColumn]].right; + + lastItem[newColumn] = i; + columnHeights[newColumn] += columnFlow.children[i].height; + } + + var cHeight = 0; + for (i = 0; i < columns; i++) { + if (!columnHeights[i]) + continue; + cHeight = Math.max(cHeight, columnHeights[i]); + } + contentHeight = cHeight; + + updateWidths(); + } + + Repeater { + id: repeater + model: columnFlow.model + + Component.onCompleted: { + columnFlow.repeaterCompleted = true; + columnFlow.reEvalColumns(); + } + } +} diff --git a/layouts/qmldir b/layouts/qmldir new file mode 100644 index 00000000..d3c7961e --- /dev/null +++ b/layouts/qmldir @@ -0,0 +1,4 @@ +module Fluid.Layouts + +AutomaticGrid 1.0 AutomaticGrid.qml +ColumnFlow 1.0 ColumnFlow.qml diff --git a/layouts/qmldir_noplugin b/layouts/qmldir_noplugin new file mode 100644 index 00000000..d3c7961e --- /dev/null +++ b/layouts/qmldir_noplugin @@ -0,0 +1,4 @@ +module Fluid.Layouts + +AutomaticGrid 1.0 AutomaticGrid.qml +ColumnFlow 1.0 ColumnFlow.qml From 7fac69dfed64901c948ca1f3a8682b1b045f823d Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 8 Feb 2017 08:43:34 +0100 Subject: [PATCH 46/62] Add layouts to demo Issue: #68 --- demo/LayoutComponents.qml | 75 ++++++++++++++++++++++++ demo/Pages/Layouts/AutomaticGridPage.qml | 46 +++++++++++++++ demo/Pages/Layouts/ColumnFlowPage.qml | 45 ++++++++++++++ demo/demo.qrc | 3 + demo/main.qml | 1 + 5 files changed, 170 insertions(+) create mode 100644 demo/LayoutComponents.qml create mode 100644 demo/Pages/Layouts/AutomaticGridPage.qml create mode 100644 demo/Pages/Layouts/ColumnFlowPage.qml diff --git a/demo/LayoutComponents.qml b/demo/LayoutComponents.qml new file mode 100644 index 00000000..9d41f77c --- /dev/null +++ b/demo/LayoutComponents.qml @@ -0,0 +1,75 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Material 2.0 +import QtQuick.Controls.Universal 2.0 +import Fluid.Controls 1.0 +import "Pages/Layouts" + +Tab { + title: qsTr("Layout") + + Pane { + id: listPane + anchors { + left: parent.left + top: parent.top + bottom: parent.bottom + } + width: 200 + padding: 0 + z: 2 + + Material.background: "white" + Material.elevation: 1 + + Universal.background: Universal.accent + + ListView { + id: listView + anchors.fill: parent + currentIndex: 0 + model: ListModel { + ListElement { title: qsTr("AutomaticGrid"); source: "qrc:/Pages/Layouts/AutomaticGridPage.qml" } + ListElement { title: qsTr("ColumnFlow"); source: "qrc:/Pages/Layouts/ColumnFlowPage.qml" } + } + header: Subheader { + text: qsTr("Demos") + } + delegate: ListItem { + text: model.title + highlighted: ListView.isCurrentItem + onClicked: { + listView.currentIndex = index + stackView.push(model.source) + } + } + + ScrollBar.vertical: ScrollBar {} + } + } + + StackView { + id: stackView + anchors { + left: listPane.right + top: parent.top + right: parent.right + bottom: parent.bottom + } + initialItem: AutomaticGridPage {} + } +} diff --git a/demo/Pages/Layouts/AutomaticGridPage.qml b/demo/Pages/Layouts/AutomaticGridPage.qml new file mode 100644 index 00000000..a8a5b746 --- /dev/null +++ b/demo/Pages/Layouts/AutomaticGridPage.qml @@ -0,0 +1,46 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.0 +import Fluid.Layouts 1.0 as FluidLayouts +import "../.." + +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) + + ScrollBar.vertical: ScrollBar {} + + FluidLayouts.AutomaticGrid { + id: layout + + anchors.fill: parent + + cellWidth: 100 + cellHeight: cellWidth + + model: 250 + delegate: Rectangle { + color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0) + width: 100 + height: width + + Text { + anchors.centerIn: parent + text: index + 1 + } + } + } +} diff --git a/demo/Pages/Layouts/ColumnFlowPage.qml b/demo/Pages/Layouts/ColumnFlowPage.qml new file mode 100644 index 00000000..7fa06b6a --- /dev/null +++ b/demo/Pages/Layouts/ColumnFlowPage.qml @@ -0,0 +1,45 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Pier Luigi Fiorini + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.0 +import Fluid.Layouts 1.0 as FluidLayouts +import "../.." + +Flickable { + clip: true + contentHeight: Math.max(layout.implicitHeight, height) + + ScrollBar.vertical: ScrollBar {} + + FluidLayouts.ColumnFlow { + id: layout + + anchors.fill: parent + + contentHeight: 100 + + model: 250 + delegate: Rectangle { + color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0) + width: 100 + height: width + + Text { + anchors.centerIn: parent + text: index + 1 + } + } + } +} diff --git a/demo/demo.qrc b/demo/demo.qrc index 784975a9..d04b46e1 100644 --- a/demo/demo.qrc +++ b/demo/demo.qrc @@ -3,6 +3,7 @@ main.qml BasicComponents.qml CompoundComponents.qml + LayoutComponents.qml MaterialComponents.qml NavigationComponents.qml Style.qml @@ -24,6 +25,8 @@ Pages/Style/PalettePage.qml Pages/Style/PaletteSwatch.qml Pages/Style/TypographyPage.qml + Pages/Layouts/AutomaticGridPage.qml + Pages/Layouts/ColumnFlowPage.qml Pages/Material/ActionButtonPage.qml Pages/Material/WavePage.qml Pages/Navigation/NavDrawerPage.qml diff --git a/demo/main.qml b/demo/main.qml index 32020398..28d63e6c 100644 --- a/demo/main.qml +++ b/demo/main.qml @@ -101,6 +101,7 @@ FluidWindow { ] BasicComponents {} + LayoutComponents {} CompoundComponents {} MaterialComponents {} NavigationComponents {} From b40d37613276ad18fbbddab480fab3effeff4758 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 12 Feb 2017 09:25:19 +0100 Subject: [PATCH 47/62] Add text and buttons to InputDialog --- controls/InputDialog.qml | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/controls/InputDialog.qml b/controls/InputDialog.qml index cec7a671..9aab84e8 100644 --- a/controls/InputDialog.qml +++ b/controls/InputDialog.qml @@ -13,6 +13,7 @@ */ import QtQuick 2.0 +import QtQuick.Layouts 1.0 import QtQuick.Controls 2.1 import Fluid.Controls 1.0 as FluidControls @@ -34,12 +35,38 @@ Dialog { */ property alias textField: textField + /* + \qmlproperty string InputDialog::text + + Dialog text. + */ + property alias text: dialogLabel.text + focus: true modal: true + standardButtons: Dialog.Ok | Dialog.Cancel + + ColumnLayout { + anchors { + left: parent.left + top: parent.top + } + width: parent.width + + FluidControls.DialogLabel { + id: dialogLabel + wrapMode: Text.Wrap + visible: text !== "" + + Layout.fillWidth: true + } + + TextField { + id: textField + focus: true + onAccepted: dialog.accept() - TextField { - id: textField - focus: true - onAccepted: dialog.accept() + Layout.fillWidth: true + } } } From 58112e1f37191abc9cffeef7162e7bc6a0e34672 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 12 Feb 2017 09:25:58 +0100 Subject: [PATCH 48/62] demo: Set input dialog width and text --- demo/Pages/Compound/DialogsPage.qml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/demo/Pages/Compound/DialogsPage.qml b/demo/Pages/Compound/DialogsPage.qml index f162ccf1..e2f7264a 100644 --- a/demo/Pages/Compound/DialogsPage.qml +++ b/demo/Pages/Compound/DialogsPage.qml @@ -46,8 +46,11 @@ Item { x: (parent.width - width) / 2 y: (parent.height - height) / 2 + width: 280 - title: qsTr("Type a number") - textField.inputMask: "999" + title: qsTr("In what year were you born?") + text: qsTr("We need to know in what year you were born in order to verify your age.") + textField.inputMask: "9999" + textField.placeholderText: qsTr("Type a 4 digits number") } } From 77f898008c84ec9f7155931f26227e020ad1d63d Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 12 Feb 2017 23:47:33 +0100 Subject: [PATCH 49/62] Improve AlertDialog Set as modal by default, center on screen and add a layout to hold custom contents. --- controls/AlertDialog.qml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/controls/AlertDialog.qml b/controls/AlertDialog.qml index babaca98..68857b15 100644 --- a/controls/AlertDialog.qml +++ b/controls/AlertDialog.qml @@ -30,12 +30,30 @@ import Fluid.Controls 1.0 as FluidControls by either asking a question or making a statement related to the action buttons. */ Dialog { + default property alias content: dialogContent.data + property alias text: dialogLabel.text + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + focus: true modal: true - FluidControls.DialogLabel { - id: dialogLabel + Column { + id: dialogContent + anchors { + left: parent.left + top: parent.top + } + spacing: FluidControls.Units.smallSpacing + width: parent.width + + FluidControls.DialogLabel { + id: dialogLabel + wrapMode: Text.Wrap + width: parent.width + visible: text !== "" + } } } From 776ef66db5321b96a4c9a98cb8465547152c866a Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 15 Feb 2017 08:48:28 +0100 Subject: [PATCH 50/62] Add missing stuff for embedding Fluid into other projects Update resources and project files with missing stuff. Issue: #70 --- controls/controls.qrc | 8 +++++++- core/core.pri | 2 ++ layouts/layouts.pri | 1 + layouts/layouts.qrc | 6 ++++++ 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 layouts/layouts.pri create mode 100644 layouts/layouts.qrc diff --git a/controls/controls.qrc b/controls/controls.qrc index 8f0c46c0..8079553e 100644 --- a/controls/controls.qrc +++ b/controls/controls.qrc @@ -1,6 +1,7 @@ Action.qml + AlertDialog.qml AppBar.qml AppToolBar.qml BaseListItem.qml @@ -8,7 +9,7 @@ CaptionLabel.qml Card.qml CircleImage.qml - Dialog.qml + DialogLabel.qml DisplayLabel.qml FluidStyle.qml FluidWindow.qml @@ -16,9 +17,11 @@ Icon.qml IconButton.qml InfoBar.qml + InputDialog.qml ListItem.qml ListItemDelegate.qml Loadable.qml + MenuItem.qml NavigationDrawer.qml NoiseBackground.qml Page.qml @@ -30,12 +33,15 @@ SmoothFadeLoader.qml Subheader.qml SubheadingLabel.qml + Tab.qml + TabbedPage.qml ThinDivider.qml TitleLabel.qml Units.qml +material/BaseListItem.qml +material/BodyLabel.qml +material/CaptionLabel.qml + +material/DialogLabel.qml +material/DisplayLabel.qml +material/HeadlineLabel.qml +material/SubheadingLabel.qml diff --git a/core/core.pri b/core/core.pri index 16b7b9df..666afc62 100644 --- a/core/core.pri +++ b/core/core.pri @@ -17,3 +17,5 @@ SOURCES += \ RESOURCES += \ $$PWD/core.qrc + +QT += svg diff --git a/layouts/layouts.pri b/layouts/layouts.pri new file mode 100644 index 00000000..d900fe59 --- /dev/null +++ b/layouts/layouts.pri @@ -0,0 +1 @@ +RESOURCES += $$PWD/layouts.qrc diff --git a/layouts/layouts.qrc b/layouts/layouts.qrc new file mode 100644 index 00000000..aff1efa5 --- /dev/null +++ b/layouts/layouts.qrc @@ -0,0 +1,6 @@ + + + AutomaticGrid.qml + ColumnFlow.qml + + From 54069bce4aeda84cc922b7884f31e6c6ba4d179a Mon Sep 17 00:00:00 2001 From: SushiTee Date: Wed, 15 Feb 2017 19:51:35 +0100 Subject: [PATCH 51/62] added missing stuff and fixed svg rendering (#72) --- core/core.pri | 2 ++ core/iconsimageprovider.cpp | 2 +- core/qmldir_noplugin | 1 + layouts/ColumnFlow.qml | 1 + layouts/layouts.qrc | 1 + 5 files changed, 6 insertions(+), 1 deletion(-) diff --git a/core/core.pri b/core/core.pri index 666afc62..6ade5011 100644 --- a/core/core.pri +++ b/core/core.pri @@ -18,4 +18,6 @@ SOURCES += \ RESOURCES += \ $$PWD/core.qrc +INCLUDEPATH += $$PWD + QT += svg diff --git a/core/iconsimageprovider.cpp b/core/iconsimageprovider.cpp index 2ffbe108..ee8506d6 100644 --- a/core/iconsimageprovider.cpp +++ b/core/iconsimageprovider.cpp @@ -39,7 +39,7 @@ QImage IconsImageProvider::requestImage(const QString &id, QSize *realSize, *realSize = size; #ifdef FLUID_LOCAL - QSvgRenderer renderer(QLatin1String("qrc:/Fluid/Controls/") + id + QLatin1String(".svg")); + QSvgRenderer renderer(QLatin1String(":/Fluid/Controls/") + id + QLatin1String(".svg")); QImage image(size, QImage::Format_ARGB32); image.fill(Qt::transparent); QPainter painter(&image); diff --git a/core/qmldir_noplugin b/core/qmldir_noplugin index c22216e7..ffeda9f5 100644 --- a/core/qmldir_noplugin +++ b/core/qmldir_noplugin @@ -3,3 +3,4 @@ typeinfo plugins.qmltypes Object 1.0 Object.qml singleton Utils 1.0 Utils.qml +PlatformExtensions 1.0 PlatformExtensions.qml diff --git a/layouts/ColumnFlow.qml b/layouts/ColumnFlow.qml index a1074e0b..8d6ed6f9 100644 --- a/layouts/ColumnFlow.qml +++ b/layouts/ColumnFlow.qml @@ -56,6 +56,7 @@ Item { property alias model: repeater.model property alias delegate: repeater.delegate property int contentHeight: 0 + property bool repeaterCompleted: false height: contentHeight diff --git a/layouts/layouts.qrc b/layouts/layouts.qrc index aff1efa5..0338cdc3 100644 --- a/layouts/layouts.qrc +++ b/layouts/layouts.qrc @@ -2,5 +2,6 @@ AutomaticGrid.qml ColumnFlow.qml + qmldir_noplugin From 462d653c02530c11eb04cabf53a64f411b35b687 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 15 Feb 2017 22:12:00 +0100 Subject: [PATCH 52/62] Rename FluidWindow to ApplicationWindow [ChangeLog][Controls] FluidWindow was renamed to ApplicationWindow in order to match QtQuick Controls 2. The former is an alias to the latter and will be completely removed in the next release. Closes: #71 --- controls/ApplicationWindow.qml | 100 +++++++++++++++++++++++++++++++++ controls/CMakeLists.txt | 1 + controls/FluidWindow.qml | 81 ++------------------------ controls/controls.qrc | 1 + controls/qmldir | 1 + controls/qmldir_noplugin | 1 + 6 files changed, 110 insertions(+), 75 deletions(-) create mode 100644 controls/ApplicationWindow.qml diff --git a/controls/ApplicationWindow.qml b/controls/ApplicationWindow.qml new file mode 100644 index 00000000..de4ab350 --- /dev/null +++ b/controls/ApplicationWindow.qml @@ -0,0 +1,100 @@ +/* + * This file is part of Fluid. + * + * Copyright (C) 2017 Michael Spencer + * + * $BEGIN_LICENSE:MPL2$ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * $END_LICENSE$ + */ + +import QtQuick 2.4 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Material 2.0 +import Fluid.Core 1.0 as FluidCore +import Fluid.Controls 1.0 as FluidControls + +/*! + \qmltype ApplicationWindow + \inqmlmodule Fluid.Controls + \ingroup fluidcontrols + + \brief A window that provides features commonly used for Material Design apps. + + This is normally what you should use as your root component. It provides a \l Toolbar and + \l PageStack to provide access to standard features used by Material Design applications. + + Here is a short working example of an application: + + \qml + import QtQuick 2.4 + import Fluid.Controls 1.0 as FluidControls + + FluidControls.ApplicationWindow { + title: "Application Name" + + initialPage: page + + Page { + id: page + title: "Page Title" + + Label { + anchors.centerIn: parent + text: "Hello World!" + } + } + } + \endqml +*/ +ApplicationWindow { + id: window + + /*! + \qmlproperty color decorationColor + + The color of the status bar or window decorations, if the current + platform supports it. + */ + property alias decorationColor: platformExtensions.decorationColor + + property alias appBar: appBar + + /*! + \qmlproperty Page initialPage + + The initial page shown when the application starts. + */ + property alias initialPage: pageStack.initialItem + + /*! + \qmlproperty PageStack pageStack + + The \l PageStack used for controlling pages and transitions between pages. + */ + property alias pageStack: pageStack + + header: FluidControls.AppToolBar { + id: appBar + } + + FluidControls.PageStack { + id: pageStack + + anchors.fill: parent + + onPushed: appBar.push(page) + onPopped: appBar.pop(page) + onReplaced: appBar.replace(page) + } + + FluidCore.PlatformExtensions { + id: platformExtensions + window: window + decorationColor: Material.shade(window.Material.primaryColor, Material.Shade700) + } +} diff --git a/controls/CMakeLists.txt b/controls/CMakeLists.txt index 18acdbc9..96830c54 100644 --- a/controls/CMakeLists.txt +++ b/controls/CMakeLists.txt @@ -9,6 +9,7 @@ set(QML_FILES Action.qml AlertDialog.qml AppBar.qml + ApplicationWindow.qml AppToolBar.qml BaseListItem.qml BodyLabel.qml diff --git a/controls/FluidWindow.qml b/controls/FluidWindow.qml index 5056d9fa..59a3d8a6 100644 --- a/controls/FluidWindow.qml +++ b/controls/FluidWindow.qml @@ -1,7 +1,7 @@ /* * This file is part of Fluid. * - * Copyright (C) 2017 Michael Spencer + * Copyright (C) 2017 Pier Luigi Fiorini * * $BEGIN_LICENSE:MPL2$ * @@ -12,10 +12,7 @@ * $END_LICENSE$ */ -import QtQuick 2.4 -import QtQuick.Controls 2.0 -import QtQuick.Controls.Material 2.0 -import Fluid.Core 1.0 +import QtQuick 2.0 import Fluid.Controls 1.0 as FluidControls /*! @@ -25,76 +22,10 @@ import Fluid.Controls 1.0 as FluidControls \brief A window that provides features commonly used for Material Design apps. - This is normally what you should use as your root component. It provides a \l Toolbar and - \l PageStack to provide access to standard features used by Material Design applications. + This is a compatibility type that will be completely removed in the next version. + Please use ApplicationWindow. - Here is a short working example of an application: - - \qml - import QtQuick 2.4 - import Fluid.Controls 1.0 as FluidControls - - FluidControls.ApplicationWindow { - title: "Application Name" - - initialPage: page - - Page { - id: page - title: "Page Title" - - Label { - anchors.centerIn: parent - text: "Hello World!" - } - } - } - \endqml + \sa ApplicationWindow */ -ApplicationWindow { - id: window - - /*! - \qmlproperty color decorationColor - - The color of the status bar or window decorations, if the current - platform supports it. - */ - property alias decorationColor: platformExtensions.decorationColor - - property alias appBar: appBar - - /*! - \qmlproperty Page initialPage - - The initial page shown when the application starts. - */ - property alias initialPage: pageStack.initialItem - - /*! - \qmlproperty PageStack pageStack - - The \l PageStack used for controlling pages and transitions between pages. - */ - property alias pageStack: pageStack - - header: FluidControls.AppToolBar { - id: appBar - } - - FluidControls.PageStack { - id: pageStack - - anchors.fill: parent - - onPushed: appBar.push(page) - onPopped: appBar.pop(page) - onReplaced: appBar.replace(page) - } - - PlatformExtensions { - id: platformExtensions - window: window - decorationColor: Material.shade(window.Material.primaryColor, Material.Shade700) - } +FluidControls.ApplicationWindow { } diff --git a/controls/controls.qrc b/controls/controls.qrc index 8079553e..c1af7a3f 100644 --- a/controls/controls.qrc +++ b/controls/controls.qrc @@ -3,6 +3,7 @@ Action.qml AlertDialog.qml AppBar.qml + ApplicationWindow.qml AppToolBar.qml BaseListItem.qml BodyLabel.qml diff --git a/controls/qmldir b/controls/qmldir index 2fa56499..f800ef8f 100644 --- a/controls/qmldir +++ b/controls/qmldir @@ -6,6 +6,7 @@ typeinfo plugins.qmltypes Action 1.0 Action.qml AlertDialog 1.0 AlertDialog.qml AppBar 1.0 AppBar.qml +ApplicationWindow 1.0 ApplicationWindow.qml AppToolBar 1.0 AppToolBar.qml BaseListItem 1.0 BaseListItem.qml BodyLabel 1.0 BodyLabel.qml diff --git a/controls/qmldir_noplugin b/controls/qmldir_noplugin index 27c2e877..96e39aeb 100644 --- a/controls/qmldir_noplugin +++ b/controls/qmldir_noplugin @@ -4,6 +4,7 @@ typeinfo plugins.qmltypes Action 1.0 Action.qml AlertDialog 1.0 AlertDialog.qml AppBar 1.0 AppBar.qml +ApplicationWindow 1.0 ApplicationWindow.qml AppToolBar 1.0 AppToolBar.qml BaseListItem 1.0 BaseListItem.qml BodyLabel 1.0 BodyLabel.qml From a6b95ca144703193ab7b28ab101d833245d5a971 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 15 Feb 2017 23:45:42 +0100 Subject: [PATCH 53/62] Install pri file for qmake projects Let qmake projects link to Fluid. [ChangeLog][Library] Generate and install .pri file for qmake projects. Closes: #74 --- src/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index dacd2e07..3fbacfa9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -77,3 +77,9 @@ install( install(EXPORT FluidTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE FluidTargets.cmake NAMESPACE Fluid::) + +################################################## + +include(ECMGeneratePriFile) +ecm_generate_pri_file(BASE_NAME Fluid LIB_NAME Fluid DEPS "core" FILENAME_VAR PRI_FILENAME) +install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) From 6ee0dfafcdddf9db5e8422bf5e177ac78cf39e5f Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 18 Feb 2017 18:39:18 +0100 Subject: [PATCH 54/62] Rename Action::tooltip [ChangeLog][Controls] Rename Action::tooltip to Action::toolTip. --- controls/Action.qml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/controls/Action.qml b/controls/Action.qml index 582b9458..d38db6d8 100644 --- a/controls/Action.qml +++ b/controls/Action.qml @@ -61,9 +61,11 @@ Object { property string text /*! - The tooltip displayed for the action. + The tool tip displayed for the action. */ - property string tooltip + property string toolTip + + property string tooltip: toolTip /*! Set to \c false to hide the action in the UI. From 30c0c4e8641353164629eb6e342995134bb7a9a8 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 18 Feb 2017 18:45:31 +0100 Subject: [PATCH 55/62] Don't overflow actions if maxActionCount is 0 --- controls/AppBar.qml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 76c01847..6fbae5c2 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -75,6 +75,7 @@ ToolBar { into a drop-down menu. When using an action bar with a page, this inherits from the global \l Toolbar::maxActionCount. If you are using an action bar for custom purposes outside of a toolbar, this defaults to \c 3. + Set to \c 0 if you don't want to overflow actions. */ property int maxActionCount: toolbar ? toolbar.maxActionCount : 3 @@ -144,7 +145,8 @@ ToolBar { spacing: 24 - 2 * leftButton.margin Repeater { - model: appBar.actions.length > appBar.maxActionCount ? appBar.maxActionCount : appBar.actions.length + model: appBar.actions.length > appBar.maxActionCount && appBar.maxActionCount > 0 + ? appBar.maxActionCount : appBar.actions.length delegate: FluidControls.IconButton { id: actionButton @@ -173,7 +175,7 @@ ToolBar { onClicked: overflowMenu.open() - visible: appBar.actions.length > appBar.maxActionCount + visible: appBar.actions.length > appBar.maxActionCount && appBar.maxActionCount > 0 Menu { id: overflowMenu @@ -181,7 +183,8 @@ ToolBar { y: overflowButton.height Instantiator { - model: appBar.actions.length > appBar.maxActionCount ? appBar.actions.length - appBar.maxActionCount : 0 + model: appBar.actions.length > appBar.maxActionCount && appBar.maxActionCount > 0 + ? appBar.actions.length - appBar.maxActionCount : 0 delegate: FluidControls.MenuItem { id: overflowMenuItem From a6103bd412abe49932964b9f09f69b1a28db530a Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 18 Feb 2017 18:49:34 +0100 Subject: [PATCH 56/62] Improve tool tips visibility Show tool tips after a delay, plus show them when the button is pressed on mobile or when it's hovered on desktop. --- controls/AppBar.qml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/controls/AppBar.qml b/controls/AppBar.qml index 6fbae5c2..b3f50805 100644 --- a/controls/AppBar.qml +++ b/controls/AppBar.qml @@ -96,7 +96,8 @@ ToolBar { property bool showing: leftAction && leftAction.visible property int margin: (width - 24)/2 - ToolTip.visible: ToolTip.text != "" && hovered + ToolTip.visible: ToolTip.text != "" && (Device.isMobile ? pressed : hovered) + ToolTip.delay: Qt.styleHints.mousePressAndHoldInterval ToolTip.text: leftAction ? leftAction.tooltip : "" anchors { @@ -150,7 +151,8 @@ ToolBar { delegate: FluidControls.IconButton { id: actionButton - ToolTip.visible: ToolTip.text !== "" && hovered && !overflowMenu.visible + ToolTip.visible: ToolTip.text !== "" && !overflowMenu.visible && (Device.isMobile ? pressed : hovered) + ToolTip.delay: Qt.styleHints.mousePressAndHoldInterval ToolTip.text: appBar.actions[index].tooltip anchors.verticalCenter: parent.verticalCenter From a970d04409bd793129e1a050072ca98357a44cb8 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 15 Feb 2017 23:48:22 +0100 Subject: [PATCH 57/62] demo: Use ApplicationWindow --- demo/main.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/main.qml b/demo/main.qml index 28d63e6c..05f42475 100644 --- a/demo/main.qml +++ b/demo/main.qml @@ -20,7 +20,7 @@ import QtQuick.Controls.Universal 2.0 import QtQuick.Layouts 1.3 import Fluid.Controls 1.0 -FluidWindow { +ApplicationWindow { id: window visible: true From f9273f8a79b1902e843e43aafa683c03ce3eebbe Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Thu, 16 Feb 2017 23:52:22 +0100 Subject: [PATCH 58/62] demo: Add menu button --- demo/main.qml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/demo/main.qml b/demo/main.qml index 05f42475..c49b9a25 100644 --- a/demo/main.qml +++ b/demo/main.qml @@ -79,6 +79,11 @@ ApplicationWindow { initialPage: TabbedPage { title: window.title + leftAction: Action { + iconName: "navigation/menu" + onTriggered: navDrawer.open() + } + actions: [ Action { text: qsTr("Dummy error") From 3759de552e6b32bd014cac9d70c7900adaf5f2b5 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 25 Feb 2017 23:06:45 +0100 Subject: [PATCH 59/62] Clean up instructions for Fluid inclusion --- README.md | 31 +++++++++++++++++++++---------- fluid.pri | 1 + 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 1a025e62..440a51b6 100644 --- a/README.md +++ b/README.md @@ -58,19 +58,30 @@ Run the icon script located here: ./scripts/fetch_icons.sh ``` -In your project file, include the fluid.pri file: - `include(path/to/fluid.pri)` +In your project file, include the `fluid.pri` file: +```qmake +include(path/to/fluid.pri) +``` Then, in your `main.cpp` file or wherever you set up a `QQmlApplicationEngine`: -* add this include directive : -`#include "iconthemeimageprovider.h"` -* add the resources files to your `QQmlApplicationEngine` import paths : -`engine.addImportPath(QStringLiteral("qrc:/"));` -* register fluid's image providers to the engine : -`engine.addImageProvider(QLatin1String("fluidicons"), new IconsImageProvider());` -`engine.addImageProvider(QLatin1String("fluidicontheme"), new IconThemeImageProvider());` +* add this include directive: +```cpp +#include "iconsimageprovider.h" +#include "iconthemeimageprovider.h" +``` +* add the resources files to your `QQmlApplicationEngine` import paths: +```cpp +engine.addImportPath(QLatin1String("qrc:/")); +``` +* register fluid's image providers to the engine: +```cpp +engine.addImageProvider(QLatin1String("fluidicons"), new IconsImageProvider()); +engine.addImageProvider(QLatin1String("fluidicontheme"), new IconThemeImageProvider()); +``` * and after that you can load your qml file: -`engine.load(QUrl(QStringLiteral("qrc:/main.qml")));` +```cpp +engine.load(QUrl(QLatin1String("qrc:/main.qml"))); +``` ## Licensing diff --git a/fluid.pri b/fluid.pri index 64859191..8e6d8978 100644 --- a/fluid.pri +++ b/fluid.pri @@ -1,4 +1,5 @@ DEFINES += FLUID_LOCAL + include(src/src.pri) include(core/core.pri) include(controls/controls.pri) From 554a83ea46ff1db9c11f89654777911f984c6b16 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 25 Feb 2017 23:07:25 +0100 Subject: [PATCH 60/62] Deduplicate plugin code Rename plugin source code and class name to avoid conflicts. Closes: #75 --- controls/CMakeLists.txt | 2 +- controls/{plugin.cpp => controlsplugin.cpp} | 8 ++++---- core/CMakeLists.txt | 2 +- core/core.pri | 4 ++-- core/{plugin.cpp => coreplugin.cpp} | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) rename controls/{plugin.cpp => controlsplugin.cpp} (80%) rename core/{plugin.cpp => coreplugin.cpp} (98%) diff --git a/controls/CMakeLists.txt b/controls/CMakeLists.txt index 96830c54..9e0920f1 100644 --- a/controls/CMakeLists.txt +++ b/controls/CMakeLists.txt @@ -1,6 +1,6 @@ set(SOURCES iconthemeimageprovider.cpp - plugin.cpp + controlsplugin.cpp ) set(QML_FILES diff --git a/controls/plugin.cpp b/controls/controlsplugin.cpp similarity index 80% rename from controls/plugin.cpp rename to controls/controlsplugin.cpp index 661b234e..4768a093 100644 --- a/controls/plugin.cpp +++ b/controls/controlsplugin.cpp @@ -16,7 +16,7 @@ #include "iconthemeimageprovider.h" -class FluidCorePlugin : public QQmlExtensionPlugin +class FluidControlsPlugin : public QQmlExtensionPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") @@ -25,18 +25,18 @@ class FluidCorePlugin : public QQmlExtensionPlugin void registerTypes(const char *uri); }; -void FluidCorePlugin::initializeEngine(QQmlEngine *engine, const char *uri) +void FluidControlsPlugin::initializeEngine(QQmlEngine *engine, const char *uri) { Q_ASSERT(QByteArray(uri) == QByteArrayLiteral("Fluid.Controls")); engine->addImageProvider(QLatin1String("fluidicontheme"), new IconThemeImageProvider()); } -void FluidCorePlugin::registerTypes(const char *uri) +void FluidControlsPlugin::registerTypes(const char *uri) { Q_ASSERT(QByteArray(uri) == QByteArrayLiteral("Fluid.Controls")); // @uri Fluid.Controls } -#include "plugin.moc" +#include "controlsplugin.moc" diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 21bd9740..b4b54173 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -6,7 +6,7 @@ include_directories( add_definitions(-DQT_PLUGIN) set(SOURCES - plugin.cpp + coreplugin.cpp clipboard.cpp qmldateutils.cpp device.cpp diff --git a/core/core.pri b/core/core.pri index 6ade5011..822cfcbd 100644 --- a/core/core.pri +++ b/core/core.pri @@ -10,10 +10,10 @@ SOURCES += \ $$PWD/clipboard.cpp \ $$PWD/device.cpp \ $$PWD/iconsimageprovider.cpp \ - $$PWD/plugin.cpp \ $$PWD/qmldateutils.cpp \ $$PWD/qqmlsortfilterproxymodel.cpp \ - $$PWD/standardpaths.cpp + $$PWD/standardpaths.cpp \ + $$PWD/coreplugin.cpp RESOURCES += \ $$PWD/core.qrc diff --git a/core/plugin.cpp b/core/coreplugin.cpp similarity index 98% rename from core/plugin.cpp rename to core/coreplugin.cpp index 511b4398..1033f887 100644 --- a/core/plugin.cpp +++ b/core/coreplugin.cpp @@ -87,4 +87,4 @@ static void registerFluidCoreTypes() { Q_COREAPP_STARTUP_FUNCTION(registerFluidCoreTypes) #endif -#include "plugin.moc" +#include "coreplugin.moc" From 0c72255fe874d65bb708b352923282f7ed33f41d Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 26 Feb 2017 18:41:25 +0100 Subject: [PATCH 61/62] Bump version to 0.10.0 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 25c950a1..538d673b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ set(CMAKE_AUTORCC ON) set(APPLE_SUPPRESS_X11_WARNING ON) # Set version -set(PROJECT_VERSION "0.9.0") +set(PROJECT_VERSION "0.10.0") set(PROJECT_VERSION_MAJOR 0) set(PROJECT_SOVERSION 0) From 9cc6753b459650ebf6e607ecfe47b5e2b561b7d0 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 11 Mar 2017 18:23:06 +0100 Subject: [PATCH 62/62] Fix closable tab Set the appropriate color and calculate width better. --- controls/TabbedPage.qml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/controls/TabbedPage.qml b/controls/TabbedPage.qml index 2441b549..32bf08b5 100644 --- a/controls/TabbedPage.qml +++ b/controls/TabbedPage.qml @@ -69,6 +69,10 @@ FluidControls.Page { model: swipeView.contentChildren delegate: TabButton { text: modelData.title + implicitWidth: Math.max(background ? background.implicitWidth : 0, + contentItem.implicitWidth + + (tabCloseButton.visible ? tabCloseButton.width : 0) + + leftPadding + rightPadding) width: parent.fixed ? parent.width / parent.count : implicitWidth // Active color @@ -94,9 +98,10 @@ FluidControls.Page { anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter - anchors.rightMargin: FluidControls.Units.smallSpacing + anchors.rightMargin: -rightPadding iconName: "navigation/close" + iconColor: contentItem.color visible: modelData.canRemove onClicked: swipeView.removeItem(index)