diff --git a/quickshell/DMSShell.qml b/quickshell/DMSShell.qml index da4fc64c..df2957b8 100644 --- a/quickshell/DMSShell.qml +++ b/quickshell/DMSShell.qml @@ -798,9 +798,8 @@ Item { content: Component { Notepad { - onHideRequested: { - notepadSlideout.hide(); - } + slideout: notepadSlideout + onHideRequested: notepadSlideout.hide() } } diff --git a/quickshell/Modules/Notepad/Notepad.qml b/quickshell/Modules/Notepad/Notepad.qml index 7215c164..e2946955 100644 --- a/quickshell/Modules/Notepad/Notepad.qml +++ b/quickshell/Modules/Notepad/Notepad.qml @@ -21,6 +21,7 @@ Item { property var currentTab: NotepadStorageService.tabs.length > NotepadStorageService.currentTabIndex ? NotepadStorageService.tabs[NotepadStorageService.currentTabIndex] : null property bool showSettingsMenu: false property string pendingSaveContent: "" + property var slideout: null signal hideRequested signal previewRequested(string content) @@ -29,6 +30,14 @@ Item { service: NotepadStorageService } + Connections { + target: slideout + enabled: slideout !== null + function onAboutToHide() { + textEditor.autoSaveToSession() + } + } + function hasUnsavedChanges() { return textEditor.hasUnsavedChanges(); } @@ -204,7 +213,8 @@ Item { } onEscapePressed: { - root.hideRequested(); + textEditor.autoSaveToSession() + root.hideRequested() } onSettingsRequested: { diff --git a/quickshell/Modules/Notepad/NotepadTextEditor.qml b/quickshell/Modules/Notepad/NotepadTextEditor.qml index f61ac2c2..b299ae09 100644 --- a/quickshell/Modules/Notepad/NotepadTextEditor.qml +++ b/quickshell/Modules/Notepad/NotepadTextEditor.qml @@ -555,7 +555,9 @@ Column { }) } function onTabsChanged() { - if (NotepadStorageService.tabs.length > 0 && !contentLoaded) {/* Lines 444-445 omitted */} + if (NotepadStorageService.tabs.length > 0 && !contentLoaded) { + loadCurrentTabContent() + } } } diff --git a/quickshell/Widgets/DankSlideout.qml b/quickshell/Widgets/DankSlideout.qml index d6ac0348..d346322b 100644 --- a/quickshell/Widgets/DankSlideout.qml +++ b/quickshell/Widgets/DankSlideout.qml @@ -25,6 +25,7 @@ PanelWindow { property string title: "" property alias container: contentContainer property real customTransparency: -1 + signal aboutToHide function show() { visible = true @@ -32,6 +33,7 @@ PanelWindow { } function hide() { + aboutToHide() isVisible = false }