[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Do not use QWidget::showFullScreen() etc. (was Re: KDE)
From:       Lubos Lunak <l.lunak () suse ! cz>
Date:       2008-03-10 23:16:36
Message-ID: 200803110016.36939.l.lunak () suse ! cz
[Download RAW message or body]

On Tuesday 11 of March 2008, Luboš Luňák wrote:
> SVN commit 784333 by lunakl:
>
> Remove usage of QWidget::show[FullScreen|Maximized|Minimized|Normal](),
> they do more then just change the state of the window and all these usage
> cases were wrong (that is, all their usage).
> For changing the state, use something like
> window->setWindowState( window->windowState() | Qt::WindowFullScreen );
> // set
> window->setWindowState( window->windowState() & ~Qt::WindowFullScreen );
> // reset 
> or simply use the new KToggleFullScreenAction::setFullScreen()  helper.

 People, please do not use QWidget::showFullScreen(), 
QWidget::showMaximized(), QWidget::showMinimized() or QWidget::showNormal(), 
unless you know what they actually do and you really want that. Which is 
probably never. For example, QWidget::showNormal() is not an inverse of 
QWidget:showFullScreen(), and QWidget::showFullScreen() also doesn't just set 
the window to fullscreen (#157941). I personally consider these to be broken 
API, although TT apparently doesn't share my opinion.

 Use QWidget::setWindowState() as noted above, or some of the helper 
functions.

>  M  +1 -2      kdebase/apps/konqueror/src/konqmainwindow.cpp
>  M  +1 -1      kdebase/apps/konqueror/src/konqmisc.cpp
>  M  +3 -2      kdebase/apps/konsole/src/MainWindow.cpp
>  M  +2 -2      kdeedu/kig/kig/kig_view.cpp
>  M  +2 -2      kdeedu/kmplot/kmplot/kmplot.cpp
>  M  +2 -2      kdeedu/kstars/kstars/kstarsactions.cpp
>  M  +2 -1      kdeedu/kwordquiz/src/kwordquiz.cpp
>  M  +2 -2      kdeedu/marble/src/QtMainWindow.cpp
>  M  +2 -2      kdeedu/marble/src/marble_part.cpp
>  M  +1 -4      kdegames/kgoldrunner/src/kgoldrunner.cpp
>  M  +2 -2      kdegames/ktuberling/toplevel.cpp
>  M  +1 -4      kdegraphics/kolourpaint/mainWindow/kpMainWindow_Settings.cpp
>  M  +5 -5      kdegraphics/okular/shell/shell.cpp
>  M  +8 -0      kdelibs/kdeui/actions/ktogglefullscreenaction.cpp
>  M  +14 -3     kdelibs/kdeui/actions/ktogglefullscreenaction.h
>  M  +2 -2      kdelibs/phonon/videowidget.cpp
>  M  +1 -1      kdenetwork/kopete/kopete/chatwindow/chatview.cpp
>  M  +2 -1      kdepim/kleopatra/systemtrayicon.cpp
>  M  +1 -4      kdesdk/kate/app/katemainwindow.cpp
And a couple more to come ...

-- 
Lubos Lunak
KDE developer
--------------------------------------------------------------
SUSE LINUX, s.r.o.   e-mail: l.lunak@suse.cz , l.lunak@kde.org
Lihovarska 1060/12   tel: +420 284 028 972
190 00 Prague 9      fax: +420 284 028 951
Czech Republic       http://www.suse.cz

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic