mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-02 01:13:19 +00:00
159 lines
3.4 KiB
QML
159 lines
3.4 KiB
QML
/*
|
|
* Mirai. Copyright (C) 2024 Vyn
|
|
* This file is licensed under version 3 of the GNU General Public License (GPL-3.0-only)
|
|
* The license can be found in the LICENSE file or at https://www.gnu.org/licenses/gpl-3.0.txt
|
|
*/
|
|
|
|
import QtQuick
|
|
import QtQuick.Window
|
|
import QtQuick.Layouts
|
|
import QtQuick.Controls
|
|
import Mirai
|
|
|
|
Rectangle {
|
|
|
|
color: colorPalette.selected.pane
|
|
implicitWidth: childrenRect.width + 20 + 30
|
|
|
|
ColumnLayout {
|
|
anchors.top: parent.top
|
|
anchors.bottom: parent.bottom
|
|
anchors.left: parent.left
|
|
anchors.margins: 10
|
|
RowLayout {
|
|
AppText {
|
|
text: "Files"
|
|
font.pixelSize: 32
|
|
}
|
|
|
|
Item { Layout.fillWidth: true }
|
|
AppIcon {
|
|
icon.source: "qrc:/qt/qml/Mirai/src/images/settings.png"
|
|
icon.color: colorPalette.selected.textPlaceholder
|
|
onClicked: {
|
|
filesForm.reset();
|
|
filesFormPopup.open();
|
|
}
|
|
}
|
|
}
|
|
|
|
Item { Layout.preferredHeight: 16 }
|
|
|
|
Repeater {
|
|
model: backend.files
|
|
Rectangle {
|
|
Layout.preferredHeight: childrenRect.height
|
|
Layout.fillWidth: true
|
|
color: backend.activeResourcesFilter.includes(modelData.name) ? colorPalette.selected.filterSelected : mouse.hovered ? colorPalette.selected.filterHovered : "transparent"
|
|
radius: 4
|
|
AppText {
|
|
text: modelData.name
|
|
padding: 4
|
|
}
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: {
|
|
if (backend.activeResourcesFilter.includes(modelData.name)) {
|
|
backend.removeResourceFilter(modelData.name)
|
|
} else {
|
|
backend.addResourceFilter(modelData.name)
|
|
}
|
|
}
|
|
HoverHandler {
|
|
id: mouse
|
|
acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
|
|
cursorShape: Qt.PointingHandCursor
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
Item { Layout.preferredHeight: 16 }
|
|
|
|
RowLayout {
|
|
AppText {
|
|
text: "Tags"
|
|
font.pixelSize: 32
|
|
}
|
|
Item { Layout.fillWidth: true }
|
|
AppIcon {
|
|
icon.source: "qrc:/qt/qml/Mirai/src/images/settings.png"
|
|
icon.color: colorPalette.selected.textPlaceholder
|
|
onClicked: {
|
|
tagsForm.reset();
|
|
tagsFormPopup.open();
|
|
}
|
|
}
|
|
}
|
|
|
|
Item { Layout.preferredHeight: 16 }
|
|
|
|
Repeater {
|
|
model: backend.tags
|
|
Rectangle {
|
|
Layout.preferredHeight: childrenRect.height
|
|
Layout.fillWidth: true
|
|
color: backend.activeTagsFilter.includes(modelData.name) ? colorPalette.selected.filterSelected : mouse.hovered ? colorPalette.selected.filterHovered : "transparent"
|
|
radius: 4
|
|
QtObject {
|
|
id: internal
|
|
}
|
|
AppText {
|
|
text: modelData.name
|
|
color: {
|
|
return modelData.color
|
|
}
|
|
padding: 4
|
|
}
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: {
|
|
if (backend.activeTagsFilter.includes(modelData.name)) {
|
|
backend.removeTagFilter(modelData.name)
|
|
} else {
|
|
backend.addTagFilter(modelData.name)
|
|
}
|
|
}
|
|
HoverHandler {
|
|
id: mouse
|
|
acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
|
|
cursorShape: Qt.PointingHandCursor
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
Item {
|
|
Layout.fillHeight: true
|
|
}
|
|
|
|
Modal {
|
|
id: filesFormPopup
|
|
fullScreen: root.isPhone
|
|
FilesForm {
|
|
id: filesForm
|
|
width: parent.width
|
|
onConfirmed: (filesPath) => {
|
|
filesFormPopup.close()
|
|
console.log(filesPath)
|
|
backend.saveFilesPath(filesPath)
|
|
}
|
|
}
|
|
}
|
|
|
|
Modal {
|
|
id: tagsFormPopup
|
|
fullScreen: root.isPhone
|
|
TagsConfigForm {
|
|
id: tagsForm
|
|
width: parent.width
|
|
onConfirmed: (tags) => {
|
|
tagsFormPopup.close()
|
|
backend.saveTagsColor(tags)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|