Bug 258180

Summary: digiKam doesn't remember layout of main window if you switch to fullscreen and back
Product: [Applications] digikam Reporter: pejuko
Component: Usability-FullScreenAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles
Priority: NOR    
Version: 1.6.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 3.2.0
Sentry Crash Report:

Description pejuko 2010-11-28 14:47:16 UTC
Version:           1.6.0 (using KDE 4.5.3) 
OS:                Linux

It restores only window geometry but not the layout (e.g. width) of bars and resets it to it's default.

Reproducible: Always

Steps to Reproduce:
Start digiKam. change width of 'My Albums' bar and switch to full screen and back.


Expected Results:  
I would expect it will remember the layout in the window as if you quit digikam and start it again.
Comment 1 caulier.gilles 2011-12-14 09:31:49 UTC
Pejuko,

It stil valid using digiKam 2.x serie ?

Gilles Caulier
Comment 2 pejuko 2011-12-14 19:25:31 UTC
yes it is
Comment 3 caulier.gilles 2013-04-30 04:13:39 UTC
Git commit 73502cc716f1940375d7d805e299d8f93fa58adc by Gilles Caulier.
Committed on 30/04/2013 at 06:02.
Pushed by cgilles into branch 'master'.

Add new FullScreenMngr class dedicated manage full-screen action to digiKam KXMLGuiWindow instances.
This class factorize a lots of code when window is turned on/off to full-screen mode.
This fix problem about visibility restoring with status-bar, menu-bar, and thumb-bar.
First managed digiKam main window is Image Editor.
TODO :
- manage full-screen mode of main windows AlbumGUI, BQM, ImportUI, and LT, through FullScreenMngr.
- manage visibility of side-bars.
- provide a common settings widget to control visibility management in Configuration dialog.
- patch Configuration dialog to provide a fine control of visibility management in full-screen mode for each digiKam main window.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +1    -0    CMakeLists.txt
A  +231  -0    libs/widgets/common/fullscreenmngr.cpp     [License: GPL (v2+)]
A  +89   -0    libs/widgets/common/fullscreenmngr.h     [License: GPL (v2+)]
M  +19   -109  utilities/imageeditor/editor/editorwindow.cpp
M  +0    -5    utilities/imageeditor/editor/editorwindow.h
M  +5    -13   utilities/imageeditor/editor/editorwindow_p.h
M  +12   -8    utilities/setup/setupeditor.cpp

http://commits.kde.org/digikam/73502cc716f1940375d7d805e299d8f93fa58adc
Comment 4 caulier.gilles 2013-05-01 12:20:36 UTC
Git commit cde52bd90737bd8fe2b7dfdb94eba09578549239 by Gilles Caulier.
Committed on 01/05/2013 at 14:19.
Pushed by cgilles into branch 'master'.

Port fullscreen mode from Light Table to FullScreenMngr.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +23   -87   utilities/lighttable/lighttablewindow.cpp
M  +1    -3    utilities/lighttable/lighttablewindow.h
M  +3    -8    utilities/lighttable/lighttablewindow_p.h
M  +13   -10   utilities/setup/setuplighttable.cpp
M  +1    -1    utilities/setup/setuplighttable.h

http://commits.kde.org/digikam/cde52bd90737bd8fe2b7dfdb94eba09578549239
Comment 5 caulier.gilles 2013-05-01 13:11:37 UTC
Git commit 4b034a235c07758d97b1fe763791abe1bc3c81db by Gilles Caulier.
Committed on 01/05/2013 at 15:10.
Pushed by cgilles into branch 'master'.

Port fullscreen mode from Batch Queue Manager to FullScreenMngr.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +3    -0    libs/widgets/common/fullscreenmngr.h
M  +23   -79   utilities/queuemanager/main/queuemgrwindow.cpp
M  +1    -1    utilities/queuemanager/main/queuemgrwindow.h
M  +4    -8    utilities/queuemanager/main/queuemgrwindow_p.h

