feat(StatusQ.Controls): introduce StatusColorSelector component
This is a select component to pick from various supplied colors. Usage: ```qml import StatusQ.Controls 0.1 StatusColorSelector { model: ["red", "blue", "green"] } ``` Closes #444
This commit is contained in:
parent
9fdc9aeaa3
commit
bdd699557d
|
@ -0,0 +1,17 @@
|
||||||
|
import QtQuick 2.14
|
||||||
|
import QtQuick.Controls 2.14
|
||||||
|
import QtQuick.Layouts 1.14
|
||||||
|
|
||||||
|
import StatusQ.Core 0.1
|
||||||
|
import StatusQ.Core.Theme 0.1
|
||||||
|
import StatusQ.Controls 0.1
|
||||||
|
|
||||||
|
import Sandbox 0.1
|
||||||
|
|
||||||
|
Column {
|
||||||
|
spacing: 8
|
||||||
|
|
||||||
|
StatusColorSelector {
|
||||||
|
model: ["red", "blue", "green"]
|
||||||
|
}
|
||||||
|
}
|
|
@ -168,6 +168,11 @@ StatusWindow {
|
||||||
selected: page.sourceComponent == statusAssetSelectorPageComponent
|
selected: page.sourceComponent == statusAssetSelectorPageComponent
|
||||||
onClicked: page.sourceComponent = statusAssetSelectorPageComponent
|
onClicked: page.sourceComponent = statusAssetSelectorPageComponent
|
||||||
}
|
}
|
||||||
|
StatusNavigationListItem {
|
||||||
|
title: "StatusColorSelector"
|
||||||
|
selected: page.sourceComponent == statusColorSelectorPageComponent
|
||||||
|
onClicked: page.sourceComponent = statusColorSelectorPageComponent
|
||||||
|
}
|
||||||
StatusListSectionHeadline { text: "StatusQ.Components" }
|
StatusListSectionHeadline { text: "StatusQ.Components" }
|
||||||
StatusNavigationListItem {
|
StatusNavigationListItem {
|
||||||
title: "StatusAddress"
|
title: "StatusAddress"
|
||||||
|
@ -291,6 +296,11 @@ StatusWindow {
|
||||||
StatusAssetSelectorPage {}
|
StatusAssetSelectorPage {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: statusColorSelectorPageComponent
|
||||||
|
StatusColorSelectorPage {}
|
||||||
|
}
|
||||||
|
|
||||||
Component {
|
Component {
|
||||||
id: listItemsComponent
|
id: listItemsComponent
|
||||||
ListItems {}
|
ListItems {}
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
import QtQuick 2.13
|
||||||
|
import QtQuick.Controls 2.13
|
||||||
|
import StatusQ.Controls 0.1
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: root
|
||||||
|
property string selectedColor
|
||||||
|
property string label: "Color"
|
||||||
|
property var model
|
||||||
|
height: accountColorInput.height
|
||||||
|
implicitWidth: 448
|
||||||
|
|
||||||
|
StatusSelect {
|
||||||
|
id: accountColorInput
|
||||||
|
bgColor: selectedColor
|
||||||
|
label: root.label
|
||||||
|
model: root.model
|
||||||
|
|
||||||
|
selectMenu.delegate: Component {
|
||||||
|
MenuItem {
|
||||||
|
property bool isFirstItem: index === 0
|
||||||
|
property bool isLastItem: index === root.model.length - 1
|
||||||
|
height: 52
|
||||||
|
width: parent.width
|
||||||
|
padding: 10
|
||||||
|
onTriggered: function () {
|
||||||
|
const selectedColor = root.model[index]
|
||||||
|
root.selectedColor = selectedColor
|
||||||
|
}
|
||||||
|
background: Rectangle {
|
||||||
|
color: root.model[index] || "transparent"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ StatusAccountSelector 0.1 StatusAccountSelector.qml
|
||||||
StatusAssetSelector 0.1 StatusAssetSelector.qml
|
StatusAssetSelector 0.1 StatusAssetSelector.qml
|
||||||
StatusChatInfoButton 0.1 StatusChatInfoButton.qml
|
StatusChatInfoButton 0.1 StatusChatInfoButton.qml
|
||||||
StatusChatListCategoryItemButton 0.1 StatusChatListCategoryItemButton.qml
|
StatusChatListCategoryItemButton 0.1 StatusChatListCategoryItemButton.qml
|
||||||
|
StatusColorSelector 0.1 StatusColorSelector.qml
|
||||||
StatusIconTabButton 0.1 StatusIconTabButton.qml
|
StatusIconTabButton 0.1 StatusIconTabButton.qml
|
||||||
StatusNavBarTabButton 0.1 StatusNavBarTabButton.qml
|
StatusNavBarTabButton 0.1 StatusNavBarTabButton.qml
|
||||||
StatusToolTip 0.1 StatusToolTip.qml
|
StatusToolTip 0.1 StatusToolTip.qml
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
<file>src/StatusQ/Controls/StatusAssetSelector.qml</file>
|
<file>src/StatusQ/Controls/StatusAssetSelector.qml</file>
|
||||||
<file>src/StatusQ/Controls/StatusIconTabButton.qml</file>
|
<file>src/StatusQ/Controls/StatusIconTabButton.qml</file>
|
||||||
<file>src/StatusQ/Controls/StatusChatInfoButton.qml</file>
|
<file>src/StatusQ/Controls/StatusChatInfoButton.qml</file>
|
||||||
|
<file>src/StatusQ/Controls/StatusColorSelector.qml</file>
|
||||||
<file>src/StatusQ/Controls/qmldir</file>
|
<file>src/StatusQ/Controls/qmldir</file>
|
||||||
<file>src/StatusQ/Controls/StatusAccountSelector.qml</file>
|
<file>src/StatusQ/Controls/StatusAccountSelector.qml</file>
|
||||||
<file>src/StatusQ/Controls/StatusSlider.qml</file>
|
<file>src/StatusQ/Controls/StatusSlider.qml</file>
|
||||||
|
|
Loading…
Reference in New Issue