From cc548ef929814c5e1155bcba790a3ed32d189407 Mon Sep 17 00:00:00 2001 From: Felipe Kinoshita Date: Mon, 13 Sep 2021 13:36:16 -0300 Subject: [PATCH] Remember last opened view Whenever Kalendar is closed it will save the last opened view. --- src/contents/ui/main.qml | 38 ++++++++++++++++++++++++++++++++++---- src/kalendarconfig.kcfg | 9 +++++++++ 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/contents/ui/main.qml b/src/contents/ui/main.qml index 0fc4fc74..8f79c362 100644 --- a/src/contents/ui/main.qml +++ b/src/contents/ui/main.qml @@ -40,10 +40,40 @@ Kirigami.ApplicationWindow { readonly property var todoViewOrderDescendingAction: KalendarApplication.action("todoview_order_descending") readonly property var todoViewShowCompletedAction: KalendarApplication.action("todoview_show_completed") - Component.onCompleted: if (Kirigami.Settings.isMobile) { - scheduleViewAction.setChecked(true); - } else { - monthViewAction.setChecked(true); + onClosing: { + rememberLastOpenedView(); + } + + function rememberLastOpenedView() { + switch (pageStack.currentItem.objectName) { + case "monthView": + Config.lastOpenedView = 0; + break; + case "scheduleView": + Config.lastOpenedView = 1; + break; + case "todoView": + Config.lastOpenedView = 2; + break; + } + Config.save(); + } + + Component.onCompleted: { + switch (Config.lastOpenedView) { + case 0: + monthViewAction.trigger(); + break; + case 1: + scheduleViewAction.trigger(); + break; + case 2: + todoViewAction.trigger(); + break; + default: + monthViewAction.trigger(); + break; + } } Connections { diff --git a/src/kalendarconfig.kcfg b/src/kalendarconfig.kcfg index fb04b0e3..ecae41a1 100644 --- a/src/kalendarconfig.kcfg +++ b/src/kalendarconfig.kcfg @@ -22,6 +22,15 @@ Pin + + + + + + + + scheduleView + -- GitLab