http://commits.kde.org/digikam/4b034a235c07758d97b1fe763791abe1bc3c81db
Comment 6 caulier.gilles 2013-05-02 14:13:25 UTC
Git commit b8a7f5ceddc5c112906e94eaedeb42cbb0917638 by Gilles Caulier.
Committed on 02/05/2013 at 16:10.
Pushed by cgilles into branch 'master'.

As under OSX, if toolbar is hidden during fullscreen mode, we display fullscreen switch button on top-right corner of active sceen when mouse is moved on this corner by end user.
Mouse move envent is handle by an event filter plug over managed window. FullScreenMngr is now a QObject class based.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +63   -1    libs/widgets/common/fullscreenmngr.cpp
M  +9    -1    libs/widgets/common/fullscreenmngr.h
M  +0    -1    utilities/imageeditor/editor/editorwindow.cpp
M  +0    -1    utilities/lighttable/lighttablewindow.cpp
M  +0    -1    utilities/queuemanager/main/queuemgrwindow.cpp

http://commits.kde.org/digikam/b8a7f5ceddc5c112906e94eaedeb42cbb0917638
Comment 7 Veaceslav Munteanu 2013-05-02 16:08:16 UTC
Git commit 115ff76386c0835ed4f647b30eb6f80eac387d5f by Veaceslav Munteanu, on behalf of Gilles Caulier.
Committed on 02/05/2013 at 16:10.
Pushed by munteanu into branch 'picassafacetag'.

As under OSX, if toolbar is hidden during fullscreen mode, we display fullscreen switch button on top-right corner of active sceen when mouse is moved on this corner by end user.
Mouse move envent is handle by an event filter plug over managed window. FullScreenMngr is now a QObject class based.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +63   -1    libs/widgets/common/fullscreenmngr.cpp
M  +9    -1    libs/widgets/common/fullscreenmngr.h
M  +0    -1    utilities/imageeditor/editor/editorwindow.cpp
M  +0    -1    utilities/lighttable/lighttablewindow.cpp
M  +0    -1    utilities/queuemanager/main/queuemgrwindow.cpp

http://commits.kde.org/digikam/115ff76386c0835ed4f647b30eb6f80eac387d5f
Comment 8 caulier.gilles 2013-05-03 09:38:17 UTC
Git commit 8dcfa0b102f4b4d53a5095b8daae0efc1582a4da by Gilles Caulier.
Committed on 03/05/2013 at 11:33.
Pushed by cgilles into branch 'master'.

For a better factoring and better management of all common features from digiKam KXmlGuiWindow based main windows
a new class named DXmlGuiWindow have been created. All digiKam main windows will be based on. Currently IE, BQM, and LT are done.
AlbumGUI and ImportUI still TODO.
This class replace FullScreenMngr as well. FullScreen mode are no managed through DXmlGuiWindow. Later more factoring will be done in this class, as
all Help digiKam dialogs (DB stats, Components info, etc...)
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +2    -1    CMakeLists.txt
M  +7    -3    digikam/utils/albumsettings.cpp
M  +3    -0    digikam/utils/albumsettings.h
D  +0    -404  libs/widgets/common/fullscreenmngr.cpp
D  +0    -140  libs/widgets/common/fullscreenmngr.h
A  +104  -0    libs/widgets/common/fullscreensettings.cpp     [License: GPL (v2+)]
A  +61   -0    libs/widgets/common/fullscreensettings.h     [License: GPL (v2+)]
M  +19   -43   utilities/imageeditor/editor/editorwindow.cpp
M  +3    -8    utilities/imageeditor/editor/editorwindow.h
M  +0    -3    utilities/imageeditor/editor/editorwindow_p.h
M  +8    -27   utilities/lighttable/lighttablewindow.cpp
M  +3    -4    utilities/lighttable/lighttablewindow.h
M  +0    -3    utilities/lighttable/lighttablewindow_p.h
M  +6    -24   utilities/queuemanager/main/queuemgrwindow.cpp
M  +2    -4    utilities/queuemanager/main/queuemgrwindow.h
M  +0    -4    utilities/queuemanager/main/queuemgrwindow_p.h
M  +2    -1    utilities/setup/setupeditor.cpp
M  +2    -1    utilities/setup/setuplighttable.cpp

http://commits.kde.org/digikam/8dcfa0b102f4b4d53a5095b8daae0efc1582a4da
Comment 9 caulier.gilles 2013-05-03 20:51:47 UTC
Git commit d6ddab1db393a973f90fbe628ae49b0b91bfe3b7 by Gilles Caulier.
Committed on 03/05/2013 at 22:38.
Pushed by cgilles into branch 'master'.

Check toolbars visibility before FullScreen mode and restore it after.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +88   -40   libs/widgets/common/dxmlguiwindow.cpp

http://commits.kde.org/digikam/d6ddab1db393a973f90fbe628ae49b0b91bfe3b7
Comment 10 caulier.gilles 2013-05-03 20:54:36 UTC
Git commit 5511e68fcb1054c292beff81f0f2e5e4635f550d by Gilles Caulier.
Committed on 03/05/2013 at 22:54.
Pushed by cgilles into branch 'master'.

Check thumbbar visibility before FullScreen mode and restore it after.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +20   -10   libs/widgets/common/dxmlguiwindow.cpp
M  +4    -0    libs/widgets/common/dxmlguiwindow.h
M  +5    -0    utilities/imageeditor/editor/editorwindow.cpp
M  +1    -0    utilities/imageeditor/editor/editorwindow.h

http://commits.kde.org/digikam/5511e68fcb1054c292beff81f0f2e5e4635f550d
Comment 11 caulier.gilles 2013-05-03 21:04:32 UTC
Git commit 99601b3df7c7837069b90e1744c89b2070a7a832 by Gilles Caulier.
Committed on 03/05/2013 at 23:03.
Pushed by cgilles into branch 'master'.

Check menubar and statusbar visibilities before FullScreen mode and restore it after.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +34   -4    libs/widgets/common/dxmlguiwindow.cpp

http://commits.kde.org/digikam/99601b3df7c7837069b90e1744c89b2070a7a832
Comment 12 caulier.gilles 2013-05-04 17:16:56 UTC
Git commit a1bb7a21fc367966beba3d6a1af81c9b201b6544 by Gilles Caulier.
Committed on 04/05/2013 at 19:15.
Pushed by cgilles into branch 'master'.

Manage FullScreen mode from AlbumGUI through DXmlGuiWindow
Polish API
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +17   -83   digikam/main/digikamapp.cpp
M  +6    -6    digikam/main/digikamapp.h
M  +7    -0    libs/widgets/common/dxmlguiwindow.cpp
M  +9    -4    libs/widgets/common/dxmlguiwindow.h
M  +7    -21   utilities/imageeditor/editor/editorwindow.cpp
M  +1    -2    utilities/imageeditor/editor/editorwindow.h

http://commits.kde.org/digikam/a1bb7a21fc367966beba3d6a1af81c9b201b6544
Comment 13 caulier.gilles 2013-05-04 18:40:12 UTC
Git commit 392c928cec8b5092cd383b328002a5fa7652fa16 by Gilles Caulier.
Committed on 04/05/2013 at 20:39.
Pushed by cgilles into branch 'master'.

Manage FullScreen mode from ImportUI through DXmlGuiWindow
Polish API
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +7    -0    digikam/main/digikamapp.cpp
M  +2    -5    digikam/main/digikamapp_p.h
M  +19   -101  utilities/importui/main/importui.cpp
M  +6    -7    utilities/importui/main/importui.h
M  +0    -8    utilities/importui/main/importui_p.h

