Bug 147771 - menubar missing after full-screen, quit, restart
Summary: menubar missing after full-screen, quit, restart
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Unclassified
Component: Usability-Menus (show other bugs)
Version: 0.9.2
Platform: Fedora RPMs Linux
: NOR normal with 1 vote (vote)
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-11 01:32 UTC by Per Bothner
Modified: 2017-08-02 21:08 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In: 0.10.0


Attachments
attempt to solve the problem (1.05 KB, patch)
2007-07-11 22:44 UTC, Arnd Baecker
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Per Bothner 2007-07-11 01:32:00 UTC
Version:           0.9.2-final (using KDE KDE 3.5.7)
Installed from:    Fedora RPMs
OS:                Linux

Select Menu item View->Full Screen Mode.
Then exit digKam with ctrl-Q.
Then relaunch digikam.
Notice menubar is missing, with no obvious way to get it back.
(Doing ctrl-shift-F twice does fix it, but I'm not familiar with KDE keyboard shortcuts, so I couldn't guess that.)
Comment 1 Per Bothner 2007-07-11 01:33:29 UTC
Please fix this quickly so we get rid of my embarrassing typo in the summary line ...
Comment 2 Arnd Baecker 2007-07-11 09:22:21 UTC
This could be solved by disabling to leave DigiKam via CTRL-Q when it is
in full screen mode. Instead CTRL-W, and/or ESC, in addition to CTRL-SHIFT-F,
could be used to return to the normal view?

Mikolaj, you are the keyboard-shortcut expert, what do you think?
Comment 3 caulier.gilles 2007-07-11 09:26:48 UTC
Arnd,

More easy way, is to go out of full screen mode when user exit from application (digiKam or Showfoto), just before to save settings on config file. Like this, when user restart application later it's never be restored in full screen mode.

Gilles
Comment 4 Mikolaj Machowski 2007-07-11 10:40:18 UTC
> This could be solved by disabling to leave DigiKam via CTRL-Q when it is
> in full screen mode. Instead CTRL-W, and/or ESC, in addition to
> CTRL-SHIFT-F,
> could be used to return to the normal view?
> 
> Mikolaj, you are the keyboard-shortcut expert, what do you think?


Ctrl-W is completely different thing and Ctrl-Q should work always.
Problem with ESC is that it will overshadow some other Escapes. For 
example you can enter Preview mode while in Fullscreen. What ESC should 
end - Preview or Fullscreen? Confusing. There is no good simple 
solution. Gilles' proposition is good but somewhat "windowish" if you 
understand me. IMO best thing would be reworking of Fullscreen mode:
1) by default hide toolbar but make it appearing when hitting by mouse 
top border of screen (ala KPDF presentation mode)
2) automatically add to toolbar and all context menus option "End 
Fullcsreen mode" when in Fulscreen mode

But IMO those things shouldn't be done on Digikam level. On the other 
hand this is another example of redundant features in Digikam:

Fullscreen - Slideshow

I know - they are not 100% identical but are close enough.

Also Gilles solution is good - but rather in addition to solve 
fundamental problem.

----------------------------------------------------
12 Festiwal Gwiazd z gwiazdorsk
Comment 5 Arnd Baecker 2007-07-11 15:19:30 UTC
Ok, thanks for the comments. 
I had a look into this to get a quick fix.
However, this modification
void DigikamApp::slotExit()
{
    if (d->fullScreen) {
        slotToggleFullScreen();
        d->config->sync();
    }
    close();
}

did not do the job. Presumably this comes too late. Gilles, do you have different place in mind? Or is it the right place, but the wrong calls?
Comment 6 caulier.gilles 2007-07-11 15:44:20 UTC
Arnd,

Too Late ? You want mean a race condition ? I don't know why...

Remark: KMainWindow::setAutoSaveSettings() is called in constructor:

http://api.kde.org/3.5-api/kdelibs-apidocs/kdeui/html/classKMainWindow.html#9ce57a5913f7582dd7f8fba8b867db23

This one save in config file all GUI settings when window is closed.

Gilles
Comment 7 Per Bothner 2007-07-11 18:02:02 UTC
Do you want the menubar disabled any time *except* when in full-screen mode?
If not, why is it written out to digikamrc in the first place?
Comment 8 Arnd Baecker 2007-07-11 22:44:23 UTC
Created attachment 21124 [details]
attempt to solve the problem

The attached patch tries to revert from full-screen mode
before leaving. However, the settings in the configuration file
are not changed.
This needs further investigation.
Comment 9 Arnd Baecker 2007-07-13 09:17:52 UTC
I did a bit more tests, and it turns out that
even after slotToggleFullScreen();
the MenuBar entry is still disabled.
A workaround is to do
  d->config->setGroup("MainWindow");
  d->config->writeEntry("MenuBar", "Enabled");
  d->config->writeEntry("StatusBar", "Enabled");
