Bug 493498 - Persisting rescaled/positioned window across sessions
Summary: Persisting rescaled/positioned window across sessions
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Usability-Ergonomy (show other bugs)
Version: 8.5.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-22 17:52 UTC by Roland
Modified: 2024-09-24 17:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 8.5.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Roland 2024-09-22 17:52:49 UTC
***

***

SUMMARY
The window size/state button for the main application window does not persist size or position of partial screen window setup on app restart

STEPS TO REPRODUCE
1.  On app start in Windows, it seem to default to full screen
2. Using the window state button, resize the GUI to be partial screen size at some random position (mid-screen)
3. Close the app via the X window button.
4. Restart app
5. Select the window size state button again

OBSERVED RESULT
Window size/position state is defaulted to full screen again

EXPECTED RESULT
Window size/position should be persisted, so that on selection of the window state button, the GUI will change its scale and position to the last scale/position set in that 'non-full-screen' mode.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
I understand that some OSs do not support this partial window size option (it is foreground in full screen, or background, or closed). But is is supported in Digikam- it just isnt persisted across sessions. Having to manually drag a full screen window is a hassle- where some OSs have the border selection as a single pixel width, and others (like Windows) put Close or a Taskbar etc adjacent to a drag corner. So, even if it isnt a universal standard on all OSs, it is hard to see how persisting this via an ini file would ever be a net negative. Worst case, perhaps it could be an option setting that defaults to existing behavior persisted across session restart.
Comment 1 Maik Qualmann 2024-09-22 18:04:34 UTC
We are currently testing digiKam-8.5.0 for saving window size and state. Please note that not every test version works as expected.

Maik
Comment 2 Maik Qualmann 2024-09-23 06:02:34 UTC
With the current Windows Qt6 bundle, restoring the window size/position and maximized state works for the digiKam main window.
Not yet for the sub-main windows (Image Editor, BQM, etc.).

Maik
Comment 3 Maik Qualmann 2024-09-23 06:36:53 UTC
Git commit 9d1fb49a418dda31c1dc019411e8fdc2b4a62ed3 by Maik Qualmann.
Committed on 23/09/2024 at 06:35.
Pushed by mqualmann into branch 'master'.

try not setting any window flags
Related: bug 492789

M  +1    -1    core/utilities/imageeditor/editor/editorwindow.cpp
M  +1    -1    core/utilities/lighttable/lighttablewindow.cpp
M  +1    -1    core/utilities/queuemanager/main/queuemgrwindow.cpp

https://invent.kde.org/graphics/digikam/-/commit/9d1fb49a418dda31c1dc019411e8fdc2b4a62ed3
Comment 4 Maik Qualmann 2024-09-23 16:30:07 UTC
Git commit 9b46288cd6f67ac3432221f27eb84e2ee4c102d4 by Maik Qualmann.
Committed on 23/09/2024 at 16:29.
Pushed by mqualmann into branch 'master'.

call applyMainWindowSettings()
Related: bug 492789

M  +10   -1    core/app/main/digikamapp.cpp
M  +6    -0    core/utilities/imageeditor/main/imagewindow.cpp
M  +6    -0    core/utilities/lighttable/lighttablewindow.cpp
M  +6    -0    core/utilities/queuemanager/main/queuemgrwindow.cpp

https://invent.kde.org/graphics/digikam/-/commit/9b46288cd6f67ac3432221f27eb84e2ee4c102d4
Comment 5 Maik Qualmann 2024-09-23 19:37:42 UTC
Git commit 9657cdb3ef68b0d878d2d72549aca060273aae90 by Maik Qualmann.
Committed on 23/09/2024 at 19:37.
Pushed by mqualmann into branch 'master'.

try to restore the maximized state under Windows
Related: bug 492789

M  +6    -16   core/app/main/digikamapp.cpp
M  +1    -1    core/libs/widgets/mainview/dxmlguiwindow.cpp
M  +0    -1    core/utilities/imageeditor/editor/editorwindow.cpp
M  +0    -6    core/utilities/imageeditor/main/imagewindow.cpp
M  +2    -9    core/utilities/lighttable/lighttablewindow.cpp
M  +5    -12   core/utilities/queuemanager/main/queuemgrwindow.cpp

https://invent.kde.org/graphics/digikam/-/commit/9657cdb3ef68b0d878d2d72549aca060273aae90
Comment 6 Maik Qualmann 2024-09-24 08:26:43 UTC
With the current pre-release version of digiKam-8.5.0 (Qt6) the restore of the windows of digiKam, BQM, Image Editor and Lighttable in size, position and maximized state now works very well.

https://files.kde.org/digikam/

Maik