mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-03 18:23:19 +00:00
Add scrollbar for tasks
This commit is contained in:
parent
317b515e22
commit
6ef9740db9
2 changed files with 72 additions and 72 deletions
|
@ -63,7 +63,6 @@ Rectangle {
|
||||||
Component.onCompleted: set(new Date()) // today
|
Component.onCompleted: set(new Date()) // today
|
||||||
onClicked: {
|
onClicked: {
|
||||||
const formattedDate = Qt.formatDate(date, 'yyyy-MM-dd')
|
const formattedDate = Qt.formatDate(date, 'yyyy-MM-dd')
|
||||||
print('onClicked', formattedDate)
|
|
||||||
newTodoDate.text = formattedDate
|
newTodoDate.text = formattedDate
|
||||||
datePicker.close()
|
datePicker.close()
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,89 +10,90 @@ import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import Mirai
|
import Mirai
|
||||||
|
|
||||||
ColumnLayout {
|
ScrollView {
|
||||||
|
id: scroll
|
||||||
|
clip: true
|
||||||
|
contentHeight: layout.height
|
||||||
|
|
||||||
QtObject {
|
ColumnLayout {
|
||||||
id: internal
|
id: layout
|
||||||
property string todayDate: Qt.formatDate(new Date(), 'yyyy-MM-dd')
|
anchors.right: parent.right
|
||||||
property string tomorrowDate: Qt.formatDate(new Date(new Date().setDate(new Date().getDate() + 1)), 'yyyy-MM-dd')
|
anchors.left: parent.left
|
||||||
}
|
QtObject {
|
||||||
|
id: internal
|
||||||
|
property string todayDate: Qt.formatDate(new Date(), 'yyyy-MM-dd')
|
||||||
|
property string tomorrowDate: Qt.formatDate(new Date(new Date().setDate(new Date().getDate() + 1)), 'yyyy-MM-dd')
|
||||||
|
}
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: backend.tasks
|
model: backend.tasks
|
||||||
Rectangle {
|
Rectangle {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.preferredHeight: childrenRect.height
|
Layout.preferredHeight: childrenRect.height
|
||||||
id: task
|
id: task
|
||||||
required property var modelData
|
required property var modelData
|
||||||
required property int index
|
required property int index
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
||||||
HoverHandler {
|
HoverHandler {
|
||||||
acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
|
acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
|
||||||
cursorShape: Qt.PointingHandCursor
|
cursorShape: Qt.PointingHandCursor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
|
|
||||||
Component {
|
Component {
|
||||||
id: dateForTasks
|
id: dateForTasks
|
||||||
AppText {
|
AppText {
|
||||||
topPadding: 32
|
topPadding: 32
|
||||||
bottomPadding: 16
|
bottomPadding: 16
|
||||||
text: task.modelData.date === internal.todayDate ? "Today"
|
text: task.modelData.date === internal.todayDate ? "Today"
|
||||||
: task.modelData.date === internal.tomorrowDate ? "Tomorrow"
|
: task.modelData.date === internal.tomorrowDate ? "Tomorrow"
|
||||||
: task.modelData.date
|
: task.modelData.date
|
||||||
color: task.modelData.date < internal.todayDate ? colorPalette.selected.palette.pink
|
color: task.modelData.date < internal.todayDate ? colorPalette.selected.palette.pink
|
||||||
// : task.modelData.date === internal.todayDate ? colorPalette.selected.palette.sapphire
|
// : task.modelData.date === internal.todayDate ? colorPalette.selected.palette.sapphire
|
||||||
: colorPalette.selected.text
|
: colorPalette.selected.text
|
||||||
font.pointSize: 24
|
font.pointSize: 24
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Loader {
|
||||||
|
sourceComponent: task.modelData.shouldShowDate ? dateForTasks : undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
TaskItem {
|
||||||
|
id: taskItem
|
||||||
|
task: task.modelData
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Menu {
|
||||||
sourceComponent: task.modelData.shouldShowDate ? dateForTasks : undefined
|
id: contextMenu
|
||||||
|
MenuItem {
|
||||||
|
text: "Edit"
|
||||||
|
onClicked: {
|
||||||
|
root.editTask(task.modelData, task.index)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MenuItem {
|
||||||
|
text: "Delete"
|
||||||
|
onClicked: {
|
||||||
|
backend.removeTodo(task.index)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
MouseArea {
|
||||||
TaskItem {
|
id: mouse
|
||||||
id: taskItem
|
anchors.fill: parent
|
||||||
task: task.modelData
|
acceptedButtons: Qt.RightButton
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Menu {
|
|
||||||
id: contextMenu
|
|
||||||
MenuItem {
|
|
||||||
text: "Edit"
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
root.editTask(task.modelData, task.index)
|
contextMenu.popup()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MenuItem {
|
|
||||||
text: "Delete"
|
|
||||||
onClicked: {
|
|
||||||
backend.removeTodo(task.index)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
id: mouse
|
|
||||||
anchors.fill: parent
|
|
||||||
acceptedButtons: Qt.RightButton
|
|
||||||
propagateComposedEvents: true
|
|
||||||
onClicked: {
|
|
||||||
contextMenu.popup()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Item {
|
|
||||||
Layout.fillHeight: true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue