1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-06-16 16:15:23 -04:00
Files
DankMaterialShell/quickshell/Modules/DankDash/OverviewTab.qml
T
bbedward 59998e9fd2 calendar(dank): Add support for DankCalendar backend
- Add keyboard navigation to overview
- Add edit events to overview
- Add create events to overview
- Add setting for auto/khal/dankcalendar backend selection
2026-06-15 14:02:35 -04:00

83 lines
2.3 KiB
QML

import QtQuick
import qs.Common
import qs.Modules.DankDash.Overview
Item {
id: root
LayoutMirroring.enabled: I18n.isRtl
LayoutMirroring.childrenInherit: true
implicitWidth: SettingsData.showWeekNumber ? 736 : 700
implicitHeight: 410
signal switchToWeatherTab
signal switchToMediaTab
signal closeDash
signal navFocusRequested
function handleKeyEvent(event) {
return calendarCard.handleKeyEvent(event);
}
Item {
anchors.fill: parent
// Clock - top left (narrower and shorter)
ClockCard {
x: 0
y: 0
width: parent.width * 0.2 - Theme.spacingM * 2
height: 180
}
// Weather - top middle-left (narrower)
WeatherOverviewCard {
x: SettingsData.weatherEnabled ? parent.width * 0.2 - Theme.spacingM : 0
y: 0
width: SettingsData.weatherEnabled ? parent.width * 0.3 : 0
height: 100
visible: SettingsData.weatherEnabled
onClicked: root.switchToWeatherTab()
}
// UserInfo - top middle-right (extend when weather disabled)
UserInfoCard {
x: SettingsData.weatherEnabled ? parent.width * 0.5 : parent.width * 0.2 - Theme.spacingM
y: 0
width: SettingsData.weatherEnabled ? parent.width * 0.5 : parent.width * 0.8
height: 100
}
// SystemMonitor - middle left (narrow and shorter)
SystemMonitorCard {
x: 0
y: 180 + Theme.spacingM
width: parent.width * 0.2 - Theme.spacingM * 2
height: 220
}
// Calendar - bottom middle (wider and taller)
CalendarOverviewCard {
id: calendarCard
x: parent.width * 0.2 - Theme.spacingM
y: 100 + Theme.spacingM
width: parent.width * 0.6
height: 300
onCloseDash: root.closeDash()
onNavFocusRequested: root.navFocusRequested()
}
// Media - bottom right (narrow and taller)
MediaOverviewCard {
x: parent.width * 0.8
y: 100 + Theme.spacingM
width: parent.width * 0.2
height: 300
onClicked: root.switchToMediaTab()
}
}
}