diff --git a/examples/galleryapp/CMakeLists.txt b/examples/galleryapp/CMakeLists.txt
index 1326d27c..0a466f06 100644
--- a/examples/galleryapp/CMakeLists.txt
+++ b/examples/galleryapp/CMakeLists.txt
@@ -1,46 +1,46 @@
set(kirigami2gallery_SRCS
main.cpp
)
qt5_add_resources(RESOURCES resources.qrc)
if (CMAKE_SYSTEM_NAME STREQUAL "Android")
find_package(KF5Kirigami2 ${KF5_DEP_VERSION})
set(kirigami2gallery_EXTRA_LIBS Qt5::AndroidExtras
#FIXME: we shouldn't have to link to it but otherwise the lib won't be packaged on Android
Qt5::QuickControls2 KF5::Kirigami2)
endif()
find_program(kpackagetool_cmd kpackagetool5)
if (kpackagetool_cmd)
set(component org.kde.kirigami2.gallery)
set(APPDATAFILE "${CMAKE_CURRENT_BINARY_DIR}/${component}.appdata.xml")
message(STATUS "${kpackagetool_cmd} --appstream-metainfo ${CMAKE_CURRENT_SOURCE_DIR}/../gallerydata --appstream-metainfo-output ${APPDATAFILE}")
execute_process(
COMMAND ${kpackagetool_cmd} --appstream-metainfo ${CMAKE_CURRENT_SOURCE_DIR}/../gallerydata --appstream-metainfo-output ${APPDATAFILE}
ERROR_VARIABLE appstreamerror
RESULT_VARIABLE result)
if (NOT result EQUAL 0)
message(WARNING "couldn't generate metainfo for ${component}: ${appstreamerror}")
else()
if(appstreamerror)
message(WARNING "warnings during generation of metainfo for ${component}: ${appstreamerror}")
endif()
# OPTIONAL because desktop files can be NoDisplay so they render no XML.
install(FILES ${APPDATAFILE} DESTINATION ${KDE_INSTALL_METAINFODIR} OPTIONAL)
endif()
else()
message(WARNING "KPackage components should be specified in reverse domain notation. Appstream information won't be generated for ${component}.")
endif()
add_executable(kirigami2gallery ${kirigami2gallery_SRCS} ${RESOURCES})
target_link_libraries(kirigami2gallery Qt5::Core Qt5::Qml Qt5::Quick Qt5::Svg ${kirigami2gallery_EXTRA_LIBS})
install(TARGETS kirigami2gallery ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
include(${CMAKE_SOURCE_DIR}/KF5Kirigami2Macros.cmake)
-kirigami_package_breeze_icons(ICONS applications-graphics view-list-icons folder-sync view-list-details configure document-edit dialog-cancel document-decrypt mail-reply-sender bookmarks folder media-record-symbolic)
+kirigami_package_breeze_icons(ICONS applications-graphics view-list-icons folder-sync view-list-details configure document-edit dialog-cancel document-decrypt mail-reply-sender bookmarks folder media-record-symbolic add-placemark address-book-new-symbolic)
diff --git a/examples/galleryapp/resources.qrc b/examples/galleryapp/resources.qrc
index 123f2b37..c2222cbc 100644
--- a/examples/galleryapp/resources.qrc
+++ b/examples/galleryapp/resources.qrc
@@ -1,28 +1,31 @@
../gallerydata/contents/ui/MainPage.qml
../gallerydata/contents/ui/banner.jpg
../gallerydata/contents/ui/gallery/NonScrollableGallery.qml
../gallerydata/contents/ui/gallery/RadioButtonGallery.qml
../gallerydata/contents/ui/gallery/ButtonGallery.qml
../gallerydata/contents/ui/gallery/ProgressBarGallery.qml
../gallerydata/contents/ui/gallery/CheckBoxGallery.qml
../gallerydata/contents/ui/gallery/SliderGallery.qml
../gallerydata/contents/ui/gallery/MultipleColumnsGallery.qml
../gallerydata/contents/ui/gallery/MiscGallery.qml
../gallerydata/contents/ui/gallery/ListViewGallery.qml
../gallerydata/contents/ui/gallery/ListViewHeaderItemsGallery.qml
../gallerydata/contents/ui/gallery/SwitchGallery.qml
../gallerydata/contents/ui/gallery/TabBarGallery.qml
../gallerydata/contents/ui/gallery/TextFieldGallery.qml
../gallerydata/contents/ui/gallery/ColorsGallery.qml
+ ../gallerydata/contents/ui/gallery/CardsLayoutGallery.qml
+ ../gallerydata/contents/ui/gallery/CardsListViewGallery.qml
+ ../gallerydata/contents/ui/gallery/CardsGridViewGallery.qml
../gallerydata/contents/ui/gallery/MetricsGallery.qml
../gallerydata/contents/ui/gallery/LayersGallery.qml
../gallerydata/contents/ui/gallery/FormLayoutGallery.qml
../gallerydata/contents/ui/ExampleApp.qml
../gallerydata/contents/ui/gallery/ColorSetGallery.qml
../gallerydata/contents/ui/DesktopExampleApp.qml
../gallerydata/metadata.desktop
qtquickcontrols2.conf
diff --git a/examples/gallerydata/contents/ui/MainPage.qml b/examples/gallerydata/contents/ui/MainPage.qml
index 9a3de75c..ea8d2967 100644
--- a/examples/gallerydata/contents/ui/MainPage.qml
+++ b/examples/gallerydata/contents/ui/MainPage.qml
@@ -1,159 +1,171 @@
/*
* Copyright 2015 Marco Martin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.1
import QtQuick.Controls 2.0 as QQC2
import QtQuick.Layouts 1.2
import org.kde.kirigami 2.2 as Kirigami
Kirigami.ScrollablePage {
id: pageRoot
implicitWidth: Kirigami.Units.gridUnit * 20
background: Rectangle {
color: Kirigami.Theme.backgroundColor
}
title: "Gallery"
//flickable: mainListView
actions {
contextualActions: [
Kirigami.Action {
text:"Action 1"
iconName: "document-decrypt"
onTriggered: showPassiveNotification("Action 1 clicked")
},
Kirigami.Action {
id: shareAction
visible: checkableAction.checked
text:"Action 2"
iconName: "document-share"
onTriggered: showPassiveNotification("Action 2 clicked")
},
Kirigami.Action {
id: checkableAction
text:"Checkable"
checkable: true
iconName: "dashboard-show"
onCheckedChanged: showPassiveNotification("Checked: " + checked)
}
]
}
ListView {
id: mainListView
currentIndex: -1
//currentIndex has focus, openPageIndex is the one actually open now
property int openPageIndex: -1
activeFocusOnTab: true
focus: true
model: ListModel {
ListElement {
text: "Button"
component: "Button"
}
ListElement {
text: "CheckBox"
component: "CheckBox"
}
ListElement {
text: "Radio Button"
component: "RadioButton"
}
ListElement {
text: "Progress Bar"
component: "ProgressBar"
}
ListElement {
text: "Slider"
component: "Slider"
}
ListElement {
text: "Switch"
component: "Switch"
}
ListElement {
text: "Tab Bar"
component: "TabBar"
}
ListElement {
text: "Text Field"
component: "TextField"
}
ListElement {
text: "Form Layout"
component: "FormLayout"
}
+ ListElement {
+ text: "Cards Layout"
+ component: "CardsLayout"
+ }
+ ListElement {
+ text: "List view of cards"
+ component: "CardsListView"
+ }
+ ListElement {
+ text: "Grid view of cards"
+ component: "CardsGridView"
+ }
ListElement {
text: "Multiple Columns"
component: "MultipleColumns"
}
ListElement {
text: "Misc widgets"
component: "Misc"
}
ListElement {
text: "List View"
component: "ListView"
}
ListElement {
text: "List Headers"
component: "ListViewHeaderItems"
}
ListElement {
text: "Non Scrollable Page"
component: "NonScrollable"
}
ListElement {
text: "Colors"
component: "Colors"
}
ListElement {
text: "Color Sets"
component: "ColorSet"
}
ListElement {
text: "Metrics"
component: "Metrics"
}
}
delegate: Kirigami.BasicListItem {
id: listItem
reserveSpaceForIcon: false
label: model.text
Accessible.role: Accessible.MenuItem
property Item ownPage
onClicked: {
if (!model.component) {
return;
}
root.pageStack.pop(pageRoot);
root.pageStack.push(Qt.resolvedUrl("gallery/" + model.component + "Gallery.qml"));
mainListView.openPageIndex = index;
}
checked: mainListView.openPageIndex == index
highlighted: focus && ListView.isCurrentItem
}
}
}
diff --git a/examples/gallerydata/contents/ui/gallery/CardsGridViewGallery.qml b/examples/gallerydata/contents/ui/gallery/CardsGridViewGallery.qml
new file mode 100644
index 00000000..d8bec75c
--- /dev/null
+++ b/examples/gallerydata/contents/ui/gallery/CardsGridViewGallery.qml
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtQuick.Controls 2.0 as Controls
+import QtQuick.Layouts 1.2
+import org.kde.kirigami 2.4 as Kirigami
+
+Kirigami.ScrollablePage {
+ id: page
+
+ title: "Grid view of Cards"
+
+ actions.main: Kirigami.Action {
+ iconName: "documentinfo"
+ text: "Info"
+ checkable: true
+ onCheckedChanged: sheet.sheetOpen = checked;
+ shortcut: "Alt+I"
+ }
+
+ Kirigami.OverlaySheet {
+ id: sheet
+ onSheetOpenChanged: page.actions.main.checked = sheetOpen
+ header: RowLayout {
+ Kirigami.Heading {
+ Layout.fillWidth: true
+ text: "CardsGridView"
+ }
+ Controls.ToolButton {
+ text: "HIG..."
+ enabled: false
+ onClicked: Qt.openUrlExternally("")
+ }
+ Controls.ToolButton {
+ text: "Source code..."
+ onClicked: Qt.openUrlExternally("https://cgit.kde.org/kirigami.git/tree/examples/gallerydata/contents/ui/gallery/CardsGridViewGallery.qml
+ ")
+ }
+ }
+
+ Controls.Label {
+ property int implicitWidth: Kirigami.Units.gridUnit * 25
+ wrapMode: Text.WordWrap
+ text: "The Kirigami types AbstractCard and Card are used to implement the popular Card pattern used on many mobile and web platforms that is used to display a collection of information or actions.\n Besides the Card components, Kirigami offers also 3 kinds of views and positioners to help to present cards with beautiful and responsive layouts.\n\nIn this page, CardsGridView shows an example on how to put cards in a grid view, generated by a Qt model.\nThe behavior is same as CardsLayout, and it allows cards to be put in one or two columns depending from the available width.\nCardsGridView has the limitation that every Card must have the same exact height, so cellHeight must be manually set to a value in which the content fits for every item.\nIf possible use cards only when you don't need to instantiate that many and use CardsLayout intead."
+ }
+ }
+
+ Component.onCompleted: {
+ for (var i = 0; i < 50; ++i) {
+ mainModel.append({"title": "Item " + i,
+ "image": "../banner.jpg",
+ "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam id risus id augue euismod accumsan. Nunc vestibulum placerat bibendum.",
+ "actions": [{text: "Action 1", icon: "add-placemark"},
+ {text: "Action 2", icon: "address-book-new-symbolic"}]
+ })
+ }
+ }
+ Kirigami.CardsGridView {
+ id: view
+ model: ListModel {
+ id: mainModel
+ }
+
+//property Component delegate
+ delegate:Kirigami.Card {
+ id: card
+ banner {
+ title: model.title
+ imageSource: model.image
+ }
+ contentItem: Controls.Label {
+ wrapMode: Text.WordWrap
+ text: model.text
+ }
+ //HACK: this instantiator hack is just for demonstration purposes, normally the actions objects should be embedded as a role of a QAbstractItemModel, either as QActions or just QObjects with the proper properties and signals (the new qqc2 Action should ideally become a public c++ type)
+ property var actionsModel: model.actions
+ Instantiator {
+ model: actionsModel
+ delegate: Kirigami.Action {
+ text: model.text
+ icon.name: model.icon
+ onTriggered: showPassiveNotificaton(model.text + " triggered")
+ }
+ onObjectAdded: {
+ card.actions.push(object)
+ }
+ }
+ }
+ }
+}
diff --git a/examples/gallerydata/contents/ui/gallery/CardsLayoutGallery.qml b/examples/gallerydata/contents/ui/gallery/CardsLayoutGallery.qml
new file mode 100644
index 00000000..4fedbce5
--- /dev/null
+++ b/examples/gallerydata/contents/ui/gallery/CardsLayoutGallery.qml
@@ -0,0 +1,244 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtQuick.Controls 2.0 as Controls
+import QtQuick.Layouts 1.2
+import org.kde.kirigami 2.4 as Kirigami
+
+Kirigami.ScrollablePage {
+ id: page
+
+ title: "Cards Layout"
+
+ actions.main: Kirigami.Action {
+ iconName: "documentinfo"
+ text: "Info"
+ checkable: true
+ onCheckedChanged: sheet.sheetOpen = checked;
+ shortcut: "Alt+I"
+ }
+
+ Kirigami.OverlaySheet {
+ id: sheet
+ onSheetOpenChanged: page.actions.main.checked = sheetOpen
+ header: RowLayout {
+ Kirigami.Heading {
+ Layout.fillWidth: true
+ text: "CardsLayout"
+ }
+ Controls.ToolButton {
+ text: "HIG..."
+ enabled: false
+ onClicked: Qt.openUrlExternally("")
+ }
+ Controls.ToolButton {
+ text: "Source code..."
+ onClicked: Qt.openUrlExternally("https://cgit.kde.org/kirigami.git/tree/examples/gallerydata/contents/ui/gallery/CardsLayoutGallery.qml
+ ")
+ }
+ }
+
+ Controls.Label {
+ property int implicitWidth: Kirigami.Units.gridUnit * 25
+ wrapMode: Text.WordWrap
+ text: "The Kirigami types AbstractCard and Card are used to implement the popular Card pattern used on many mobile and web platforms that is used to display a collection of information or actions.\n Besides the Card components, Kirigami offers also 3 kinds of views and positioners to help to present cards with beautiful and responsive layouts.\n\nIn this page, CardsLayout is presented, which should be used when the cards are not instantiated by a model or by a model which has always very few items (In the case of a big model CardsListView or CardsGridview should be used instead). They are presented as a grid of two columns which will remain centered if the application is really wide, or become a single column if there is not enough space for two columns, such as a mobile phone screen.\nA CardsLayout should always be contained within a ColumnLayout."
+ }
+ }
+
+ ColumnLayout {
+ Kirigami.CardsLayout {
+ id: layout
+ Kirigami.AbstractCard {
+ Layout.fillHeight: true
+ header: Kirigami.Heading {
+ text: "AbstractCard"
+ level: 2
+ }
+ contentItem: Controls.Label {
+ wrapMode: Text.WordWrap
+ text: "An AbstractCard is the simplest form of card. It's just a rectangle with a shadow, which can contain any Item in it. It can also have items assigned to the Header or Footer properties. In this case a Kirigami.Heading is its header and a Label with WordWrap is the contentItem."
+ }
+ }
+
+ Kirigami.AbstractCard {
+ showClickFeedback: true
+ contentItem: Controls.Label {
+ wrapMode: Text.WordWrap
+ text: "This is an AbstractCard with a Label with WordWrap in it and nothing else, it's the simplest form Cards can be found in.\nAn AbstractCard can be clicked itself, with the usual onClicked signal handler and the showClickFeedback property can be used if the click should show any kind of visual feedback. It is recommended to set it to true if you plan to make the card reactive on any kind of click."
+ }
+ onClicked: showPassiveNotification("Card clicked")
+ }
+
+ Kirigami.Card {
+ actions: [
+ Kirigami.Action {
+ text: "Action1"
+ icon.name: "add-placemark"
+ },
+ Kirigami.Action {
+ text: "Action2"
+ icon.name: "address-book-new-symbolic"
+ }
+ ]
+ banner {
+ imageSource: "../banner.jpg"
+ title: "Card"
+ }
+ contentItem: Controls.Label {
+ wrapMode: Text.WordWrap
+ text: "This is an instance of the Card type: it can optionally have an image, a title and an icon assigned to its banner group property, one or all of the properties together. A Card can also have Actions that will appear in the footer."
+ }
+ }
+
+
+ Kirigami.Card {
+ actions: [
+ Kirigami.Action {
+ text: "Action1"
+ icon.name: "add-placemark"
+ },
+ Kirigami.Action {
+ text: "Action2"
+ icon.name: "address-book-new-symbolic"
+ },
+ Kirigami.Action {
+ text: "Action3"
+ icon.name: "add-placemark"
+ },
+ Kirigami.Action {
+ text: "Action4"
+ icon.name: "address-book-new-symbolic"
+ },
+ Kirigami.Action {
+ text: "Action5"
+ icon.name: "add-placemark"
+ },
+ Kirigami.Action {
+ text: "Action6"
+ icon.name: "address-book-new-symbolic"
+ }
+ ]
+ banner {
+ imageSource: "../banner.jpg"
+ title: "Title Alignment"
+ titleAlignment: Qt.AlignLeft | Qt.AlignBottom
+ }
+ contentItem: Controls.Label {
+ wrapMode: Text.WordWrap
+ text: "The title can be aligned to all corners or centered with a combination of Qt.Alignment flags.\n When there are too many actions, they go in an overflow menu."
+ }
+ }
+
+ Kirigami.Card {
+ actions: [
+ Kirigami.Action {
+ text: "Action1"
+ icon.name: "add-placemark"
+ },
+ Kirigami.Action {
+ text: "Action2"
+ icon.name: "address-book-new-symbolic"
+ },
+ Kirigami.Action {
+ text: "Action3"
+ icon.name: "add-placemark"
+ }
+ ]
+ banner {
+ iconSource: "applications-graphics"
+ title: "Title only"
+ }
+ contentItem: Controls.Label {
+ wrapMode: Text.WordWrap
+ text: "The Banner can contain only the title and/or an icon, even if there is no banner image."
+ }
+ }
+
+ Kirigami.Card {
+ banner.imageSource: "../banner.jpg"
+
+ header: Rectangle {
+ color: Qt.rgba(0,0,0,0.3)
+ implicitWidth: headerLayout.implicitWidth
+ implicitHeight: headerLayout.implicitHeight - avatarIcon.height/2
+ ColumnLayout {
+ id: headerLayout
+ anchors {
+ left: parent.left
+ right: parent.right
+ }
+ Controls.Label {
+ Layout.fillWidth: true
+ padding: Kirigami.Units.largeSpacing
+
+ color: "white"
+ wrapMode: Text.WordWrap
+ text: "It's possible to have custom contents overlapping the image, for cases where a more personalised design is needed."
+ }
+ Rectangle {
+ id: avatarIcon
+ color: "steelblue"
+ radius: width
+ Layout.alignment: Qt.AlignHCenter
+ Layout.preferredWidth: Kirigami.Units.iconSizes.huge
+ Layout.preferredHeight: Kirigami.Units.iconSizes.huge
+ }
+ }
+ }
+ contentItem: Controls.Label {
+ wrapMode: Text.WordWrap
+ topPadding: avatarIcon.height/2
+ text: "It's possible to customize the look and feel for Cards too, if the no padding behavior for headers is needed. This is usually discouraged in order to have greater consistency, but in some cases the design requires a more fancy layout, as shown in this example of a Card. If a custom header is used, the title and icon in the banner property shouldn't be used. If a custom footer is used (which is discouraged), actions shouldn't be used."
+ }
+ footer: RowLayout {
+ Controls.Label {
+ Layout.fillWidth: true
+ text: "Custom footer"
+ }
+ Controls.Button {
+ text: "Ok"
+ }
+ }
+ }
+
+ Kirigami.Card {
+ headerOrientation: Qt.Horizontal
+ actions: [
+ Kirigami.Action {
+ text: "Action1"
+ icon.name: "add-placemark"
+ },
+ Kirigami.Action {
+ text: "Action2"
+ icon.name: "address-book-new-symbolic"
+ }
+ ]
+ banner {
+ imageSource: "../banner.jpg"
+ title: "Title"
+ }
+ contentItem: Controls.Label {
+ wrapMode: Text.WordWrap
+ text: "A card can optionally have horizontal orientation.\n In this case will be wider than tall, so is fit to be used also in a ColumnLayout.\nIf you need to put it in a CardsLayout, it will have by default a columnSpan of 2 (which can be overridden)."
+ }
+ }
+ }
+ }
+}
diff --git a/examples/gallerydata/contents/ui/gallery/CardsListViewGallery.qml b/examples/gallerydata/contents/ui/gallery/CardsListViewGallery.qml
new file mode 100644
index 00000000..f03c4df8
--- /dev/null
+++ b/examples/gallerydata/contents/ui/gallery/CardsListViewGallery.qml
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtQuick.Controls 2.0 as Controls
+import QtQuick.Layouts 1.2
+import org.kde.kirigami 2.4 as Kirigami
+
+Kirigami.ScrollablePage {
+ id: page
+
+ title: "List view of simple cards"
+
+ actions.main: Kirigami.Action {
+ iconName: "documentinfo"
+ text: "Info"
+ checkable: true
+ onCheckedChanged: sheet.sheetOpen = checked;
+ shortcut: "Alt+I"
+ }
+
+ Kirigami.OverlaySheet {
+ id: sheet
+ onSheetOpenChanged: page.actions.main.checked = sheetOpen
+ header: RowLayout {
+ Kirigami.Heading {
+ Layout.fillWidth: true
+ text: "CardsGridView"
+ }
+ Controls.ToolButton {
+ text: "HIG..."
+ enabled: false
+ onClicked: Qt.openUrlExternally("")
+ }
+ Controls.ToolButton {
+ text: "Source code..."
+ onClicked: Qt.openUrlExternally("https://cgit.kde.org/kirigami.git/tree/examples/gallerydata/contents/ui/gallery/CardsListViewGallery.qml
+ ")
+ }
+ }
+
+ Controls.Label {
+ property int implicitWidth: Kirigami.Units.gridUnit * 25
+ wrapMode: Text.WordWrap
+ text: "The Kirigami types AbstractCard and Card are used to implement the popular Card pattern used on many mobile and web platforms that is used to display a collection of information or actions.\n Besides the Card components, Kirigami offers also 3 kinds of views and positioners to help to present cards with beautiful and responsive layouts.\n\nIn this page, CardsListView is used to do a list view of AbstractCard subclasses with a custom layout inside.\n CardsListView should be used only with cards which can look good at any horizontal size, so it is recommended to use directly AbstractCard with an appropriate layout inside, because they are stretching for the whole list width.\nTherefore is discouraged to use it with the Card type, unless it has Horizontal as headerOrientation.\n The choice between using this view with AbstractCard or a normal ListView with AbstractListItem/BasicListItem is purely a choice based on aestetics alone."
+ }
+ }
+
+ Kirigami.CardsListView {
+ model: 100
+
+ delegate: Kirigami.AbstractCard {
+
+ //NOTE: never put a Layout as contentItem as it will cause binding loops
+ //SEE: https://bugreports.qt.io/browse/QTBUG-66826
+ contentItem: Item {
+ implicitWidth: delegateLayout.implicitWidth
+ implicitHeight: delegateLayout.implicitHeight
+ GridLayout {
+ id: delegateLayout
+ anchors {
+ left: parent.left
+ top: parent.top
+ right: parent.right
+ //IMPORTANT: never put the bottom margin
+ }
+ rowSpacing: Kirigami.Units.largeSpacing
+ columnSpacing: Kirigami.Units.largeSpacing
+ columns: width > Kirigami.Units.gridUnit * 20 ? 4 : 2
+ Kirigami.Icon {
+ source: "applications-graphics"
+ Layout.fillHeight: true
+ Layout.maximumHeight: Kirigami.Units.iconSizes.huge
+ Layout.preferredWidth: height
+ }
+ ColumnLayout {
+ Kirigami.Heading {
+ level: 2
+ text: "Product "+ modelData
+ }
+ Kirigami.Separator {
+ Layout.fillWidth: true
+ }
+ Controls.Label {
+ Layout.fillWidth: true
+ wrapMode: Text.WordWrap
+ text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam id risus id augue euismod accumsan."
+ }
+ }
+ Controls.Button {
+ Layout.alignment: Qt.AlignRight|Qt.AlignVCenter
+ Layout.columnSpan: 2
+ text: "Install"
+ onClicked: showPassiveNotification("Install for Product " + modelData + " clicked");
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/kirigami.qrc b/kirigami.qrc
index dbdf5687..eca75ce4 100644
--- a/kirigami.qrc
+++ b/kirigami.qrc
@@ -1,62 +1,70 @@
src/controls/AbstractApplicationWindow.qml
src/controls/ContextDrawer.qml
src/controls/Action.qml
src/controls/Page.qml
src/controls/PageRow.qml
src/controls/AbstractListItem.qml
src/controls/Theme.qml
+ src/controls/AbstractCard.qml
+ src/controls/templates/AbstractCard.qml
+ src/controls/Card.qml
+ src/controls/CardsLayout.qml
+ src/controls/CardsListView.qml
+ src/controls/CardsGridView.qml
src/controls/ToolBarApplicationHeader.qml
src/controls/private/PrivateActionToolButton.qml
src/controls/private/RefreshableScrollView.qml
src/controls/private/SwipeItemEventFilter.qml
src/controls/private/PageActionPropertyGroup.qml
src/controls/private/ActionIconGroup.qml
src/controls/private/CornerShadow.qml
src/controls/private/ActionButton.qml
src/controls/private/DefaultListItemBackground.qml
+ src/controls/private/BannerImage.qml
+ src/controls/private/BannerGroup.qml
src/controls/private/EdgeShadow.qml
src/controls/Separator.qml
src/controls/OverlayDrawer.qml
src/controls/OverlaySheet.qml
src/controls/GlobalDrawer.qml
src/controls/templates/AbstractListItem.qml
src/controls/templates/private/MenuIcon.qml
src/controls/templates/private/PassiveNotification.qml
src/controls/templates/private/ContextIcon.qml
src/controls/templates/private/ScrollView.qml
src/controls/templates/private/BackButton.qml
src/controls/templates/private/ForwardButton.qml
src/controls/templates/OverlayDrawer.qml
src/controls/templates/OverlaySheet.qml
src/controls/templates/SwipeListItem.qml
src/controls/templates/ApplicationHeader.qml
src/controls/templates/AbstractApplicationHeader.qml
src/controls/Units.qml
src/controls/SwipeListItem.qml
src/controls/ApplicationWindow.qml
src/controls/AbstractApplicationItem.qml
src/controls/ApplicationItem.qml
src/controls/ApplicationHeader.qml
src/controls/Heading.qml
src/controls/ScrollablePage.qml
src/controls/Icon.qml
src/controls/Label.qml
src/controls/BasicListItem.qml
src/controls/AbstractApplicationHeader.qml
src/controls/FormLayout.qml
src/styles/Material/AbstractListItem.qml
src/styles/Material/Theme.qml
src/styles/Material/SwipeListItem.qml
src/styles/Material/Label.qml
src/styles/org.kde.desktop/AbstractListItem.qml
src/styles/org.kde.desktop/Theme.qml
src/styles/org.kde.desktop/OverlayDrawer.qml
src/styles/org.kde.desktop/Units.qml
src/styles/org.kde.desktop/SwipeListItem.qml
src/styles/org.kde.desktop/ApplicationWindow.qml
src/styles/org.kde.desktop/AbstractApplicationHeader.qml
src/controls/templates/FormLayout.qml
diff --git a/src/controls/AbstractCard.qml b/src/controls/AbstractCard.qml
new file mode 100644
index 00000000..9a2a6913
--- /dev/null
+++ b/src/controls/AbstractCard.qml
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtGraphicalEffects 1.0
+import org.kde.kirigami 2.3 as Kirigami
+import "templates" as T
+
+/**
+ * A AbstractCard is the base for cards. A Card is a visual object that serves
+ * as an entry point for more detailed information. An abstractCard is empty,
+ * providing just the look and the base properties and signals for an ItemDelegate.
+ * It can be filled with any custom layout of items, its content is organized
+ * in 3 properties: header, contentItem and footer.
+ * Use this only when you need particular custom contents, for a standard layout
+ * for cards, use the Card component.
+ *
+ * @see Card
+ * @inherits T.AbstractCard
+ * @since 2.4
+ */
+T.AbstractCard {
+ id: root
+
+ background: Rectangle {
+ color: Kirigami.Theme.backgroundColor
+ Rectangle {
+ anchors.fill: parent
+ color: Kirigami.Theme.highlightColor
+ opacity: {
+ if (root.showClickFeedback) {
+ return root.down ? 0.3 : (root.hovered ? 0.1 : 0);
+ } else {
+ return 0;
+ }
+ }
+ Behavior on opacity {
+ OpacityAnimator {
+ duration: Kirigami.Units.longDuration
+ easing.type: Easing.InOutQuad
+ }
+ }
+ }
+ layer.enabled: true
+ layer.effect: DropShadow {
+ horizontalOffset: 0
+ verticalOffset: 1
+ radius: 12
+ samples: 32
+ color: Qt.rgba(0, 0, 0, 0.5)
+ }
+ }
+}
diff --git a/src/controls/Card.qml b/src/controls/Card.qml
new file mode 100644
index 00000000..01502109
--- /dev/null
+++ b/src/controls/Card.qml
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtQuick.Layouts 1.2
+import QtQuick.Controls 2.0 as Controls
+import org.kde.kirigami 2.4 as Kirigami
+import "private"
+
+/**
+ * This is the standard layout of a Card.
+ * It is recomended to use this class when the concept of Cards is needed
+ * in the application.
+ * This Card has default items as header and footer. The header is an
+ * image that can contain an optional title and icon, accessible via the
+ * banner grouped property.
+ * The footer will show a series of toolbuttons (and eventual overflow menu)
+ * represewnting the actions list accessible with the list property actions.
+ * It is possible even tough is discouraged to override the footer:
+ * in this case the actions property shouldn't be used.
+ *
+ * @inherits AbstractCard
+ * @since 2.4
+ */
+Kirigami.AbstractCard {
+ id: root
+
+ /**
+ * actions: list
+ * if the card should provide clickable actions, put them in this property,
+ * they will be put in the footer as a list of ToolButtons plus an optional
+ * overflow menu, when not all of them will fit in the available Card width.
+ */
+ property list actions
+
+ /**
+ * banner: grouped
+ * Gropuped property to control the banner image present in the header, it
+ * has the following sub properties:
+ * * url imageSource: the source for the image, it understands any url
+ * valid for an Image component
+ * * string title: the title for the banner, shown as contrasting
+ * text over the image
+ * * Qt.Alignment titleAlignment: the alignment of the title inside the image,
+ * a combination of flags is supported
+ * (default: Qt.AlignTop | Qt.AlignLeft)
+ * * string iconSource: the optional icon to put in the banner:
+ * it can be either a freedesktop-compatible icon name (recommended)
+ * or any url supported by Image
+ * * Image.FillMode fillMode: see the fillMode property of the Image component (default: Image.PreserveAspectCrop)
+ */
+ readonly property alias banner: bannerGroup
+
+ header: BannerImage {
+ id: bannerImage
+ BannerGroup {
+ id: bannerGroup
+ }
+ anchors.leftMargin: -root.leftPadding
+ anchors.topMargin: -root.topPadding
+ anchors.rightMargin: root.headerOrientation == Qt.Vertical ? -root.rightPadding : 0
+ anchors.bottomMargin: root.headerOrientation == Qt.Horizontal ? -root.bottomPadding : 0
+ title: bannerGroup.title
+ source: bannerGroup.imageSource
+ titleAlignment: bannerGroup.titleAlignment
+ titleIcon: bannerGroup.iconSource
+ fillMode: bannerGroup.fillMode
+ height: Layout.preferredHeight
+
+ }
+
+ onHeaderChanged: {
+ if (!header) {
+ return;
+ }
+
+ header.anchors.leftMargin = Qt.binding(function() {return -root.leftPadding});
+ header.anchors.topMargin = Qt.binding(function() {return -root.topPadding});
+ header.anchors.rightMargin = Qt.binding(function() {return root.headerOrientation == Qt.Vertical ? -root.rightPadding : 0});
+ header.anchors.bottomMargin = Qt.binding(function() {return root.headerOrientation == Qt.Horizontal ? -root.bottomPadding : 0});
+ }
+
+ footer: RowLayout {
+ id: actionsLayout
+ spacing: Kirigami.Units.smallSpacing
+ property var overflowSet: []
+ visible: root.footer == actionsLayout
+
+ Repeater {
+ model: root.actions
+ delegate: PrivateActionToolButton {
+ id: actionDelegate
+ property bool fits: {
+ var minX = 0;
+ for (var i = 0; i < index; ++i) {
+ if (actionsLayout.children[i].visible) {
+ minX += actionsLayout.children[i].implicitWidth + actionsLayout.spacing;
+ }
+ }
+ return minX + implicitWidth < root.width - root.leftPadding - root.rightPadding - moreButton.width;
+ }
+ visible: modelData.visible && fits
+ Layout.fillWidth: true
+ Layout.minimumWidth: implicitWidth
+ kirigamiAction: modelData
+ onFitsChanged: updateOverflowSet()
+ function updateOverflowSet() {
+ var index = actionsLayout.overflowSet.findIndex(function(act){
+ return act == modelData});
+
+ if ((fits || !modelData.visible) && index > -1) {
+ actionsLayout.overflowSet.splice(index, 1);
+ } else if (!fits && modelData.visible && index == -1) {
+ actionsLayout.overflowSet.push(modelData);
+ }
+ actionsLayout.overflowSetChanged();
+ }
+ Connections {
+ target: modelData
+ onVisibleChanged: actionDelegate.updateOverflowSet();
+ }
+ Component.onCompleted: {
+ actionDelegate.updateOverflowSet();
+ }
+ }
+ }
+ Controls.ToolButton {
+ id: moreButton
+
+ Icon {
+ anchors.fill: parent
+ source: "overflow-menu"
+ anchors.margins: 4
+ }
+ Layout.alignment: Qt.AlignRight
+ //checkable: true
+ checked: menu.visible
+ visible: actionsLayout.overflowSet.length > 0;
+ onClicked: menu.visible ? menu.close() : menu.open()
+
+ Controls.Menu {
+ id: menu
+ y: -height
+ x: -width + moreButton.width
+
+ Repeater {
+ model: root.actions
+ delegate: BasicListItem {
+ text: modelData ? modelData.text : ""
+ icon: modelData.icon
+ checkable: modelData.checkable
+ checked: modelData.checked
+ onClicked: {
+ modelData.trigger();
+ menu.visible = false;
+ }
+ separatorVisible: false
+ backgroundColor: "transparent"
+ visible: actionsLayout.overflowSet.findIndex(function(act) {
+ return act == modelData}) > -1 && modelData.visible
+ enabled: modelData.enabled
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/controls/CardsGridView.qml b/src/controls/CardsGridView.qml
new file mode 100644
index 00000000..90f41f7e
--- /dev/null
+++ b/src/controls/CardsGridView.qml
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtQuick.Controls 2.0 as Controls
+import QtQuick.Layouts 1.2
+import org.kde.kirigami 2.3 as Kirigami
+
+/**
+ * CardsGridView is used to display a grid of Cards generated from any model.
+ * The behavior is same as CardsLayout, and it allowes cards to be put in one or two
+ * columns depending from the available width.
+ * GridView has the limitation that every Card must have the same exact height,
+ * so cellHeight must be manually set to a value in which the content fits
+ * for every item.
+ * If possible use cards only when you don't need to instantiate a lot
+ * and use CardsLayout intead.
+ * @inherits GridView
+ * @see CardsLayout
+ * @since 2.4
+ */
+GridView {
+ id: root
+
+ /**
+ * maximumColumnWidth: int
+ * The maximum width the columns may have. the cards will never
+ * get wider than this size, when the GridView is wider than
+ * maximumColumnWidth, it will switch from one to two columns.
+ * If the default needs to be overridden for some reason,
+ * it is advised to express this unit as a multiple
+ * of Kirigami.Units.gridUnit
+ */
+ property int maximumColumnWidth: Kirigami.Units.gridUnit * 20
+ cellWidth: width > maximumColumnWidth ? width/2 : width
+ cellHeight: Math.max(Kirigami.Units.gridUnit * 15, Math.min(cellWidth, maximumColumnWidth) / 1.2)
+
+ topMargin: Kirigami.Units.largeSpacing * 2
+}
diff --git a/src/controls/CardsLayout.qml b/src/controls/CardsLayout.qml
new file mode 100644
index 00000000..bb2c8980
--- /dev/null
+++ b/src/controls/CardsLayout.qml
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtQuick.Controls 2.0 as Controls
+import QtQuick.Layouts 1.2
+import org.kde.kirigami 2.4 as Kirigami
+
+/**
+ * A GridLayout optimized for showing one or two columns of cards,
+ * depending on the available space.
+ * It Should be used when the cards are not instantiated by a model or by a
+ * model which has always very few items (In the case of a big model
+ * CardsListView or CardsGridview should be used instead).
+ * They are presented as a grid of two columns which will remain
+ * centered if the application is really wide, or become a single
+ * column if there is not enough space for two columns,
+ * such as a mobile phone screen.
+ * A CardsLayout should always be contained within a ColumnLayout.
+ * @inherits GridLayout
+ * @since 2.4
+ */
+GridLayout {
+ /**
+ * maximumColumnWidth: int
+ * The maximum width the columns may have. the cards will never
+ * get wider than this size, when the GridLayout is wider than
+ * maximumColumnWidth, it will switch from one to two columns.
+ * If the default needs to be overridden for some reason,
+ * it is advised to express this unit as a multiple
+ * of Kirigami.Units.gridUnit
+ */
+ property int maximumColumnWidth: Kirigami.Units.gridUnit * 20
+
+ columns: width > maximumColumnWidth ? 2 : 1
+ rowSpacing: Kirigami.Units.largeSpacing * 2
+ columnSpacing: Kirigami.Units.largeSpacing * 2
+
+ Layout.preferredWidth: maximumColumnWidth * 2 + (columns > 1 ? Kirigami.Units.largeSpacing * 2 : 0)
+ Layout.maximumWidth: Layout.preferredWidth
+ Layout.alignment: Qt.AlignHCenter
+
+ Component.onCompleted: childrenChanged()
+ onChildrenChanged: {
+ for (var i = 0; i < children.length; ++i) {
+ children[i].Layout.fillHeight = true;
+ }
+ }
+}
diff --git a/src/controls/CardsListView.qml b/src/controls/CardsListView.qml
new file mode 100644
index 00000000..82c9e9eb
--- /dev/null
+++ b/src/controls/CardsListView.qml
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtQuick.Controls 2.0 as Controls
+import QtQuick.Layouts 1.2
+import org.kde.kirigami 2.3 as Kirigami
+
+/**
+ * CardsListView is a ListView which can have AbstractCard as its delegete: it will
+ * automatically assign the proper spacings and margins around the cards adhering
+ * to the design guidelines.
+ * CardsListView should be used only with cards which can look good at any
+ * horizontal size, so It is recommended to use directly AbstractCard with an
+ * appropriate layout inside, because they are stretching for the whole list width.
+ * Therefore is discouraged to use it with the Card type, unless it has
+ * Horizontal as headerOrientation.
+ * The choice between using this view with AbstractCard or a normal ListView
+ * with AbstractListItem/BasicListItem is purely a choice based on aestetics alone.
+ * It is discouraged to tweak the properties of this ListView.
+ * @inherits ListView
+ * @since 2.4
+ */
+ListView {
+ id: root
+ spacing: Kirigami.Units.largeSpacing * 2
+ topMargin: headerPositioning != ListView.InlineHeader ? spacing : 0
+
+ headerPositioning: ListView.OverlayHeader
+
+ onContentHeightChanged: {
+ var item = contentItem.children[0];
+ if (item && !item.hasOwnProperty("header") && !item.hasOwnProperty("_contentItem")) {
+ print("Warning: only AbstractCard items are supported in CardsListView")
+ }
+ }
+}
diff --git a/src/controls/GlobalDrawer.qml b/src/controls/GlobalDrawer.qml
index f9dbfe3a..40a1ba37 100644
--- a/src/controls/GlobalDrawer.qml
+++ b/src/controls/GlobalDrawer.qml
@@ -1,466 +1,405 @@
/*
* Copyright 2015 Marco Martin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T2
import QtQuick.Layouts 1.2
import QtGraphicalEffects 1.0
import org.kde.kirigami 2.3
import "private"
import "templates/private"
/**
* A drawer specialization intended for the global actions of the application
* valid regardless of the application state (think about the menubar
* of a desktop application).
*
* Example usage:
* @code
* import org.kde.kirigami 2.2 as Kirigami
*
* Kirigami.ApplicationWindow {
* [...]
* globalDrawer: Kirigami.GlobalDrawer {
* actions: [
* Kirigami.Action {
* text: "View"
* iconName: "view-list-icons"
* Kirigami.Action {
* text: "action 1"
* }
* Kirigami.Action {
* text: "action 2"
* }
* Kirigami.Action {
* text: "action 3"
* }
* },
* Kirigami.Action {
* text: "Sync"
* iconName: "folder-sync"
* }
* ]
* }
* [...]
* }
* @endcode
*
*/
OverlayDrawer {
id: root
edge: Qt.application.layoutDirection == Qt.RightToLeft ? Qt.RightEdge : Qt.LeftEdge
/**
* title: string
* A title to be displayed on top of the drawer
*/
- property alias title: heading.text
+ property alias title: bannerImage.title
/**
* icon: var
* An icon to be displayed alongside the title.
* It can be a QIcon, a fdo-compatible icon name, or any url understood by Image
*/
- property alias titleIcon: headingIcon.source
+ property alias titleIcon: bannerImage.titleIcon
/**
* bannerImageSource: string
* An image to be used as background for the title and icon for
* a decorative purpose.
* It accepts any url format supported by Image
*/
property alias bannerImageSource: bannerImage.source
/**
* actions: list
* The list of actions can be nested having a tree structure.
* A tree depth bigger than 2 is discouraged.
*
* Example usage:
* @code
* import org.kde.kirigami 2.2 as Kirigami
*
* Kirigami.ApplicationWindow {
* [...]
* globalDrawer: Kirigami.GlobalDrawer {
* actions: [
* Kirigami.Action {
* text: "View"
* iconName: "view-list-icons"
* Kirigami.Action {
* text: "action 1"
* }
* Kirigami.Action {
* text: "action 2"
* }
* Kirigami.Action {
* text: "action 3"
* }
* },
* Kirigami.Action {
* text: "Sync"
* iconName: "folder-sync"
* }
* ]
* }
* [...]
* }
* @endcode
*/
property list actions
/**
* content: list- default property
* Any random Item can be instantiated inside the drawer and
* will be displayed underneath the actions list.
*
* Example usage:
* @code
* import org.kde.kirigami 2.2 as Kirigami
*
* Kirigami.ApplicationWindow {
* [...]
* globalDrawer: Kirigami.GlobalDrawer {
* actions: [...]
* Button {
* text: "Button"
* onClicked: //do stuff
* }
* }
* [...]
* }
* @endcode
*/
default property alias content: mainContent.data
/**
* topContent: list
- default property
* Items that will be instantiated inside the drawer and
* will be displayed on top of the actions list.
*
* Example usage:
* @code
* import org.kde.kirigami 2.2 as Kirigami
*
* Kirigami.ApplicationWindow {
* [...]
* globalDrawer: Kirigami.GlobalDrawer {
* actions: [...]
* topContent: [Button {
* text: "Button"
* onClicked: //do stuff
* }]
* }
* [...]
* }
* @endcode
*/
property alias topContent: topContent.data
/**
* resetMenuOnTriggered: bool
*
* On the actions menu, whenever a leaf action is triggered, the menu
* will reset to its parent.
*/
property bool resetMenuOnTriggered: true
/**
* currentSubMenu: Action
*
* Points to the action acting as a submenu
*/
readonly property Action currentSubMenu: stackView.currentItem ? stackView.currentItem.current: null
/**
* Notifies that the banner has been clicked
*/
signal bannerClicked()
/**
* Reverts the menu back to its initial state
*/
function resetMenu() {
stackView.pop(stackView.get(0, T2.StackView.DontLoad));
if (root.modal) {
root.drawerOpen = false;
}
}
rightPadding: !Settings.isMobile && mainFlickable.contentHeight > mainFlickable.height ? Units.gridUnit : Units.smallSpacing
contentItem: ScrollView {
id: scrollView
//ensure the attached property exists
Theme.inherit: true
anchors.fill: parent
implicitWidth: Math.min (Units.gridUnit * 20, root.parent.width * 0.8)
horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff
Flickable {
id: mainFlickable
contentWidth: width
contentHeight: mainColumn.Layout.minimumHeight
ColumnLayout {
id: mainColumn
width: mainFlickable.width
spacing: 0
height: Math.max(root.height, Layout.minimumHeight)
- Image {
+ BannerImage {
id: bannerImage
Layout.fillWidth: true
- Layout.preferredWidth: title.implicitWidth
- Layout.preferredHeight: bannerImageSource != "" ? 10 * Units.gridUnit : Layout.minimumHeight
- Layout.minimumHeight: title.height > 0 ? title.height + Units.smallSpacing * 2 : 0
-
+ fillMode: Image.PreserveAspectCrop
MouseArea {
anchors.fill: parent
onClicked: root.bannerClicked()
}
-
- fillMode: Image.PreserveAspectCrop
- asynchronous: true
-
- anchors {
- left: parent.left
- right: parent.right
- top: parent.top
- }
-
EdgeShadow {
edge: Qt.BottomEdge
visible: bannerImageSource != ""
anchors {
left: parent.left
right: parent.right
bottom: parent.top
}
}
- LinearGradient {
- anchors {
- left: parent.left
- right: parent.right
- top: parent.top
- }
- visible: bannerImageSource != "" && root.title != ""
- height: title.height * 1.3
- start: Qt.point(0, 0)
- end: Qt.point(0, height)
- gradient: Gradient {
- GradientStop {
- position: 0.0
- color: Qt.rgba(0, 0, 0, 0.8)
- }
- GradientStop {
- position: 1.0
- color: "transparent"
- }
- }
- }
-
- RowLayout {
- id: title
- anchors {
- left: parent.left
- top: parent.top
- margins: Units.smallSpacing * 2
- }
- Icon {
- id: headingIcon
- Layout.minimumWidth: Units.iconSizes.large
- Layout.minimumHeight: width
- visible: valid
- isMask: false
- //TODO: find a better way to control selective coloring on Android
- enabled: !Settings.isMobile
- }
- Heading {
- id: heading
- Layout.fillWidth: true
- Layout.rightMargin: heading.height
- visible: text.length > 0
- level: 1
- color: bannerImageSource != "" ? "white" : Theme.textColor
- elide: Text.ElideRight
- }
- }
}
ColumnLayout {
id: topContent
spacing: 0
Layout.alignment: Qt.AlignHCenter
Layout.leftMargin: root.leftPadding
Layout.rightMargin: root.rightPadding
Layout.bottomMargin: Units.smallSpacing
Layout.topMargin: root.topPadding
Layout.fillWidth: true
Layout.fillHeight: true
//NOTE: why this? just Layout.fillWidth: true doesn't seem sufficient
//as items are added only after this column creation
Layout.minimumWidth: parent.width - root.leftPadding - root.rightPadding
visible: children.length > 0 && childrenRect.height > 0
}
T2.StackView {
id: stackView
Layout.fillWidth: true
Layout.minimumHeight: currentItem ? currentItem.implicitHeight : 0
Layout.maximumHeight: Layout.minimumHeight
initialItem: menuComponent
//NOTE: it's important those are NumberAnimation and not XAnimators
// as while the animation is running the drawer may close, and
//the animator would stop when not drawing see BUG 381576
popEnter: Transition {
NumberAnimation { property: "x"; from: (stackView.mirrored ? -1 : 1) * -stackView.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
}
popExit: Transition {
NumberAnimation { property: "x"; from: 0; to: (stackView.mirrored ? -1 : 1) * stackView.width; duration: 400; easing.type: Easing.OutCubic }
}
pushEnter: Transition {
NumberAnimation { property: "x"; from: (stackView.mirrored ? -1 : 1) * stackView.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
}
pushExit: Transition {
NumberAnimation { property: "x"; from: 0; to: (stackView.mirrored ? -1 : 1) * -stackView.width; duration: 400; easing.type: Easing.OutCubic }
}
replaceEnter: Transition {
NumberAnimation { property: "x"; from: (stackView.mirrored ? -1 : 1) * stackView.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
}
replaceExit: Transition {
NumberAnimation { property: "x"; from: 0; to: (stackView.mirrored ? -1 : 1) * -stackView.width; duration: 400; easing.type: Easing.OutCubic }
}
}
Item {
Layout.fillWidth: true
Layout.fillHeight: root.actions.length>0
Layout.minimumHeight: Units.smallSpacing
}
ColumnLayout {
id: mainContent
Layout.alignment: Qt.AlignHCenter
Layout.leftMargin: root.leftPadding
Layout.rightMargin: root.rightPadding
Layout.fillWidth: true
Layout.fillHeight: true
//NOTE: why this? just Layout.fillWidth: true doesn't seem sufficient
//as items are added only after this column creation
Layout.minimumWidth: parent.width - root.leftPadding - root.rightPadding
visible: children.length > 0
}
Item {
Layout.minimumWidth: Units.smallSpacing
Layout.minimumHeight: root.bottomPadding
}
Component {
id: menuComponent
ColumnLayout {
spacing: 0
property alias model: actionsRepeater.model
property Action current
property int level: 0
Layout.maximumHeight: Layout.minimumHeight
BasicListItem {
id: backItem
visible: level > 0
supportsMouseEvents: true
icon: (LayoutMirroring.enabled ? "go-previous-symbolic-rtl" : "go-previous-symbolic")
label: MnemonicData.richTextLabel
MnemonicData.enabled: backItem.enabled && backItem.visible
MnemonicData.controlType: MnemonicData.MenuItem
MnemonicData.label: qsTr("Back")
separatorVisible: false
onClicked: stackView.pop()
}
Shortcut {
sequence: backItem.MnemonicData.sequence
onActivated: backItem.clicked()
}
Repeater {
id: actionsRepeater
model: actions
delegate: BasicListItem {
id: listItem
supportsMouseEvents: true
checked: modelData.checked
icon: modelData.iconName
label: MnemonicData.richTextLabel
MnemonicData.enabled: listItem.enabled && listItem.visible
MnemonicData.controlType: MnemonicData.MenuItem
MnemonicData.label: modelData.text
separatorVisible: false
visible: model ? model.visible || model.visible===undefined : modelData.visible
enabled: model ? model.enabled : modelData.enabled
opacity: enabled ? 1.0 : 0.3
Icon {
Shortcut {
sequence: listItem.MnemonicData.sequence
onActivated: listItem.clicked()
}
isMask: true
anchors {
verticalCenter: contentItem.verticalCenter
right: contentItem.right
rightMargin: !Settings.isMobile && mainFlickable.contentHeight > mainFlickable.height ? Units.gridUnit : 0
}
height: Units.iconSizes.smallMedium
selected: listItem.checked || listItem.pressed
width: height
source: (LayoutMirroring.enabled ? "go-next-symbolic-rtl" : "go-next-symbolic")
visible: modelData.children!==undefined && modelData.children.length > 0
}
onClicked: {
modelData.trigger();
if (modelData.children!==undefined && modelData.children.length > 0) {
stackView.push(menuComponent, {model: modelData.children, level: level + 1, current: modelData });
} else if (root.resetMenuOnTriggered) {
root.resetMenu();
}
checked = Qt.binding(function() { return modelData.checked });
}
}
}
}
}
}
}
}
}
diff --git a/src/controls/Heading.qml b/src/controls/Heading.qml
index 8bfbb4a5..63637558 100644
--- a/src/controls/Heading.qml
+++ b/src/controls/Heading.qml
@@ -1,83 +1,82 @@
/*
* Copyright 2012 by Sebastian Kügler
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
*/
import QtQuick 2.0
import QtQuick.Controls 2.0 as QQC2
import org.kde.kirigami 2.2
/**
* A heading label used for subsections of texts.
*
* The characteristics of the text will be automatically set according to the
* plasma Theme. Use this components for section titles or headings in your UI,
* for example page or section titles.
*
* Example usage:
*
* @code
* import org.kde.kirigami 2.2 as Kirigami
* [...]
* Column {
* Kirigami.Heading {
* text: "Apples in the sunlight"
* level: 2
* }
* [...]
* }
* @endcode
*
* The most important property is "text", which applies to the text property of
* Label. See PlasmaComponents Label and primitive QML Text element API for
* additional properties, methods and signals.
* @inherits QtQuick.Controls.Label
*/
QQC2.Label {
id: heading
/**
* level: int
* The level determines how big the section header is display, values
* between 1 (big) and 5 (small) are accepted
*/
property int level: 1
/**
* step: int
* adjust the point size in between a level and another.
*/
property int step: 2
- lineHeight: 1.2
font.pointSize: headerPointSize(level)
font.weight: level <= 4 ? Font.Light : Font.Normal
wrapMode: Text.WordWrap
function headerPointSize(l) {
var n = Theme.defaultFont.pointSize;
var s;
if (l > 4) {
s = n
} else if (l < 2) {
s = n + (5*step)
} else {
s = n + ((5-level)*2)
}
return s;
}
}
diff --git a/src/controls/Page.qml b/src/controls/Page.qml
index ce394948..08df4328 100644
--- a/src/controls/Page.qml
+++ b/src/controls/Page.qml
@@ -1,269 +1,267 @@
/*
* Copyright 2015 Marco Martin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.1
import QtQuick.Layouts 1.2
import org.kde.kirigami 2.2 as Kirigami
import "private"
import QtQuick.Templates 2.0 as T2
/**
* Page is a container for all the app pages: everything pushed to the
* ApplicationWindow stackView should be a Page instabnce (or a subclass,
* such as ScrollablePage)
* @see ScrollablePage
* @inherit QtQuick.Templates.Page
*/
T2.Page {
id: root
/**
* leftPadding: int
* default contents padding at left
*/
leftPadding: Kirigami.Units.gridUnit
/**
* topPadding: int
* default contents padding at top
*/
topPadding: Kirigami.Units.gridUnit
/**
* rightPadding: int
* default contents padding at right
*/
rightPadding: Kirigami.Units.gridUnit
/**
* bottomPadding: int
* default contents padding at bottom
*/
bottomPadding: actionButtons.item ? actionButtons.height : Kirigami.Units.gridUnit
/**
* flickable: Flickable
* if the central element of the page is a Flickable
* (ListView and Gridview as well) you can set it there.
* normally, you wouldn't need to do that, but just use the
* ScrollablePage element instead
* @see ScrollablePage
* Use this if your flickable has some non standard properties, such as not covering the whole Page
*/
property Flickable flickable
/**
* actions.contextualActions: list
* Defines the contextual actions for the page:
* an easy way to assign actions in the right sliding panel
*
* Example usage:
* @code
* import org.kde.kirigami 2.2 as Kirigami
*
* Kirigami.ApplicationWindow {
* [...]
* contextDrawer: Kirigami.ContextDrawer {
* id: contextDrawer
* }
* [...]
* }
* @endcode
*
* @code
* import org.kde.kirigami 2.2 as Kirigami
*
* Kirigami.Page {
* [...]
* actions.contextualActions: [
* Kirigami.Action {
* iconName: "edit"
* text: "Action text"
* onTriggered: {
* // do stuff
* }
* },
* Kirigami.Action {
* iconName: "edit"
* text: "Action text"
* onTriggered: {
* // do stuff
* }
* }
* ]
* [...]
* }
* @endcode
*/
//TODO: remove
property alias contextualActions: actionsGroup.contextualActions
/**
* actions.main: Action
* An optional single action for the action button.
* it can be a Kirigami.Action or a QAction
*
* Example usage:
*
* @code
* import org.kde.kirigami 2.2 as Kirigami
* Kirigami.Page {
* actions.main: Kirigami.Action {
* iconName: "edit"
* onTriggered: {
* // do stuff
* }
* }
* }
* @endcode
*/
//TODO: remove
property alias mainAction: actionsGroup.main
/**
* actions.left: Action
* An optional extra action at the left of the main action button.
* it can be a Kirigami.Action or a QAction
*
* Example usage:
*
* @code
* import org.kde.kirigami 2.2 as Kirigami
* Kirigami.Page {
* actions.left: Kirigami.Action {
* iconName: "edit"
* onTriggered: {
* // do stuff
* }
* }
* }
* @endcode
*/
//TODO: remove
property alias leftAction: actionsGroup.left
/**
* actions.right: Action
* An optional extra action at the right of the main action button.
* it can be a Kirigami.Action or a QAction
*
* Example usage:
*
* @code
* import org.kde.kirigami 2.2 as Kirigami
* Kirigami.Page {
* actions.right: Kirigami.Action {
* iconName: "edit"
* onTriggered: {
* // do stuff
* }
* }
* }
* @endcode
*/
//TODO: remove
property alias rightAction: actionsGroup.right
/**
* Actions properties are grouped.
*
* @code
* import org.kde.kirigami 2.2 as Kirigami
* Kirigami.Page {
* actions {
* main: Kirigami.Action {...}
* left: Kirigami.Action {...}
* right: Kirigami.Action {...}
* contextualActions: [
* Kirigami.Action {...},
* Kirigami.Action {...}
* ]
* }
* }
* @endcode
*/
readonly property alias actions: actionsGroup
/**
* isCurrentPage: bool
*
* Specifies if it's the currently selected page in the window's pages row.
*
* @since 2.1
*/
readonly property bool isCurrentPage: applicationWindow().pageStack.layers.depth > 1
? applicationWindow().pageStack.layers.currentItem == root
: applicationWindow().pageStack.currentItem == root
PageActionPropertyGroup {
id: actionsGroup
}
/**
* emitted When the application requests a Back action
* For instance a global "back" shortcut or the Android
* Back button has been pressed.
* The page can manage the back event by itself,
* and if it set event.accepted = true, it will stop the main
* application to manage the back event.
*/
signal backRequested(var event);
- anchors.topMargin: (applicationWindow() && !applicationWindow().wideScreen && Kirigami.Settings.isMobile && applicationWindow().controlsVisible && applicationWindow().header ? applicationWindow().header.preferredHeight : 0)
-
//NOTE: This exists just because control instances require it
contentItem: Item {
onChildrenChanged: {
//NOTE: make sure OverlaySheets are directly under the root
//so they are over all the contents and don't have margins
//search for an OverlaySheet, unfortunately have to blind test properties
//as there is no way to get the classname from qml objects
//TODO: OverlaySheets should be Popup instead?
for (var i = children.length -1; i >= 0; --i) {
var child = children[i];
if (child.toString().indexOf("OverlaySheet") === 0 ||
(child.sheetOpen !== undefined && child.open !== undefined && child.close !== undefined)) {
child.parent = root;
child.z = 9997
}
}
}
}
//on material the shadow would bleed over
clip: header !== undefined
Loader {
id: actionButtons
z: 9999
parent: root
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
}
//It should be T2.Page, Qt 5.7 doesn't like it
property Item page: root
height: item ? item.height : 0
source: (applicationWindow().header && applicationWindow().header.toString().indexOf("ToolBarApplicationHeader") === 0) ||
(applicationWindow().footer && applicationWindow().footer.visible && applicationWindow().footer.toString().indexOf("ToolBarApplicationHeader") === 0)
? "" : Qt.resolvedUrl("./private/ActionButton.qml")
}
Layout.fillWidth: true
}
diff --git a/src/controls/ScrollablePage.qml b/src/controls/ScrollablePage.qml
index d980eeaf..2262ad27 100644
--- a/src/controls/ScrollablePage.qml
+++ b/src/controls/ScrollablePage.qml
@@ -1,164 +1,164 @@
/*
* Copyright 2015 Marco Martin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.1
import QtQuick.Layouts 1.2
import org.kde.kirigami 2.2
import "private"
/**
* ScrollablePage is a container for all the app pages: everything pushed to the
* ApplicationWindow stackView should be a Page or ScrollablePage instabnce.
* This Page subclass is for content that has to be scrolled around, such as
* bigger content than the screen that would normally go in a Flickable
* or a ListView.
* Scrolling and scrolling indicators will be automatically managed
*
*
* @code
* ScrollablePage {
* id: root
* //The rectangle will automatically bescrollable
* Rectangle {
* width: root.width
* height: 99999
* }
* }
* @endcode
*
* @code
* ScrollablePage {
* id: root
*
* //support for the popular "pull down to refresh" behavior in mobile apps
* supportsRefreshing: true
*
* //The ListView will automatically receive proper scroll indicators
* ListView {
* model: myModel
* delegate: BasicListItem { ... }
* }
* }
* @endcode
*
*/
Page {
id: root
/**
* refreshing: bool
* If true the list is asking for refresh and will show a loading spinner.
* it will automatically be set to true when the user pulls down enough the list.
* This signals the application logic to start its refresh procedure.
* The application itself will have to set back this property to false when done.
*/
property alias refreshing: scrollView.refreshing
/**
* supportsRefreshing: bool
* If true the list supports the "pull down to refresh" behavior.
* default is false.
*/
property alias supportsRefreshing: scrollView.supportsRefreshing
/**
* flickable: Flickable
* The main Flickable item of this page
*/
property alias flickable: scrollView.flickableItem
/**
* verticalScrollBarPolicy: Qt.ScrollBarPolicy
* The vertical scrollbar policy
*/
property alias verticalScrollBarPolicy: scrollView.verticalScrollBarPolicy
/**
* horizontalScrollBarPolicy: Qt.ScrollBarPolicy
* The horizontal scrollbar policy
*/
property alias horizontalScrollBarPolicy: scrollView.horizontalScrollBarPolicy
/**
* The main content Item of this page.
* In the case of a ListView or GridView, both contentItem and flickable
* will be a pointer to the ListView (or GridView)
* NOTE: can't be contentItem as Page's contentItem is final
*/
default property QtObject mainItem
/**
* keyboardNavigationEnabled: bool
* If true, and if flickable is an item view, like a ListView or
* a GridView, it will be possible to navigate the list current item
* to next and previous items with keyboard up/down arrow buttons.
* Also, any key event will be forwarded to the current list item.
* default is true.
*/
property bool keyboardNavigationEnabled: true
Theme.colorSet: flickable && flickable.hasOwnProperty("model") ? Theme.View : Theme.Window
RefreshableScrollView {
id: scrollView
z: 0
//child of root as it shouldn't have margins
parent: root
page: root
- topPadding: (applicationWindow() && applicationWindow().header ? applicationWindow().header.preferredHeight : 0) + (contentItem == flickableItem ? 0 : root.topPadding)
+ topPadding: contentItem == flickableItem ? 0 : root.topPadding
leftPadding: root.leftPadding
rightPadding: root.rightPadding
bottomPadding: contentItem == flickableItem ? 0 : root.bottomPadding
anchors {
fill: parent
topMargin: root.header ? root.header.height : 0
bottomMargin: root.footer ? root.footer.height : 0
}
}
anchors.topMargin: 0
Keys.forwardTo: root.keyboardNavigationEnabled && root.flickable
? (("currentItem" in root.flickable) && root.flickable.currentItem ?
[ root.flickable.currentItem, root.flickable ] : [ root.flickable ])
: []
Item {
id: overlay
parent: root
z: 9998
anchors.fill: parent
property QtObject oldMainItem
}
//HACK to get the mainItem as the last one, all the other eventual items as an overlay
//no idea if is the way the user expects
onMainItemChanged: {
if (mainItem.hasOwnProperty("anchors")) {
scrollView.contentItem = mainItem
//don't try to reparent drawers
} else if (mainItem.hasOwnProperty("dragMargin")) {
return;
}
if (overlay.oldMainItem && overlay.oldMainItem.hasOwnProperty("parent") && overlay.oldMainItem.parent != applicationWindow().overlay) {
overlay.oldMainItem.parent = overlay
}
overlay.oldMainItem = mainItem
}
}
diff --git a/src/controls/Units.qml b/src/controls/Units.qml
index 8ca6eae0..0dea5cda 100644
--- a/src/controls/Units.qml
+++ b/src/controls/Units.qml
@@ -1,121 +1,121 @@
/*
* Copyright 2015 Marco Martin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.4
import QtQuick.Window 2.2
import org.kde.kirigami 2.2
pragma Singleton
/**
* A set of values to define semantically sizes and durations
* @inherit QtQuick.QtObject
*/
QtObject {
id: units
/**
* The fundamental unit of space that should be used for sizes, expressed in pixels.
* Given the screen has an accurate DPI settings, it corresponds to a width of
* the capital letter M
*/
property int gridUnit: fontMetrics.height
/**
* units.iconSizes provides access to platform-dependent icon sizing
*
* The icon sizes provided are normalized for different DPI, so icons
* will scale depending on the DPI.
*
* Icon sizes from KIconLoader, adjusted to devicePixelRatio:
* * small
* * smallMedium
* * medium
* * large
* * huge
* * enormous
*
* Not devicePixelRation-adjusted::
* * desktop
*/
property QtObject iconSizes: QtObject {
property int small: 16 * devicePixelRatio * (Settings.isMobile ? 1.5 : 1)
property int smallMedium: 22 * devicePixelRatio * (Settings.isMobile ? 1.5 : 1)
property int medium: 32 * devicePixelRatio * (Settings.isMobile ? 1.5 : 1)
property int large: 48 * devicePixelRatio * (Settings.isMobile ? 1.5 : 1)
property int huge: 64 * devicePixelRatio * (Settings.isMobile ? 1.5 : 1)
property int enormous: 128 * devicePixelRatio * (Settings.isMobile ? 1.5 : 1)
}
/**
* units.smallSpacing is the amount of spacing that should be used around smaller UI elements,
* for example as spacing in Columns. Internally, this size depends on the size of
* the default font as rendered on the screen, so it takes user-configured font size and DPI
* into account.
*/
property int smallSpacing: Math.floor(gridUnit/4)
/**
* units.largeSpacing is the amount of spacing that should be used inside bigger UI elements,
* for example between an icon and the corresponding text. Internally, this size depends on
* the size of the default font as rendered on the screen, so it takes user-configured font
* size and DPI into account.
*/
- property int largeSpacing: gridUnit
+ property int largeSpacing: Math.floor(gridUnit/2)
/**
* The ratio between physical and device-independent pixels. This value does not depend on the \
* size of the configured font. If you want to take font sizes into account when scaling elements,
* use theme.mSize(theme.defaultFont), units.smallSpacing and units.largeSpacing.
* The devicePixelRatio follows the definition of "device independent pixel" by Microsoft.
*/
property real devicePixelRatio: Math.max(1, (fontMetrics.font.pixelSize / fontMetrics.font.pointSize))
/**
* units.longDuration should be used for longer, screen-covering animations, for opening and
* closing of dialogs and other "not too small" animations
*/
property int longDuration: 250
/**
* units.shortDuration should be used for short animations, such as accentuating a UI event,
* hover events, etc..
*/
property int shortDuration: 150
/**
* time in ms by which the display of tooltips will be delayed.
*
* @sa ToolTip.delay property
*/
property int toolTipDelay: 700
/**
* How much the mouse scroll wheel scrolls, expressed in lines of text.
* Note: this is strictly for classical mouse wheels, touchpads 2 figer scrolling won't be affected
*/
readonly property int wheelScrollLines: 3
/**
* metrics used by the default font
*/
property variant fontMetrics: TextMetrics {
text: "M"
}
}
diff --git a/src/controls/plugins.qmltypes b/src/controls/plugins.qmltypes
index 94de7d5f..8a2dfee0 100644
--- a/src/controls/plugins.qmltypes
+++ b/src/controls/plugins.qmltypes
@@ -1,1598 +1,4443 @@
import QtQuick.tooling 1.2
// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
-// 'qmlplugindump -noinstantiate -notrelocatable org.kde.kirigami 2.0 /opt/kde5/qml'
+// 'qmlplugindump -output plugins2.qmltypes -qapp -noinstantiate org.kde.kirigami 2.4'
Module {
dependencies: [
"QtGraphicalEffects 1.0",
"QtQml 2.1",
"QtQml.Models 2.2",
"QtQuick 2.9",
- "QtQuick.Controls 2.2",
- "QtQuick.Controls.Material 2.1",
- "QtQuick.Controls.Material.impl 2.1",
+ "QtQuick.Controls 2.3",
+ "QtQuick.Controls.Fusion 2.3",
+ "QtQuick.Controls.Fusion.impl 2.3",
+ "QtQuick.Controls.Imagine 2.3",
+ "QtQuick.Controls.Imagine.impl 2.3",
+ "QtQuick.Controls.Material 2.3",
+ "QtQuick.Controls.Material.impl 2.3",
"QtQuick.Controls.Styles 1.4",
"QtQuick.Controls.Styles.Plasma 2.0",
- "QtQuick.Controls.Universal 2.2",
- "QtQuick.Controls.Universal.impl 2.2",
- "QtQuick.Controls.impl 2.2",
+ "QtQuick.Controls.Universal 2.3",
+ "QtQuick.Controls.Universal.impl 2.3",
+ "QtQuick.Controls.impl 2.3",
"QtQuick.Extras 1.4",
- "QtQuick.Extras.Private.CppUtils 1.1",
"QtQuick.Layouts 1.2",
- "QtQuick.Templates 2.2",
+ "QtQuick.Templates 2.3",
"QtQuick.Window 2.3",
"org.kde.kconfig 1.0",
"org.kde.kquickcontrolsaddons 2.0",
"org.kde.plasma.components 2.0",
"org.kde.plasma.core 2.0",
"org.kde.plasma.extras 2.0"
]
Component {
name: "ApplicationHeaderStyle"
prototype: "QObject"
- exports: ["org.kde.kirigami/ApplicationHeaderStyle 2.0"]
+ exports: ["ApplicationHeaderStyle 2.0"]
isCreatable: false
exportMetaObjectRevisions: [0]
Enum {
name: "Status"
values: {
"Auto": 0,
"Breadcrumb": 1,
"Titles": 2,
"TabBar": 3
}
}
}
Component {
name: "DesktopIcon"
defaultProperty: "data"
prototype: "QQuickItem"
- exports: ["org.kde.kirigami/Icon 2.0"]
+ exports: ["Icon 2.0"]
exportMetaObjectRevisions: [0]
Property { name: "source"; type: "QVariant" }
Property { name: "smooth"; type: "bool" }
Property { name: "implicitWidth"; type: "int"; isReadonly: true }
Property { name: "implicitHeight"; type: "int"; isReadonly: true }
Property { name: "enabled"; type: "bool" }
Property { name: "active"; type: "bool" }
Property { name: "valid"; type: "bool"; isReadonly: true }
Property { name: "selected"; type: "bool" }
+ Property { name: "isMask"; type: "bool" }
+ Property { name: "color"; type: "QColor" }
}
Component {
- name: "Settings"
+ name: "FormLayoutAttached"
prototype: "QObject"
- exports: ["org.kde.kirigami/Settings 2.0"]
+ exports: ["FormData 2.3"]
isCreatable: false
- isSingleton: true
exportMetaObjectRevisions: [0]
- Property { name: "isMobile"; type: "bool"; isReadonly: true }
- Property { name: "style"; type: "string"; isReadonly: true }
+ Property { name: "label"; type: "string" }
+ Property { name: "isSection"; type: "bool" }
+ Property { name: "buddyFor"; type: "QQuickItem"; isReadonly: true; isPointer: true }
}
Component {
- prototype: "QQuickItem"
- name: "org.kde.kirigami/AbstractApplicationHeader 2.0"
- exports: ["org.kde.kirigami/AbstractApplicationHeader 2.0"]
+ name: "Kirigami::PlatformTheme"
+ prototype: "QObject"
+ exports: ["Theme 2.2"]
+ isCreatable: false
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentItem"
- Property { name: "minimumHeight"; type: "int" }
- Property { name: "preferredHeight"; type: "int" }
- Property { name: "maximumHeight"; type: "int" }
- Property { name: "paintedHeight"; type: "int"; isReadonly: true }
- Property { name: "__appWindow"; type: "QObject"; isPointer: true }
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "contentItem"; type: "QObject"; isList: true; isReadonly: true }
- }
- Component {
- prototype: "QQuickItem"
- name: "org.kde.kirigami/AbstractApplicationItem 2.1"
- exports: ["org.kde.kirigami/AbstractApplicationItem 2.1"]
- exportMetaObjectRevisions: [1]
- isComposite: true
- defaultProperty: "__data"
- Property { name: "pageStack"; type: "QQuickItem"; isPointer: true }
- Property { name: "activeFocusItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "header"; type: "QQuickItem"; isPointer: true }
- Property { name: "footer"; type: "QQuickItem"; isPointer: true }
- Property { name: "controlsVisible"; type: "bool" }
- Property { name: "globalDrawer"; type: "OverlayDrawer_QMLTYPE_8"; isPointer: true }
- Property { name: "wideScreen"; type: "bool" }
- Property { name: "contextDrawer"; type: "OverlayDrawer_QMLTYPE_8"; isPointer: true }
- Property { name: "reachableMode"; type: "bool" }
- Property { name: "reachableModeEnabled"; type: "bool" }
- Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "overlay"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "__data"; type: "QObject"; isList: true; isReadonly: true }
+ Enum {
+ name: "ColorSet"
+ values: {
+ "View": 0,
+ "Window": 1,
+ "Button": 2,
+ "Selection": 3,
+ "Tooltip": 4,
+ "Complementary": 5
+ }
+ }
+ Enum {
+ name: "ColorGroup"
+ values: {
+ "Disabled": 1,
+ "Active": 0,
+ "Inactive": 2,
+ "Normal": 0
+ }
+ }
+ Property { name: "colorSet"; type: "ColorSet" }
+ Property { name: "colorGroup"; type: "ColorGroup" }
+ Property { name: "inherit"; type: "bool" }
+ Property { name: "textColor"; type: "QColor"; isReadonly: true }
+ Property { name: "disabledTextColor"; type: "QColor"; isReadonly: true }
+ Property { name: "highlightedTextColor"; type: "QColor"; isReadonly: true }
+ Property { name: "activeTextColor"; type: "QColor"; isReadonly: true }
+ Property { name: "linkColor"; type: "QColor"; isReadonly: true }
+ Property { name: "visitedLinkColor"; type: "QColor"; isReadonly: true }
+ Property { name: "negativeTextColor"; type: "QColor"; isReadonly: true }
+ Property { name: "neutralTextColor"; type: "QColor"; isReadonly: true }
+ Property { name: "positiveTextColor"; type: "QColor"; isReadonly: true }
+ Property { name: "backgroundColor"; type: "QColor"; isReadonly: true }
+ Property { name: "highlightColor"; type: "QColor"; isReadonly: true }
+ Property { name: "focusColor"; type: "QColor"; isReadonly: true }
+ Property { name: "hoverColor"; type: "QColor"; isReadonly: true }
+ Property { name: "defaultFont"; type: "QFont"; isReadonly: true }
+ Property { name: "palette"; type: "QPalette"; isReadonly: true }
+ Signal { name: "colorsChanged" }
+ Signal {
+ name: "defaultFontChanged"
+ Parameter { name: "font"; type: "QFont" }
+ }
+ Signal {
+ name: "colorSetChanged"
+ Parameter { name: "colorSet"; type: "Kirigami::PlatformTheme::ColorSet" }
+ }
+ Signal {
+ name: "colorGroupChanged"
+ Parameter { name: "colorGroup"; type: "Kirigami::PlatformTheme::ColorGroup" }
+ }
+ Signal {
+ name: "paletteChanged"
+ Parameter { name: "pal"; type: "QPalette" }
+ }
+ Signal {
+ name: "inheritChanged"
+ Parameter { name: "inherit"; type: "bool" }
+ }
Method {
- name: "showPassiveNotification"
- type: "QVariant"
- Parameter { name: "message"; type: "QVariant" }
- Parameter { name: "timeout"; type: "QVariant" }
- Parameter { name: "actionText"; type: "QVariant" }
- Parameter { name: "callBack"; type: "QVariant" }
+ name: "iconFromTheme"
+ type: "QIcon"
+ Parameter { name: "name"; type: "string" }
+ Parameter { name: "customColor"; type: "QColor" }
}
- Method { name: "hidePassiveNotification"; type: "QVariant" }
- Method { name: "applicationWindow"; type: "QVariant" }
- }
- Component {
- prototype: "QQuickApplicationWindow"
- name: "org.kde.kirigami/AbstractApplicationWindow 2.0"
- exports: ["org.kde.kirigami/AbstractApplicationWindow 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- Property { name: "pageStack"; type: "QQuickItem"; isPointer: true }
- Property { name: "controlsVisible"; type: "bool" }
- Property { name: "globalDrawer"; type: "OverlayDrawer_QMLTYPE_8"; isPointer: true }
- Property { name: "wideScreen"; type: "bool" }
- Property { name: "contextDrawer"; type: "OverlayDrawer_QMLTYPE_8"; isPointer: true }
- Property { name: "reachableMode"; type: "bool" }
- Property { name: "reachableModeEnabled"; type: "bool" }
Method {
- name: "showPassiveNotification"
- type: "QVariant"
- Parameter { name: "message"; type: "QVariant" }
- Parameter { name: "timeout"; type: "QVariant" }
- Parameter { name: "actionText"; type: "QVariant" }
- Parameter { name: "callBack"; type: "QVariant" }
+ name: "iconFromTheme"
+ type: "QIcon"
+ Parameter { name: "name"; type: "string" }
}
- Method { name: "hidePassiveNotification"; type: "QVariant" }
- Method { name: "applicationWindow"; type: "QVariant" }
}
Component {
- prototype: "QQuickAbstractButton"
- name: "QtQuick.Controls/AbstractButton 2.0"
- exports: ["QtQuick.Controls/AbstractButton 2.0"]
+ name: "MnemonicAttached"
+ prototype: "QObject"
+ exports: ["MnemonicData 2.3"]
+ isCreatable: false
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
+ Enum {
+ name: "ControlType"
+ values: {
+ "ActionElement": 0,
+ "DialogButton": 1,
+ "MenuItem": 2,
+ "FormLabel": 3,
+ "SecondaryControl": 4
+ }
+ }
+ Property { name: "label"; type: "string" }
+ Property { name: "richTextLabel"; type: "string"; isReadonly: true }
+ Property { name: "mnemonicLabel"; type: "string"; isReadonly: true }
+ Property { name: "enabled"; type: "bool" }
+ Property { name: "controlType"; type: "MnemonicAttached::ControlType" }
+ Property { name: "sequence"; type: "QKeySequence"; isReadonly: true }
}
Component {
- prototype: "QQuickControl"
- name: "org.kde.kirigami/AbstractItemViewHeader 2.1"
- exports: ["org.kde.kirigami/AbstractItemViewHeader 2.1"]
- exportMetaObjectRevisions: [1]
- isComposite: true
+ name: "QQuickAbstractStyle1"
defaultProperty: "data"
- Property { name: "minimumHeight"; type: "int" }
- Property { name: "maximumHeight"; type: "int" }
- Property { name: "view"; type: "QQuickListView"; isPointer: true }
- }
- Component {
- prototype: "QQuickItemDelegate"
- name: "org.kde.kirigami/AbstractListItem 2.0"
- exports: ["org.kde.kirigami/AbstractListItem 2.0"]
+ prototype: "QObject"
+ exports: ["QtQuick.Controls.Private/AbstractStyle 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "_default"
- Property { name: "supportsMouseEvents"; type: "bool" }
- Property { name: "sectionDelegate"; type: "bool" }
- Property { name: "separatorVisible"; type: "bool" }
- Property { name: "textColor"; type: "QColor" }
- Property { name: "backgroundColor"; type: "QColor" }
- Property { name: "activeTextColor"; type: "QColor" }
- Property { name: "activeBackgroundColor"; type: "QColor" }
- Property { name: "containsMouse"; type: "bool"; isReadonly: true }
- Property { name: "_default"; type: "QQuickItem"; isPointer: true }
+ Property { name: "padding"; type: "QQuickPadding1"; isReadonly: true; isPointer: true }
+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
}
Component {
+ name: "QQuickAction1"
prototype: "QObject"
- name: "org.kde.kirigami/Action 2.0"
- exports: ["org.kde.kirigami/Action 2.0"]
+ exports: ["QtQuick.Controls/Action 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "children"
- Property { name: "visible"; type: "bool" }
- Property { name: "checkable"; type: "bool" }
- Property { name: "checked"; type: "bool" }
- Property { name: "enabled"; type: "bool" }
- Property { name: "iconName"; type: "string" }
- Property { name: "iconSource"; type: "string" }
Property { name: "text"; type: "string" }
+ Property { name: "iconSource"; type: "QUrl" }
+ Property { name: "iconName"; type: "string" }
+ Property { name: "__icon"; type: "QVariant"; isReadonly: true }
Property { name: "tooltip"; type: "string" }
- Property { name: "__children"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "__shortcut"; type: "QQuickShortcut"; isPointer: true }
+ Property { name: "enabled"; type: "bool" }
+ Property { name: "checkable"; type: "bool" }
+ Property { name: "checked"; type: "bool" }
+ Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
Property { name: "shortcut"; type: "QVariant" }
- Property { name: "children"; type: "QObject"; isList: true; isReadonly: true }
+ Signal {
+ name: "triggered"
+ Parameter { name: "source"; type: "QObject"; isPointer: true }
+ }
+ Signal { name: "triggered" }
Signal {
name: "toggled"
Parameter { name: "checked"; type: "bool" }
}
Signal {
- name: "triggered"
- Parameter { name: "source"; type: "QObject"; isPointer: true }
+ name: "shortcutChanged"
+ Parameter { name: "shortcut"; type: "QVariant" }
+ }
+ Signal { name: "iconChanged" }
+ Signal {
+ name: "tooltipChanged"
+ Parameter { name: "arg"; type: "string" }
}
Method {
name: "trigger"
- type: "QVariant"
- Parameter { name: "source"; type: "QVariant" }
+ Parameter { name: "source"; type: "QObject"; isPointer: true }
}
+ Method { name: "trigger" }
}
Component {
- prototype: "QQuickItem"
- name: "org.kde.kirigami/ApplicationHeader 2.0"
- exports: ["org.kde.kirigami/ApplicationHeader 2.0"]
+ name: "QQuickCalendarModel1"
+ prototype: "QAbstractListModel"
+ exports: ["QtQuick.Controls.Private/CalendarModel 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentItem"
- Property { name: "headerStyle"; type: "int" }
- Property { name: "pageDelegate"; type: "QQmlComponent"; isPointer: true }
- Property { name: "minimumHeight"; type: "int" }
- Property { name: "preferredHeight"; type: "int" }
- Property { name: "maximumHeight"; type: "int" }
- Property { name: "paintedHeight"; type: "int"; isReadonly: true }
- Property { name: "__appWindow"; type: "QObject"; isPointer: true }
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "contentItem"; type: "QObject"; isList: true; isReadonly: true }
- }
- Component {
- prototype: "QQuickItem"
- name: "org.kde.kirigami/ApplicationItem 2.1"
- exports: ["org.kde.kirigami/ApplicationItem 2.1"]
- exportMetaObjectRevisions: [1]
- isComposite: true
- defaultProperty: "__data"
- Property { name: "pageStack"; type: "PageRow_QMLTYPE_35"; isReadonly: true; isPointer: true }
- Property { name: "activeFocusItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "header"; type: "QQuickItem"; isPointer: true }
- Property { name: "footer"; type: "QQuickItem"; isPointer: true }
- Property { name: "controlsVisible"; type: "bool" }
- Property { name: "globalDrawer"; type: "OverlayDrawer_QMLTYPE_8"; isPointer: true }
- Property { name: "wideScreen"; type: "bool" }
- Property { name: "contextDrawer"; type: "OverlayDrawer_QMLTYPE_8"; isPointer: true }
- Property { name: "reachableMode"; type: "bool" }
- Property { name: "reachableModeEnabled"; type: "bool" }
- Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "overlay"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "__data"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "visibleDate"; type: "QDate" }
+ Property { name: "locale"; type: "QLocale" }
+ Property { name: "count"; type: "int"; isReadonly: true }
+ Signal {
+ name: "visibleDateChanged"
+ Parameter { name: "visibleDate"; type: "QDate" }
+ }
+ Signal {
+ name: "localeChanged"
+ Parameter { name: "locale"; type: "QLocale" }
+ }
+ Signal {
+ name: "countChanged"
+ Parameter { name: "count"; type: "int" }
+ }
Method {
- name: "showPassiveNotification"
- type: "QVariant"
- Parameter { name: "message"; type: "QVariant" }
- Parameter { name: "timeout"; type: "QVariant" }
- Parameter { name: "actionText"; type: "QVariant" }
- Parameter { name: "callBack"; type: "QVariant" }
+ name: "dateAt"
+ type: "QDateTime"
+ Parameter { name: "index"; type: "int" }
+ }
+ Method {
+ name: "indexAt"
+ type: "int"
+ Parameter { name: "visibleDate"; type: "QDate" }
+ }
+ Method {
+ name: "weekNumberAt"
+ type: "int"
+ Parameter { name: "row"; type: "int" }
}
- Method { name: "hidePassiveNotification"; type: "QVariant" }
- Method { name: "applicationWindow"; type: "QVariant" }
- }
- Component {
- prototype: "QQuickApplicationWindow"
- name: "QtQuick.Controls/ApplicationWindow 2.0"
- exports: ["QtQuick.Controls/ApplicationWindow 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
}
Component {
- prototype: "QQuickApplicationWindow"
- name: "org.kde.kirigami/ApplicationWindow 2.0"
- exports: ["org.kde.kirigami/ApplicationWindow 2.0"]
+ name: "QQuickControlSettings1"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls.Private/Settings 1.0"]
+ isCreatable: false
+ isSingleton: true
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- Property { name: "pageStack"; type: "PageRow_QMLTYPE_35"; isReadonly: true; isPointer: true }
- Property { name: "controlsVisible"; type: "bool" }
- Property { name: "globalDrawer"; type: "OverlayDrawer_QMLTYPE_8"; isPointer: true }
- Property { name: "wideScreen"; type: "bool" }
- Property { name: "contextDrawer"; type: "OverlayDrawer_QMLTYPE_8"; isPointer: true }
- Property { name: "reachableMode"; type: "bool" }
- Property { name: "reachableModeEnabled"; type: "bool" }
+ Property { name: "style"; type: "QUrl"; isReadonly: true }
+ Property { name: "styleName"; type: "string" }
+ Property { name: "stylePath"; type: "string" }
+ Property { name: "dpiScaleFactor"; type: "double"; isReadonly: true }
+ Property { name: "dragThreshold"; type: "double"; isReadonly: true }
+ Property { name: "hasTouchScreen"; type: "bool"; isReadonly: true }
+ Property { name: "isMobile"; type: "bool"; isReadonly: true }
+ Property { name: "hoverEnabled"; type: "bool"; isReadonly: true }
Method {
- name: "showPassiveNotification"
- type: "QVariant"
- Parameter { name: "message"; type: "QVariant" }
- Parameter { name: "timeout"; type: "QVariant" }
- Parameter { name: "actionText"; type: "QVariant" }
- Parameter { name: "callBack"; type: "QVariant" }
+ name: "styleComponent"
+ type: "QQmlComponent*"
+ Parameter { name: "styleDirUrl"; type: "QUrl" }
+ Parameter { name: "controlStyleName"; type: "string" }
+ Parameter { name: "control"; type: "QObject"; isPointer: true }
}
- Method { name: "hidePassiveNotification"; type: "QVariant" }
- Method { name: "applicationWindow"; type: "QVariant" }
}
Component {
- prototype: "QQuickItemDelegate"
- name: "org.kde.kirigami/BasicListItem 2.0"
- exports: ["org.kde.kirigami/BasicListItem 2.0"]
+ name: "QQuickControlsPrivate1"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls.Private/Controls 1.0"]
+ isCreatable: false
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "_basicDefault"
- Property { name: "label"; type: "string" }
- Property { name: "icon"; type: "QVariant" }
- Property { name: "reserveSpaceForIcon"; type: "bool" }
- Property { name: "_basicDefault"; type: "QQuickItem"; isList: true; isReadonly: true }
- Property { name: "supportsMouseEvents"; type: "bool" }
- Property { name: "sectionDelegate"; type: "bool" }
- Property { name: "separatorVisible"; type: "bool" }
- Property { name: "textColor"; type: "QColor" }
- Property { name: "backgroundColor"; type: "QColor" }
- Property { name: "activeTextColor"; type: "QColor" }
- Property { name: "activeBackgroundColor"; type: "QColor" }
- Property { name: "containsMouse"; type: "bool"; isReadonly: true }
- Property { name: "_default"; type: "QQuickItem"; isPointer: true }
+ attachedType: "QQuickControlsPrivate1Attached"
}
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" }
+ name: "QQuickControlsPrivate1Attached"
+ prototype: "QObject"
+ Property { name: "window"; type: "QQuickWindow"; isReadonly: true; isPointer: true }
}
Component {
- prototype: "QQuickBusyIndicator"
- name: "QtQuick.Controls/BusyIndicator 2.0"
- exports: ["QtQuick.Controls/BusyIndicator 2.0"]
+ name: "QQuickExclusiveGroup1"
+ defaultProperty: "__actions"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls/ExclusiveGroup 1.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"
+ Property { name: "current"; type: "QObject"; isPointer: true }
+ Property { name: "__actions"; type: "QQuickAction1"; isList: true; isReadonly: true }
+ Method {
+ name: "bindCheckable"
+ Parameter { name: "o"; type: "QObject"; isPointer: true }
+ }
+ Method {
+ name: "unbindCheckable"
+ Parameter { name: "o"; type: "QObject"; isPointer: true }
+ }
}
Component {
- prototype: "QQuickButtonGroup"
- name: "QtQuick.Controls/ButtonGroup 2.0"
- exports: ["QtQuick.Controls/ButtonGroup 2.0"]
+ name: "QQuickMenu1"
+ defaultProperty: "items"
+ prototype: "QQuickMenuText1"
+ exports: ["QtQuick.Controls.Private/MenuPrivate 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
+ Enum {
+ name: "MenuType"
+ values: {
+ "DefaultMenu": 0,
+ "EditMenu": 1
+ }
+ }
+ Property { name: "title"; type: "string" }
+ Property { name: "items"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "__selectedIndex"; type: "int" }
+ Property { name: "__popupVisible"; type: "bool"; isReadonly: true }
+ Property { name: "__contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__minimumWidth"; type: "int" }
+ Property { name: "__font"; type: "QFont" }
+ Property { name: "__xOffset"; type: "double" }
+ Property { name: "__yOffset"; type: "double" }
+ Property { name: "__action"; type: "QQuickAction1"; isReadonly: true; isPointer: true }
+ Property { name: "__popupGeometry"; type: "QRect"; isReadonly: true }
+ Property { name: "__isProxy"; type: "bool" }
+ Signal { name: "aboutToShow" }
+ Signal { name: "aboutToHide" }
+ Signal { name: "popupVisibleChanged" }
+ Signal { name: "__menuPopupDestroyed" }
+ Signal { name: "menuContentItemChanged" }
+ Signal { name: "minimumWidthChanged" }
+ Signal { name: "__proxyChanged" }
+ Method { name: "__dismissMenu" }
+ Method { name: "__closeAndDestroy" }
+ Method { name: "__dismissAndDestroy" }
+ Method { name: "popup" }
+ Method {
+ name: "addItem"
+ type: "QQuickMenuItem1*"
+ Parameter { type: "string" }
+ }
+ Method {
+ name: "insertItem"
+ type: "QQuickMenuItem1*"
+ Parameter { type: "int" }
+ Parameter { type: "string" }
+ }
+ Method { name: "addSeparator" }
+ Method {
+ name: "insertSeparator"
+ Parameter { type: "int" }
+ }
+ Method {
+ name: "insertItem"
+ Parameter { type: "int" }
+ Parameter { type: "QQuickMenuBase1"; isPointer: true }
+ }
+ Method {
+ name: "removeItem"
+ Parameter { type: "QQuickMenuBase1"; isPointer: true }
+ }
+ Method { name: "clear" }
+ Method {
+ name: "__popup"
+ Parameter { name: "targetRect"; type: "QRectF" }
+ Parameter { name: "atItemIndex"; type: "int" }
+ Parameter { name: "menuType"; type: "MenuType" }
+ }
+ Method {
+ name: "__popup"
+ Parameter { name: "targetRect"; type: "QRectF" }
+ Parameter { name: "atItemIndex"; type: "int" }
+ }
+ Method {
+ name: "__popup"
+ Parameter { name: "targetRect"; type: "QRectF" }
+ }
}
Component {
- prototype: "QQuickCheckBox"
- name: "QtQuick.Controls/CheckBox 2.0"
- exports: ["QtQuick.Controls/CheckBox 2.0"]
+ name: "QQuickMenuBar1"
+ defaultProperty: "menus"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls.Private/MenuBarPrivate 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
+ Property { name: "menus"; type: "QQuickMenu1"; isList: true; isReadonly: true }
+ Property { name: "__contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__parentWindow"; type: "QQuickWindow"; isPointer: true }
+ Property { name: "__isNative"; type: "bool" }
+ Signal { name: "nativeChanged" }
+ Signal { name: "contentItemChanged" }
}
Component {
- prototype: "QQuickCheckDelegate"
- name: "QtQuick.Controls/CheckDelegate 2.0"
- exports: ["QtQuick.Controls/CheckDelegate 2.0"]
+ name: "QQuickMenuBase1"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls/MenuBase 1.0"]
+ isCreatable: false
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
+ Property { name: "visible"; type: "bool" }
+ Property { name: "type"; type: "QQuickMenuItemType1::MenuItemType"; isReadonly: true }
+ Property { name: "__parentMenu"; type: "QObject"; isReadonly: true; isPointer: true }
+ Property { name: "__isNative"; type: "bool"; isReadonly: true }
+ Property { name: "__visualItem"; type: "QQuickItem"; isPointer: true }
}
Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.impl/CheckIndicator 2.0"
- exports: ["QtQuick.Controls.impl/CheckIndicator 2.0"]
+ name: "QQuickMenuItem1"
+ prototype: "QQuickMenuText1"
+ exports: ["QtQuick.Controls/MenuItem 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
+ Property { name: "text"; type: "string" }
+ Property { name: "checkable"; type: "bool" }
+ Property { name: "checked"; type: "bool" }
+ Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
+ Property { name: "shortcut"; type: "QVariant" }
+ Property { name: "action"; type: "QQuickAction1"; isPointer: true }
+ Signal { name: "triggered" }
+ Signal {
+ name: "toggled"
+ Parameter { name: "checked"; type: "bool" }
+ }
+ Method { name: "trigger" }
}
Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Universal.impl/CheckIndicator 2.0"
- exports: ["QtQuick.Controls.Universal.impl/CheckIndicator 2.0"]
+ name: "QQuickMenuItemType1"
+ exports: ["QtQuick.Controls/MenuItemType 1.0"]
+ isCreatable: false
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "partiallyChecked"; type: "bool"; isReadonly: true }
+ Enum {
+ name: "MenuItemType"
+ values: {
+ "Separator": 0,
+ "Item": 1,
+ "Menu": 2,
+ "ScrollIndicator": 3
+ }
+ }
}
Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Material.impl/CheckIndicator 2.0"
- exports: ["QtQuick.Controls.Material.impl/CheckIndicator 2.0"]
+ name: "QQuickMenuSeparator1"
+ prototype: "QQuickMenuBase1"
+ exports: ["QtQuick.Controls/MenuSeparator 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
}
Component {
- prototype: "QQuickFocusScope"
- name: "QtQuick.Extras.Private/CircularButton 1.0"
- exports: ["QtQuick.Extras.Private/CircularButton 1.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "isDefault"; type: "bool" }
- Property { name: "menu"; type: "Menu_QMLTYPE_83"; isPointer: true }
- Property { name: "checkable"; type: "bool" }
- Property { name: "checked"; type: "bool" }
- Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
- Property { name: "action"; type: "QQuickAction1"; isPointer: true }
- Property { name: "activeFocusOnPress"; type: "bool" }
- Property { name: "text"; type: "string" }
- Property { name: "tooltip"; type: "string" }
+ name: "QQuickMenuText1"
+ prototype: "QQuickMenuBase1"
+ Property { name: "enabled"; type: "bool" }
Property { name: "iconSource"; type: "QUrl" }
Property { name: "iconName"; type: "string" }
- Property { name: "__position"; type: "string" }
- Property { name: "__iconOverriden"; type: "bool"; isReadonly: true }
- Property { name: "__action"; type: "QQuickAction1"; isPointer: true }
- Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true }
- Property { name: "__behavior"; type: "QVariant" }
- Property { name: "__effectivePressed"; type: "bool" }
- Property { name: "pressed"; type: "bool"; isReadonly: true }
- Property { name: "hovered"; type: "bool"; isReadonly: true }
- Signal { name: "clicked" }
- Method { name: "accessiblePressAction"; type: "QVariant" }
- Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "QObject"; isPointer: true }
- Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
- Property { name: "styleHints"; type: "QVariant" }
- Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ Property { name: "__icon"; type: "QVariant"; isReadonly: true }
+ Signal { name: "__textChanged" }
}
Component {
+ name: "QQuickPadding1"
prototype: "QObject"
- name: "QtQuick.Extras.Private/CircularButtonStyleHelper 1.0"
- exports: ["QtQuick.Extras.Private/CircularButtonStyleHelper 1.0"]
+ exports: ["QtQuick.Controls.Private/Padding 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "buttonColorUpTop"; type: "QColor" }
- Property { name: "buttonColorUpBottom"; type: "QColor" }
- Property { name: "buttonColorDownTop"; type: "QColor" }
- Property { name: "buttonColorDownBottom"; type: "QColor" }
- Property { name: "outerArcColorTop"; type: "QColor" }
- Property { name: "outerArcColorBottom"; type: "QColor" }
- Property { name: "innerArcColorTop"; type: "QColor" }
- Property { name: "innerArcColorBottom"; type: "QColor" }
- Property { name: "innerArcColorBottomStop"; type: "double" }
- Property { name: "shineColor"; type: "QColor" }
- Property { name: "smallestAxis"; type: "double" }
- Property { name: "outerArcLineWidth"; type: "double" }
- Property { name: "innerArcLineWidth"; type: "double" }
- Property { name: "shineArcLineWidth"; type: "double" }
- Property { name: "implicitWidth"; type: "double" }
- Property { name: "implicitHeight"; type: "double" }
- Property { name: "textColorUp"; type: "QColor" }
- Property { name: "textColorDown"; type: "QColor" }
- Property { name: "textRaisedColorUp"; type: "QColor" }
- Property { name: "textRaisedColorDown"; type: "QColor" }
- Property { name: "radius"; type: "double" }
- Property { name: "halfRadius"; type: "double" }
- Property { name: "outerArcRadius"; type: "double" }
- Property { name: "innerArcRadius"; type: "double" }
- Property { name: "shineArcRadius"; type: "double" }
- Property { name: "zeroAngle"; type: "double" }
- Property { name: "buttonColorTop"; type: "QColor" }
- Property { name: "buttonColorBottom"; type: "QColor" }
+ Property { name: "left"; type: "int" }
+ Property { name: "top"; type: "int" }
+ Property { name: "right"; type: "int" }
+ Property { name: "bottom"; type: "int" }
Method {
- name: "toPixels"
- type: "QVariant"
- Parameter { name: "percentageOfSmallestAxis"; type: "QVariant" }
+ name: "setLeft"
+ Parameter { name: "arg"; type: "int" }
}
Method {
- name: "paintBackground"
- type: "QVariant"
- Parameter { name: "ctx"; type: "QVariant" }
+ name: "setTop"
+ Parameter { name: "arg"; type: "int" }
+ }
+ Method {
+ name: "setRight"
+ Parameter { name: "arg"; type: "int" }
+ }
+ Method {
+ name: "setBottom"
+ Parameter { name: "arg"; type: "int" }
}
}
Component {
- prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/CircularGauge 1.0"
- exports: ["QtQuick.Extras/CircularGauge 1.0"]
+ name: "QQuickPopupWindow1"
+ defaultProperty: "popupContentItem"
+ prototype: "QQuickWindow"
+ exports: ["QtQuick.Controls.Private/PopupWindow 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "tickmarksVisible"; type: "bool" }
- Property { name: "minimumValue"; type: "double" }
- Property { name: "maximumValue"; type: "double" }
- Property { name: "value"; type: "double" }
- Property { name: "stepSize"; type: "double" }
- Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "QObject"; isPointer: true }
- Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
- Property { name: "styleHints"; type: "QVariant" }
- Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ Property { name: "popupContentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "parentItem"; type: "QQuickItem"; isPointer: true }
+ Signal { name: "popupDismissed" }
+ Signal { name: "geometryChanged" }
+ Method { name: "show" }
+ Method { name: "dismissPopup" }
}
Component {
- prototype: "QQuickFocusScope"
- name: "QtQuick.Extras.Private/CircularTickmarkLabel 1.0"
- exports: ["QtQuick.Extras.Private/CircularTickmarkLabel 1.0"]
+ name: "QQuickRangeModel1"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls.Private/RangeModel 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "minimumValueAngle"; type: "double" }
- Property { name: "maximumValueAngle"; type: "double" }
- Property { name: "angleRange"; type: "double"; isReadonly: true }
- Property { name: "tickmarkStepSize"; type: "double" }
- Property { name: "tickmarkInset"; type: "double" }
- Property { name: "tickmarkCount"; type: "int"; isReadonly: true }
- Property { name: "minorTickmarkCount"; type: "int" }
- Property { name: "minorTickmarkInset"; type: "double" }
- Property { name: "labelInset"; type: "double" }
- Property { name: "labelStepSize"; type: "double" }
- Property { name: "labelCount"; type: "int"; isReadonly: true }
- Property { name: "__tickmarkCount"; type: "double"; isReadonly: true }
- Property { name: "tickmarksVisible"; type: "bool" }
+ Property { name: "value"; type: "double" }
Property { name: "minimumValue"; type: "double" }
Property { name: "maximumValue"; type: "double" }
Property { name: "stepSize"; type: "double" }
+ Property { name: "position"; type: "double" }
+ Property { name: "positionAtMinimum"; type: "double" }
+ Property { name: "positionAtMaximum"; type: "double" }
+ Property { name: "inverted"; type: "bool" }
+ Signal {
+ name: "valueChanged"
+ Parameter { name: "value"; type: "double" }
+ }
+ Signal {
+ name: "positionChanged"
+ Parameter { name: "position"; type: "double" }
+ }
+ Signal {
+ name: "stepSizeChanged"
+ Parameter { name: "stepSize"; type: "double" }
+ }
+ Signal {
+ name: "invertedChanged"
+ Parameter { name: "inverted"; type: "bool" }
+ }
+ Signal {
+ name: "minimumChanged"
+ Parameter { name: "min"; type: "double" }
+ }
+ Signal {
+ name: "maximumChanged"
+ Parameter { name: "max"; type: "double" }
+ }
+ Signal {
+ name: "positionAtMinimumChanged"
+ Parameter { name: "min"; type: "double" }
+ }
+ Signal {
+ name: "positionAtMaximumChanged"
+ Parameter { name: "max"; type: "double" }
+ }
+ Method { name: "toMinimum" }
+ Method { name: "toMaximum" }
Method {
- name: "valueToAngle"
- type: "QVariant"
- Parameter { name: "value"; type: "QVariant" }
+ name: "setValue"
+ Parameter { name: "value"; type: "double" }
+ }
+ Method {
+ name: "setPosition"
+ Parameter { name: "position"; type: "double" }
+ }
+ Method { name: "increaseSingleStep" }
+ Method { name: "decreaseSingleStep" }
+ Method {
+ name: "valueForPosition"
+ type: "double"
+ Parameter { name: "position"; type: "double" }
+ }
+ Method {
+ name: "positionForValue"
+ type: "double"
+ Parameter { name: "value"; type: "double" }
}
- Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "QObject"; isPointer: true }
- Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
- Property { name: "styleHints"; type: "QVariant" }
- Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
- prototype: "QQuickComboBox"
- name: "QtQuick.Controls/ComboBox 2.0"
- exports: ["QtQuick.Controls/ComboBox 2.0"]
+ name: "QQuickRangedDate1"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls.Private/RangedDate 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
+ Property { name: "date"; type: "QDateTime" }
+ Property { name: "minimumDate"; type: "QDateTime" }
+ Property { name: "maximumDate"; type: "QDateTime" }
}
Component {
- prototype: "QQuickContainer"
- name: "QtQuick.Controls/Container 2.0"
- exports: ["QtQuick.Controls/Container 2.0"]
+ name: "QQuickScenePosListener1"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls.Private/ScenePosListener 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
+ Property { name: "item"; type: "QQuickItem"; isPointer: true }
+ Property { name: "scenePos"; type: "QPointF"; isReadonly: true }
+ Property { name: "enabled"; type: "bool" }
}
Component {
- prototype: "QQuickDrawer"
- name: "org.kde.kirigami/ContextDrawer 2.0"
- exports: ["org.kde.kirigami/ContextDrawer 2.0"]
+ name: "QQuickSelectionMode1"
+ exports: ["QtQuick.Controls/SelectionMode 1.1"]
+ isCreatable: false
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- Property { name: "title"; type: "string" }
- Property { name: "actions"; type: "QVariant" }
- Property { name: "drawerOpen"; type: "bool" }
- Property { name: "enabled"; type: "bool" }
- Property { name: "peeking"; type: "bool" }
- Property { name: "animating"; type: "bool"; isReadonly: true }
- Property { name: "handleVisible"; type: "bool" }
- Property { name: "handle"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "__internal"; type: "QObject"; isPointer: true }
+ Enum {
+ name: "SelectionMode"
+ values: {
+ "NoSelection": 0,
+ "SingleSelection": 1,
+ "ExtendedSelection": 2,
+ "MultiSelection": 3,
+ "ContiguousSelection": 4
+ }
+ }
}
Component {
- prototype: "QQuickControl"
- name: "QtQuick.Controls/Control 2.0"
- exports: ["QtQuick.Controls/Control 2.0"]
+ name: "QQuickSpinBoxValidator1"
+ prototype: "QValidator"
+ exports: ["QtQuick.Controls.Private/SpinBoxValidator 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
+ Property { name: "text"; type: "string"; isReadonly: true }
+ Property { name: "value"; type: "double" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "decimals"; type: "int" }
+ Property { name: "stepSize"; type: "double" }
+ Property { name: "prefix"; type: "string" }
+ Property { name: "suffix"; type: "string" }
+ Method { name: "increment" }
+ Method { name: "decrement" }
}
Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Material.impl/CursorDelegate 2.0"
- exports: ["QtQuick.Controls.Material.impl/CursorDelegate 2.0"]
+ name: "QQuickStack1"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls/Stack 1.0"]
+ isCreatable: false
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
+ Enum {
+ name: "Status"
+ values: {
+ "Inactive": 0,
+ "Deactivating": 1,
+ "Activating": 2,
+ "Active": 3
+ }
+ }
+ Property { name: "index"; type: "int"; isReadonly: true }
+ Property { name: "__index"; type: "int" }
+ Property { name: "status"; type: "Status"; isReadonly: true }
+ Property { name: "__status"; type: "Status" }
+ Property { name: "view"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__view"; type: "QQuickItem"; isPointer: true }
}
Component {
- prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/DelayButton 1.0"
- exports: ["QtQuick.Extras/DelayButton 1.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
+ name: "QQuickStyleItem1"
defaultProperty: "data"
- Property { name: "delay"; type: "int" }
- Property { name: "__progress"; type: "double" }
- Property { name: "progress"; type: "double"; isReadonly: true }
- Signal { name: "activated" }
- Property { name: "isDefault"; type: "bool" }
- Property { name: "menu"; type: "Menu_QMLTYPE_83"; isPointer: true }
- Property { name: "checkable"; type: "bool" }
- Property { name: "checked"; type: "bool" }
- Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
- Property { name: "action"; type: "QQuickAction1"; isPointer: true }
- Property { name: "activeFocusOnPress"; type: "bool" }
+ prototype: "QQuickItem"
+ exports: ["QtQuick.Controls.Private/StyleItem 1.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "border"; type: "QQuickPadding1"; isReadonly: true; isPointer: true }
+ Property { name: "sunken"; type: "bool" }
+ Property { name: "raised"; type: "bool" }
+ Property { name: "active"; type: "bool" }
+ Property { name: "selected"; type: "bool" }
+ Property { name: "hasFocus"; type: "bool" }
+ Property { name: "on"; type: "bool" }
+ Property { name: "hover"; type: "bool" }
+ Property { name: "horizontal"; type: "bool" }
+ Property { name: "isTransient"; type: "bool" }
+ Property { name: "elementType"; type: "string" }
Property { name: "text"; type: "string" }
- Property { name: "tooltip"; type: "string" }
- Property { name: "iconSource"; type: "QUrl" }
- Property { name: "iconName"; type: "string" }
- Property { name: "__position"; type: "string" }
- Property { name: "__iconOverriden"; type: "bool"; isReadonly: true }
- Property { name: "__action"; type: "QQuickAction1"; isPointer: true }
- Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true }
- Property { name: "__behavior"; type: "QVariant" }
- Property { name: "__effectivePressed"; type: "bool" }
- Property { name: "pressed"; type: "bool"; isReadonly: true }
- Property { name: "hovered"; type: "bool"; isReadonly: true }
- Signal { name: "clicked" }
- Method { name: "accessiblePressAction"; type: "QVariant" }
- Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "QObject"; isPointer: true }
- Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
- Property { name: "styleHints"; type: "QVariant" }
- Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ Property { name: "activeControl"; type: "string" }
+ Property { name: "style"; type: "string"; isReadonly: true }
+ Property { name: "hints"; type: "QVariantMap" }
+ Property { name: "properties"; type: "QVariantMap" }
+ Property { name: "font"; type: "QFont"; isReadonly: true }
+ Property { name: "minimum"; type: "int" }
+ Property { name: "maximum"; type: "int" }
+ Property { name: "value"; type: "int" }
+ Property { name: "step"; type: "int" }
+ Property { name: "paintMargins"; type: "int" }
+ Property { name: "contentWidth"; type: "int" }
+ Property { name: "contentHeight"; type: "int" }
+ Property { name: "textureWidth"; type: "int" }
+ Property { name: "textureHeight"; type: "int" }
+ Signal { name: "transientChanged" }
+ Signal { name: "infoChanged" }
+ Signal { name: "hintChanged" }
+ Signal {
+ name: "contentWidthChanged"
+ Parameter { name: "arg"; type: "int" }
+ }
+ Signal {
+ name: "contentHeightChanged"
+ Parameter { name: "arg"; type: "int" }
+ }
+ Signal {
+ name: "textureWidthChanged"
+ Parameter { name: "w"; type: "int" }
+ }
+ Signal {
+ name: "textureHeightChanged"
+ Parameter { name: "h"; type: "int" }
+ }
+ Method {
+ name: "pixelMetric"
+ type: "int"
+ Parameter { type: "string" }
+ }
+ Method {
+ name: "styleHint"
+ type: "QVariant"
+ Parameter { type: "string" }
+ }
+ Method { name: "updateSizeHint" }
+ Method { name: "updateRect" }
+ Method { name: "updateBaselineOffset" }
+ Method { name: "updateItem" }
+ Method {
+ name: "hitTest"
+ type: "string"
+ Parameter { name: "x"; type: "int" }
+ Parameter { name: "y"; type: "int" }
+ }
+ Method {
+ name: "subControlRect"
+ type: "QRectF"
+ Parameter { name: "subcontrolString"; type: "string" }
+ }
+ Method {
+ name: "elidedText"
+ type: "string"
+ Parameter { name: "text"; type: "string" }
+ Parameter { name: "elideMode"; type: "int" }
+ Parameter { name: "width"; type: "int" }
+ }
+ Method {
+ name: "hasThemeIcon"
+ type: "bool"
+ Parameter { type: "string" }
+ }
+ Method {
+ name: "textWidth"
+ type: "double"
+ Parameter { type: "string" }
+ }
+ Method {
+ name: "textHeight"
+ type: "double"
+ Parameter { type: "string" }
+ }
}
Component {
- prototype: "QQuickDelayButton"
- name: "QtQuick.Controls/DelayButton 2.2"
- exports: ["QtQuick.Controls/DelayButton 2.2"]
- exportMetaObjectRevisions: [2]
- isComposite: true
- defaultProperty: "data"
+ name: "QQuickTooltip1"
+ prototype: "QObject"
+ exports: ["QtQuick.Controls.Private/Tooltip 1.0"]
+ isCreatable: false
+ isSingleton: true
+ exportMetaObjectRevisions: [0]
+ Method {
+ name: "showText"
+ Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
+ Parameter { name: "pos"; type: "QPointF" }
+ Parameter { name: "text"; type: "string" }
+ }
+ Method { name: "hideText" }
}
Component {
- prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/Dial 1.0"
- exports: ["QtQuick.Extras/Dial 1.0"]
+ name: "QQuickTreeModelAdaptor1"
+ prototype: "QAbstractListModel"
+ exports: ["QtQuick.Controls.Private/TreeModelAdaptor 1.0"]
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "__wrap"; type: "bool" }
- Property { name: "activeFocusOnPress"; type: "bool" }
- Property { name: "tickmarksVisible"; type: "bool" }
- Property { name: "value"; type: "double" }
- Property { name: "minimumValue"; type: "double" }
- Property { name: "maximumValue"; type: "double" }
- Property { name: "hovered"; type: "bool"; isReadonly: true }
- Property { name: "stepSize"; type: "double" }
- Property { name: "pressed"; type: "bool"; isReadonly: true }
- Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "QObject"; isPointer: true }
- Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
- Property { name: "styleHints"; type: "QVariant" }
- Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
+ Property { name: "rootIndex"; type: "QModelIndex" }
+ Signal {
+ name: "modelChanged"
+ Parameter { name: "model"; type: "QAbstractItemModel"; isPointer: true }
+ }
+ Signal {
+ name: "expanded"
+ Parameter { name: "index"; type: "QModelIndex" }
+ }
+ Signal {
+ name: "collapsed"
+ Parameter { name: "index"; type: "QModelIndex" }
+ }
+ Method {
+ name: "expand"
+ Parameter { type: "QModelIndex" }
+ }
+ Method {
+ name: "collapse"
+ Parameter { type: "QModelIndex" }
+ }
+ Method {
+ name: "setModel"
+ Parameter { name: "model"; type: "QAbstractItemModel"; isPointer: true }
+ }
+ Method {
+ name: "mapRowToModelIndex"
+ type: "QModelIndex"
+ Parameter { name: "row"; type: "int" }
+ }
+ Method {
+ name: "selectionForRowRange"
+ type: "QItemSelection"
+ Parameter { name: "fromIndex"; type: "QModelIndex" }
+ Parameter { name: "toIndex"; type: "QModelIndex" }
+ }
+ Method {
+ name: "isExpanded"
+ type: "bool"
+ Parameter { type: "QModelIndex" }
+ }
}
Component {
- prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/Dial 1.1"
- exports: ["QtQuick.Extras/Dial 1.1"]
- exportMetaObjectRevisions: [1]
- isComposite: true
+ name: "QQuickWheelArea1"
defaultProperty: "data"
- Property { name: "__wrap"; type: "bool" }
- Property { name: "activeFocusOnPress"; type: "bool" }
- Property { name: "tickmarksVisible"; type: "bool" }
- Property { name: "value"; type: "double" }
- Property { name: "minimumValue"; type: "double" }
- Property { name: "maximumValue"; type: "double" }
- Property { name: "hovered"; type: "bool"; isReadonly: true }
- Property { name: "stepSize"; type: "double" }
- Property { name: "pressed"; type: "bool"; isReadonly: true }
- Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "QObject"; isPointer: true }
- Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
- Property { name: "styleHints"; type: "QVariant" }
- Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ prototype: "QQuickItem"
+ exports: ["QtQuick.Controls.Private/WheelArea 1.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "verticalDelta"; type: "double" }
+ Property { name: "horizontalDelta"; type: "double" }
+ Property { name: "horizontalMinimumValue"; type: "double" }
+ Property { name: "horizontalMaximumValue"; type: "double" }
+ Property { name: "verticalMinimumValue"; type: "double" }
+ Property { name: "verticalMaximumValue"; type: "double" }
+ Property { name: "horizontalValue"; type: "double" }
+ Property { name: "verticalValue"; type: "double" }
+ Property { name: "scrollSpeed"; type: "double" }
+ Property { name: "active"; type: "bool" }
+ Property { name: "inverted"; type: "bool"; isReadonly: true }
+ Signal { name: "verticalWheelMoved" }
+ Signal { name: "horizontalWheelMoved" }
}
Component {
- prototype: "QQuickDial"
- name: "QtQuick.Controls/Dial 2.0"
- exports: ["QtQuick.Controls/Dial 2.0"]
+ name: "Settings"
+ prototype: "QObject"
+ exports: ["Settings 2.0"]
+ isCreatable: false
+ isSingleton: true
exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
+ Property { name: "isMobile"; type: "bool"; isReadonly: true }
+ Property { name: "style"; type: "string"; isReadonly: true }
+ Property { name: "mouseWheelScrollLines"; type: "int"; isReadonly: true }
}
Component {
- prototype: "QQuickDialog"
- name: "QtQuick.Controls/Dialog 2.1"
- exports: ["QtQuick.Controls/Dialog 2.1"]
- exportMetaObjectRevisions: [1]
+ prototype: "QQuickItem"
+ name: "AbstractApplicationHeader 2.0"
+ exports: ["AbstractApplicationHeader 2.0"]
+ exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "contentData"
+ defaultProperty: "contentItem"
+ Property { name: "minimumHeight"; type: "int" }
+ Property { name: "preferredHeight"; type: "int" }
+ Property { name: "maximumHeight"; type: "int" }
+ Property { name: "paintedHeight"; type: "int"; isReadonly: true }
+ Property { name: "__appWindow"; type: "QObject"; isPointer: true }
+ Property { name: "background"; type: "QQuickItem"; isPointer: true }
+ Property { name: "contentItem"; type: "QObject"; isList: true; isReadonly: true }
}
Component {
- prototype: "QQuickDialogButtonBox"
- name: "QtQuick.Controls/DialogButtonBox 2.1"
- exports: ["QtQuick.Controls/DialogButtonBox 2.1"]
+ prototype: "QQuickItem"
+ name: "AbstractApplicationItem 2.1"
+ exports: ["AbstractApplicationItem 2.1"]
exportMetaObjectRevisions: [1]
isComposite: true
- defaultProperty: "contentData"
+ defaultProperty: "__data"
+ Property { name: "pageStack"; type: "QQuickItem"; isPointer: true }
+ Property { name: "activeFocusItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "header"; type: "QQuickItem"; isPointer: true }
+ Property { name: "footer"; type: "QQuickItem"; isPointer: true }
+ Property { name: "controlsVisible"; type: "bool" }
+ Property { name: "globalDrawer"; type: "OverlayDrawer_QMLTYPE_13"; isPointer: true }
+ Property { name: "wideScreen"; type: "bool" }
+ Property { name: "contextDrawer"; type: "OverlayDrawer_QMLTYPE_13"; isPointer: true }
+ Property { name: "reachableMode"; type: "bool" }
+ Property { name: "reachableModeEnabled"; type: "bool" }
+ Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "overlay"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__data"; type: "QObject"; isList: true; isReadonly: true }
+ Method {
+ name: "showPassiveNotification"
+ type: "QVariant"
+ Parameter { name: "message"; type: "QVariant" }
+ Parameter { name: "timeout"; type: "QVariant" }
+ Parameter { name: "actionText"; type: "QVariant" }
+ Parameter { name: "callBack"; type: "QVariant" }
+ }
+ Method { name: "hidePassiveNotification"; type: "QVariant" }
+ Method { name: "applicationWindow"; type: "QVariant" }
}
Component {
- prototype: "QQuickDrawer"
- name: "QtQuick.Controls/Drawer 2.0"
- exports: ["QtQuick.Controls/Drawer 2.0"]
+ prototype: "QQuickApplicationWindow"
+ name: "AbstractApplicationWindow 2.0"
+ exports: ["AbstractApplicationWindow 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "contentData"
+ Property { name: "pageStack"; type: "QQuickItem"; isPointer: true }
+ Property { name: "controlsVisible"; type: "bool" }
+ Property { name: "globalDrawer"; type: "OverlayDrawer_QMLTYPE_13"; isPointer: true }
+ Property { name: "wideScreen"; type: "bool" }
+ Property { name: "contextDrawer"; type: "OverlayDrawer_QMLTYPE_13"; isPointer: true }
+ Property { name: "reachableMode"; type: "bool" }
+ Property { name: "reachableModeEnabled"; type: "bool" }
+ Method {
+ name: "showPassiveNotification"
+ type: "QVariant"
+ Parameter { name: "message"; type: "QVariant" }
+ Parameter { name: "timeout"; type: "QVariant" }
+ Parameter { name: "actionText"; type: "QVariant" }
+ Parameter { name: "callBack"; type: "QVariant" }
+ }
+ Method { name: "hidePassiveNotification"; type: "QVariant" }
+ Method { name: "applicationWindow"; type: "QVariant" }
}
Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Material.impl/ElevationEffect 2.0"
- exports: ["QtQuick.Controls.Material.impl/ElevationEffect 2.0"]
+ prototype: "QQuickAbstractButton"
+ name: "QtQuick.Controls/AbstractButton 2.0"
+ exports: ["QtQuick.Controls/AbstractButton 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: "QQuickFrame"
- name: "QtQuick.Controls/Frame 2.0"
- exports: ["QtQuick.Controls/Frame 2.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickItemDelegate"
+ name: "AbstractCard 2.4"
+ exports: ["AbstractCard 2.4"]
+ exportMetaObjectRevisions: [4]
isComposite: true
- defaultProperty: "contentData"
+ defaultProperty: "data"
+ Property { name: "header"; type: "QQuickItem"; isPointer: true }
+ Property { name: "headerOrientation"; type: "int" }
+ Property { name: "footer"; type: "QQuickItem"; isPointer: true }
+ Property { name: "showClickFeedback"; type: "bool" }
}
Component {
- prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/Gauge 1.0"
- exports: ["QtQuick.Extras/Gauge 1.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickControl"
+ name: "AbstractItemViewHeader 2.1"
+ exports: ["AbstractItemViewHeader 2.1"]
+ exportMetaObjectRevisions: [1]
isComposite: true
defaultProperty: "data"
- Property { name: "orientation"; type: "int" }
- Property { name: "tickmarkAlignment"; type: "int" }
- Property { name: "__tickmarkAlignment"; type: "int" }
- Property { name: "__tickmarksInside"; type: "bool" }
- Property { name: "tickmarkStepSize"; type: "double" }
- Property { name: "minorTickmarkCount"; type: "int" }
- Property { name: "formatValue"; type: "QVariant" }
- Property { name: "minimumValue"; type: "double" }
- Property { name: "value"; type: "double" }
- Property { name: "maximumValue"; type: "double" }
- Property { name: "font"; type: "QFont" }
- Property { name: "__hiddenText"; type: "QQuickText"; isReadonly: true; isPointer: true }
- Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "QObject"; isPointer: true }
- Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
- Property { name: "styleHints"; type: "QVariant" }
- Property { name: "__styleData"; type: "QObject"; isPointer: true }
- }
- Component {
- prototype: "QQuickDrawer"
- name: "org.kde.kirigami/GlobalDrawer 2.0"
- exports: ["org.kde.kirigami/GlobalDrawer 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "content"
- Property { name: "actions"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "resetMenuOnTriggered"; type: "bool" }
- Property { name: "currentSubMenu"; type: "Action_QMLTYPE_26"; isReadonly: true; isPointer: true }
- Property { name: "title"; type: "string" }
- Property { name: "titleIcon"; type: "QVariant" }
- Property { name: "bannerImageSource"; type: "QUrl" }
- Property { name: "content"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "topContent"; type: "QObject"; isList: true; isReadonly: true }
- Signal { name: "bannerClicked" }
- Method { name: "resetMenu"; type: "QVariant" }
- Property { name: "drawerOpen"; type: "bool" }
- Property { name: "enabled"; type: "bool" }
- Property { name: "peeking"; type: "bool" }
- Property { name: "animating"; type: "bool"; isReadonly: true }
- Property { name: "handleVisible"; type: "bool" }
- Property { name: "handle"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "__internal"; type: "QObject"; isPointer: true }
+ Property { name: "minimumHeight"; type: "int" }
+ Property { name: "maximumHeight"; type: "int" }
+ Property { name: "view"; type: "QQuickListView"; isPointer: true }
}
Component {
- prototype: "QQuickGroupBox"
- name: "QtQuick.Controls/GroupBox 2.0"
- exports: ["QtQuick.Controls/GroupBox 2.0"]
+ prototype: "QQuickItemDelegate"
+ name: "AbstractListItem 2.0"
+ exports: ["AbstractListItem 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "contentData"
+ defaultProperty: "_default"
+ Property { name: "supportsMouseEvents"; type: "bool" }
+ Property { name: "sectionDelegate"; type: "bool" }
+ Property { name: "separatorVisible"; type: "bool" }
+ Property { name: "textColor"; type: "QColor" }
+ Property { name: "backgroundColor"; type: "QColor" }
+ Property { name: "activeTextColor"; type: "QColor" }
+ Property { name: "activeBackgroundColor"; type: "QColor" }
+ Property { name: "containsMouse"; type: "bool"; isReadonly: true }
+ Property { name: "_default"; type: "QQuickItem"; isPointer: true }
}
Component {
- prototype: "QQuickLabel"
- name: "org.kde.kirigami/Heading 2.0"
- exports: ["org.kde.kirigami/Heading 2.0"]
+ prototype: "QObject"
+ name: "Action 2.0"
+ exports: ["Action 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "data"
- Property { name: "level"; type: "int" }
- Property { name: "step"; type: "int" }
+ defaultProperty: "children"
+ Property { name: "visible"; type: "bool" }
+ Property { name: "checkable"; type: "bool" }
+ Property { name: "checked"; type: "bool" }
+ Property { name: "enabled"; type: "bool" }
+ Property { name: "icon"; type: "ActionIconGroup_QMLTYPE_36"; isPointer: true }
+ Property { name: "text"; type: "string" }
+ Property { name: "tooltip"; type: "string" }
+ Property { name: "__children"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "__shortcut"; type: "QQuickShortcut"; isPointer: true }
+ Property { name: "iconName"; type: "string" }
+ Property { name: "iconSource"; type: "string" }
+ Property { name: "shortcut"; type: "QVariant" }
+ Property { name: "children"; type: "QObject"; isList: true; isReadonly: true }
+ Signal {
+ name: "toggled"
+ Parameter { name: "checked"; type: "bool" }
+ }
+ Signal {
+ name: "triggered"
+ Parameter { name: "source"; type: "QObject"; isPointer: true }
+ }
Method {
- name: "headerPointSize"
+ name: "trigger"
type: "QVariant"
- Parameter { name: "l"; type: "QVariant" }
+ Parameter { name: "source"; type: "QVariant" }
}
}
Component {
- prototype: "QQuickItemDelegate"
- name: "QtQuick.Controls/ItemDelegate 2.0"
- exports: ["QtQuick.Controls/ItemDelegate 2.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickAction"
+ name: "QtQuick.Controls/Action 2.3"
+ exports: ["QtQuick.Controls/Action 2.3"]
+ exportMetaObjectRevisions: [3]
isComposite: true
- defaultProperty: "data"
}
Component {
- prototype: "QQuickControl"
- name: "org.kde.kirigami/ItemViewHeader 2.1"
- exports: ["org.kde.kirigami/ItemViewHeader 2.1"]
- exportMetaObjectRevisions: [1]
+ prototype: "QQuickActionGroup"
+ name: "QtQuick.Controls/ActionGroup 2.3"
+ exports: ["QtQuick.Controls/ActionGroup 2.3"]
+ exportMetaObjectRevisions: [3]
isComposite: true
- defaultProperty: "data"
- Property { name: "title"; type: "string" }
- Property { name: "color"; type: "QColor" }
- Property { name: "backgroundImage"; type: "QQuickImage"; isReadonly: true; isPointer: true }
+ defaultProperty: "actions"
+ }
+ Component {
+ prototype: "QQuickItem"
+ name: "ApplicationHeader 2.0"
+ exports: ["ApplicationHeader 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentItem"
+ Property { name: "headerStyle"; type: "int" }
+ Property { name: "backButtonEnabled"; type: "bool" }
+ Property { name: "pageDelegate"; type: "QQmlComponent"; isPointer: true }
Property { name: "minimumHeight"; type: "int" }
+ Property { name: "preferredHeight"; type: "int" }
Property { name: "maximumHeight"; type: "int" }
- Property { name: "view"; type: "QQuickListView"; isPointer: true }
+ Property { name: "paintedHeight"; type: "int"; isReadonly: true }
+ Property { name: "__appWindow"; type: "QObject"; isPointer: true }
+ Property { name: "background"; type: "QQuickItem"; isPointer: true }
+ Property { name: "contentItem"; type: "QObject"; isList: true; isReadonly: true }
}
Component {
- prototype: "QQuickLabel"
- name: "org.kde.kirigami/Label 2.0"
- exports: ["org.kde.kirigami/Label 2.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickItem"
+ name: "ApplicationItem 2.1"
+ exports: ["ApplicationItem 2.1"]
+ exportMetaObjectRevisions: [1]
isComposite: true
- defaultProperty: "data"
+ defaultProperty: "__data"
+ Property { name: "pageStack"; type: "PageRow_QMLTYPE_49"; isReadonly: true; isPointer: true }
+ Property { name: "activeFocusItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "header"; type: "QQuickItem"; isPointer: true }
+ Property { name: "footer"; type: "QQuickItem"; isPointer: true }
+ Property { name: "controlsVisible"; type: "bool" }
+ Property { name: "globalDrawer"; type: "OverlayDrawer_QMLTYPE_13"; isPointer: true }
+ Property { name: "wideScreen"; type: "bool" }
+ Property { name: "contextDrawer"; type: "OverlayDrawer_QMLTYPE_13"; isPointer: true }
+ Property { name: "reachableMode"; type: "bool" }
+ Property { name: "reachableModeEnabled"; type: "bool" }
+ Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "overlay"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__data"; type: "QObject"; isList: true; isReadonly: true }
+ Method {
+ name: "showPassiveNotification"
+ type: "QVariant"
+ Parameter { name: "message"; type: "QVariant" }
+ Parameter { name: "timeout"; type: "QVariant" }
+ Parameter { name: "actionText"; type: "QVariant" }
+ Parameter { name: "callBack"; type: "QVariant" }
+ }
+ Method { name: "hidePassiveNotification"; type: "QVariant" }
+ Method { name: "applicationWindow"; type: "QVariant" }
}
Component {
- prototype: "QQuickLabel"
- name: "QtQuick.Controls/Label 2.0"
- exports: ["QtQuick.Controls/Label 2.0"]
+ prototype: "QQuickApplicationWindow"
+ name: "ApplicationWindow 2.0"
+ exports: ["ApplicationWindow 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "data"
+ defaultProperty: "contentData"
+ Property { name: "pageStack"; type: "PageRow_QMLTYPE_49"; isReadonly: true; isPointer: true }
+ Property { name: "controlsVisible"; type: "bool" }
+ Property { name: "globalDrawer"; type: "OverlayDrawer_QMLTYPE_13"; isPointer: true }
+ Property { name: "wideScreen"; type: "bool" }
+ Property { name: "contextDrawer"; type: "OverlayDrawer_QMLTYPE_13"; isPointer: true }
+ Property { name: "reachableMode"; type: "bool" }
+ Property { name: "reachableModeEnabled"; type: "bool" }
+ Method {
+ name: "showPassiveNotification"
+ type: "QVariant"
+ Parameter { name: "message"; type: "QVariant" }
+ Parameter { name: "timeout"; type: "QVariant" }
+ Parameter { name: "actionText"; type: "QVariant" }
+ Parameter { name: "callBack"; type: "QVariant" }
+ }
+ Method { name: "hidePassiveNotification"; type: "QVariant" }
+ Method { name: "applicationWindow"; type: "QVariant" }
}
Component {
- prototype: "QQuickMenu"
- name: "QtQuick.Controls/Menu 2.0"
- exports: ["QtQuick.Controls/Menu 2.0"]
+ prototype: "QQuickApplicationWindow"
+ name: "QtQuick.Controls/ApplicationWindow 2.0"
+ exports: ["QtQuick.Controls/ApplicationWindow 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "contentData"
}
Component {
- prototype: "QQuickMenuItem"
- name: "QtQuick.Controls/MenuItem 2.0"
- exports: ["QtQuick.Controls/MenuItem 2.0"]
+ prototype: "QQuickWindowQmlImpl"
+ name: "QtQuick.Controls/ApplicationWindow 1.0"
+ exports: ["QtQuick.Controls/ApplicationWindow 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
+ Property { name: "menuBar"; type: "MenuBar_QMLTYPE_63"; isPointer: true }
+ Property { name: "toolBar"; type: "QQuickItem"; isPointer: true }
+ Property { name: "statusBar"; type: "QQuickItem"; isPointer: true }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__topBottomMargins"; type: "double" }
+ Property { name: "__qwindowsize_max"; type: "double"; isReadonly: true }
+ Property { name: "__width"; type: "double" }
+ Property { name: "__height"; type: "double" }
+ Property {
+ name: "contentItem"
+ type: "ContentItem_QMLTYPE_61"
+ isReadonly: true
+ isPointer: true
+ }
+ Property { name: "__style"; type: "QObject"; isReadonly: true; isPointer: true }
+ Property { name: "__panel"; type: "QObject"; isReadonly: true; isPointer: true }
+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
}
Component {
- prototype: "QQuickMenuSeparator"
- name: "QtQuick.Controls/MenuSeparator 2.1"
- exports: ["QtQuick.Controls/MenuSeparator 2.1"]
- exportMetaObjectRevisions: [1]
+ prototype: "QQuickItemDelegate"
+ name: "BasicListItem 2.0"
+ exports: ["BasicListItem 2.0"]
+ exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "data"
+ defaultProperty: "_basicDefault"
+ Property { name: "icon"; type: "QVariant" }
+ Property { name: "label"; type: "string" }
+ Property { name: "reserveSpaceForIcon"; type: "bool" }
+ Property { name: "_basicDefault"; type: "QQuickItem"; isList: true; isReadonly: true }
+ Property { name: "supportsMouseEvents"; type: "bool" }
+ Property { name: "sectionDelegate"; type: "bool" }
+ Property { name: "separatorVisible"; type: "bool" }
+ Property { name: "textColor"; type: "QColor" }
+ Property { name: "backgroundColor"; type: "QColor" }
+ Property { name: "activeTextColor"; type: "QColor" }
+ Property { name: "activeBackgroundColor"; type: "QColor" }
+ Property { name: "containsMouse"; type: "bool"; isReadonly: true }
+ Property { name: "_default"; type: "QQuickItem"; isPointer: true }
}
Component {
- prototype: "QQuickDrawer"
- name: "org.kde.kirigami/OverlayDrawer 2.0"
- exports: ["org.kde.kirigami/OverlayDrawer 2.0"]
+ prototype: "QQuickItem"
+ name: "QtQuick.Controls.Material.impl/BoxShadow 2.0"
+ exports: ["QtQuick.Controls.Material.impl/BoxShadow 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "contentData"
- Property { name: "drawerOpen"; type: "bool" }
- Property { name: "enabled"; type: "bool" }
- Property { name: "peeking"; type: "bool" }
- Property { name: "animating"; type: "bool"; isReadonly: true }
- Property { name: "handleVisible"; type: "bool" }
- Property { name: "handle"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "__internal"; type: "QObject"; isPointer: 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: "QObject"
- name: "org.kde.kirigami/OverlaySheet 2.0"
- exports: ["org.kde.kirigami/OverlaySheet 2.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/BusyIndicator 1.1"
+ exports: ["QtQuick.Controls/BusyIndicator 1.1"]
+ exportMetaObjectRevisions: [1]
isComposite: true
- defaultProperty: "contentItem"
- Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
- Property { name: "sheetOpen"; type: "bool" }
- Property { name: "leftPadding"; type: "int" }
- Property { name: "topPadding"; type: "int" }
- Property { name: "rightPadding"; type: "int" }
- Property { name: "bottomPadding"; type: "int" }
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "parent"; type: "QQuickItem"; isPointer: true }
- Property { name: "rootItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Method { name: "open"; type: "QVariant" }
- Method { name: "close"; type: "QVariant" }
+ defaultProperty: "data"
+ Property { name: "running"; type: "bool" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
- prototype: "QQuickPage"
- name: "QtQuick.Controls/Page 2.0"
- exports: ["QtQuick.Controls/Page 2.0"]
+ prototype: "QQuickBusyIndicator"
+ name: "QtQuick.Controls/BusyIndicator 2.0"
+ exports: ["QtQuick.Controls/BusyIndicator 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "contentData"
+ defaultProperty: "data"
}
Component {
- prototype: "QQuickPage"
- name: "org.kde.kirigami/Page 2.0"
- exports: ["org.kde.kirigami/Page 2.0"]
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/Button 1.0"
+ exports: ["QtQuick.Controls/Button 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "contentData"
- Property { name: "flickable"; type: "QQuickFlickable"; isPointer: true }
- Property { name: "isCurrentPage"; type: "bool"; isReadonly: true }
- Property { name: "contextualActions"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "mainAction"; type: "QObject"; isPointer: true }
- Property { name: "leftAction"; type: "QObject"; isPointer: true }
- Property { name: "rightAction"; type: "QObject"; isPointer: true }
- Property {
- name: "actions"
- type: "PageActionPropertyGroup_QMLTYPE_29"
- isReadonly: true
- isPointer: true
- }
- Signal {
- name: "backRequested"
- Parameter { name: "event"; type: "QVariant" }
- }
+ defaultProperty: "data"
+ Property { name: "isDefault"; type: "bool" }
+ Property { name: "menu"; type: "Menu_QMLTYPE_114"; isPointer: true }
+ Property { name: "checkable"; type: "bool" }
+ Property { name: "checked"; type: "bool" }
+ Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
+ Property { name: "action"; type: "QQuickAction1"; isPointer: true }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "text"; type: "string" }
+ Property { name: "tooltip"; type: "string" }
+ Property { name: "iconSource"; type: "QUrl" }
+ Property { name: "iconName"; type: "string" }
+ Property { name: "__position"; type: "string" }
+ Property { name: "__iconOverriden"; type: "bool"; isReadonly: true }
+ Property { name: "__action"; type: "QQuickAction1"; isPointer: true }
+ Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true }
+ Property { name: "__behavior"; type: "QVariant" }
+ Property { name: "__effectivePressed"; type: "bool" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Signal { name: "clicked" }
+ Method { name: "accessiblePressAction"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
- prototype: "QQuickPageIndicator"
- name: "QtQuick.Controls/PageIndicator 2.0"
- exports: ["QtQuick.Controls/PageIndicator 2.0"]
+ prototype: "QQuickButton"
+ name: "QtQuick.Controls/Button 2.0"
+ exports: ["QtQuick.Controls/Button 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
}
Component {
- prototype: "QQuickControl"
- name: "org.kde.kirigami/PageRow 2.0"
- exports: ["org.kde.kirigami/PageRow 2.0"]
+ prototype: "QQuickButtonGroup"
+ name: "QtQuick.Controls/ButtonGroup 2.0"
+ exports: ["QtQuick.Controls/ButtonGroup 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "data"
- Property { name: "depth"; type: "int"; isReadonly: true }
- Property { name: "lastItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "initialPage"; type: "QVariant" }
- Property { name: "defaultColumnWidth"; type: "int" }
- Property { name: "wideMode"; type: "bool"; isReadonly: true }
- Property { name: "currentIndex"; type: "int" }
- Property { name: "interactive"; type: "bool" }
- Method {
- name: "push"
- type: "QVariant"
- Parameter { name: "page"; type: "QVariant" }
- Parameter { name: "properties"; type: "QVariant" }
- }
- Method {
- name: "pop"
- type: "QVariant"
- Parameter { name: "page"; type: "QVariant" }
- }
- Method {
- name: "replace"
- type: "QVariant"
- Parameter { name: "page"; type: "QVariant" }
- Parameter { name: "properties"; type: "QVariant" }
- }
- Method { name: "clear"; type: "QVariant" }
- Method {
- name: "get"
- type: "QVariant"
- Parameter { name: "idx"; type: "QVariant" }
- }
- Method { name: "flickBack"; type: "QVariant" }
}
Component {
- prototype: "QQuickPane"
- name: "QtQuick.Controls/Pane 2.0"
- exports: ["QtQuick.Controls/Pane 2.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickRectangle"
+ name: "QtQuick.Controls.Fusion.impl/ButtonPanel 2.3"
+ exports: ["QtQuick.Controls.Fusion.impl/ButtonPanel 2.3"]
+ exportMetaObjectRevisions: [3]
isComposite: true
- defaultProperty: "contentData"
+ defaultProperty: "data"
+ Property { name: "control"; type: "QQuickItem"; isPointer: true }
+ Property { name: "highlighted"; type: "bool" }
}
Component {
prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/PieMenu 1.0"
- exports: ["QtQuick.Extras/PieMenu 1.0"]
- exportMetaObjectRevisions: [0]
+ name: "QtQuick.Controls/Calendar 1.6"
+ exports: ["QtQuick.Controls/Calendar 1.6"]
+ exportMetaObjectRevisions: [6]
isComposite: true
- defaultProperty: "menuItems"
- Property { name: "selectionAngle"; type: "double"; isReadonly: true }
- Property { name: "triggerMode"; type: "int" }
- Property { name: "title"; type: "string" }
- Property { name: "boundingItem"; type: "QQuickItem"; isPointer: true }
- Property { name: "__protectedScope"; type: "QObject"; isPointer: true }
- Property { name: "activationMode"; type: "int" }
- Property { name: "menuItems"; type: "QQuickMenuItem1"; isList: true; isReadonly: true }
- Property { name: "currentIndex"; type: "int"; isReadonly: true }
- Property { name: "currentItem"; type: "QQuickMenuItem1"; isReadonly: true; isPointer: true }
- Property { name: "__mouseThief"; type: "QQuickMouseThief"; isReadonly: true; isPointer: true }
- Method {
- name: "popup"
- type: "QVariant"
- Parameter { name: "x"; type: "QVariant" }
- Parameter { name: "y"; type: "QVariant" }
+ defaultProperty: "data"
+ Property { name: "visibleMonth"; type: "int" }
+ Property { name: "visibleYear"; type: "int" }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "weekNumbersVisible"; type: "bool" }
+ Property { name: "navigationBarVisible"; type: "bool" }
+ Property { name: "dayOfWeekFormat"; type: "int" }
+ Property { name: "locale"; type: "QVariant" }
+ Property { name: "__model"; type: "QQuickCalendarModel1"; isPointer: true }
+ Property { name: "selectedDate"; type: "QDateTime" }
+ Property { name: "minimumDate"; type: "QDateTime" }
+ Property { name: "maximumDate"; type: "QDateTime" }
+ Property { name: "__locale"; type: "QVariant" }
+ Signal {
+ name: "hovered"
+ Parameter { name: "date"; type: "QDateTime" }
}
- Method {
- name: "addItem"
- type: "QVariant"
- Parameter { name: "text"; type: "QVariant" }
+ Signal {
+ name: "pressed"
+ Parameter { name: "date"; type: "QDateTime" }
}
- Method {
- name: "insertItem"
- type: "QVariant"
- Parameter { name: "before"; type: "QVariant" }
- Parameter { name: "text"; type: "QVariant" }
+ Signal {
+ name: "released"
+ Parameter { name: "date"; type: "QDateTime" }
}
- Method {
- name: "removeItem"
- type: "QVariant"
- Parameter { name: "item"; type: "QVariant" }
+ Signal {
+ name: "clicked"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "doubleClicked"
+ Parameter { name: "date"; type: "QDateTime" }
}
+ Signal {
+ name: "pressAndHold"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Method { name: "showPreviousMonth"; type: "QVariant" }
+ Method { name: "showNextMonth"; type: "QVariant" }
+ Method { name: "showPreviousYear"; type: "QVariant" }
+ Method { name: "showNextYear"; type: "QVariant" }
+ Method { name: "__selectPreviousMonth"; type: "QVariant" }
+ Method { name: "__selectNextMonth"; type: "QVariant" }
+ Method { name: "__selectPreviousWeek"; type: "QVariant" }
+ Method { name: "__selectNextWeek"; type: "QVariant" }
+ Method { name: "__selectFirstDayOfMonth"; type: "QVariant" }
+ Method { name: "__selectLastDayOfMonth"; type: "QVariant" }
+ Method { name: "__selectPreviousDay"; type: "QVariant" }
+ Method { name: "__selectNextDay"; type: "QVariant" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
Property { name: "__style"; type: "QObject"; isPointer: true }
Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
Property { name: "styleHints"; type: "QVariant" }
Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
- prototype: "QQuickLoader"
- name: "QtQuick.Extras.Private/PieMenuIcon 1.0"
- exports: ["QtQuick.Extras.Private/PieMenuIcon 1.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/Calendar 1.2"
+ exports: ["QtQuick.Controls/Calendar 1.2"]
+ exportMetaObjectRevisions: [2]
isComposite: true
defaultProperty: "data"
- Property { name: "control"; type: "PieMenu_QMLTYPE_165"; isPointer: true }
- Property { name: "styleData"; type: "QObject"; isPointer: true }
- Property { name: "iconSource"; type: "string"; isReadonly: true }
- }
- Component {
- prototype: "QQuickPopup"
- name: "QtQuick.Controls/Popup 2.0"
- exports: ["QtQuick.Controls/Popup 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
+ Property { name: "visibleMonth"; type: "int" }
+ Property { name: "visibleYear"; type: "int" }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "weekNumbersVisible"; type: "bool" }
+ Property { name: "navigationBarVisible"; type: "bool" }
+ Property { name: "dayOfWeekFormat"; type: "int" }
+ Property { name: "locale"; type: "QVariant" }
+ Property { name: "__model"; type: "QQuickCalendarModel1"; isPointer: true }
+ Property { name: "selectedDate"; type: "QDateTime" }
+ Property { name: "minimumDate"; type: "QDateTime" }
+ Property { name: "maximumDate"; type: "QDateTime" }
+ Property { name: "__locale"; type: "QVariant" }
+ Signal {
+ name: "hovered"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "pressed"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "released"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "clicked"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "doubleClicked"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "pressAndHold"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Method { name: "showPreviousMonth"; type: "QVariant" }
+ Method { name: "showNextMonth"; type: "QVariant" }
+ Method { name: "showPreviousYear"; type: "QVariant" }
+ Method { name: "showNextYear"; type: "QVariant" }
+ Method { name: "__selectPreviousMonth"; type: "QVariant" }
+ Method { name: "__selectNextMonth"; type: "QVariant" }
+ Method { name: "__selectPreviousWeek"; type: "QVariant" }
+ Method { name: "__selectNextWeek"; type: "QVariant" }
+ Method { name: "__selectFirstDayOfMonth"; type: "QVariant" }
+ Method { name: "__selectLastDayOfMonth"; type: "QVariant" }
+ Method { name: "__selectPreviousDay"; type: "QVariant" }
+ Method { name: "__selectNextDay"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
- prototype: "QQuickProgressBar"
- name: "QtQuick.Controls/ProgressBar 2.0"
- exports: ["QtQuick.Controls/ProgressBar 2.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickItemDelegate"
+ name: "Card 2.4"
+ exports: ["Card 2.4"]
+ exportMetaObjectRevisions: [4]
isComposite: true
defaultProperty: "data"
+ Property { name: "actions"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "banner"; type: "BannerGroup_QMLTYPE_139"; isReadonly: true; isPointer: true }
+ Property { name: "header"; type: "QQuickItem"; isPointer: true }
+ Property { name: "headerOrientation"; type: "int" }
+ Property { name: "footer"; type: "QQuickItem"; isPointer: true }
+ Property { name: "showClickFeedback"; type: "bool" }
}
Component {
- prototype: "QQuickRadioButton"
- name: "QtQuick.Controls/RadioButton 2.0"
- exports: ["QtQuick.Controls/RadioButton 2.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickGridView"
+ name: "CardsGridView 2.4"
+ exports: ["CardsGridView 2.4"]
+ exportMetaObjectRevisions: [4]
isComposite: true
defaultProperty: "data"
+ Property { name: "maximumColumnWidth"; type: "int" }
}
Component {
- prototype: "QQuickRadioDelegate"
- name: "QtQuick.Controls/RadioDelegate 2.0"
- exports: ["QtQuick.Controls/RadioDelegate 2.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickGridLayout"
+ name: "CardsLayout 2.4"
+ exports: ["CardsLayout 2.4"]
+ exportMetaObjectRevisions: [4]
isComposite: true
defaultProperty: "data"
+ Property { name: "maximumColumnWidth"; type: "int" }
}
Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Universal.impl/RadioIndicator 2.0"
- exports: ["QtQuick.Controls.Universal.impl/RadioIndicator 2.0"]
- exportMetaObjectRevisions: [0]
+ prototype: "QQuickListView"
+ name: "CardsListView 2.4"
+ exports: ["CardsListView 2.4"]
+ exportMetaObjectRevisions: [4]
isComposite: true
defaultProperty: "data"
- Property { name: "control"; type: "QVariant" }
}
Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Material.impl/RadioIndicator 2.0"
- exports: ["QtQuick.Controls.Material.impl/RadioIndicator 2.0"]
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/CheckBox 1.0"
+ exports: ["QtQuick.Controls/CheckBox 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
+ Property { name: "checkedState"; type: "int" }
+ Property { name: "partiallyCheckedEnabled"; type: "bool" }
+ Property { name: "__ignoreChecked"; type: "bool" }
+ Property { name: "__ignoreCheckedState"; type: "bool" }
+ Method { name: "__cycleCheckBoxStates"; type: "QVariant" }
+ Property { name: "checked"; type: "bool" }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
+ Property { name: "text"; type: "string" }
+ Property { name: "tooltip"; type: "string" }
+ Property { name: "__cycleStatesHandler"; type: "QVariant" }
+ Property { name: "pressed"; type: "bool" }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Signal { name: "clicked" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.impl/RadioIndicator 2.0"
- exports: ["QtQuick.Controls.impl/RadioIndicator 2.0"]
+ prototype: "QQuickCheckBox"
+ name: "QtQuick.Controls/CheckBox 2.0"
+ exports: ["QtQuick.Controls/CheckBox 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
}
Component {
- prototype: "QQuickRangeSlider"
- name: "QtQuick.Controls/RangeSlider 2.0"
- exports: ["QtQuick.Controls/RangeSlider 2.0"]
+ prototype: "QQuickCheckDelegate"
+ name: "QtQuick.Controls/CheckDelegate 2.0"
+ exports: ["QtQuick.Controls/CheckDelegate 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
}
Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Material.impl/RectangularGlow 2.0"
- exports: ["QtQuick.Controls.Material.impl/RectangularGlow 2.0"]
+ prototype: "QQuickRectangle"
+ name: "QtQuick.Controls.Universal.impl/CheckIndicator 2.0"
+ exports: ["QtQuick.Controls.Universal.impl/CheckIndicator 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
- 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" }
+ Property { name: "control"; type: "QQuickItem"; isPointer: true }
+ Property { name: "partiallyChecked"; type: "bool"; isReadonly: true }
}
Component {
- prototype: "QQuickRoundButton"
- name: "QtQuick.Controls/RoundButton 2.1"
- exports: ["QtQuick.Controls/RoundButton 2.1"]
- exportMetaObjectRevisions: [1]
+ prototype: "QQuickRectangle"
+ name: "QtQuick.Controls.Fusion.impl/CheckIndicator 2.3"
+ exports: ["QtQuick.Controls.Fusion.impl/CheckIndicator 2.3"]
+ exportMetaObjectRevisions: [3]
isComposite: true
defaultProperty: "data"
+ Property { name: "control"; type: "QQuickItem"; isPointer: true }
+ Property { name: "pressedColor"; type: "QColor"; isReadonly: true }
+ Property { name: "checkMarkColor"; type: "QColor"; isReadonly: true }
}
Component {
- prototype: "QQuickScrollBar"
- name: "QtQuick.Controls/ScrollBar 2.0"
- exports: ["QtQuick.Controls/ScrollBar 2.0"]
+ 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: "QQuickScrollIndicator"
- name: "QtQuick.Controls/ScrollIndicator 2.0"
- exports: ["QtQuick.Controls/ScrollIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickScrollView"
- name: "QtQuick.Controls/ScrollView 2.2"
- exports: ["QtQuick.Controls/ScrollView 2.2"]
- exportMetaObjectRevisions: [2]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickPage"
- name: "org.kde.kirigami/ScrollablePage 2.0"
- exports: ["org.kde.kirigami/ScrollablePage 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "mainItem"
- Property { name: "mainItem"; type: "QObject"; isPointer: true }
- Property { name: "keyboardNavigationEnabled"; type: "bool" }
- Property { name: "refreshing"; type: "bool" }
- Property { name: "supportsRefreshing"; type: "bool" }
- Property { name: "flickable"; type: "QQuickFlickable"; isPointer: true }
- Property { name: "isCurrentPage"; type: "bool"; isReadonly: true }
- Property { name: "contextualActions"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "mainAction"; type: "QObject"; isPointer: true }
- Property { name: "leftAction"; type: "QObject"; isPointer: true }
- Property { name: "rightAction"; type: "QObject"; isPointer: true }
- Property {
- name: "actions"
- type: "PageActionPropertyGroup_QMLTYPE_29"
- isReadonly: true
- isPointer: true
- }
- Signal {
- name: "backRequested"
- Parameter { name: "event"; type: "QVariant" }
- }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "org.kde.kirigami/Separator 2.0"
- exports: ["org.kde.kirigami/Separator 2.0"]
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Extras.Private/CircularButton 1.0"
+ exports: ["QtQuick.Extras.Private/CircularButton 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
+ Property { name: "isDefault"; type: "bool" }
+ Property { name: "menu"; type: "Menu_QMLTYPE_114"; isPointer: true }
+ Property { name: "checkable"; type: "bool" }
+ Property { name: "checked"; type: "bool" }
+ Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
+ Property { name: "action"; type: "QQuickAction1"; isPointer: true }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "text"; type: "string" }
+ Property { name: "tooltip"; type: "string" }
+ Property { name: "iconSource"; type: "QUrl" }
+ Property { name: "iconName"; type: "string" }
+ Property { name: "__position"; type: "string" }
+ Property { name: "__iconOverriden"; type: "bool"; isReadonly: true }
+ Property { name: "__action"; type: "QQuickAction1"; isPointer: true }
+ Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true }
+ Property { name: "__behavior"; type: "QVariant" }
+ Property { name: "__effectivePressed"; type: "bool" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Signal { name: "clicked" }
+ Method { name: "accessiblePressAction"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
- prototype: "QQuickSlider"
- name: "QtQuick.Controls/Slider 2.0"
- exports: ["QtQuick.Controls/Slider 2.0"]
+ prototype: "QObject"
+ name: "QtQuick.Extras.Private/CircularButtonStyleHelper 1.0"
+ exports: ["QtQuick.Extras.Private/CircularButtonStyleHelper 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "data"
+ Property { name: "control"; type: "QQuickItem"; isPointer: true }
+ Property { name: "buttonColorUpTop"; type: "QColor" }
+ Property { name: "buttonColorUpBottom"; type: "QColor" }
+ Property { name: "buttonColorDownTop"; type: "QColor" }
+ Property { name: "buttonColorDownBottom"; type: "QColor" }
+ Property { name: "outerArcColorTop"; type: "QColor" }
+ Property { name: "outerArcColorBottom"; type: "QColor" }
+ Property { name: "innerArcColorTop"; type: "QColor" }
+ Property { name: "innerArcColorBottom"; type: "QColor" }
+ Property { name: "innerArcColorBottomStop"; type: "double" }
+ Property { name: "shineColor"; type: "QColor" }
+ Property { name: "smallestAxis"; type: "double" }
+ Property { name: "outerArcLineWidth"; type: "double" }
+ Property { name: "innerArcLineWidth"; type: "double" }
+ Property { name: "shineArcLineWidth"; type: "double" }
+ Property { name: "implicitWidth"; type: "double" }
+ Property { name: "implicitHeight"; type: "double" }
+ Property { name: "textColorUp"; type: "QColor" }
+ Property { name: "textColorDown"; type: "QColor" }
+ Property { name: "textRaisedColorUp"; type: "QColor" }
+ Property { name: "textRaisedColorDown"; type: "QColor" }
+ Property { name: "radius"; type: "double" }
+ Property { name: "halfRadius"; type: "double" }
+ Property { name: "outerArcRadius"; type: "double" }
+ Property { name: "innerArcRadius"; type: "double" }
+ Property { name: "shineArcRadius"; type: "double" }
+ Property { name: "zeroAngle"; type: "double" }
+ Property { name: "buttonColorTop"; type: "QColor" }
+ Property { name: "buttonColorBottom"; type: "QColor" }
+ Method {
+ name: "toPixels"
+ type: "QVariant"
+ Parameter { name: "percentageOfSmallestAxis"; type: "QVariant" }
+ }
+ Method {
+ name: "paintBackground"
+ type: "QVariant"
+ Parameter { name: "ctx"; type: "QVariant" }
+ }
}
Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Material.impl/SliderHandle 2.0"
- exports: ["QtQuick.Controls.Material.impl/SliderHandle 2.0"]
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Extras/CircularGauge 1.0"
+ exports: ["QtQuick.Extras/CircularGauge 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
+ Property { name: "tickmarksVisible"; type: "bool" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
Property { name: "value"; type: "double" }
- Property { name: "handleHasFocus"; type: "bool" }
- Property { name: "handlePressed"; type: "bool" }
- Property { name: "handleHovered"; 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"
+ Property { name: "stepSize"; type: "double" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/StatusIndicator 1.1"
- exports: ["QtQuick.Extras/StatusIndicator 1.1"]
- exportMetaObjectRevisions: [1]
+ name: "QtQuick.Extras.Private/CircularTickmarkLabel 1.0"
+ exports: ["QtQuick.Extras.Private/CircularTickmarkLabel 1.0"]
+ exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
- Property { name: "active"; type: "bool" }
- Property { name: "color"; type: "QColor" }
- Property { name: "on"; type: "bool" }
+ Property { name: "minimumValueAngle"; type: "double" }
+ Property { name: "maximumValueAngle"; type: "double" }
+ Property { name: "angleRange"; type: "double"; isReadonly: true }
+ Property { name: "tickmarkStepSize"; type: "double" }
+ Property { name: "tickmarkInset"; type: "double" }
+ Property { name: "tickmarkCount"; type: "int"; isReadonly: true }
+ Property { name: "minorTickmarkCount"; type: "int" }
+ Property { name: "minorTickmarkInset"; type: "double" }
+ Property { name: "labelInset"; type: "double" }
+ Property { name: "labelStepSize"; type: "double" }
+ Property { name: "labelCount"; type: "int"; isReadonly: true }
+ Property { name: "__tickmarkCount"; type: "double"; isReadonly: true }
+ Property { name: "tickmarksVisible"; type: "bool" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "stepSize"; type: "double" }
+ Method {
+ name: "valueToAngle"
+ type: "QVariant"
+ Parameter { name: "value"; type: "QVariant" }
+ }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
Property { name: "__style"; type: "QObject"; isPointer: true }
Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
Property { name: "styleHints"; type: "QVariant" }
Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/StatusIndicator 1.0"
- exports: ["QtQuick.Extras/StatusIndicator 1.0"]
+ name: "QtQuick.Controls/ComboBox 1.0"
+ exports: ["QtQuick.Controls/ComboBox 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
- Property { name: "active"; type: "bool" }
- Property { name: "color"; type: "QColor" }
- Property { name: "on"; type: "bool" }
+ Property { name: "textRole"; type: "string" }
+ Property { name: "editable"; type: "bool" }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Property { name: "menu"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "selectByMouse"; type: "bool" }
+ Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true }
+ Property { name: "__popup"; type: "QVariant" }
+ Property { name: "model"; type: "QVariant" }
+ Property { name: "currentIndex"; type: "int" }
+ Property { name: "currentText"; type: "string"; isReadonly: true }
+ Property { name: "editText"; type: "string" }
+ Property { name: "inputMethodHints"; type: "int" }
+ Property { name: "count"; type: "int"; isReadonly: true }
+ Property { name: "validator"; type: "QValidator"; isPointer: true }
+ Property { name: "acceptableInput"; type: "bool"; isReadonly: true }
+ Signal { name: "accepted" }
+ Signal {
+ name: "activated"
+ Parameter { name: "index"; type: "int" }
+ }
+ Method {
+ name: "textAt"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "find"
+ type: "QVariant"
+ Parameter { name: "text"; type: "QVariant" }
+ }
+ Method { name: "selectAll"; type: "QVariant" }
+ Method { name: "__selectPrevItem"; type: "QVariant" }
+ Method { name: "__selectNextItem"; type: "QVariant" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
Property { name: "__style"; type: "QObject"; isPointer: true }
Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
Property { name: "styleHints"; type: "QVariant" }
Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
- prototype: "QQuickSwipeDelegate"
- name: "QtQuick.Controls/SwipeDelegate 2.0"
- exports: ["QtQuick.Controls/SwipeDelegate 2.0"]
+ prototype: "QQuickComboBox"
+ name: "QtQuick.Controls/ComboBox 2.0"
+ exports: ["QtQuick.Controls/ComboBox 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
}
Component {
- prototype: "QQuickItemDelegate"
- name: "org.kde.kirigami/SwipeListItem 2.0"
- exports: ["org.kde.kirigami/SwipeListItem 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "_default"
- Property { name: "sectionDelegate"; type: "bool" }
- Property { name: "separatorVisible"; type: "bool" }
- Property { name: "actions"; type: "Action_QMLTYPE_26"; isList: true; isReadonly: true }
- Property { name: "textColor"; type: "QColor" }
- Property { name: "backgroundColor"; type: "QColor" }
- Property { name: "activeTextColor"; type: "QColor" }
- Property { name: "activeBackgroundColor"; type: "QColor" }
- Property { name: "supportsMouseEvents"; type: "bool" }
- Property { name: "containsMouse"; type: "bool"; isReadonly: true }
- Property { name: "_default"; type: "QQuickItem"; isPointer: true }
- }
- Component {
- prototype: "QQuickSwipeView"
- name: "QtQuick.Controls/SwipeView 2.0"
- exports: ["QtQuick.Controls/SwipeView 2.0"]
+ prototype: "QQuickContainer"
+ name: "QtQuick.Controls/Container 2.0"
+ exports: ["QtQuick.Controls/Container 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"]
+ prototype: "QQuickDrawer"
+ name: "ContextDrawer 2.0"
+ exports: ["ContextDrawer 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
- defaultProperty: "data"
+ defaultProperty: "contentData"
+ Property { name: "title"; type: "string" }
+ Property { name: "actions"; type: "QVariant" }
+ Property { name: "drawerOpen"; type: "bool" }
+ Property { name: "enabled"; type: "bool" }
+ Property { name: "peeking"; type: "bool" }
+ Property { name: "animating"; type: "bool"; isReadonly: true }
+ Property { name: "handleVisible"; type: "bool" }
+ Property { name: "handle"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__internal"; type: "QObject"; isPointer: true }
}
Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Material.impl/SwitchIndicator 2.0"
- exports: ["QtQuick.Controls.Material.impl/SwitchIndicator 2.0"]
+ prototype: "QQuickControl"
+ name: "QtQuick.Controls/Control 2.0"
+ exports: ["QtQuick.Controls/Control 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "handle"; type: "QQuickRectangle"; isReadonly: true; isPointer: true }
}
Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Universal.impl/SwitchIndicator 2.0"
- exports: ["QtQuick.Controls.Universal.impl/SwitchIndicator 2.0"]
+ prototype: "QQuickRectangle"
+ name: "QtQuick.Controls.Material.impl/CursorDelegate 2.0"
+ exports: ["QtQuick.Controls.Material.impl/CursorDelegate 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"]
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Extras/DelayButton 1.0"
+ exports: ["QtQuick.Extras/DelayButton 1.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"]
+ Property { name: "delay"; type: "int" }
+ Property { name: "__progress"; type: "double" }
+ Property { name: "progress"; type: "double"; isReadonly: true }
+ Signal { name: "activated" }
+ Property { name: "isDefault"; type: "bool" }
+ Property { name: "menu"; type: "Menu_QMLTYPE_114"; isPointer: true }
+ Property { name: "checkable"; type: "bool" }
+ Property { name: "checked"; type: "bool" }
+ Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
+ Property { name: "action"; type: "QQuickAction1"; isPointer: true }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "text"; type: "string" }
+ Property { name: "tooltip"; type: "string" }
+ Property { name: "iconSource"; type: "QUrl" }
+ Property { name: "iconName"; type: "string" }
+ Property { name: "__position"; type: "string" }
+ Property { name: "__iconOverriden"; type: "bool"; isReadonly: true }
+ Property { name: "__action"; type: "QQuickAction1"; isPointer: true }
+ Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true }
+ Property { name: "__behavior"; type: "QVariant" }
+ Property { name: "__effectivePressed"; type: "bool" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Signal { name: "clicked" }
+ Method { name: "accessiblePressAction"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickDelayButton"
+ name: "QtQuick.Controls/DelayButton 2.2"
+ exports: ["QtQuick.Controls/DelayButton 2.2"]
+ exportMetaObjectRevisions: [2]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Extras/Dial 1.1"
+ exports: ["QtQuick.Extras/Dial 1.1"]
+ exportMetaObjectRevisions: [1]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "__wrap"; type: "bool" }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "tickmarksVisible"; type: "bool" }
+ Property { name: "value"; type: "double" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Property { name: "stepSize"; type: "double" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Extras/Dial 1.0"
+ exports: ["QtQuick.Extras/Dial 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "__wrap"; type: "bool" }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "tickmarksVisible"; type: "bool" }
+ Property { name: "value"; type: "double" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Property { name: "stepSize"; type: "double" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickDial"
+ name: "QtQuick.Controls/Dial 2.0"
+ exports: ["QtQuick.Controls/Dial 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickDialog"
+ name: "QtQuick.Controls/Dialog 2.1"
+ exports: ["QtQuick.Controls/Dialog 2.1"]
+ exportMetaObjectRevisions: [1]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QQuickDialogButtonBox"
+ name: "QtQuick.Controls/DialogButtonBox 2.1"
+ exports: ["QtQuick.Controls/DialogButtonBox 2.1"]
+ exportMetaObjectRevisions: [1]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QQuickDrawer"
+ name: "QtQuick.Controls/Drawer 2.0"
+ exports: ["QtQuick.Controls/Drawer 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "contentData"
}
Component {
- prototype: "QQuickTabButton"
- name: "QtQuick.Controls/TabButton 2.0"
- exports: ["QtQuick.Controls/TabButton 2.0"]
+ 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: "QQuickControl"
+ name: "FormLayout 2.3"
+ exports: ["FormLayout 2.3"]
+ exportMetaObjectRevisions: [3]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "wideMode"; type: "bool" }
+ }
+ Component {
+ prototype: "QQuickFrame"
+ name: "QtQuick.Controls/Frame 2.0"
+ exports: ["QtQuick.Controls/Frame 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Extras/Gauge 1.0"
+ exports: ["QtQuick.Extras/Gauge 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "orientation"; type: "int" }
+ Property { name: "tickmarkAlignment"; type: "int" }
+ Property { name: "__tickmarkAlignment"; type: "int" }
+ Property { name: "__tickmarksInside"; type: "bool" }
+ Property { name: "tickmarkStepSize"; type: "double" }
+ Property { name: "minorTickmarkCount"; type: "int" }
+ Property { name: "formatValue"; type: "QVariant" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "value"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "font"; type: "QFont" }
+ Property { name: "__hiddenText"; type: "QQuickText"; isReadonly: true; isPointer: true }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickDrawer"
+ name: "GlobalDrawer 2.0"
+ exports: ["GlobalDrawer 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "content"
+ Property { name: "actions"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "resetMenuOnTriggered"; type: "bool" }
+ Property { name: "currentSubMenu"; type: "Action_QMLTYPE_37"; isReadonly: true; isPointer: true }
+ Property { name: "title"; type: "string" }
+ Property { name: "titleIcon"; type: "QVariant" }
+ Property { name: "bannerImageSource"; type: "QUrl" }
+ Property { name: "content"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "topContent"; type: "QObject"; isList: true; isReadonly: true }
+ Signal { name: "bannerClicked" }
+ Method { name: "resetMenu"; type: "QVariant" }
+ Property { name: "drawerOpen"; type: "bool" }
+ Property { name: "enabled"; type: "bool" }
+ Property { name: "peeking"; type: "bool" }
+ Property { name: "animating"; type: "bool"; isReadonly: true }
+ Property { name: "handleVisible"; type: "bool" }
+ Property { name: "handle"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__internal"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/GroupBox 1.0"
+ exports: ["QtQuick.Controls/GroupBox 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "__content"
+ Property { name: "title"; type: "string" }
+ Property { name: "flat"; type: "bool" }
+ Property { name: "checkable"; type: "bool" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "checked"; type: "bool" }
+ Property { name: "__content"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__checkbox"; type: "CheckBox_QMLTYPE_158"; isReadonly: true; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isReadonly: true; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickGroupBox"
+ name: "QtQuick.Controls/GroupBox 2.0"
+ exports: ["QtQuick.Controls/GroupBox 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QQuickLabel"
+ name: "Heading 2.0"
+ exports: ["Heading 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "level"; type: "int" }
+ Property { name: "step"; type: "int" }
+ Method {
+ name: "headerPointSize"
+ type: "QVariant"
+ Parameter { name: "l"; type: "QVariant" }
+ }
+ }
+ Component {
+ prototype: "QQuickItemDelegate"
+ name: "QtQuick.Controls/ItemDelegate 2.0"
+ exports: ["QtQuick.Controls/ItemDelegate 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickControl"
+ name: "ItemViewHeader 2.1"
+ exports: ["ItemViewHeader 2.1"]
+ exportMetaObjectRevisions: [1]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "title"; type: "string" }
+ Property { name: "color"; type: "QColor" }
+ Property { name: "backgroundImage"; type: "QQuickImage"; isReadonly: true; isPointer: true }
+ Property { name: "minimumHeight"; type: "int" }
+ Property { name: "maximumHeight"; type: "int" }
+ Property { name: "view"; type: "QQuickListView"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickText"
+ name: "QtQuick.Controls/Label 1.0"
+ exports: ["QtQuick.Controls/Label 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickLabel"
+ name: "Label 2.0"
+ exports: ["Label 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: "QQuickTextArea"
- name: "QtQuick.Controls/TextArea 2.0"
- exports: ["QtQuick.Controls/TextArea 2.0"]
+ prototype: "QQuickMenu"
+ name: "QtQuick.Controls/Menu 2.0"
+ exports: ["QtQuick.Controls/Menu 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QObject"
+ name: "QtQuick.Controls/Menu 1.0"
+ exports: ["QtQuick.Controls/Menu 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "items"
+ Property { name: "__selfComponent"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__usingDefaultStyle"; type: "bool" }
+ Property { name: "__parentContentItem"; type: "QVariant" }
+ Property { name: "__currentIndex"; type: "int" }
+ Method {
+ name: "addMenu"
+ type: "QVariant"
+ Parameter { name: "title"; type: "QVariant" }
+ }
+ Method {
+ name: "insertMenu"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ Parameter { name: "title"; type: "QVariant" }
+ }
+ Property { name: "title"; type: "string" }
+ Property { name: "items"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "__selectedIndex"; type: "int" }
+ Property { name: "__popupVisible"; type: "bool"; isReadonly: true }
+ Property { name: "__contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__minimumWidth"; type: "int" }
+ Property { name: "__font"; type: "QFont" }
+ Property { name: "__xOffset"; type: "double" }
+ Property { name: "__yOffset"; type: "double" }
+ Property { name: "__action"; type: "QQuickAction1"; isReadonly: true; isPointer: true }
+ Property { name: "__popupGeometry"; type: "QRect"; isReadonly: true }
+ Property { name: "__isProxy"; type: "bool" }
+ Signal { name: "aboutToShow" }
+ Signal { name: "aboutToHide" }
+ Signal { name: "popupVisibleChanged" }
+ Signal { name: "__menuPopupDestroyed" }
+ Signal { name: "menuContentItemChanged" }
+ Signal { name: "minimumWidthChanged" }
+ Signal { name: "__proxyChanged" }
+ Method { name: "__dismissMenu" }
+ Method { name: "__closeAndDestroy" }
+ Method { name: "__dismissAndDestroy" }
+ Method { name: "popup" }
+ Method {
+ name: "addItem"
+ type: "QQuickMenuItem1*"
+ Parameter { type: "string" }
+ }
+ Method {
+ name: "insertItem"
+ type: "QQuickMenuItem1*"
+ Parameter { type: "int" }
+ Parameter { type: "string" }
+ }
+ Method { name: "addSeparator" }
+ Method {
+ name: "insertSeparator"
+ Parameter { type: "int" }
+ }
+ Method {
+ name: "removeItem"
+ Parameter { type: "QQuickMenuBase1"; isPointer: true }
+ }
+ Method { name: "clear" }
+ Method {
+ name: "__popup"
+ Parameter { name: "targetRect"; type: "QRectF" }
+ Parameter { name: "atItemIndex"; type: "int" }
+ Parameter { name: "menuType"; type: "MenuType" }
+ }
+ Method {
+ name: "__popup"
+ Parameter { name: "targetRect"; type: "QRectF" }
+ Parameter { name: "atItemIndex"; type: "int" }
+ }
+ Method {
+ name: "__popup"
+ Parameter { name: "targetRect"; type: "QRectF" }
+ }
+ Property { name: "enabled"; type: "bool" }
+ Property { name: "iconSource"; type: "QUrl" }
+ Property { name: "iconName"; type: "string" }
+ Property { name: "__icon"; type: "QVariant"; isReadonly: true }
+ Signal { name: "__textChanged" }
+ Property { name: "visible"; type: "bool" }
+ Property { name: "type"; type: "QQuickMenuItemType1::MenuItemType"; isReadonly: true }
+ Property { name: "__parentMenu"; type: "QObject"; isReadonly: true; isPointer: true }
+ Property { name: "__isNative"; type: "bool"; isReadonly: true }
+ Property { name: "__visualItem"; type: "QQuickItem"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickMenuBar"
+ name: "QtQuick.Controls/MenuBar 2.3"
+ exports: ["QtQuick.Controls/MenuBar 2.3"]
+ exportMetaObjectRevisions: [3]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QObject"
+ name: "QtQuick.Controls/MenuBar 1.0"
+ exports: ["QtQuick.Controls/MenuBar 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "menus"
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__menuBarComponent"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "menus"; type: "QQuickMenu1"; isList: true; isReadonly: true }
+ Property { name: "__contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__parentWindow"; type: "QQuickWindow"; isPointer: true }
+ Property { name: "__isNative"; type: "bool" }
+ Signal { name: "nativeChanged" }
+ Signal { name: "contentItemChanged" }
+ }
+ Component {
+ prototype: "QQuickMenuBarItem"
+ name: "QtQuick.Controls/MenuBarItem 2.3"
+ exports: ["QtQuick.Controls/MenuBarItem 2.3"]
+ exportMetaObjectRevisions: [3]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickMenuItem"
+ name: "QtQuick.Controls/MenuItem 2.0"
+ exports: ["QtQuick.Controls/MenuItem 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickMenuSeparator"
+ name: "QtQuick.Controls/MenuSeparator 2.1"
+ exports: ["QtQuick.Controls/MenuSeparator 2.1"]
+ exportMetaObjectRevisions: [1]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickDrawer"
+ name: "OverlayDrawer 2.0"
+ exports: ["OverlayDrawer 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentData"
+ Property { name: "drawerOpen"; type: "bool" }
+ Property { name: "enabled"; type: "bool" }
+ Property { name: "peeking"; type: "bool" }
+ Property { name: "animating"; type: "bool"; isReadonly: true }
+ Property { name: "handleVisible"; type: "bool" }
+ Property { name: "handle"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__internal"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QObject"
+ name: "OverlaySheet 2.0"
+ exports: ["OverlaySheet 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentItem"
+ Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "sheetOpen"; type: "bool" }
+ Property { name: "leftPadding"; type: "int" }
+ Property { name: "topPadding"; type: "int" }
+ Property { name: "rightPadding"; type: "int" }
+ Property { name: "bottomPadding"; type: "int" }
+ Property { name: "header"; type: "QQuickItem"; isPointer: true }
+ Property { name: "footer"; type: "QQuickItem"; isPointer: true }
+ Property { name: "background"; type: "QQuickItem"; isPointer: true }
+ Property { name: "parent"; type: "QQuickItem"; isPointer: true }
+ Property { name: "rootItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Method { name: "open"; type: "QVariant" }
+ Method { name: "close"; type: "QVariant" }
+ }
+ Component {
+ prototype: "QQuickPage"
+ name: "Page 2.0"
+ exports: ["Page 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentData"
+ Property { name: "flickable"; type: "QQuickFlickable"; isPointer: true }
+ Property { name: "isCurrentPage"; type: "bool"; isReadonly: true }
+ Property { name: "contextualActions"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "mainAction"; type: "QObject"; isPointer: true }
+ Property { name: "leftAction"; type: "QObject"; isPointer: true }
+ Property { name: "rightAction"; type: "QObject"; isPointer: true }
+ Property {
+ name: "actions"
+ type: "PageActionPropertyGroup_QMLTYPE_39"
+ isReadonly: true
+ isPointer: true
+ }
+ Signal {
+ name: "backRequested"
+ Parameter { name: "event"; type: "QVariant" }
+ }
+ }
+ 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: "QQuickControl"
+ name: "PageRow 2.0"
+ exports: ["PageRow 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "depth"; type: "int"; isReadonly: true }
+ Property { name: "lastItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "initialPage"; type: "QVariant" }
+ Property { name: "defaultColumnWidth"; type: "int" }
+ Property { name: "wideMode"; type: "bool"; isReadonly: true }
+ Property { name: "separatorVisible"; type: "bool" }
+ Property { name: "currentIndex"; type: "int" }
+ Property { name: "interactive"; type: "bool" }
+ Property { name: "layers"; type: "QQuickStackView"; isReadonly: true; isPointer: true }
+ Method {
+ name: "push"
+ type: "QVariant"
+ Parameter { name: "page"; type: "QVariant" }
+ Parameter { name: "properties"; type: "QVariant" }
+ }
+ Method {
+ name: "pop"
+ type: "QVariant"
+ Parameter { name: "page"; type: "QVariant" }
+ }
+ Method {
+ name: "replace"
+ type: "QVariant"
+ Parameter { name: "page"; type: "QVariant" }
+ Parameter { name: "properties"; type: "QVariant" }
+ }
+ Method { name: "clear"; type: "QVariant" }
+ Method {
+ name: "get"
+ type: "QVariant"
+ Parameter { name: "idx"; type: "QVariant" }
+ }
+ Method { name: "flickBack"; type: "QVariant" }
+ }
+ Component {
+ prototype: "QQuickPane"
+ name: "QtQuick.Controls/Pane 2.0"
+ exports: ["QtQuick.Controls/Pane 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Extras/PieMenu 1.0"
+ exports: ["QtQuick.Extras/PieMenu 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "menuItems"
+ Property { name: "selectionAngle"; type: "double"; isReadonly: true }
+ Property { name: "triggerMode"; type: "int" }
+ Property { name: "title"; type: "string" }
+ Property { name: "boundingItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__protectedScope"; type: "QObject"; isPointer: true }
+ Property { name: "activationMode"; type: "int" }
+ Property { name: "menuItems"; type: "QQuickMenuItem1"; isList: true; isReadonly: true }
+ Property { name: "currentIndex"; type: "int"; isReadonly: true }
+ Property { name: "currentItem"; type: "QQuickMenuItem1"; isReadonly: true; isPointer: true }
+ Property { name: "__mouseThief"; type: "QQuickMouseThief"; isReadonly: true; isPointer: true }
+ Method {
+ name: "popup"
+ type: "QVariant"
+ Parameter { name: "x"; type: "QVariant" }
+ Parameter { name: "y"; type: "QVariant" }
+ }
+ Method {
+ name: "addItem"
+ type: "QVariant"
+ Parameter { name: "text"; type: "QVariant" }
+ }
+ Method {
+ name: "insertItem"
+ type: "QVariant"
+ Parameter { name: "before"; type: "QVariant" }
+ Parameter { name: "text"; type: "QVariant" }
+ }
+ Method {
+ name: "removeItem"
+ type: "QVariant"
+ Parameter { name: "item"; type: "QVariant" }
+ }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickLoader"
+ name: "QtQuick.Extras.Private/PieMenuIcon 1.0"
+ exports: ["QtQuick.Extras.Private/PieMenuIcon 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "control"; type: "PieMenu_QMLTYPE_292"; isPointer: true }
+ Property { name: "styleData"; type: "QObject"; isPointer: true }
+ Property { name: "iconSource"; type: "string"; isReadonly: true }
+ }
+ Component {
+ prototype: "QQuickPopup"
+ name: "QtQuick.Controls/Popup 2.0"
+ exports: ["QtQuick.Controls/Popup 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/ProgressBar 1.0"
+ exports: ["QtQuick.Controls/ProgressBar 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "value"; type: "double" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "indeterminate"; type: "bool" }
+ Property { name: "orientation"; type: "int" }
+ Property { name: "__initialized"; type: "bool" }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Method {
+ name: "setValue"
+ type: "QVariant"
+ Parameter { name: "v"; type: "QVariant" }
+ }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ 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: "QQuickFocusScope"
+ name: "QtQuick.Controls/RadioButton 1.0"
+ exports: ["QtQuick.Controls/RadioButton 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "checked"; type: "bool" }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
+ Property { name: "text"; type: "string" }
+ Property { name: "tooltip"; type: "string" }
+ Property { name: "__cycleStatesHandler"; type: "QVariant" }
+ Property { name: "pressed"; type: "bool" }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Signal { name: "clicked" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ 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.Fusion.impl/RadioIndicator 2.3"
+ exports: ["QtQuick.Controls.Fusion.impl/RadioIndicator 2.3"]
+ exportMetaObjectRevisions: [3]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "control"; type: "QQuickItem"; isPointer: true }
+ Property { name: "pressedColor"; type: "QColor"; isReadonly: true }
+ Property { name: "checkMarkColor"; type: "QColor"; isReadonly: true }
+ }
+ Component {
+ prototype: "QQuickRectangle"
+ name: "QtQuick.Controls.Material.impl/RadioIndicator 2.0"
+ exports: ["QtQuick.Controls.Material.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: "QQuickItem"
+ name: "QtQuick.Controls.Material.impl/RectangularGlow 2.0"
+ exports: ["QtQuick.Controls.Material.impl/RectangularGlow 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ 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: "QQuickRoundButton"
+ name: "QtQuick.Controls/RoundButton 2.1"
+ exports: ["QtQuick.Controls/RoundButton 2.1"]
+ exportMetaObjectRevisions: [1]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ 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: "QQuickScrollView"
+ name: "QtQuick.Controls/ScrollView 2.2"
+ exports: ["QtQuick.Controls/ScrollView 2.2"]
+ exportMetaObjectRevisions: [2]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/ScrollView 1.0"
+ exports: ["QtQuick.Controls/ScrollView 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentItem"
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "highlightOnFocus"; type: "bool" }
+ Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__scrollBarTopMargin"; type: "int" }
+ Property { name: "__viewTopMargin"; type: "int" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_62"; isPointer: true }
+ Property { name: "horizontalScrollBarPolicy"; type: "int" }
+ Property { name: "verticalScrollBarPolicy"; type: "int" }
+ Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
+ Property {
+ name: "__scroller"
+ type: "ScrollViewHelper_QMLTYPE_95"
+ isReadonly: true
+ isPointer: true
+ }
+ Property { name: "__verticalScrollbarOffset"; type: "int" }
+ Property { name: "__wheelAreaScrollSpeed"; type: "double" }
+ Property {
+ name: "__horizontalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ Property {
+ name: "__verticalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ }
+ Component {
+ prototype: "QQuickPage"
+ name: "ScrollablePage 2.0"
+ exports: ["ScrollablePage 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "mainItem"
+ Property { name: "mainItem"; type: "QObject"; isPointer: true }
+ Property { name: "keyboardNavigationEnabled"; type: "bool" }
+ Property { name: "refreshing"; type: "bool" }
+ Property { name: "supportsRefreshing"; type: "bool" }
+ Property { name: "flickable"; type: "QQuickFlickable"; isPointer: true }
+ Property { name: "verticalScrollBarPolicy"; type: "int" }
+ Property { name: "horizontalScrollBarPolicy"; type: "int" }
+ Property { name: "isCurrentPage"; type: "bool"; isReadonly: true }
+ Property { name: "contextualActions"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "mainAction"; type: "QObject"; isPointer: true }
+ Property { name: "leftAction"; type: "QObject"; isPointer: true }
+ Property { name: "rightAction"; type: "QObject"; isPointer: true }
+ Property {
+ name: "actions"
+ type: "PageActionPropertyGroup_QMLTYPE_39"
+ isReadonly: true
+ isPointer: true
+ }
+ Signal {
+ name: "backRequested"
+ Parameter { name: "event"; type: "QVariant" }
+ }
+ }
+ Component {
+ prototype: "QQuickRectangle"
+ name: "Separator 2.0"
+ exports: ["Separator 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/Slider 1.6"
+ exports: ["QtQuick.Controls/Slider 1.6"]
+ exportMetaObjectRevisions: [6]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "orientation"; type: "int" }
+ Property { name: "updateValueWhileDragging"; type: "bool" }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "tickmarksEnabled"; type: "bool" }
+ Property { name: "__horizontal"; type: "bool" }
+ Property { name: "__handlePos"; type: "double" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Property { name: "stepSize"; type: "double" }
+ Property { name: "value"; type: "double" }
+ Property { name: "wheelEnabled"; type: "bool" }
+ Method { name: "accessibleIncreaseAction"; type: "QVariant" }
+ Method { name: "accessibleDecreaseAction"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/Slider 1.0"
+ exports: ["QtQuick.Controls/Slider 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "orientation"; type: "int" }
+ Property { name: "updateValueWhileDragging"; type: "bool" }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "tickmarksEnabled"; type: "bool" }
+ Property { name: "__horizontal"; type: "bool" }
+ Property { name: "__handlePos"; type: "double" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Property { name: "stepSize"; type: "double" }
+ Property { name: "value"; type: "double" }
+ Property { name: "wheelEnabled"; type: "bool" }
+ Method { name: "accessibleIncreaseAction"; type: "QVariant" }
+ Method { name: "accessibleDecreaseAction"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickSlider"
+ name: "QtQuick.Controls/Slider 2.0"
+ exports: ["QtQuick.Controls/Slider 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickRectangle"
+ name: "QtQuick.Controls.Fusion.impl/SliderGroove 2.3"
+ exports: ["QtQuick.Controls.Fusion.impl/SliderGroove 2.3"]
+ exportMetaObjectRevisions: [3]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "control"; type: "QQuickItem"; isPointer: true }
+ Property { name: "offset"; type: "double" }
+ Property { name: "progress"; type: "double" }
+ Property { name: "visualProgress"; type: "double" }
+ }
+ Component {
+ prototype: "QQuickRectangle"
+ name: "QtQuick.Controls.Fusion.impl/SliderHandle 2.3"
+ exports: ["QtQuick.Controls.Fusion.impl/SliderHandle 2.3"]
+ exportMetaObjectRevisions: [3]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "palette"; type: "QVariant" }
+ Property { name: "pressed"; type: "bool" }
+ Property { name: "hovered"; type: "bool" }
+ Property { name: "vertical"; type: "bool" }
+ Property { name: "visualFocus"; type: "bool" }
+ }
+ 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: "handleHovered"; type: "bool" }
+ Property { name: "initialSize"; type: "int"; 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: "QQuickFocusScope"
+ name: "QtQuick.Controls/SpinBox 1.0"
+ exports: ["QtQuick.Controls/SpinBox 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "horizontalAlignment"; type: "int" }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Property { name: "selectByMouse"; type: "bool" }
+ Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true }
+ Property { name: "menu"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "value"; type: "double" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "stepSize"; type: "double" }
+ Property { name: "suffix"; type: "string" }
+ Property { name: "prefix"; type: "string" }
+ Property { name: "decimals"; type: "int" }
+ Property { name: "font"; type: "QFont" }
+ Property { name: "cursorPosition"; type: "int" }
+ Property { name: "__text"; type: "string" }
+ Property { name: "__baselineOffset"; type: "double" }
+ Signal { name: "editingFinished" }
+ Method { name: "__increment"; type: "QVariant" }
+ Method { name: "__decrement"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickItem"
+ name: "QtQuick.Controls/SplitView 1.0"
+ exports: ["QtQuick.Controls/SplitView 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "__contents"
+ Property { name: "orientation"; type: "int" }
+ Property { name: "handleDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "resizing"; type: "bool" }
+ Property { name: "__contents"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "__items"; type: "QQuickItem"; isList: true; isReadonly: true }
+ Property { name: "__handles"; type: "QQuickItem"; isList: true; isReadonly: true }
+ Method {
+ name: "addItem"
+ type: "QVariant"
+ Parameter { name: "item"; type: "QVariant" }
+ }
+ Method {
+ name: "removeItem"
+ type: "QVariant"
+ Parameter { name: "item"; type: "QVariant" }
+ }
+ }
+ Component {
+ prototype: "QQuickStackView"
+ name: "QtQuick.Controls/StackView 2.0"
+ exports: ["QtQuick.Controls/StackView 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/StackView 1.0"
+ exports: ["QtQuick.Controls/StackView 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "initialItem"; type: "QVariant" }
+ Property { name: "busy"; type: "bool"; isReadonly: true }
+ Property { name: "delegate"; type: "StackViewDelegate_QMLTYPE_369"; isPointer: true }
+ Property { name: "__currentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__depth"; type: "int" }
+ Property { name: "__currentTransition"; type: "QVariant" }
+ Property { name: "__guard"; type: "bool" }
+ Property { name: "invalidItemReplacement"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "depth"; type: "int"; isReadonly: true }
+ Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Method {
+ name: "push"
+ type: "QVariant"
+ Parameter { name: "item"; type: "QVariant" }
+ }
+ Method {
+ name: "pop"
+ type: "QVariant"
+ Parameter { name: "item"; type: "QVariant" }
+ }
+ Method { name: "clear"; type: "QVariant" }
+ Method {
+ name: "find"
+ type: "QVariant"
+ Parameter { name: "func"; type: "QVariant" }
+ Parameter { name: "onlySearchLoadedItems"; type: "QVariant" }
+ }
+ Method {
+ name: "get"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ Parameter { name: "dontLoad"; type: "QVariant" }
+ }
+ Method { name: "completeTransition"; type: "QVariant" }
+ Method {
+ name: "replace"
+ type: "QVariant"
+ Parameter { name: "item"; type: "QVariant" }
+ Parameter { name: "properties"; type: "QVariant" }
+ Parameter { name: "immediate"; type: "QVariant" }
+ }
+ Method {
+ name: "__recursionGuard"
+ type: "QVariant"
+ Parameter { name: "use"; type: "QVariant" }
+ }
+ Method {
+ name: "__loadElement"
+ type: "QVariant"
+ Parameter { name: "element"; type: "QVariant" }
+ }
+ Method {
+ name: "__resolveComponent"
+ type: "QVariant"
+ Parameter { name: "unknownObjectType"; type: "QVariant" }
+ Parameter { name: "element"; type: "QVariant" }
+ }
+ Method {
+ name: "__cleanup"
+ type: "QVariant"
+ Parameter { name: "element"; type: "QVariant" }
+ }
+ Method {
+ name: "__setStatus"
+ type: "QVariant"
+ Parameter { name: "item"; type: "QVariant" }
+ Parameter { name: "status"; type: "QVariant" }
+ }
+ Method {
+ name: "__performTransition"
+ type: "QVariant"
+ Parameter { name: "transition"; type: "QVariant" }
+ }
+ Method { name: "animationFinished"; type: "QVariant" }
+ }
+ Component {
+ prototype: "QObject"
+ name: "QtQuick.Controls/StackViewDelegate 1.0"
+ exports: ["QtQuick.Controls/StackViewDelegate 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ Property { name: "pushTransition"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "popTransition"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "replaceTransition"; type: "QQmlComponent"; isPointer: true }
+ Method {
+ name: "getTransition"
+ type: "QVariant"
+ Parameter { name: "properties"; type: "QVariant" }
+ }
+ Method {
+ name: "transitionFinished"
+ type: "QVariant"
+ Parameter { name: "properties"; type: "QVariant" }
+ }
+ }
+ Component {
+ prototype: "QQuickParallelAnimation"
+ name: "QtQuick.Controls/StackViewTransition 1.0"
+ exports: ["QtQuick.Controls/StackViewTransition 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "animations"
+ Property { name: "name"; type: "string" }
+ Property { name: "enterItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "exitItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "immediate"; type: "bool" }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/StatusBar 1.0"
+ exports: ["QtQuick.Controls/StatusBar 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "__content"
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isReadonly: true; isPointer: true }
+ Property { name: "__content"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Extras/StatusIndicator 1.1"
+ exports: ["QtQuick.Extras/StatusIndicator 1.1"]
+ exportMetaObjectRevisions: [1]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "active"; type: "bool" }
+ Property { name: "color"; type: "QColor" }
+ Property { name: "on"; type: "bool" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Extras/StatusIndicator 1.0"
+ exports: ["QtQuick.Extras/StatusIndicator 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "active"; type: "bool" }
+ Property { name: "color"; type: "QColor" }
+ Property { name: "on"; type: "bool" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickSwipeDelegate"
+ name: "QtQuick.Controls/SwipeDelegate 2.0"
+ exports: ["QtQuick.Controls/SwipeDelegate 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickItemDelegate"
+ name: "SwipeListItem 2.0"
+ exports: ["SwipeListItem 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "_default"
+ Property { name: "sectionDelegate"; type: "bool" }
+ Property { name: "separatorVisible"; type: "bool" }
+ Property { name: "actions"; type: "Action_QMLTYPE_37"; isList: true; isReadonly: true }
+ Property { name: "textColor"; type: "QColor" }
+ Property { name: "backgroundColor"; type: "QColor" }
+ Property { name: "activeTextColor"; type: "QColor" }
+ Property { name: "activeBackgroundColor"; type: "QColor" }
+ Property { name: "supportsMouseEvents"; type: "bool" }
+ Property { name: "containsMouse"; type: "bool"; isReadonly: true }
+ Property { name: "_default"; type: "QQuickItem"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickSwipeView"
+ name: "QtQuick.Controls/SwipeView 2.0"
+ exports: ["QtQuick.Controls/SwipeView 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "contentData"
+ }
+ Component {
+ prototype: "QQuickCheckBox"
+ name: "QtQuick.Controls/Switch 2.0"
+ exports: ["QtQuick.Controls/Switch 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/Switch 1.1"
+ exports: ["QtQuick.Controls/Switch 1.1"]
+ exportMetaObjectRevisions: [1]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "checked"; type: "bool" }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Signal { name: "clicked" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickSwitchDelegate"
+ name: "QtQuick.Controls/SwitchDelegate 2.0"
+ exports: ["QtQuick.Controls/SwitchDelegate 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ 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 }
+ Property { name: "handle"; type: "QQuickRectangle"; isReadonly: true; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickRectangle"
+ name: "QtQuick.Controls.Fusion.impl/SwitchIndicator 2.3"
+ exports: ["QtQuick.Controls.Fusion.impl/SwitchIndicator 2.3"]
+ exportMetaObjectRevisions: [3]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "control"; type: "QQuickItem"; isPointer: true }
+ Property { name: "pressedColor"; type: "QColor"; isReadonly: true }
+ Property { name: "checkMarkColor"; type: "QColor"; isReadonly: true }
+ }
+ Component {
+ prototype: "QQuickItem"
+ 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: "QObject"
+ name: "SystemPaletteSingleton 1.0"
+ exports: ["SystemPaletteSingleton 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ isCreatable: false
+ isSingleton: true
+ Property { name: "active"; type: "QQuickSystemPalette"; isPointer: true }
+ Property { name: "disabled"; type: "QQuickSystemPalette"; isPointer: true }
+ Method {
+ name: "alternateBase"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "base"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "button"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "buttonText"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "dark"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "highlight"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "highlightedText"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "light"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "mid"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "midlight"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "shadow"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "text"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "window"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ Method {
+ name: "windowText"
+ type: "QVariant"
+ Parameter { name: "enabled"; type: "QVariant" }
+ }
+ }
+ Component {
+ prototype: "QQuickLoader"
+ name: "QtQuick.Controls/Tab 1.0"
+ exports: ["QtQuick.Controls/Tab 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "component"
+ Property { name: "title"; type: "string" }
+ Property { name: "__inserted"; type: "bool" }
+ Property { name: "component"; type: "QQmlComponent"; 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: "QQuickFocusScope"
+ name: "QtQuick.Controls/TabView 1.0"
+ exports: ["QtQuick.Controls/TabView 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "currentIndex"; type: "int" }
+ Property { name: "count"; type: "int"; isReadonly: true }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "tabsVisible"; type: "bool" }
+ Property { name: "tabPosition"; type: "int" }
+ Property { name: "__tabs"; type: "QQmlListModel"; isPointer: true }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__styleItem"; type: "QVariant" }
+ Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
+ Method {
+ name: "addTab"
+ type: "QVariant"
+ Parameter { name: "title"; type: "QVariant" }
+ Parameter { name: "component"; type: "QVariant" }
+ }
+ Method {
+ name: "insertTab"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ Parameter { name: "title"; type: "QVariant" }
+ Parameter { name: "component"; type: "QVariant" }
+ }
+ Method {
+ name: "removeTab"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "moveTab"
+ type: "QVariant"
+ Parameter { name: "from"; type: "QVariant" }
+ Parameter { name: "to"; type: "QVariant" }
+ }
+ Method {
+ name: "getTab"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "__willRemoveIndex"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "__didInsertIndex"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method { name: "__setOpacities"; type: "QVariant" }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/TableView 1.0"
+ exports: ["QtQuick.Controls/TableView 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "__columns"
+ Property { name: "model"; type: "QVariant" }
+ Property { name: "rowCount"; type: "int"; isReadonly: true }
+ Property { name: "currentRow"; type: "int" }
+ Property {
+ name: "selection"
+ type: "TableViewSelection_QMLTYPE_415"
+ isReadonly: true
+ isPointer: true
+ }
+ Signal {
+ name: "activated"
+ Parameter { name: "row"; type: "int" }
+ }
+ Signal {
+ name: "clicked"
+ Parameter { name: "row"; type: "int" }
+ }
+ Signal {
+ name: "doubleClicked"
+ Parameter { name: "row"; type: "int" }
+ }
+ Signal {
+ name: "pressAndHold"
+ Parameter { name: "row"; type: "int" }
+ }
+ Method {
+ name: "positionViewAtRow"
+ type: "QVariant"
+ Parameter { name: "row"; type: "QVariant" }
+ Parameter { name: "mode"; type: "QVariant" }
+ }
+ Method {
+ name: "rowAt"
+ type: "QVariant"
+ Parameter { name: "x"; type: "QVariant" }
+ Parameter { name: "y"; type: "QVariant" }
+ }
+ Property { name: "alternatingRowColors"; type: "bool" }
+ Property { name: "headerVisible"; type: "bool" }
+ Property { name: "itemDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "rowDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "headerDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "sortIndicatorColumn"; type: "int" }
+ Property { name: "sortIndicatorVisible"; type: "bool" }
+ Property { name: "sortIndicatorOrder"; type: "int" }
+ Property { name: "selectionMode"; type: "int" }
+ Property { name: "__viewTypeName"; type: "string" }
+ Property { name: "__isTreeView"; type: "bool"; isReadonly: true }
+ Property { name: "__itemDelegateLoader"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__model"; type: "QVariant" }
+ Property { name: "__activateItemOnSingleClick"; type: "bool" }
+ Property { name: "__mouseArea"; type: "QQuickItem"; isPointer: true }
+ Property { name: "backgroundVisible"; type: "bool" }
+ Property { name: "contentHeader"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "contentFooter"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "columnCount"; type: "int"; isReadonly: true }
+ Property { name: "section"; type: "QQuickViewSection"; isReadonly: true; isPointer: true }
+ Property { name: "__columns"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "__currentRowItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__currentRow"; type: "int" }
+ Property { name: "__listView"; type: "QQuickListView"; isReadonly: true; isPointer: true }
+ Method {
+ name: "addColumn"
+ type: "QVariant"
+ Parameter { name: "column"; type: "QVariant" }
+ }
+ Method {
+ name: "insertColumn"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ Parameter { name: "column"; type: "QVariant" }
+ }
+ Method {
+ name: "removeColumn"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "moveColumn"
+ type: "QVariant"
+ Parameter { name: "from"; type: "QVariant" }
+ Parameter { name: "to"; type: "QVariant" }
+ }
+ Method {
+ name: "getColumn"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method { name: "resizeColumnsToContents"; type: "QVariant" }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "highlightOnFocus"; type: "bool" }
+ Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__scrollBarTopMargin"; type: "int" }
+ Property { name: "__viewTopMargin"; type: "int" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_62"; isPointer: true }
+ Property { name: "horizontalScrollBarPolicy"; type: "int" }
+ Property { name: "verticalScrollBarPolicy"; type: "int" }
+ Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
+ Property {
+ name: "__scroller"
+ type: "ScrollViewHelper_QMLTYPE_95"
+ isReadonly: true
+ isPointer: true
+ }
+ Property { name: "__verticalScrollbarOffset"; type: "int" }
+ Property { name: "__wheelAreaScrollSpeed"; type: "double" }
+ Property {
+ name: "__horizontalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ Property {
+ name: "__verticalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ }
+ Component {
+ prototype: "QObject"
+ name: "QtQuick.Controls/TableViewColumn 1.0"
+ exports: ["QtQuick.Controls/TableViewColumn 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ Property { name: "__view"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__index"; type: "int" }
+ Property { name: "title"; type: "string" }
+ Property { name: "role"; type: "string" }
+ Property { name: "width"; type: "int" }
+ Property { name: "visible"; type: "bool" }
+ Property { name: "resizable"; type: "bool" }
+ Property { name: "movable"; type: "bool" }
+ Property { name: "elideMode"; type: "int" }
+ Property { name: "horizontalAlignment"; type: "int" }
+ Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
+ Method { name: "resizeToContents"; type: "QVariant" }
+ }
+ Component {
+ prototype: "QQuickTextArea"
+ name: "QtQuick.Controls/TextArea 2.0"
+ exports: ["QtQuick.Controls/TextArea 2.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/TextArea 1.5"
+ exports: ["QtQuick.Controls/TextArea 1.5"]
+ exportMetaObjectRevisions: [5]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true }
+ Property { name: "tabChangesFocus"; type: "bool" }
+ Property { name: "selectByMouse"; type: "bool" }
+ Property { name: "menu"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "baseUrl"; type: "QUrl" }
+ Property { name: "canPaste"; type: "bool"; isReadonly: true }
+ Property { name: "canRedo"; type: "bool"; isReadonly: true }
+ Property { name: "canUndo"; type: "bool"; isReadonly: true }
+ Property { name: "textColor"; type: "QColor" }
+ Property { name: "cursorPosition"; type: "int" }
+ Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true }
+ Property { name: "font"; type: "QFont" }
+ Property { name: "horizontalAlignment"; type: "int" }
+ Property { name: "effectiveHorizontalAlignment"; type: "int"; isReadonly: true }
+ Property { name: "verticalAlignment"; type: "int" }
+ Property { name: "inputMethodHints"; type: "int" }
+ Property { name: "length"; type: "int"; isReadonly: true }
+ Property { name: "lineCount"; type: "int"; isReadonly: true }
+ Property { name: "readOnly"; type: "bool" }
+ Property { name: "selectedText"; type: "string"; isReadonly: true }
+ Property { name: "selectionEnd"; type: "int"; isReadonly: true }
+ Property { name: "selectionStart"; type: "int"; isReadonly: true }
+ Property { name: "text"; type: "string" }
+ Property { name: "textFormat"; type: "int" }
+ Property { name: "wrapMode"; type: "int" }
+ Property { name: "selectByKeyboard"; type: "bool" }
+ Property { name: "hoveredLink"; type: "string"; isReadonly: true }
+ Property { name: "backgroundVisible"; type: "bool" }
+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "textMargin"; type: "double" }
+ Property { name: "contentWidth"; type: "double"; isReadonly: true }
+ Property { name: "contentHeight"; type: "double"; isReadonly: true }
+ Property { name: "textDocument"; type: "QQuickTextDocument"; isReadonly: true; isPointer: true }
+ Signal {
+ name: "linkActivated"
+ Parameter { name: "link"; type: "string" }
+ }
+ Signal {
+ name: "linkHovered"
+ Parameter { name: "link"; type: "string" }
+ }
+ Signal { name: "editingFinished" }
+ Method {
+ name: "append"
+ type: "QVariant"
+ Parameter { name: "string"; type: "QVariant" }
+ }
+ Method { name: "copy"; type: "QVariant" }
+ Method { name: "cut"; type: "QVariant" }
+ Method { name: "deselect"; type: "QVariant" }
+ Method {
+ name: "getFormattedText"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "getText"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "insert"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ Parameter { name: "text"; type: "QVariant" }
+ }
+ Method {
+ name: "isRightToLeft"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "moveCursorSelection"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ Parameter { name: "mode"; type: "QVariant" }
+ }
+ Method { name: "paste"; type: "QVariant" }
+ Method {
+ name: "positionAt"
+ type: "QVariant"
+ Parameter { name: "x"; type: "QVariant" }
+ Parameter { name: "y"; type: "QVariant" }
+ }
+ Method {
+ name: "positionToRectangle"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ }
+ Method { name: "redo"; type: "QVariant" }
+ Method {
+ name: "remove"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "select"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method { name: "selectAll"; type: "QVariant" }
+ Method { name: "selectWord"; type: "QVariant" }
+ Method { name: "undo"; type: "QVariant" }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "highlightOnFocus"; type: "bool" }
+ Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__scrollBarTopMargin"; type: "int" }
+ Property { name: "__viewTopMargin"; type: "int" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_62"; isPointer: true }
+ Property { name: "horizontalScrollBarPolicy"; type: "int" }
+ Property { name: "verticalScrollBarPolicy"; type: "int" }
+ Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
+ Property {
+ name: "__scroller"
+ type: "ScrollViewHelper_QMLTYPE_95"
+ isReadonly: true
+ isPointer: true
+ }
+ Property { name: "__verticalScrollbarOffset"; type: "int" }
+ Property { name: "__wheelAreaScrollSpeed"; type: "double" }
+ Property {
+ name: "__horizontalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ Property {
+ name: "__verticalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/TextArea 1.3"
+ exports: ["QtQuick.Controls/TextArea 1.3"]
+ exportMetaObjectRevisions: [3]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true }
+ Property { name: "tabChangesFocus"; type: "bool" }
+ Property { name: "selectByMouse"; type: "bool" }
+ Property { name: "menu"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "baseUrl"; type: "QUrl" }
+ Property { name: "canPaste"; type: "bool"; isReadonly: true }
+ Property { name: "canRedo"; type: "bool"; isReadonly: true }
+ Property { name: "canUndo"; type: "bool"; isReadonly: true }
+ Property { name: "textColor"; type: "QColor" }
+ Property { name: "cursorPosition"; type: "int" }
+ Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true }
+ Property { name: "font"; type: "QFont" }
+ Property { name: "horizontalAlignment"; type: "int" }
+ Property { name: "effectiveHorizontalAlignment"; type: "int"; isReadonly: true }
+ Property { name: "verticalAlignment"; type: "int" }
+ Property { name: "inputMethodHints"; type: "int" }
+ Property { name: "length"; type: "int"; isReadonly: true }
+ Property { name: "lineCount"; type: "int"; isReadonly: true }
+ Property { name: "readOnly"; type: "bool" }
+ Property { name: "selectedText"; type: "string"; isReadonly: true }
+ Property { name: "selectionEnd"; type: "int"; isReadonly: true }
+ Property { name: "selectionStart"; type: "int"; isReadonly: true }
+ Property { name: "text"; type: "string" }
+ Property { name: "textFormat"; type: "int" }
+ Property { name: "wrapMode"; type: "int" }
+ Property { name: "selectByKeyboard"; type: "bool" }
+ Property { name: "hoveredLink"; type: "string"; isReadonly: true }
+ Property { name: "backgroundVisible"; type: "bool" }
+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "textMargin"; type: "double" }
+ Property { name: "contentWidth"; type: "double"; isReadonly: true }
+ Property { name: "contentHeight"; type: "double"; isReadonly: true }
+ Property { name: "textDocument"; type: "QQuickTextDocument"; isReadonly: true; isPointer: true }
+ Signal {
+ name: "linkActivated"
+ Parameter { name: "link"; type: "string" }
+ }
+ Signal {
+ name: "linkHovered"
+ Parameter { name: "link"; type: "string" }
+ }
+ Signal { name: "editingFinished" }
+ Method {
+ name: "append"
+ type: "QVariant"
+ Parameter { name: "string"; type: "QVariant" }
+ }
+ Method { name: "copy"; type: "QVariant" }
+ Method { name: "cut"; type: "QVariant" }
+ Method { name: "deselect"; type: "QVariant" }
+ Method {
+ name: "getFormattedText"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "getText"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "insert"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ Parameter { name: "text"; type: "QVariant" }
+ }
+ Method {
+ name: "isRightToLeft"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "moveCursorSelection"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ Parameter { name: "mode"; type: "QVariant" }
+ }
+ Method { name: "paste"; type: "QVariant" }
+ Method {
+ name: "positionAt"
+ type: "QVariant"
+ Parameter { name: "x"; type: "QVariant" }
+ Parameter { name: "y"; type: "QVariant" }
+ }
+ Method {
+ name: "positionToRectangle"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ }
+ Method { name: "redo"; type: "QVariant" }
+ Method {
+ name: "remove"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "select"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method { name: "selectAll"; type: "QVariant" }
+ Method { name: "selectWord"; type: "QVariant" }
+ Method { name: "undo"; type: "QVariant" }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "highlightOnFocus"; type: "bool" }
+ Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__scrollBarTopMargin"; type: "int" }
+ Property { name: "__viewTopMargin"; type: "int" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_62"; isPointer: true }
+ Property { name: "horizontalScrollBarPolicy"; type: "int" }
+ Property { name: "verticalScrollBarPolicy"; type: "int" }
+ Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
+ Property {
+ name: "__scroller"
+ type: "ScrollViewHelper_QMLTYPE_95"
+ isReadonly: true
+ isPointer: true
+ }
+ Property { name: "__verticalScrollbarOffset"; type: "int" }
+ Property { name: "__wheelAreaScrollSpeed"; type: "double" }
+ Property {
+ name: "__horizontalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ Property {
+ name: "__verticalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/TextArea 1.0"
+ exports: ["QtQuick.Controls/TextArea 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true }
+ Property { name: "tabChangesFocus"; type: "bool" }
+ Property { name: "selectByMouse"; type: "bool" }
+ Property { name: "menu"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "baseUrl"; type: "QUrl" }
+ Property { name: "canPaste"; type: "bool"; isReadonly: true }
+ Property { name: "canRedo"; type: "bool"; isReadonly: true }
+ Property { name: "canUndo"; type: "bool"; isReadonly: true }
+ Property { name: "textColor"; type: "QColor" }
+ Property { name: "cursorPosition"; type: "int" }
+ Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true }
+ Property { name: "font"; type: "QFont" }
+ Property { name: "horizontalAlignment"; type: "int" }
+ Property { name: "effectiveHorizontalAlignment"; type: "int"; isReadonly: true }
+ Property { name: "verticalAlignment"; type: "int" }
+ Property { name: "inputMethodHints"; type: "int" }
+ Property { name: "length"; type: "int"; isReadonly: true }
+ Property { name: "lineCount"; type: "int"; isReadonly: true }
+ Property { name: "readOnly"; type: "bool" }
+ Property { name: "selectedText"; type: "string"; isReadonly: true }
+ Property { name: "selectionEnd"; type: "int"; isReadonly: true }
+ Property { name: "selectionStart"; type: "int"; isReadonly: true }
+ Property { name: "text"; type: "string" }
+ Property { name: "textFormat"; type: "int" }
+ Property { name: "wrapMode"; type: "int" }
+ Property { name: "selectByKeyboard"; type: "bool" }
+ Property { name: "hoveredLink"; type: "string"; isReadonly: true }
+ Property { name: "backgroundVisible"; type: "bool" }
+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "textMargin"; type: "double" }
+ Property { name: "contentWidth"; type: "double"; isReadonly: true }
+ Property { name: "contentHeight"; type: "double"; isReadonly: true }
+ Property { name: "textDocument"; type: "QQuickTextDocument"; isReadonly: true; isPointer: true }
+ Signal {
+ name: "linkActivated"
+ Parameter { name: "link"; type: "string" }
+ }
+ Signal {
+ name: "linkHovered"
+ Parameter { name: "link"; type: "string" }
+ }
+ Signal { name: "editingFinished" }
+ Method {
+ name: "append"
+ type: "QVariant"
+ Parameter { name: "string"; type: "QVariant" }
+ }
+ Method { name: "copy"; type: "QVariant" }
+ Method { name: "cut"; type: "QVariant" }
+ Method { name: "deselect"; type: "QVariant" }
+ Method {
+ name: "getFormattedText"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "getText"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "insert"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ Parameter { name: "text"; type: "QVariant" }
+ }
+ Method {
+ name: "isRightToLeft"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "moveCursorSelection"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ Parameter { name: "mode"; type: "QVariant" }
+ }
+ Method { name: "paste"; type: "QVariant" }
+ Method {
+ name: "positionAt"
+ type: "QVariant"
+ Parameter { name: "x"; type: "QVariant" }
+ Parameter { name: "y"; type: "QVariant" }
+ }
+ Method {
+ name: "positionToRectangle"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ }
+ Method { name: "redo"; type: "QVariant" }
+ Method {
+ name: "remove"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "select"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method { name: "selectAll"; type: "QVariant" }
+ Method { name: "selectWord"; type: "QVariant" }
+ Method { name: "undo"; type: "QVariant" }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "highlightOnFocus"; type: "bool" }
+ Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__scrollBarTopMargin"; type: "int" }
+ Property { name: "__viewTopMargin"; type: "int" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_62"; isPointer: true }
+ Property { name: "horizontalScrollBarPolicy"; type: "int" }
+ Property { name: "verticalScrollBarPolicy"; type: "int" }
+ Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
+ Property {
+ name: "__scroller"
+ type: "ScrollViewHelper_QMLTYPE_95"
+ isReadonly: true
+ isPointer: true
+ }
+ Property { name: "__verticalScrollbarOffset"; type: "int" }
+ Property { name: "__wheelAreaScrollSpeed"; type: "double" }
+ Property {
+ name: "__horizontalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ Property {
+ name: "__verticalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/TextField 1.0"
+ exports: ["QtQuick.Controls/TextField 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
+ Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true }
+ Property { name: "selectByMouse"; type: "bool" }
+ Property { name: "menu"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "acceptableInput"; type: "bool"; isReadonly: true }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "canPaste"; type: "bool"; isReadonly: true }
+ Property { name: "canRedo"; type: "bool"; isReadonly: true }
+ Property { name: "canUndo"; type: "bool"; isReadonly: true }
+ Property { name: "textColor"; type: "QColor" }
+ Property { name: "cursorPosition"; type: "int" }
+ Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true }
+ Property { name: "displayText"; type: "string"; isReadonly: true }
+ Property { name: "echoMode"; type: "int" }
+ Property { name: "font"; type: "QFont" }
+ Property { name: "horizontalAlignment"; type: "int" }
+ Property { name: "effectiveHorizontalAlignment"; type: "int"; isReadonly: true }
+ Property { name: "verticalAlignment"; type: "int" }
+ Property { name: "inputMask"; type: "string" }
+ Property { name: "inputMethodHints"; type: "int" }
+ Property { name: "length"; type: "int"; isReadonly: true }
+ Property { name: "maximumLength"; type: "int" }
+ Property { name: "placeholderText"; type: "string" }
+ Property { name: "readOnly"; type: "bool" }
+ Property { name: "selectedText"; type: "string"; isReadonly: true }
+ Property { name: "selectionEnd"; type: "int"; isReadonly: true }
+ Property { name: "selectionStart"; type: "int"; isReadonly: true }
+ Property { name: "text"; type: "string" }
+ Property { name: "validator"; type: "QValidator"; isPointer: true }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Property { name: "__contentHeight"; type: "double"; isReadonly: true }
+ Property { name: "__contentWidth"; type: "double"; isReadonly: true }
+ Property { name: "__baselineOffset"; type: "double" }
+ Signal { name: "accepted" }
+ Signal { name: "editingFinished" }
+ Method { name: "copy"; type: "QVariant" }
+ Method { name: "cut"; type: "QVariant" }
+ Method { name: "deselect"; type: "QVariant" }
+ Method {
+ name: "getText"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "insert"
+ type: "QVariant"
+ Parameter { name: "position"; type: "QVariant" }
+ Parameter { name: "text"; type: "QVariant" }
+ }
+ Method {
+ name: "isRightToLeft"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method { name: "paste"; type: "QVariant" }
+ Method { name: "redo"; type: "QVariant" }
+ Method {
+ name: "remove"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method {
+ name: "select"
+ type: "QVariant"
+ Parameter { name: "start"; type: "QVariant" }
+ Parameter { name: "end"; type: "QVariant" }
+ }
+ Method { name: "selectAll"; type: "QVariant" }
+ Method { name: "selectWord"; type: "QVariant" }
+ Method { name: "undo"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
prototype: "QQuickTextField"
name: "QtQuick.Controls/TextField 2.0"
exports: ["QtQuick.Controls/TextField 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
}
Component {
prototype: "QQuickText"
name: "QtQuick.Extras.Private/TextSingleton 1.0"
exports: ["QtQuick.Extras.Private/TextSingleton 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
isCreatable: false
isSingleton: true
defaultProperty: "data"
}
+ Component {
+ prototype: "QQuickText"
+ name: "TextSingleton 1.0"
+ exports: ["TextSingleton 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ isCreatable: false
+ isSingleton: true
+ defaultProperty: "data"
+ }
Component {
prototype: "QObject"
- name: "org.kde.kirigami/Theme 2.0"
- exports: ["org.kde.kirigami/Theme 2.0"]
+ name: "Theme 2.0"
+ exports: ["Theme 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
isCreatable: false
+ isSingleton: true
Property { name: "textColor"; type: "QColor" }
Property { name: "disabledTextColor"; type: "QColor" }
Property { name: "highlightColor"; type: "QColor" }
Property { name: "highlightedTextColor"; type: "QColor" }
Property { name: "backgroundColor"; type: "QColor" }
+ Property { name: "activeTextColor"; type: "QColor" }
Property { name: "linkColor"; type: "QColor" }
Property { name: "visitedLinkColor"; type: "QColor" }
+ Property { name: "hoverColor"; type: "QColor" }
+ Property { name: "focusColor"; type: "QColor" }
+ Property { name: "negativeTextColor"; type: "QColor" }
+ Property { name: "neutralTextColor"; type: "QColor" }
+ Property { name: "positiveTextColor"; type: "QColor" }
Property { name: "buttonTextColor"; type: "QColor" }
Property { name: "buttonBackgroundColor"; type: "QColor" }
Property { name: "buttonHoverColor"; type: "QColor" }
Property { name: "buttonFocusColor"; type: "QColor" }
Property { name: "viewTextColor"; type: "QColor" }
Property { name: "viewBackgroundColor"; type: "QColor" }
Property { name: "viewHoverColor"; type: "QColor" }
Property { name: "viewFocusColor"; type: "QColor" }
+ Property { name: "selectionTextColor"; type: "QColor" }
+ Property { name: "selectionBackgroundColor"; type: "QColor" }
+ Property { name: "selectionHoverColor"; type: "QColor" }
+ Property { name: "selectionFocusColor"; type: "QColor" }
+ Property { name: "tooltipTextColor"; type: "QColor" }
+ Property { name: "tooltipBackgroundColor"; type: "QColor" }
+ Property { name: "tooltipHoverColor"; type: "QColor" }
+ Property { name: "tooltipFocusColor"; type: "QColor" }
+ Property { name: "complementaryTextColor"; type: "QColor" }
+ Property { name: "complementaryBackgroundColor"; type: "QColor" }
+ Property { name: "complementaryHoverColor"; type: "QColor" }
+ Property { name: "complementaryFocusColor"; type: "QColor" }
Property { name: "defaultFont"; type: "QFont" }
Property { name: "children"; type: "QObject"; isList: true; isReadonly: true }
+ Method {
+ name: "__propagateColorSet"
+ type: "QVariant"
+ Parameter { name: "object"; type: "QVariant" }
+ Parameter { name: "context"; type: "QVariant" }
+ }
}
Component {
prototype: "QQuickFocusScope"
name: "QtQuick.Extras/ToggleButton 1.0"
exports: ["QtQuick.Extras/ToggleButton 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
Property { name: "isDefault"; type: "bool" }
- Property { name: "menu"; type: "Menu_QMLTYPE_83"; isPointer: true }
+ Property { name: "menu"; type: "Menu_QMLTYPE_114"; isPointer: true }
Property { name: "checkable"; type: "bool" }
Property { name: "checked"; type: "bool" }
Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
Property { name: "action"; type: "QQuickAction1"; isPointer: true }
Property { name: "activeFocusOnPress"; type: "bool" }
Property { name: "text"; type: "string" }
Property { name: "tooltip"; type: "string" }
Property { name: "iconSource"; type: "QUrl" }
Property { name: "iconName"; type: "string" }
Property { name: "__position"; type: "string" }
Property { name: "__iconOverriden"; type: "bool"; isReadonly: true }
Property { name: "__action"; type: "QQuickAction1"; isPointer: true }
Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true }
Property { name: "__behavior"; type: "QVariant" }
Property { name: "__effectivePressed"; type: "bool" }
Property { name: "pressed"; type: "bool"; isReadonly: true }
Property { name: "hovered"; type: "bool"; isReadonly: true }
Signal { name: "clicked" }
Method { name: "accessiblePressAction"; type: "QVariant" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
Property { name: "__style"; type: "QObject"; isPointer: true }
Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
Property { name: "styleHints"; type: "QVariant" }
Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
prototype: "QQuickToolBar"
name: "QtQuick.Controls/ToolBar 2.0"
exports: ["QtQuick.Controls/ToolBar 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "contentData"
}
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/ToolBar 1.0"
+ exports: ["QtQuick.Controls/ToolBar 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "__content"
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__menu"; type: "QVariant" }
+ Property { name: "__style"; type: "QObject"; isReadonly: true; isPointer: true }
+ Property { name: "__content"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ }
Component {
prototype: "QQuickItem"
- name: "org.kde.kirigami/ToolBarApplicationHeader 2.0"
- exports: ["org.kde.kirigami/ToolBarApplicationHeader 2.0"]
+ name: "ToolBarApplicationHeader 2.0"
+ exports: ["ToolBarApplicationHeader 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "contentItem"
Property { name: "_internal"; type: "string" }
Property { name: "headerStyle"; type: "int" }
+ Property { name: "backButtonEnabled"; type: "bool" }
Property { name: "pageDelegate"; type: "QQmlComponent"; isPointer: true }
Property { name: "minimumHeight"; type: "int" }
Property { name: "preferredHeight"; type: "int" }
Property { name: "maximumHeight"; type: "int" }
Property { name: "paintedHeight"; type: "int"; isReadonly: true }
Property { name: "__appWindow"; type: "QObject"; isPointer: true }
Property { name: "background"; type: "QQuickItem"; isPointer: true }
Property { name: "contentItem"; type: "QObject"; isList: true; isReadonly: true }
}
Component {
prototype: "QQuickToolButton"
name: "QtQuick.Controls/ToolButton 2.0"
exports: ["QtQuick.Controls/ToolButton 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
}
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/ToolButton 1.0"
+ exports: ["QtQuick.Controls/ToolButton 1.0"]
+ exportMetaObjectRevisions: [0]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "isDefault"; type: "bool" }
+ Property { name: "menu"; type: "Menu_QMLTYPE_114"; isPointer: true }
+ Property { name: "checkable"; type: "bool" }
+ Property { name: "checked"; type: "bool" }
+ Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true }
+ Property { name: "action"; type: "QQuickAction1"; isPointer: true }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "text"; type: "string" }
+ Property { name: "tooltip"; type: "string" }
+ Property { name: "iconSource"; type: "QUrl" }
+ Property { name: "iconName"; type: "string" }
+ Property { name: "__position"; type: "string" }
+ Property { name: "__iconOverriden"; type: "bool"; isReadonly: true }
+ Property { name: "__action"; type: "QQuickAction1"; isPointer: true }
+ Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true }
+ Property { name: "__behavior"; type: "QVariant" }
+ Property { name: "__effectivePressed"; type: "bool" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Signal { name: "clicked" }
+ Method { name: "accessiblePressAction"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
Component {
prototype: "QQuickToolSeparator"
name: "QtQuick.Controls/ToolSeparator 2.1"
exports: ["QtQuick.Controls/ToolSeparator 2.1"]
exportMetaObjectRevisions: [1]
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: "QQuickFocusScope"
+ name: "QtQuick.Controls/TreeView 1.4"
+ exports: ["QtQuick.Controls/TreeView 1.4"]
+ exportMetaObjectRevisions: [4]
+ isComposite: true
+ defaultProperty: "__columns"
+ Property { name: "model"; type: "QVariant" }
+ Property { name: "currentIndex"; type: "QVariant"; isReadonly: true }
+ Property { name: "selection"; type: "QItemSelectionModel"; isPointer: true }
+ Property { name: "rootIndex"; type: "QModelIndex" }
+ Signal {
+ name: "activated"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "clicked"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "doubleClicked"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "pressAndHold"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "expanded"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "collapsed"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "isExpanded"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "collapse"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "expand"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "indexAt"
+ type: "QVariant"
+ Parameter { name: "x"; type: "QVariant" }
+ Parameter { name: "y"; type: "QVariant" }
+ }
+ Property { name: "alternatingRowColors"; type: "bool" }
+ Property { name: "headerVisible"; type: "bool" }
+ Property { name: "itemDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "rowDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "headerDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "sortIndicatorColumn"; type: "int" }
+ Property { name: "sortIndicatorVisible"; type: "bool" }
+ Property { name: "sortIndicatorOrder"; type: "int" }
+ Property { name: "selectionMode"; type: "int" }
+ Property { name: "__viewTypeName"; type: "string" }
+ Property { name: "__isTreeView"; type: "bool"; isReadonly: true }
+ Property { name: "__itemDelegateLoader"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__model"; type: "QVariant" }
+ Property { name: "__activateItemOnSingleClick"; type: "bool" }
+ Property { name: "__mouseArea"; type: "QQuickItem"; isPointer: true }
+ Property { name: "backgroundVisible"; type: "bool" }
+ Property { name: "contentHeader"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "contentFooter"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "columnCount"; type: "int"; isReadonly: true }
+ Property { name: "section"; type: "QQuickViewSection"; isReadonly: true; isPointer: true }
+ Property { name: "__columns"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "__currentRowItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__currentRow"; type: "int" }
+ Property { name: "__listView"; type: "QQuickListView"; isReadonly: true; isPointer: true }
+ Method {
+ name: "addColumn"
+ type: "QVariant"
+ Parameter { name: "column"; type: "QVariant" }
+ }
+ Method {
+ name: "insertColumn"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ Parameter { name: "column"; type: "QVariant" }
+ }
+ Method {
+ name: "removeColumn"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "moveColumn"
+ type: "QVariant"
+ Parameter { name: "from"; type: "QVariant" }
+ Parameter { name: "to"; type: "QVariant" }
+ }
+ Method {
+ name: "getColumn"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method { name: "resizeColumnsToContents"; type: "QVariant" }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "highlightOnFocus"; type: "bool" }
+ Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__scrollBarTopMargin"; type: "int" }
+ Property { name: "__viewTopMargin"; type: "int" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_62"; isPointer: true }
+ Property { name: "horizontalScrollBarPolicy"; type: "int" }
+ Property { name: "verticalScrollBarPolicy"; type: "int" }
+ Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
+ Property {
+ name: "__scroller"
+ type: "ScrollViewHelper_QMLTYPE_95"
+ isReadonly: true
+ isPointer: true
+ }
+ Property { name: "__verticalScrollbarOffset"; type: "int" }
+ Property { name: "__wheelAreaScrollSpeed"; type: "double" }
+ Property {
+ name: "__horizontalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ Property {
+ name: "__verticalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/TreeView 1.5"
+ exports: ["QtQuick.Controls/TreeView 1.5"]
+ exportMetaObjectRevisions: [5]
+ isComposite: true
+ defaultProperty: "__columns"
+ Property { name: "model"; type: "QVariant" }
+ Property { name: "currentIndex"; type: "QVariant"; isReadonly: true }
+ Property { name: "selection"; type: "QItemSelectionModel"; isPointer: true }
+ Property { name: "rootIndex"; type: "QModelIndex" }
+ Signal {
+ name: "activated"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "clicked"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "doubleClicked"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "pressAndHold"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "expanded"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Signal {
+ name: "collapsed"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "isExpanded"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "collapse"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "expand"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "indexAt"
+ type: "QVariant"
+ Parameter { name: "x"; type: "QVariant" }
+ Parameter { name: "y"; type: "QVariant" }
+ }
+ Property { name: "alternatingRowColors"; type: "bool" }
+ Property { name: "headerVisible"; type: "bool" }
+ Property { name: "itemDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "rowDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "headerDelegate"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "sortIndicatorColumn"; type: "int" }
+ Property { name: "sortIndicatorVisible"; type: "bool" }
+ Property { name: "sortIndicatorOrder"; type: "int" }
+ Property { name: "selectionMode"; type: "int" }
+ Property { name: "__viewTypeName"; type: "string" }
+ Property { name: "__isTreeView"; type: "bool"; isReadonly: true }
+ Property { name: "__itemDelegateLoader"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__model"; type: "QVariant" }
+ Property { name: "__activateItemOnSingleClick"; type: "bool" }
+ Property { name: "__mouseArea"; type: "QQuickItem"; isPointer: true }
+ Property { name: "backgroundVisible"; type: "bool" }
+ Property { name: "contentHeader"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "contentFooter"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "columnCount"; type: "int"; isReadonly: true }
+ Property { name: "section"; type: "QQuickViewSection"; isReadonly: true; isPointer: true }
+ Property { name: "__columns"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "__currentRowItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "__currentRow"; type: "int" }
+ Property { name: "__listView"; type: "QQuickListView"; isReadonly: true; isPointer: true }
+ Method {
+ name: "addColumn"
+ type: "QVariant"
+ Parameter { name: "column"; type: "QVariant" }
+ }
+ Method {
+ name: "insertColumn"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ Parameter { name: "column"; type: "QVariant" }
+ }
+ Method {
+ name: "removeColumn"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method {
+ name: "moveColumn"
+ type: "QVariant"
+ Parameter { name: "from"; type: "QVariant" }
+ Parameter { name: "to"; type: "QVariant" }
+ }
+ Method {
+ name: "getColumn"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QVariant" }
+ }
+ Method { name: "resizeColumnsToContents"; type: "QVariant" }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "highlightOnFocus"; type: "bool" }
+ Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
+ Property { name: "__scrollBarTopMargin"; type: "int" }
+ Property { name: "__viewTopMargin"; type: "int" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_62"; isPointer: true }
+ Property { name: "horizontalScrollBarPolicy"; type: "int" }
+ Property { name: "verticalScrollBarPolicy"; type: "int" }
+ Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
+ Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
+ Property {
+ name: "__scroller"
+ type: "ScrollViewHelper_QMLTYPE_95"
+ isReadonly: true
+ isPointer: true
+ }
+ Property { name: "__verticalScrollbarOffset"; type: "int" }
+ Property { name: "__wheelAreaScrollSpeed"; type: "double" }
+ Property {
+ name: "__horizontalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ Property {
+ name: "__verticalScrollBar"
+ type: "ScrollBar_QMLTYPE_91"
+ isReadonly: true
+ isPointer: true
+ }
+ }
Component {
prototype: "QQuickTumbler"
name: "QtQuick.Controls/Tumbler 2.0"
exports: ["QtQuick.Controls/Tumbler 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
}
Component {
prototype: "QQuickFocusScope"
name: "QtQuick.Extras/Tumbler 1.2"
exports: ["QtQuick.Extras/Tumbler 1.2"]
exportMetaObjectRevisions: [2]
isComposite: true
defaultProperty: "data"
Property { name: "__highlightMoveDuration"; type: "int" }
Property { name: "columnCount"; type: "int"; isReadonly: true }
Property { name: "__columnRow"; type: "QQuickRow"; isReadonly: true; isPointer: true }
Property { name: "__movementDelayTimer"; type: "QQmlTimer"; isReadonly: true; isPointer: true }
Method {
name: "__isValidColumnIndex"
type: "QVariant"
Parameter { name: "index"; type: "QVariant" }
}
Method {
name: "__isValidColumnAndItemIndex"
type: "QVariant"
Parameter { name: "columnIndex"; type: "QVariant" }
Parameter { name: "itemIndex"; type: "QVariant" }
}
Method {
name: "currentIndexAt"
type: "QVariant"
Parameter { name: "columnIndex"; type: "QVariant" }
}
Method {
name: "setCurrentIndexAt"
type: "QVariant"
Parameter { name: "columnIndex"; type: "QVariant" }
Parameter { name: "itemIndex"; type: "QVariant" }
Parameter { name: "interval"; type: "QVariant" }
}
Method {
name: "getColumn"
type: "QVariant"
Parameter { name: "columnIndex"; type: "QVariant" }
}
Method {
name: "addColumn"
type: "QVariant"
Parameter { name: "column"; type: "QVariant" }
}
Method {
name: "insertColumn"
type: "QVariant"
Parameter { name: "index"; type: "QVariant" }
Parameter { name: "column"; type: "QVariant" }
}
Method {
name: "__viewAt"
type: "QVariant"
Parameter { name: "index"; type: "QVariant" }
}
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
Property { name: "__style"; type: "QObject"; isPointer: true }
Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
Property { name: "styleHints"; type: "QVariant" }
Property { name: "__styleData"; type: "QObject"; isPointer: true }
}
Component {
prototype: "QObject"
name: "QtQuick.Extras/TumblerColumn 1.2"
exports: ["QtQuick.Extras/TumblerColumn 1.2"]
exportMetaObjectRevisions: [2]
isComposite: true
Property { name: "__tumbler"; type: "QQuickItem"; isPointer: true }
Property { name: "__index"; type: "int" }
Property { name: "__currentIndex"; type: "int" }
Property { name: "model"; type: "QVariant" }
Property { name: "role"; type: "string" }
Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
Property { name: "highlight"; type: "QQmlComponent"; isPointer: true }
Property { name: "columnForeground"; type: "QQmlComponent"; isPointer: true }
Property { name: "visible"; type: "bool" }
Property { name: "activeFocus"; type: "bool"; isReadonly: true }
Property { name: "width"; type: "double" }
Property { name: "currentIndex"; type: "int"; isReadonly: true }
}
Component {
prototype: "QObject"
- name: "org.kde.kirigami/Units 2.0"
- exports: ["org.kde.kirigami/Units 2.0"]
+ name: "Units 2.0"
+ exports: ["Units 2.0"]
exportMetaObjectRevisions: [0]
isComposite: true
isCreatable: false
isSingleton: true
Property { name: "gridUnit"; type: "int" }
Property { name: "iconSizes"; type: "QObject"; isPointer: true }
Property { name: "smallSpacing"; type: "int" }
Property { name: "largeSpacing"; type: "int" }
Property { name: "devicePixelRatio"; type: "double" }
Property { name: "longDuration"; type: "int" }
Property { name: "shortDuration"; type: "int" }
Property { name: "__styleItem"; type: "QObject"; isReadonly: true; isPointer: true }
Property { name: "wheelScrollLines"; type: "int"; isReadonly: true }
+ Property { name: "toolTipDelay"; type: "int" }
Property { name: "fontMetrics"; type: "QVariant" }
}
}
diff --git a/src/controls/private/BannerGroup.qml b/src/controls/private/BannerGroup.qml
new file mode 100644
index 00000000..6296af39
--- /dev/null
+++ b/src/controls/private/BannerGroup.qml
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+
+QtObject {
+ property url imageSource
+ property string title
+ property int titleAlignment: Qt.AlignTop | Qt.AlignLeft
+ property string iconSource
+ property int fillMode: Image.PreserveAspectCrop
+}
diff --git a/src/controls/private/BannerImage.qml b/src/controls/private/BannerImage.qml
new file mode 100644
index 00000000..05edaee1
--- /dev/null
+++ b/src/controls/private/BannerImage.qml
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtQuick.Layouts 1.2
+import QtGraphicalEffects 1.0
+import org.kde.kirigami 2.3 as Kirigami
+
+Image {
+ id: root
+
+ /**
+ * title: string
+ * A title to be displayed on top of the image
+ */
+ property alias title: heading.text
+
+ /**
+ * icon: var
+ * An icon to be displayed alongside the title.
+ * It can be a QIcon, a fdo-compatible icon name, or any url understood by Image
+ */
+ property alias titleIcon: headingIcon.source
+
+ /**
+ * titleAlignment: Qt.Alignment
+ */
+ property int titleAlignment: Qt.AlignTop | Qt.AlignLeft
+
+ Layout.fillWidth: true
+
+ Layout.preferredWidth: title.implicitWidth
+ Layout.preferredHeight: source != "" ? width/(sourceSize.width / sourceSize.height) : Layout.minimumHeight
+ Layout.minimumHeight: title.height > 0 ? title.height + Kirigami.Units.smallSpacing * 2 : 0
+
+ fillMode: Image.PreserveAspectFit
+ asynchronous: true
+
+ LinearGradient {
+ anchors {
+ left: parent.left
+ right: parent.right
+ top: (root.titleAlignment & Qt.AlignTop) ? parent.top : undefined
+ bottom: (root.titleAlignment & Qt.AlignBottom) ? parent.bottom : undefined
+ }
+ visible: root.source != "" && root.title != "" && ((root.titleAlignment & Qt.AlignTop) || (root.titleAlignment & Qt.AlignBottom))
+ height: title.height * 2
+ start: Qt.point(0, 0)
+ end: Qt.point(0, height)
+ gradient: Gradient {
+ GradientStop {
+ position: (root.titleAlignment & Qt.AlignTop) ? 0.0 : 1.0
+ color: Qt.rgba(0, 0, 0, 0.8)
+ }
+ GradientStop {
+ position: (root.titleAlignment & Qt.AlignTop) ? 1.0 : 0.0
+ color: "transparent"
+ }
+ }
+ }
+
+ RowLayout {
+ id: title
+ anchors {
+ left: root.titleAlignment & Qt.AlignLeft ? parent.left : undefined
+ top: root.titleAlignment & Qt.AlignTop ? parent.top : undefined
+ right: root.titleAlignment & Qt.AlignRight ? parent.right : undefined
+ bottom: root.titleAlignment & Qt.AlignBottom ? parent.bottom : undefined
+ horizontalCenter: root.titleAlignment & Qt.AlignHCenter ? parent.horizontalCenter : undefined
+ verticalCenter: root.titleAlignment & Qt.AlignVCenter ? parent.verticalCenter : undefined
+
+ margins: headingIcon.valid ? Kirigami.Units.smallSpacing * 2 : Kirigami.Units.largeSpacing
+ }
+ width: Math.min(implicitWidth, parent.width)
+ Kirigami.Icon {
+ id: headingIcon
+ Layout.minimumWidth: Kirigami.Units.iconSizes.large
+ Layout.minimumHeight: width
+ visible: valid
+ isMask: false
+ //TODO: find a better way to control selective coloring on Android
+ enabled: !Kirigami.Settings.isMobile
+ }
+ Kirigami.Heading {
+ id: heading
+ Layout.fillWidth: true
+ visible: text.length > 0
+ level: 1
+ color: source != "" ? "white" : Kirigami.Theme.textColor
+ wrapMode: Text.NoWrap
+ elide: Text.ElideRight
+ }
+ }
+}
diff --git a/src/controls/private/RefreshableScrollView.qml b/src/controls/private/RefreshableScrollView.qml
index 0bf6a954..243d0852 100644
--- a/src/controls/private/RefreshableScrollView.qml
+++ b/src/controls/private/RefreshableScrollView.qml
@@ -1,294 +1,287 @@
/*
* Copyright 2015 Marco Martin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 2.0 as QQC2
import QtGraphicalEffects 1.0
import QtQuick.Layouts 1.2
import org.kde.kirigami 2.2
import "../templates/private" as P
/**
* RefreshableScrollView is a scroll view for any Flickable that supports the
* "scroll down to refresh" behavior, and also allows the contents of the
* flickable to have more top margins in order to make possible to scroll down the list
* to reach it with the thumb while using the phone with a single hand.
*
* Example usage:
*
* @code
* import org.kde.kirigami 2.2 as Kirigami
* [...]
*
* Kirigami.RefreshableScrollView {
* id: view
* supportsRefreshing: true
* onRefreshingChanged: {
* if (refreshing) {
* myModel.refresh();
* }
* }
* ListView {
* //NOTE: MyModel doesn't come from the components,
* //it's purely an example on how it can be used together
* //some application logic that can update the list model
* //and signals when it's done.
* model: MyModel {
* onRefreshDone: view.refreshing = false;
* }
* delegate: BasicListItem {}
* }
* }
* [...]
*
* @endcode
*
*/
P.ScrollView {
id: root
/**
* type: bool
* If true the list is asking for refresh and will show a loading spinner.
* it will automatically be set to true when the user pulls down enough the list.
* This signals the application logic to start its refresh procedure.
* The application itself will have to set back this property to false when done.
*/
property bool refreshing: false
/**
* type: bool
* If true the list supports the "pull down to refresh" behavior.
*/
property bool supportsRefreshing: false
/**
* leftPadding: int
* default contents padding at left
*/
property int leftPadding: Units.gridUnit
/**
* topPadding: int
* default contents padding at top
*/
property int topPadding: Units.gridUnit
/**
* rightPadding: int
* default contents padding at right
*/
property int rightPadding: Units.gridUnit
/**
* bottomPadding: int
* default contents padding at bottom
*/
property int bottomPadding: Units.gridUnit
/**
* Set when this scrollview manages a whole page
*/
property Page page
property Item _swipeFilter
children: [
Item {
id: busyIndicatorFrame
z: 99
y: root.flickableItem.verticalLayoutDirection === ListView.BottomToTop
? -root.flickableItem.contentY+height
: -root.flickableItem.contentY-height
width: root.flickableItem.width
height: busyIndicator.height + Units.gridUnit * 2
QQC2.BusyIndicator {
id: busyIndicator
anchors.centerIn: parent
running: root.refreshing
visible: root.refreshing
//Android busywidget QQC seems to be broken at custom sizes
}
property int headerItemHeight: (root.flickableItem.headerItem
? (root.flickableItem.headerItem.maximumHeight ? root.flickableItem.headerItem.maximumHeight : root.flickableItem.headerItem.height)
: 0)
Rectangle {
id: spinnerProgress
anchors {
fill: busyIndicator
margins: Math.ceil(Units.smallSpacing/2)
}
radius: width
visible: supportsRefreshing && !refreshing && progress > 0
color: "transparent"
opacity: 0.8
border.color: Theme.backgroundColor
border.width: Math.ceil(Units.smallSpacing/4)
//also take into account the listview header height if present
property real progress: supportsRefreshing && !refreshing ? ((parent.y - busyIndicatorFrame.headerItemHeight)/busyIndicatorFrame.height) : 0
}
ConicalGradient {
source: spinnerProgress
visible: spinnerProgress.visible
anchors.fill: spinnerProgress
gradient: Gradient {
GradientStop { position: 0.00; color: Theme.highlightColor }
GradientStop { position: spinnerProgress.progress; color: Theme.highlightColor }
GradientStop { position: spinnerProgress.progress + 0.01; color: "transparent" }
GradientStop { position: 1.00; color: "transparent" }
}
}
onYChanged: {
//it's overshooting enough and not reachable: start countdown for reachability
if (y - busyIndicatorFrame.headerItemHeight > root.topPadding + Units.gridUnit && !applicationWindow().reachableMode) {
overshootResetTimer.running = true;
//not reachable and not overshooting enough, stop reachability countdown
} else if (typeof(applicationWindow) == "undefined" || !applicationWindow().reachableMode) {
//it's important it doesn't restart
overshootResetTimer.running = false;
}
if (!supportsRefreshing) {
return;
}
//also take into account the listview header height if present
if (!root.refreshing && y - busyIndicatorFrame.headerItemHeight > busyIndicatorFrame.height/2 + topPadding) {
refreshTriggerTimer.running = true;
} else {
refreshTriggerTimer.running = false;
}
}
Timer {
id: refreshTriggerTimer
interval: 500
onTriggered: {
//also take into account the listview header height if present
if (!root.refreshing && parent.y - busyIndicatorFrame.headerItemHeight > busyIndicatorFrame.height/2 + topPadding) {
root.refreshing = true;
}
}
}
Connections {
target: applicationWindow()
onReachableModeChanged: {
overshootResetTimer.running = applicationWindow().reachableMode;
}
}
Timer {
id: overshootResetTimer
interval: applicationWindow().reachableMode ? 8000 : 2000
onTriggered: {
//put it there because widescreen may have changed since timer start
if (!Settings.isMobile || applicationWindow().wideScreen || root.flickableItem.verticalLayoutDirection === ListView.BottomToTop) {
return;
}
applicationWindow().reachableMode = !applicationWindow().reachableMode;
}
}
- Binding {
- target: root.flickableItem
- property: "topMargin"
- value: !Settings.isMobile || applicationWindow().wideScreen
- ? (root.refreshing ? busyIndicatorFrame.height : 0)
- : Math.max(Math.max(root.topPadding - busyIndicatorFrame.headerItemHeight, 0) + (root.refreshing ? busyIndicatorFrame.height : 0), (applicationWindow().header ? applicationWindow().header.height : 0))
- }
Binding {
target: root.flickableItem
property: "flickableDirection"
value: Flickable.VerticalFlick
}
Binding {
target: root.flickableItem
property: "bottomMargin"
value: root.page.bottomPadding
}
Binding {
target: root.contentItem
property: "width"
value: root.flickableItem.width
}
}
]
onHeightChanged: {
if (!Window.window) {
return;
}
var focusItem = Window.window.activeFocusItem;
if (!focusItem) {
return;
}
//NOTE: there is no function to know if an item is descended from another,
//so we have to walk the parent hyerarchy by hand
var isDescendent = false;
var candidate = focusItem.parent;
while (candidate) {
if (candidate == root) {
isDescendent = true;
break;
}
candidate = candidate.parent;
}
if (!isDescendent) {
return;
}
var cursorY = 0;
if (focusItem.cursorPosition !== undefined) {
cursorY = focusItem.positionToRectangle(focusItem.cursorPosition).y;
}
var pos = focusItem.mapToItem(root.contentItem, 0, cursorY);
//focused item alreqady visible? add some margin for the space of the action buttons
if (pos.y >= root.flickableItem.contentY && pos.y <= root.flickableItem.contentY + root.flickableItem.height - Units.gridUnit * 8) {
return;
}
root.flickableItem.contentY = pos.y;
}
onLeftPaddingChanged: {
//for gridviews do apply margins
if (root.contentItem == root.flickableItem) {
if (typeof root.flickableItem.cellWidth != "undefined") {
flickableItem.anchors.leftMargin = leftPadding;
flickableItem.anchors.rightMargin = rightPadding;
} else {
flickableItem.anchors.leftMargin = 0;
flickableItem.anchors.rightMargin = 0;
}
flickableItem.anchors.rightMargin = 0;
flickableItem.anchors.bottomMargin = 0;
} else {
flickableItem.anchors.leftMargin = leftPadding;
flickableItem.anchors.topMargin = topPadding;
flickableItem.anchors.rightMargin = rightPadding;
flickableItem.anchors.bottomMargin = bottomPadding;
}
}
}
diff --git a/src/controls/templates/AbstractApplicationHeader.qml b/src/controls/templates/AbstractApplicationHeader.qml
index 63fb071f..a876f0d2 100644
--- a/src/controls/templates/AbstractApplicationHeader.qml
+++ b/src/controls/templates/AbstractApplicationHeader.qml
@@ -1,192 +1,172 @@
/*
* Copyright 2015 Marco Martin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.5
import QtQuick.Layouts 1.2
import "private"
import org.kde.kirigami 2.2
/**
* An item that can be used as a title for the application.
* Scrolling the main page will make it taller or shorter (trough the point of going away)
* It's a behavior similar to the typical mobile web browser adressbar
* the minimum, preferred and maximum heights of the item can be controlled with
* * minimumHeight: default is 0, i.e. hidden
* * preferredHeight: default is Units.gridUnit * 1.6
* * preferredHeight: default is Units.gridUnit * 3
*
* To achieve a titlebar that stays completely fixed just set the 3 sizes as the same
* @inherit QtQuick.Item
*/
Item {
id: root
z: 90
property int minimumHeight: 0
property int preferredHeight: Units.gridUnit * 2
property int maximumHeight: Units.gridUnit * 3
default property alias contentItem: mainItem.data
readonly property int paintedHeight: headerItem.y + headerItem.height - 1
LayoutMirroring.enabled: Qt.application.layoutDirection == Qt.RightToLeft
LayoutMirroring.childrenInherit: true
//FIXME: remove
property QtObject __appWindow: applicationWindow();
anchors {
left: parent.left
right: parent.right
}
- height: {
- if (!__appWindow.controlsVisible) {
- return 1;
- } else if (__appWindow.wideScreen || !Settings.isMobile) {
- return preferredHeight;
- } else {
- return 1;
- }
- }
+ height: preferredHeight
/**
* background: Item
* This property holds the background item.
* Note: the background will be automatically sized as the whole control
*/
property Item background
onBackgroundChanged: {
background.z = -1;
background.parent = headerItem;
background.anchors.fill = headerItem;
}
- opacity: height > 0 && -translateTransform.y <= height ? 1 : 0
+ opacity: height > 0 ? 1 : 0
Behavior on opacity {
OpacityAnimator {
duration: Units.longDuration
easing.type: Easing.InOutQuad
}
}
- transform: Translate {
- id: translateTransform
- y: {
- if (__appWindow === undefined) {
- return 0;
- }
- if (!__appWindow.controlsVisible) {
- return -headerItem.height - Units.smallSpacing;
- } else {
- return 0;
- }
- }
- Behavior on y {
- NumberAnimation {
- duration: Units.longDuration
- easing.type: translateTransform.y < 0 ? Easing.OutQuad : Easing.InQuad
- }
+ Behavior on height {
+ enabled: __appWindow.pageStack.currentItem && __appWindow.pageStack.currentItem.flickable && !__appWindow.pageStack.currentItem.flickable.moving
+ NumberAnimation {
+ duration: Units.longDuration
+ easing.type: Easing.InOutQuad
}
}
+ Connections {
+ target: __appWindow
+ onControlsVisibleChanged: root.height = __appWindow.controlsVisible ? root.preferredHeight : 0;
+ }
+
Item {
id: headerItem
+ property real computedRootHeight: root.preferredHeight
anchors {
left: parent.left
right: parent.right
+ bottom: parent.bottom
}
height: __appWindow.reachableMode && __appWindow.reachableModeEnabled ? root.maximumHeight : root.preferredHeight
- function updatePageHeader() {
- if (!__appWindow || !__appWindow.pageStack || !__appWindow.pageStack.currentItem || !__appWindow.pageStack.currentItem.header || !__appWindow.pageStack.currentItem.flickable) {
- return;
- }
-
- if (__appWindow.wideScreen || !Settings.isMobile) {
- __appWindow.pageStack.currentItem.header.y = 0;
- } else {
- __appWindow.pageStack.currentItem.header.y = headerItem.height + headerItem.y -1;
- }
- }
- onYChanged: updatePageHeader()
- onHeightChanged: updatePageHeader()
-
Connections {
id: headerSlideConnection
target: __appWindow.pageStack.currentItem ? __appWindow.pageStack.currentItem.flickable : null
property int oldContentY
onContentYChanged: {
- if (!__appWindow.pageStack.currentItem) {
- return;
- }
- if (__appWindow.pageStack.currentItem.flickable.atYBeginning ||
+ if (!Settings.isMobile ||
+ !__appWindow.controlsVisible ||
+ !__appWindow.pageStack.currentItem ||
+ __appWindow.pageStack.currentItem.flickable.atYBeginning ||
__appWindow.pageStack.currentItem.flickable.atYEnd) {
return;
- }
+ //if moves but not dragging, just update oldContentY
+ } else if (!__appWindow.pageStack.currentItem.flickable.dragging) {
+ oldContentY = __appWindow.pageStack.currentItem.flickable.contentY;
+ return;
+ }
+
if (__appWindow.wideScreen || !Settings.isMobile) {
- headerItem.y = 0;
+ root.height = root.preferredHeight;
} else {
- headerItem.y = Math.max(root.minimumHeight - root.preferredHeight, Math.min(0, headerItem.y + oldContentY - __appWindow.pageStack.currentItem.flickable.contentY));
-
- oldContentY = __appWindow.pageStack.currentItem.flickable.contentY;
+ var oldHeight = root.height;
+
+ root.height = Math.max(root.minimumHeight,
+ Math.min(root.preferredHeight,
+ root.height + oldContentY - __appWindow.pageStack.currentItem.flickable.contentY));
+
+ //if the height is changed, use that to simulate scroll
+ if (oldHeight != height) {
+ __appWindow.pageStack.currentItem.flickable.contentY = oldContentY;
+ } else {
+ oldContentY = __appWindow.pageStack.currentItem.flickable.contentY;
+ }
}
}
onMovementEnded: {
- if (headerItem.y > root.preferredHeight) {
- //if don't change the position if more then preferredSize is shown
- } else if (headerItem.y < -(root.preferredHeight - root.minimumHeight)/2 ) {
- headerItem.y = root.minimumHeight - root.preferredHeight;
+ if (__appWindow.wideScreen || !Settings.isMobile) {
+ return;
+ }
+ if (root.height > (root.preferredHeight - root.minimumHeight)/2 ) {
+ root.height = root.preferredHeight;
} else {
- headerItem.y = 0;
+ root.height = root.minimumHeight;
}
}
}
Connections {
target: __appWindow.pageStack
onCurrentItemChanged: {
if (!__appWindow.pageStack.currentItem) {
return;
}
if (__appWindow.pageStack.currentItem.flickable) {
headerSlideConnection.oldContentY = __appWindow.pageStack.currentItem.flickable.contentY;
} else {
headerSlideConnection.oldContentY = 0;
}
- headerItem.y = 0;
- headerItem.updatePageHeader()
+ root.height = root.preferredHeight;
}
}
Item {
id: mainItem
anchors {
fill: parent
}
}
- Behavior on y {
- enabled: __appWindow.pageStack.currentItem && __appWindow.pageStack.currentItem.flickable && !__appWindow.pageStack.currentItem.flickable.moving
- NumberAnimation {
- duration: Units.longDuration
- easing.type: Easing.InOutQuad
- }
- }
}
}
diff --git a/src/controls/templates/AbstractCard.qml b/src/controls/templates/AbstractCard.qml
new file mode 100644
index 00000000..2cc68e88
--- /dev/null
+++ b/src/controls/templates/AbstractCard.qml
@@ -0,0 +1,187 @@
+/*
+ * Copyright 2018 Marco Martin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.6
+import QtQuick.Layouts 1.2
+import QtQuick.Templates 2.0 as T
+import org.kde.kirigami 2.3 as Kirigami
+
+/**
+ * A AbstractCard is the base for cards. A Card is a visual object that serves
+ * as an entry point for more detailed information. An abstractCard is empty,
+ * providing just the look and the base properties and signals for an ItemDelegate.
+ * It can be filled with any custom layout of items, its content is organized
+ * in 3 properties: header, contentItem and footer.
+ * Use this only when you need particular custom contents, for a standard layout
+ * for cards, use the Card component.
+ *
+ * @see Card
+ * @inherits QtQuick.Templates.ItemDelegate
+ * @since 2.4
+ */
+T.ItemDelegate {
+ id: root
+
+ /**
+ * header: Item
+ * This item serves as header, it will be put either on top if headerOrientation
+ * is Qt.Vertical(default) or on the left if it's Qt.Horizontal
+ */
+ property Item header
+
+ /**
+ * headerOrientation: Qt.Orientation
+ * If Qt.Vertical the header will be positioned on top(default),
+ * if Qt.Horizontal will be positioned on the left (or right if an RTL layout is used)
+ */
+ property int headerOrientation: Qt.Vertical
+
+ /**
+ * footer: Item
+ * This item serves as footer, and it will be positioned at the bottom of the card.
+ */
+ property Item footer
+
+ /**
+ * showClickFeedback: bool
+ * if true, when clicking or tapping on the card area, the card will be colored
+ * to show a visual click feedback.
+ * Use this if you want to do an action in the onClicked signal handler of the card.
+ */
+ property bool showClickFeedback: false
+
+ Layout.fillWidth: true
+
+ implicitWidth: internal.completed
+ ? (internal.listView ? internal.listView.width - internal.listView.spacing * 2 :
+ (internal.gridView ? Math.min(internal.gridView.cellWidth, internal.gridView.maximumColumnWidth) - Kirigami.Units.largeSpacing*2 : Math.max(background.implicitWidth, mainLayout.implicitWidth) + leftPadding + rightPadding))
+ : 0
+
+ implicitHeight: internal.completed && internal.gridView
+ ? internal.gridView.cellHeight - Kirigami.Units.largeSpacing*2
+ : mainLayout.implicitHeight + topPadding + bottomPadding
+
+ x: internal.listView ? internal.listView.spacing : (internal.gridView ? internal.gridView.cellWidth - width: 0)
+
+ //in grid views align the cells in the middle
+ anchors.left: internal.gridView !== null ? parent.left : undefined
+ anchors.leftMargin: internal.gridView === null || internal.gridView.width <= internal.gridView.maximumColumnWidth ? 0 : (index % 2 === 0 ? Math.max(0, internal.gridView.cellWidth - internal.gridView.maximumColumnWidth) : internal.gridView.cellWidth)
+
+ hoverEnabled: !Kirigami.Settings.isMobile && showClickFeedback
+ //if it's in a CardLayout, try to expand horizontal cards to both columns
+ Layout.columnSpan: headerOrientation == Qt.Horizontal && parent.hasOwnProperty("columns") ? parent.columns : 1
+
+ Kirigami.Theme.inherit: false
+ Kirigami.Theme.colorSet: Kirigami.Theme.View
+
+ topPadding: Kirigami.Units.largeSpacing
+ leftPadding: Kirigami.Units.largeSpacing
+ bottomPadding: Kirigami.Units.largeSpacing
+ rightPadding: Kirigami.Units.largeSpacing
+
+ GridLayout {
+ id: mainLayout
+ rowSpacing: root.topPadding
+ columnSpacing: root.leftPadding
+ anchors {
+ top: parent.top
+ left: parent.left
+ right: parent.right
+ leftMargin: root.leftPadding
+ topMargin: root.topPadding
+ rightMargin: root.rightPadding
+ //never anchor bottom, to not have binding loops
+ }
+ columns: headerOrientation == Qt.Vertical ? 1 : 2
+ function preferredHeight(item) {
+ if (!item) {
+ return 0;
+ }
+ if (item.Layout.preferredHeight > 0) {
+ return item.Layout.preferredHeight;
+ }
+ return item.implicitHeight
+ }
+ Item {
+ id: headerParent
+ Layout.fillWidth: true
+ Layout.fillHeight: root.headerOrientation == Qt.Horizontal
+ Layout.rowSpan: root.headerOrientation == Qt.Vertical ? 1 : 2
+ Layout.preferredWidth: header ? header.implicitWidth : 0
+ Layout.preferredHeight: root.headerOrientation == Qt.Vertical ? mainLayout.preferredHeight(header) : -1
+ }
+ Item {
+ id: contentItemParent
+ Layout.fillWidth: true
+ Layout.preferredWidth: contentItem ? contentItem.implicitWidth : 0
+ Layout.preferredHeight: mainLayout.preferredHeight(contentItem)
+ }
+ Item {
+ id: footerParent
+ Layout.fillWidth: true
+ Layout.preferredWidth: footer ? footer.implicitWidth : 0
+ Layout.preferredHeight: mainLayout.preferredHeight(footer)
+ }
+ }
+ QtObject {
+ id: internal
+ property bool completed: false
+ property ListView listView
+ property GridView gridView
+ }
+//BEGIN signal handlers
+ onContentItemChanged: {
+ if (!contentItem) {
+ return;
+ }
+
+ contentItem.parent = contentItemParent;
+ contentItem.anchors.fill = contentItemParent;
+ }
+ onHeaderChanged: {
+ if (!header) {
+ return;
+ }
+
+ header.parent = headerParent;
+ header.anchors.fill = headerParent;
+ }
+ onFooterChanged: {
+ if (!footer) {
+ return;
+ }
+
+ //make the footer always looking it's at the bottom of the card
+ footer.parent = footerParent;
+ footer.anchors.left = footerParent.left;
+ footer.anchors.top = footerParent.top;
+ footer.anchors.right = footerParent.right;
+ footer.anchors.topMargin = Qt.binding(function() {return (root.height - root.bottomPadding - root.topPadding) - (footerParent.y + footerParent.height)});
+ }
+ Component.onCompleted: {
+ internal.listView = ListView.view;
+ //only consider gridviews which are CardsGridView
+ if (GridView.view && GridView.view.hasOwnProperty("maximumColumnWidth")) {
+ internal.gridView = GridView.view;
+ }
+ internal.completed = true;
+ contentItemChanged();
+ }
+//END signal handlers
+}
diff --git a/src/controls/templates/private/ScrollView.qml b/src/controls/templates/private/ScrollView.qml
index 3b69a625..75522fcd 100644
--- a/src/controls/templates/private/ScrollView.qml
+++ b/src/controls/templates/private/ScrollView.qml
@@ -1,192 +1,200 @@
/*
* Copyright 2016 Marco Martin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.5
import QtQuick.Controls 2.0
import org.kde.kirigami 2.2
MouseArea {
id: root
default property Item contentItem
property Flickable flickableItem
//TODO: horizontalScrollBarPolicy is completely noop just for compatibility right now
property int horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff
property int verticalScrollBarPolicy: Qt.ScrollBarAsNeeded
readonly property Item verticalScrollBar: flickableItem.ScrollBar.vertical ? flickableItem.ScrollBar.vertical : null
onVerticalScrollBarPolicyChanged: {
if (flickableItem.ScrollBar.vertical) {
flickableItem.ScrollBar.vertical.visible = verticalScrollBarPolicy != Qt.ScrollBarAlwaysOff;
}
scrollBarCreationTimer.restart();
}
onHorizontalScrollBarPolicyChanged: {
if (flickableItem.ScrollBar.horizontal) {
flickableItem.ScrollBar.horizontal.visible = horizontalScrollBarPolicy != Qt.ScrollBarAlwaysOff;
}
scrollBarCreationTimer.restart();
}
drag.filterChildren: !Settings.isMobile
onPressed: {
+ if (Settings.isMobile) {
+ return;
+ }
mouse.accepted = false;
flickableItem.interactive = true;
}
onReleased: {
+ if (Settings.isMobile) {
+ return;
+ }
mouse.accepted = false;
flickableItem.interactive = false;
}
onWheel: {
- flickableItem.interactive = false;
if (Settings.isMobile || flickableItem.contentHeight 0) {
y = flickableItem.height;
} else if (y < 0) {
y = -flickableItem.height;
}
}
var minYExtent = flickableItem.topMargin - flickableItem.originY;
var maxYExtent = flickableItem.height - (flickableItem.contentHeight + flickableItem.bottomMargin + flickableItem.originY);
flickableItem.contentY = Math.min(-maxYExtent, Math.max(-minYExtent, flickableItem.contentY - y));
//this is just for making the scrollbar appear
flickableItem.flick(0, 0);
flickableItem.cancelFlick();
}
Connections {
target: flickableItem
+ enabled: !Settings.isMobile
onFlickEnded: flickableItem.interactive = false;
onMovementEnded: flickableItem.interactive = false;
}
onContentItemChanged: {
if (contentItem.hasOwnProperty("contentY")) {
flickableItem = contentItem;
if (typeof(flickableItem.keyNavigationEnabled) != "undefined") {
flickableItem.keyNavigationEnabled = true;
flickableItem.keyNavigationWraps = true;
}
contentItem.parent = flickableParent;
} else {
flickableItem = flickableComponent.createObject(flickableParent);
contentItem.parent = flickableItem.contentItem;
}
//TODO: find a way to make flicking work on laptops with touch screen
flickableItem.interactive = Settings.isMobile;
flickableItem.anchors.fill = flickableParent;
scrollBarCreationTimer.restart();
}
Timer {
id: scrollBarCreationTimer
interval: 0
onTriggered: {
//create or destroy the vertical scrollbar
if ((!flickableItem.ScrollBar.vertical) &&
verticalScrollBarPolicy != Qt.ScrollBarAlwaysOff) {
flickableItem.ScrollBar.vertical = verticalScrollComponent.createObject(root);
} else if (flickableItem.ScrollBar.vertical &&
verticalScrollBarPolicy == Qt.ScrollBarAlwaysOff) {
flickableItem.ScrollBar.vertical.destroy();
}
//create or destroy the horizontal scrollbar
if ((!flickableItem.ScrollBar.horizontal) &&
horizontalScrollBarPolicy != Qt.ScrollBarAlwaysOff) {
flickableItem.ScrollBar.horizontal = horizontalScrollComponent.createObject(root);
} else if (flickableItem.ScrollBar.horizontal &&
horizontalScrollBarPolicy == Qt.ScrollBarAlwaysOff) {
flickableItem.ScrollBar.horizontal.destroy();
}
}
}
MultiPointTouchArea {
id: flickableParent
anchors {
fill: parent
}
clip: true
mouseEnabled: false
maximumTouchPoints: 1
property bool touchPressed: false
onPressed: {
touchPressed = true;
flickableItem.interactive = true;
}
onReleased: touchPressed = false;
onCanceled: touchPressed = false;
}
Component {
id: flickableComponent
Flickable {
anchors {
fill: parent
}
contentWidth: root.contentItem ? root.contentItem.width : 0
contentHeight: root.contentItem ? root.contentItem.height : 0
}
}
Component {
id: verticalScrollComponent
ScrollBar {
z: flickableParent.z + 1
visible: root.contentItem.visible && size < 1
interactive: !Settings.isMobile
//NOTE: use this instead of anchors as crashes on some Qt 5.8 checkouts
height: parent.height - anchors.topMargin
anchors {
topMargin: parent.flickableItem.headerItem ? parent.flickableItem.headerItem.height : 0
right: parent.right
top: parent.top
}
}
}
Component {
id: horizontalScrollComponent
ScrollBar {
z: flickableParent.z + 1
visible: root.contentItem.visible && size < 1
interactive: !Settings.isMobile
//NOTE: use this instead of anchors as crashes on some Qt 5.8 checkouts
height: parent.height - anchors.topMargin
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
}
}
}
}
diff --git a/src/kirigamiplugin.cpp b/src/kirigamiplugin.cpp
index 4afa4534..d07cbb48 100644
--- a/src/kirigamiplugin.cpp
+++ b/src/kirigamiplugin.cpp
@@ -1,168 +1,175 @@
/*
* Copyright 2009 by Alan Alpert
* Copyright 2010 by Ménard Alexis
* Copyright 2010 by Marco Martin
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "kirigamiplugin.h"
#include "enums.h"
#include "desktopicon.h"
#include "settings.h"
#include "formlayoutattached.h"
#include "mnemonicattached.h"
#include
#include
#include
#include
#include "libkirigami/platformtheme.h"
static QString s_selectedStyle;
//Q_INIT_RESOURCE(kirigami);
#ifdef KIRIGAMI_BUILD_TYPE_STATIC
#include
#endif
QUrl KirigamiPlugin::componentUrl(const QString &fileName) const
{
foreach (const QString &style, m_stylesFallbackChain) {
const QString candidate = QStringLiteral("styles/") + style + QLatin1Char('/') + fileName;
if (QFile::exists(resolveFilePath(candidate))) {
#ifdef KIRIGAMI_BUILD_TYPE_STATIC
return QUrl(QStringLiteral("qrc:/org/kde/kirigami/styles/") + style + QLatin1Char('/') + fileName);
#else
return QUrl(resolveFileUrl(candidate));
#endif
}
}
#ifdef KIRIGAMI_BUILD_TYPE_STATIC
return QUrl(QStringLiteral("qrc:/org/kde/kirigami/") + fileName);
#else
return QUrl(resolveFileUrl(fileName));
#endif
}
void KirigamiPlugin::registerTypes(const char *uri)
{
Q_ASSERT(uri == QLatin1String("org.kde.kirigami"));
const QString style = QQuickStyle::name();
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
//org.kde.desktop.plasma is a couple of files that fall back to desktop by purpose
if ((style.isEmpty() || style == QStringLiteral("org.kde.desktop.plasma")) && QFile::exists(resolveFilePath(QStringLiteral("/styles/org.kde.desktop")))) {
m_stylesFallbackChain.prepend(QStringLiteral("org.kde.desktop"));
}
#elif defined(Q_OS_ANDROID)
if (!m_stylesFallbackChain.contains(QStringLiteral("Material"))) {
m_stylesFallbackChain.prepend(QStringLiteral("Material"));
}
#else // do we have an iOS specific style?
if (!m_stylesFallbackChain.contains(QStringLiteral("Material"))) {
m_stylesFallbackChain.prepend(QStringLiteral("Material"));
}
#endif
if (!style.isEmpty() && QFile::exists(resolveFilePath(QStringLiteral("/styles/") + style)) && !m_stylesFallbackChain.contains(style)) {
m_stylesFallbackChain.prepend(style);
//if we have plasma deps installed, use them for extra integration
if (style == QStringLiteral("org.kde.desktop") && QFile::exists(resolveFilePath(QStringLiteral("/styles/org.kde.desktop.plasma")))) {
m_stylesFallbackChain.prepend("org.kde.desktop.plasma");
}
} else {
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
m_stylesFallbackChain.prepend(QStringLiteral("org.kde.desktop"));
#endif
}
//At this point the fallback chain will be selected->org.kde.desktop->Fallback
s_selectedStyle = m_stylesFallbackChain.first();
qmlRegisterSingletonType(uri, 2, 0, "Settings",
[](QQmlEngine*, QJSEngine*) -> QObject* {
Settings *settings = new Settings;
settings->setStyle(s_selectedStyle);
return settings;
}
);
qmlRegisterUncreatableType(uri, 2, 0, "ApplicationHeaderStyle", "Cannot create objects of type ApplicationHeaderStyle");
//old legacy retrocompatible Theme
qmlRegisterSingletonType(componentUrl(QStringLiteral("Theme.qml")), uri, 2, 0, "Theme");
qmlRegisterSingletonType(componentUrl(QStringLiteral("Units.qml")), uri, 2, 0, "Units");
qmlRegisterType(componentUrl(QStringLiteral("Action.qml")), uri, 2, 0, "Action");
qmlRegisterType(componentUrl(QStringLiteral("AbstractApplicationHeader.qml")), uri, 2, 0, "AbstractApplicationHeader");
qmlRegisterType(componentUrl(QStringLiteral("AbstractApplicationWindow.qml")), uri, 2, 0, "AbstractApplicationWindow");
qmlRegisterType(componentUrl(QStringLiteral("AbstractListItem.qml")), uri, 2, 0, "AbstractListItem");
qmlRegisterType(componentUrl(QStringLiteral("ApplicationHeader.qml")), uri, 2, 0, "ApplicationHeader");
qmlRegisterType(componentUrl(QStringLiteral("ToolBarApplicationHeader.qml")), uri, 2, 0, "ToolBarApplicationHeader");
qmlRegisterType(componentUrl(QStringLiteral("ApplicationWindow.qml")), uri, 2, 0, "ApplicationWindow");
qmlRegisterType(componentUrl(QStringLiteral("BasicListItem.qml")), uri, 2, 0, "BasicListItem");
qmlRegisterType(componentUrl(QStringLiteral("OverlayDrawer.qml")), uri, 2, 0, "OverlayDrawer");
qmlRegisterType(componentUrl(QStringLiteral("ContextDrawer.qml")), uri, 2, 0, "ContextDrawer");
qmlRegisterType(componentUrl(QStringLiteral("GlobalDrawer.qml")), uri, 2, 0, "GlobalDrawer");
qmlRegisterType(componentUrl(QStringLiteral("Heading.qml")), uri, 2, 0, "Heading");
qmlRegisterType(componentUrl(QStringLiteral("Separator.qml")), uri, 2, 0, "Separator");
qmlRegisterType(componentUrl(QStringLiteral("PageRow.qml")), uri, 2, 0, "PageRow");
//The icon is "special: we have to use a wrapper class to QIcon on org.kde.desktops
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
//we know that we want a different implementation with Material and Plasma styles
if (s_selectedStyle == QStringLiteral("Material") || s_selectedStyle == QStringLiteral("Plasma")) {
qmlRegisterType(componentUrl(QStringLiteral("Icon.qml")), uri, 2, 0, "Icon");
} else {
qmlRegisterType(uri, 2, 0, "Icon");
}
#else
qmlRegisterType(componentUrl(QStringLiteral("Icon.qml")), uri, 2, 0, "Icon");
#endif
qmlRegisterType(componentUrl(QStringLiteral("Label.qml")), uri, 2, 0, "Label");
//TODO: uncomment for 2.3 release
//qmlRegisterTypeNotAvailable(uri, 2, 3, "Label", "Label type not supported anymore, use QtQuick.Controls.Label 2.0 instead");
qmlRegisterType(componentUrl(QStringLiteral("OverlaySheet.qml")), uri, 2, 0, "OverlaySheet");
qmlRegisterType(componentUrl(QStringLiteral("Page.qml")), uri, 2, 0, "Page");
qmlRegisterType(componentUrl(QStringLiteral("ScrollablePage.qml")), uri, 2, 0, "ScrollablePage");
qmlRegisterType(componentUrl(QStringLiteral("SplitDrawer.qml")), uri, 2, 0, "SplitDrawer");
qmlRegisterType(componentUrl(QStringLiteral("SwipeListItem.qml")), uri, 2, 0, "SwipeListItem");
//2.1
qmlRegisterType(componentUrl(QStringLiteral("AbstractItemViewHeader.qml")), uri, 2, 1, "AbstractItemViewHeader");
qmlRegisterType(componentUrl(QStringLiteral("ItemViewHeader.qml")), uri, 2, 1, "ItemViewHeader");
qmlRegisterType(componentUrl(QStringLiteral("AbstractApplicationItem.qml")), uri, 2, 1, "AbstractApplicationItem");
qmlRegisterType(componentUrl(QStringLiteral("ApplicationItem.qml")), uri, 2, 1, "ApplicationItem");
//2.2
//Theme changed from a singleton to an attached property
qmlRegisterUncreatableType(uri, 2, 2, "Theme", "Cannot create objects of type Theme, use it as an attached poperty");
//2.3
qmlRegisterType(componentUrl(QStringLiteral("FormLayout.qml")), uri, 2, 3, "FormLayout");
qmlRegisterUncreatableType(uri, 2, 3, "FormData", "Cannot create objects of type FormData, use it as an attached poperty");
qmlRegisterUncreatableType(uri, 2, 3, "MnemonicData", "Cannot create objects of type MnemonicData, use it as an attached poperty");
+ //2.4
+ qmlRegisterType(componentUrl(QStringLiteral("AbstractCard.qml")), uri, 2, 4, "AbstractCard");
+ qmlRegisterType(componentUrl(QStringLiteral("Card.qml")), uri, 2, 4, "Card");
+ qmlRegisterType(componentUrl(QStringLiteral("CardsListView.qml")), uri, 2, 4, "CardsListView");
+ qmlRegisterType(componentUrl(QStringLiteral("CardsGridView.qml")), uri, 2, 4, "CardsGridView");
+ qmlRegisterType(componentUrl(QStringLiteral("CardsLayout.qml")), uri, 2, 4, "CardsLayout");
+
qmlProtectModule(uri, 2);
}
#include "moc_kirigamiplugin.cpp"
diff --git a/src/qmldir b/src/qmldir
index f262452b..e2adb09f 100644
--- a/src/qmldir
+++ b/src/qmldir
@@ -1,39 +1,44 @@
module org.kde.kirigami
classname KirigamiPlugin
depends QtQuick.Controls 1.4
depends QtQuick.Controls.Private 1.0
depends QtQuick.Controls 2.0
depends QtGraphicalEffects 1.0
designersupported
typeinfo plugins.qmltypes
singleton Theme 2.2 Theme.qml
OverlaySheet 2.0 OverlaySheet.qml
ApplicationItem 2.1 ApplicationItem.qml
AbstractApplicationWindow 2.0 AbstractApplicationWindow.qml
FormLayout 2.3 FormLayout.qml
GlobalDrawer 2.0 GlobalDrawer.qml
BasicListItem 2.0 BasicListItem.qml
AbstractItemViewHeader 2.1 AbstractItemViewHeader.qml
Heading 2.0 Heading.qml
Action 2.0 Action.qml
Separator 2.0 Separator.qml
ItemViewHeader 2.1 ItemViewHeader.qml
SwipeListItem 2.0 SwipeListItem.qml
AbstractListItem 2.0 AbstractListItem.qml
Icon 2.0 Icon.qml
Units 2.0 Units.qml
Page 2.0 Page.qml
Label 2.0 Label.qml
AbstractApplicationItem 2.1 AbstractApplicationItem.qml
ToolBarApplicationHeader 2.0 ToolBarApplicationHeader.qml
ScrollablePage 2.0 ScrollablePage.qml
ApplicationHeader 2.0 ApplicationHeader.qml
AbstractApplicationHeader 2.0 AbstractApplicationHeader.qml
ContextDrawer 2.0 ContextDrawer.qml
ApplicationWindow 2.0 ApplicationWindow.qml
PageRow 2.0 PageRow.qml
+AbstractCard 2.4 AbstractCard.qml
+Card 2.4 Card.qml
+CardsLayout 2.4 CardsLayout.qml
+CardsListView 2.4 CardsListView.qml
+CardsGridView 2.4 CardsGridView.qml