but this is an evil hack, in particular because it 
does not bring the window size back to normal.
I discussed this issue with Gilles on the IRC,
who concluded that this is not that easy to fix.
So it has to be addressed by slot/signal experts (i.e not me ;-).
Comment 10 Marcel Wiesweg 2007-10-07 18:54:16 UTC
There is now a patch from me in svn, but it works only in one out of two tests. So good that I forgot to CC this bug anyway ;-)
I will have to think more about this. 
Comment 11 Marcel Wiesweg 2007-10-07 18:58:50 UTC
Seems that using a timer with 100ms is better. But this seems like a dirty hack, I dont really like it.
Comment 12 Arnd Baecker 2007-10-07 19:34:10 UTC
Without being able to provide a better solution (see #9 above ;-),
a timer dependent approach seems problematic - if there is a huge system
load, or a slow machine, 100 ms might not be enough.
Is there a Qt way to do this at a well defined place
(like an exit handler/ or on delete of an object)?
Comment 13 Arnd Baecker 2008-01-31 10:49:10 UTC
*** Bug 157013 has been marked as a duplicate of this bug. ***
Comment 14 Arnd Baecker 2008-04-28 17:32:36 UTC
*** Bug 161360 has been marked as a duplicate of this bug. ***
Comment 15 Will Stephenson 2008-05-11 13:34:43 UTC
Also reproducible if digikam crashes while in fullscreen mode.  

This seems to happen a lot to gnome users, because compiz-fusion crashes the session when digikam goes fullscreen.  Then they don't know to toggle fullscreen on and off to restore the menu bar.

Can I suggest that on digikam startup, it  always ensures the menubar etc is shown?
Comment 16 Arnd Baecker 2008-06-25 17:39:03 UTC
*** Bug 164943 has been marked as a duplicate of this bug. ***
Comment 17 caulier.gilles 2008-12-05 22:15:50 UTC
What's news about this file. It still valid using digiKam 0.9.4 ?

Gilles Caulier
Comment 18 Andi Clemens 2008-12-05 22:27:00 UTC
I can confirm it... one way to get the menu back is to use fullscreen mode again.

Andi
Comment 19 caulier.gilles 2008-12-22 14:00:07 UTC
SVN commit 900178 by cgilles:

digiKam from trunk: add standard settings menu to toggle on/off menu bar (as konqueoro/dolphin/konsole).
Use CTRL+M keyboard shortcuts to toogle on menu again. work everywhere in digiKam components
BUG: 147771


 M  +9 -0      digikam/digikamapp.cpp  
 M  +3 -2      digikam/digikamapp.h  
 M  +2 -0      digikam/digikamappprivate.h  
 M  +6 -5      digikam/digikamui.rc  
 M  +4 -4      digikam/main.cpp  
 M  +3 -4      imageplugins/adjustcurves/imageplugin_adjustcurves.cpp  
 M  +13 -11    project/project.kdevelop  
 M  +3 -2      showfoto/showfotoui.rc  
 M  +11 -0     utilities/cameragui/cameraui.cpp  
 M  +1 -0      utilities/cameragui/cameraui.h  
 M  +5 -4      utilities/cameragui/cameraui.rc  
 M  +2 -0      utilities/cameragui/camerauiprivate.h  
 M  +3 -2      utilities/imageeditor/editor/digikamimagewindowui.rc  
 M  +10 -0     utilities/imageeditor/editor/editorwindow.cpp  
 M  +1 -0      utilities/imageeditor/editor/editorwindow.h  
 M  +2 -1      utilities/imageeditor/editor/editorwindowprivate.h  
 M  +10 -0     utilities/lighttable/lighttablewindow.cpp  
 M  +2 -0      utilities/lighttable/lighttablewindow.h  
 M  +2 -0      utilities/lighttable/lighttablewindowprivate.h  
 M  +3 -2      utilities/lighttable/lighttablewindowui.rc  


WebSVN link: http://websvn.kde.org/?view=rev&revision=900178
Comment 20 caulier.gilles 2008-12-22 15:06:37 UTC
SVN commit 900271 by cgilles:

backport commit #900178 from trunk
CCBUG: 147771


 M  +10 -0     digikam/digikamapp.cpp  
 M  +4 -3      digikam/digikamapp.h  
 M  +5 -3      digikam/digikamappprivate.h  
 M  +8 -7      digikam/digikamui.rc  
 M  +3 -4      imageplugins/adjustcurves/imageplugin_adjustcurves.cpp  
 M  +33 -32    showfoto/showfotoui.rc  
 M  +34 -33    utilities/imageeditor/editor/digikamimagewindowui.rc  
 M  +11 -0     utilities/imageeditor/editor/editorwindow.cpp  
 M  +1 -0      utilities/imageeditor/editor/editorwindow.h  
 M  +2 -1      utilities/imageeditor/editor/editorwindowprivate.h  
 M  +10 -0     utilities/lighttable/lighttablewindow.cpp  
 M  +1 -0      utilities/lighttable/lighttablewindow.h  
 M  +2 -0      utilities/lighttable/lighttablewindowprivate.h  
 M  +20 -19    utilities/lighttable/lighttablewindowui.rc  


WebSVN link: http://websvn.kde.org/?view=rev&revision=900271
Comment 21 DGardner 2009-12-01 12:03:10 UTC
This happens to me a lot in 1.0.0-beta5.

If I exit KDE when digiKam is in full-screen view, or if (as I
did last week) I press the reset button instead of the CD eject
button (doh!), when I restart and open digiKam, I am back in
full-screen mode, but with a normal, resizable window border.
This makes it look like the menu and tool-bars are missing.

As the original reported of this bug described, pressing
Ctrl+Shift+F will restore the normal view with the menu and
tool-bars and pressing those keys again will restore full-screen
view without the window border. As there is no right-click menu
option to exit full-screen mode (there's an issue open on that)
users who do not know the keyboard short-cut will be stuck.

Can this be reopened?
Comment 22 caulier.gilles 2009-12-01 14:07:24 UTC
try with 1.0.0-RC, out yesterday...

Gilles Caulier
Comment 23 Will Stephenson 2009-12-02 13:18:34 UTC
With today's SVN:

Quit digikam while in fullscreen mode with kquitapp - NOT full screen on next start.

Logout while digikam in fullscreen mode - digikam is full screen on session restore.  

Is this behaviour correct?  The 'Exit full screen mode' button is visible on session restore so I think this is acceptable.
Comment 24 Kenyon Ralph 2011-01-14 21:05:58 UTC
Still happens in 1.2.0.