From 7095ab73c2d07960a4346b2c483b38bff246ffdd Mon Sep 17 00:00:00 2001 From: jared Date: Thu, 22 Oct 2020 10:23:38 +0800 Subject: [PATCH] add PageIndicator --- .../TaoQuickShow/Contents/General/Miscs.qml | 9 +++++++ examples/TaoQuickShow/Qml/Biz/CloseBtn.qml | 4 +-- examples/TaoQuickShow/Qml/Pane/TitlePane.qml | 20 ++++++++++++-- .../Qml/CusButton/CusButton_Image.qml | 4 +-- .../TaoQuick/Qml/Misc/CusPageIndicator.qml | 27 +++++++++++++++++++ src/TaoQuick/imports/TaoQuick/TaoQuick.qrc | 1 + .../TaoQuick/designer/TaoQuick.metainfo | 14 ++++++++++ src/TaoQuick/imports/TaoQuick/qmldir | 1 + 8 files changed, 74 insertions(+), 6 deletions(-) create mode 100644 src/TaoQuick/imports/TaoQuick/Qml/Misc/CusPageIndicator.qml diff --git a/examples/TaoQuickShow/Contents/General/Miscs.qml b/examples/TaoQuickShow/Contents/General/Miscs.qml index 1a4c009..8578690 100644 --- a/examples/TaoQuickShow/Contents/General/Miscs.qml +++ b/examples/TaoQuickShow/Contents/General/Miscs.qml @@ -74,5 +74,14 @@ Item { busyColor: Qt.lighter("#008b8b", 1.6) } } + CusLabel { + text: qsTr("PageIndicator") + trans.transString + wrapMode: Label.WordWrap + width: 400 + } + CusPageIndicator { + width: 200 + count: 15 + } } } diff --git a/examples/TaoQuickShow/Qml/Biz/CloseBtn.qml b/examples/TaoQuickShow/Qml/Biz/CloseBtn.qml index 3b6acaf..c7be684 100644 --- a/examples/TaoQuickShow/Qml/Biz/CloseBtn.qml +++ b/examples/TaoQuickShow/Qml/Biz/CloseBtn.qml @@ -3,8 +3,8 @@ import QtQuick 2.9 import TaoQuick 1.0 CusButton_Image { - width: 20 - height: 20 + implicitWidth: 24 + implicitHeight: 24 tipText: qsTr("Close") + trans.transString btnImgUrl: imgPath + (hovered || pressed ? "Window/close_white.png" : "Window/close_gray.png") } diff --git a/examples/TaoQuickShow/Qml/Pane/TitlePane.qml b/examples/TaoQuickShow/Qml/Pane/TitlePane.qml index 6dea1fe..9614cb5 100644 --- a/examples/TaoQuickShow/Qml/Pane/TitlePane.qml +++ b/examples/TaoQuickShow/Qml/Pane/TitlePane.qml @@ -24,12 +24,14 @@ Rectangle { property bool isMaxed: view.isMax Row { id: controlButtons - height: 16 + height: 24 anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right anchors.rightMargin: 20 spacing: 20 CusButton_Image { + width: 24 + height: 24 btnImgUrl: imgPath + (hovered || pressed ? "Window/minimal_white.png" : "Window/minimal_gray.png") tipText: qsTr("minimal") + trans.transString onClicked: { @@ -37,6 +39,8 @@ Rectangle { } } CusButton_Image { + width: 24 + height: 24 visible: !isMaxed btnImgUrl: imgPath + (hovered || pressed ? "Window/max_white.png" : "Window/max_gray.png") tipText: qsTr("maximize") + trans.transString @@ -45,6 +49,8 @@ Rectangle { } } CusButton_Image { + width: 24 + height: 24 visible: isMaxed btnImgUrl: imgPath + (hovered || pressed ? "Window/normal_white.png" : "Window/normal_gray.png") @@ -54,6 +60,8 @@ Rectangle { } } CloseBtn { + width: 24 + height: 24 onClicked: { view.close() } @@ -70,18 +78,24 @@ Rectangle { } Row { id: toolRow - height: 16 + height: 24 anchors.verticalCenter: parent.verticalCenter anchors.right: splitLine.left anchors.rightMargin: 20 spacing: 20 SkinBtn { + width: 24 + height: 24 anchors.verticalCenter: parent.verticalCenter } LangBtn { + width: 24 + height: 24 anchors.verticalCenter: parent.verticalCenter } CusButton_Image { + width: 24 + height: 24 anchors.verticalCenter: parent.verticalCenter tipText: qsTr("Settings") + trans.transString btnImgUrl: imgPath @@ -91,6 +105,8 @@ Rectangle { } } CusButton_Image { + width: 24 + height: 24 anchors.verticalCenter: parent.verticalCenter tipText: qsTr("About") + trans.transString btnImgUrl: imgPath diff --git a/src/TaoQuick/imports/TaoQuick/Qml/CusButton/CusButton_Image.qml b/src/TaoQuick/imports/TaoQuick/Qml/CusButton/CusButton_Image.qml index adc520f..d48c7c8 100644 --- a/src/TaoQuick/imports/TaoQuick/Qml/CusButton/CusButton_Image.qml +++ b/src/TaoQuick/imports/TaoQuick/Qml/CusButton/CusButton_Image.qml @@ -5,8 +5,8 @@ import "../.." Button { id: cusButtonImage - implicitWidth: 30 - implicitHeight: 30 + implicitWidth: 24 + implicitHeight: 24 property alias tipText: toolTip.text property alias tipItem: toolTip diff --git a/src/TaoQuick/imports/TaoQuick/Qml/Misc/CusPageIndicator.qml b/src/TaoQuick/imports/TaoQuick/Qml/Misc/CusPageIndicator.qml new file mode 100644 index 0000000..55f9111 --- /dev/null +++ b/src/TaoQuick/imports/TaoQuick/Qml/Misc/CusPageIndicator.qml @@ -0,0 +1,27 @@ +import QtQuick 2.9 +import QtQuick.Controls 2.2 +import ".." +import "../.." +PageIndicator { + id: control + implicitHeight: CusConfig.fixedHeight + delegate: Rectangle { + implicitWidth: 40 + implicitHeight: control.height + color: area.containsMouse ? CusConfig.controlBorderColor_hovered : (index === control.currentIndex ? CusConfig.controlColor_pressed : CusConfig.controlBorderColor) + CusLabel { + anchors.centerIn: parent + text: index + } + MouseArea { + id: area + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + control.currentIndex = index + } + } + } + +} diff --git a/src/TaoQuick/imports/TaoQuick/TaoQuick.qrc b/src/TaoQuick/imports/TaoQuick/TaoQuick.qrc index 2d7de1d..0d8e82a 100644 --- a/src/TaoQuick/imports/TaoQuick/TaoQuick.qrc +++ b/src/TaoQuick/imports/TaoQuick/TaoQuick.qrc @@ -73,6 +73,7 @@ Qml/Misc/CusDialog.qml Qml/Misc/CusDragItem.qml Qml/Misc/CusFPS.qml + Qml/Misc/CusPageIndicator.qml Qml/Misc/CusRectDraw.qml Qml/Misc/CusResizeBorder.qml Qml/Misc/CusShortCutKeys.qml diff --git a/src/TaoQuick/imports/TaoQuick/designer/TaoQuick.metainfo b/src/TaoQuick/imports/TaoQuick/designer/TaoQuick.metainfo index fb0ec13..e6cac1e 100644 --- a/src/TaoQuick/imports/TaoQuick/designer/TaoQuick.metainfo +++ b/src/TaoQuick/imports/TaoQuick/designer/TaoQuick.metainfo @@ -965,6 +965,20 @@ MetaInfo { Property { name: "height"; type: "int"; value: 80 } } } + Type { + name: "TaoQuick.Qml.Misc.CusPageIndicator" + icon: "images/CusPageIndicator.png" + + ItemLibraryEntry { + name: "CusPageIndicator" + category: "TaoQuick - Misc" + libraryIcon: "images/CusPageIndicator.png" + version: "1.0" + requiredImport: "TaoQuick" + Property { name: "width"; type: "int"; value: 120 } + Property { name: "height"; type: "int"; value: 80 } + } + } Type { name: "TaoQuick.Qml.Misc.CusRectDraw" icon: "images/CusRectDraw.png" diff --git a/src/TaoQuick/imports/TaoQuick/qmldir b/src/TaoQuick/imports/TaoQuick/qmldir index 7be4399..e6d75ae 100644 --- a/src/TaoQuick/imports/TaoQuick/qmldir +++ b/src/TaoQuick/imports/TaoQuick/qmldir @@ -70,6 +70,7 @@ CusBusyIndicator 1.0 Qml/Misc/CusBusyIndicator.qml CusDialog 1.0 Qml/Misc/CusDialog.qml CusDragItem 1.0 Qml/Misc/CusDragItem.qml CusFPS 1.0 Qml/Misc/CusFPS.qml +CusPageIndicator 1.0 Qml/Misc/CusPageIndicator.qml CusRectDraw 1.0 Qml/Misc/CusRectDraw.qml CusResizeBorder 1.0 Qml/Misc/CusResizeBorder.qml CusShortCutKeys 1.0 Qml/Misc/CusShortCutKeys.qml