http://commits.kde.org/digikam/392c928cec8b5092cd383b328002a5fa7652fa16
Comment 14 caulier.gilles 2013-05-06 07:29:10 UTC
Git commit 9d2bb7da9fdd805cc7c23d3d9ba3ecc5d247a48d by Gilles Caulier.
Committed on 06/05/2013 at 09:28.
Pushed by cgilles into branch 'master'.

add new Full-screen option to hide side-bars
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +1    -1    digikam/main/digikamapp.cpp
M  +1    -1    digikam/main/digikamapp.h
M  +18   -9    libs/widgets/common/dxmlguiwindow.cpp
M  +8    -6    libs/widgets/common/dxmlguiwindow.h
M  +17   -5    libs/widgets/common/fullscreensettings.cpp
M  +1    -1    utilities/imageeditor/editor/editorwindow.cpp
M  +1    -1    utilities/imageeditor/editor/editorwindow.h
M  +1    -1    utilities/importui/main/importui.cpp
M  +1    -1    utilities/importui/main/importui.h
M  +2    -2    utilities/lighttable/lighttablewindow.cpp
M  +1    -1    utilities/lighttable/lighttablewindow.h
M  +0    -20   utilities/queuemanager/main/queuemgrwindow.cpp
M  +0    -2    utilities/queuemanager/main/queuemgrwindow.h
M  +1    -1    utilities/setup/setuplighttable.cpp

http://commits.kde.org/digikam/9d2bb7da9fdd805cc7c23d3d9ba3ecc5d247a48d
Comment 15 caulier.gilles 2013-05-06 08:00:03 UTC
Git commit 52cdc362797c6eb92d7768d1cad7b67e4833055f by Gilles Caulier.
Committed on 06/05/2013 at 09:59.
Pushed by cgilles into branch 'master'.

Image Editor and Light Table windows now manage side-bars visibility in Full-Screen mode.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +1    -1    libs/widgets/common/dxmlguiwindow.cpp
M  +7    -5    libs/widgets/common/dxmlguiwindow.h
M  +2    -1    libs/widgets/common/fullscreensettings.cpp
M  +1    -1    utilities/imageeditor/editor/editorwindow.cpp
M  +1    -1    utilities/lighttable/lighttablewindow.cpp
M  +1    -1    utilities/setup/setupeditor.cpp
M  +1    -1    utilities/setup/setuplighttable.cpp

http://commits.kde.org/digikam/52cdc362797c6eb92d7768d1cad7b67e4833055f
Comment 16 caulier.gilles 2013-05-06 08:14:29 UTC
Git commit 8cda9359d08eeff8712203be7271aee29c841231 by Gilles Caulier.
Committed on 06/05/2013 at 10:13.
Pushed by cgilles into branch 'master'.

Add fullscreen mode options to AlbumGUI : toolbars, thumbbar, and sidebars are managed.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676

M  +1    -1    digikam/main/digikamapp.cpp
M  +1    -0    libs/widgets/common/dxmlguiwindow.h
M  +40   -24   utilities/setup/setupalbumview.cpp

http://commits.kde.org/digikam/8cda9359d08eeff8712203be7271aee29c841231
Comment 17 caulier.gilles 2013-05-06 08:30:05 UTC
Git commit a8e10da1a0fb247ff6c361de4f5069ec77e4115c by Gilles Caulier.
Committed on 06/05/2013 at 10:28.
Pushed by cgilles into branch 'master'.

Add fullscreen mode options to ImportUI : toolbars, thumbbar, and sidebars are managed.
Related: bug 214107, bug 220739, bug 289262, bug 236234, bug 293676
FIXED-IN: 3.2.0

M  +2    -1    libs/widgets/common/dxmlguiwindow.h
M  +1    -1    utilities/importui/main/importui.cpp
M  +19   -4    utilities/setup/setupcamera.cpp
M  +1    -1    utilities/setup/setupcamera.h

http://commits.kde.org/digikam/a8e10da1a0fb247ff6c361de4f5069ec77e4115c