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

List:       kde-commits
Subject:    KDE
From:       Luboš Luňák <l.lunak () kde ! org>
Date:       2008-03-10 23:02:03
Message-ID: 1205190123.215275.14990.nullmailer () svn ! kde ! org
[Download RAW message or body]

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.



 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  


--- trunk/KDE/kdebase/apps/konqueror/src/konqmainwindow.cpp #784332:784333
@@ -3264,9 +3264,9 @@
 
 void KonqMainWindow::slotUpdateFullScreen( bool set )
 {
+  KToggleFullScreenAction::setFullScreen( this, set );
   if( set )
   {
-    showFullScreen();
     // Create toolbar button for exiting from full-screen mode
     // ...but only if there isn't one already...
 
@@ -3309,7 +3309,6 @@
   }
   else
   {
-    setWindowState( windowState() & ~Qt::WindowFullScreen );
     unplugActionList( "fullscreen" );
 
     if (m_prevMenuBarVisible)
--- trunk/KDE/kdebase/apps/konqueror/src/konqmisc.cpp #784332:784333
@@ -56,7 +56,7 @@
       {
 	KWindowInfo info = KWindowSystem::windowInfo( window->winId(), NET::WMDesktop );
 	if ( info.valid() && info.isOnCurrentDesktop() )
-          window->showNormal();
+          window->setWindowState( window->windowState() & ~Qt::WindowFullScreen );
       }
     }
   }
--- trunk/KDE/kdebase/apps/konsole/src/MainWindow.cpp #784332:784333
@@ -254,10 +254,11 @@
 void MainWindow::viewFullScreen(bool fullScreen)
 {
     if ( fullScreen )
-        showFullScreen();
+        setWindowState( windowState() | Qt::WindowFullScreen );
     else
-        showNormal();
+        setWindowState( windowState() & ~Qt::WindowFullScreen );
 }
+
 BookmarkHandler* MainWindow::bookmarkHandler() const
 {
     return _bookmarkHandler;
--- trunk/KDE/kdeedu/kig/kig/kig_view.cpp #784332:784333
@@ -526,9 +526,9 @@
 {
   mrealwidget->setFullScreen( ! mrealwidget->isFullScreen() );
   if ( mrealwidget->isFullScreen() )
-    topLevelWidget()->showFullScreen();
+    topLevelWidget()->setWindowState( topLevelWidget()->windowState() | \
Qt::WindowFullScreen ); // set  else
-    topLevelWidget()->showNormal();
+    topLevelWidget()->setWindowState( topLevelWidget()->windowState() & \
~Qt::WindowFullScreen ); // reset  }
 
 void KigWidget::setFullScreen( bool f )
--- trunk/KDE/kdeedu/kmplot/kmplot/kmplot.cpp #784332:784333
@@ -131,12 +131,12 @@
 {
 	if (checked)
 	{
-		showFullScreen();
+		KToggleFullScreenAction::setFullScreen( this, true )
 		//m_fullScreen->plug( toolBar( "mainToolBar" ) ); deprecated annma 2006-03-01
 	}
 	else
 	{
-		showNormal();
+		KToggleFullScreenAction::setFullScreen( this, false )
 		//m_fullScreen->unplug( toolBar( "mainToolBar" ) ); deprecated annma 2006-03-01
 	}
 }
--- trunk/KDE/kdeedu/kstars/kstars/kstarsactions.cpp #784332:784333
@@ -971,9 +971,9 @@
 void KStars::slotFullScreen()
 {
     if ( topLevelWidget()->isFullScreen() ) {
-        topLevelWidget()->showNormal();
+        topLevelWidget()->setWindowState( topLevelWidget()->windowState() & \
~Qt::WindowFullScreen ); // reset  } else {
-        topLevelWidget()->showFullScreen();
+        topLevelWidget()->setWindowState( topLevelWidget()->windowState() | \
Qt::WindowFullScreen ); // set  }
 }
 
--- trunk/KDE/kdeedu/kwordquiz/src/kwordquiz.cpp #784332:784333
@@ -50,6 +50,7 @@
 #include <kdeprintdialog.h>
 #include <KProcess>
 #include <KTemporaryFile>
+#include <kwindowsystem.h>
 
 #include "keduvocdocument.h"
 #include "keduvoclesson.h"
@@ -545,7 +546,7 @@
           if(a->document()->url().path() == url.path())
           {
             if (w->isMinimized())
-              w->showNormal();
+              KWindowSystem::unminimizeWindow(w->winId());
             w->activateWindow();
             w->raise();
             break;
--- trunk/KDE/kdeedu/marble/src/QtMainWindow.cpp #784332:784333
@@ -224,10 +224,10 @@
 void MainWindow::showFullScreen( bool isChecked )
 {
     if ( isChecked ) {
-        QWidget::showFullScreen();
+        setWindowState( windowState() | Qt::WindowFullScreen ); // set
     }
     else {
-        showNormal();
+        setWindowState( windowState() & ~Qt::WindowFullScreen ); // reset
     }
 
     m_fullScreenAct->setChecked( isChecked ); // Sync state with the GUI
--- trunk/KDE/kdeedu/marble/src/marble_part.cpp #784332:784333
@@ -182,11 +182,11 @@
 {
     if ( isChecked ) {
         if ( KApplication::activeWindow() )
-            KApplication::activeWindow()->showFullScreen();
+            KToggleFullScreenAction::setFullScreen( KApplication::activeWindow(), \
true );  }
     else {
         if ( KApplication::activeWindow() )
-            KApplication::activeWindow()->showNormal();
+            KToggleFullScreenAction::setFullScreen( KApplication::activeWindow(), \
true );  }
 
     m_fullScreenAct->setChecked( isChecked ); // Sync state with the GUI
--- trunk/KDE/kdegames/kgoldrunner/src/kgoldrunner.cpp #784332:784333
@@ -604,10 +604,7 @@
 
 void KGoldrunner::viewFullScreen (bool activation)
 {
-    if (activation) 
-        showFullScreen();
-    else
-        showNormal();
+    KToggleFullScreenAction::setFullScreen(this, activation);
 }
 
 void KGoldrunner::setupThemes()
--- trunk/KDE/kdegames/ktuberling/toplevel.cpp #784332:784333
@@ -22,6 +22,7 @@
 #include <kstandardgameaction.h>
 #include <kactioncollection.h>
 #include <ktoggleaction.h>
+#include <ktogglefullscreenaction.h>
 #include <kimageio.h>
 #include <kmimetype.h>
 #include <kconfiggroup.h>
@@ -417,6 +418,5 @@
 
 void TopLevel::toggleFullScreen()
 {
-  if (actionCollection()->action("fullscreen")->isChecked()) showFullScreen();
-  else showNormal();
+  KToggleFullScreenActive::setFullScreen( this, \
actionCollection()->action("fullscreen")->isChecked());  }
--- trunk/KDE/kdegraphics/kolourpaint/mainWindow/kpMainWindow_Settings.cpp \
#784332:784333 @@ -89,10 +89,7 @@
 // private slot
 void kpMainWindow::slotFullScreen ()
 {
-    if (d->actionFullScreen->isChecked ())
-        showFullScreen ();
-    else
-        showNormal ();
+    KToggleFullScreenAction::setFullScreen( this, d->actionFullScreen->isChecked \
());  }
 
 
--- trunk/KDE/kdegraphics/okular/shell/shell.cpp #784332:784333
@@ -271,9 +271,9 @@
 void Shell::setFullScreen( bool useFullScreen )
 {
     if( useFullScreen )
-        showFullScreen();
+        setWindowState( windowState() | Qt::WindowFullScreen ); // set
     else
-        showNormal();
+        setWindowState( windowState() & ~Qt::WindowFullScreen ); // reset
 }
 
 void Shell::slotUpdateFullScreen()
@@ -287,8 +287,8 @@
       m_toolBarWasShown = m_showToolBarAction->isChecked();
       m_showToolBarAction->setChecked(false);
       toolBar()->hide();
-      
-      showFullScreen();
+
+      KToggleFullScreenAction::setFullScreen(this, true);      
     }
     else
     {
@@ -302,7 +302,7 @@
         m_showToolBarAction->setChecked(true);
         toolBar()->show();
       }
-      showNormal();
+      KToggleFullScreenAction::setFullScreen(this, false);      
     }
 }
 
--- trunk/KDE/kdelibs/kdeui/actions/ktogglefullscreenaction.cpp #784332:784333
@@ -101,4 +101,12 @@
   return false;
 }
 
+void KToggleFullScreenAction::setFullScreen( QWidget* window, bool set )
+{
+  if( set )
+    window->setWindowState( window->windowState() | Qt::WindowFullScreen );
+  else
+    window->setWindowState( window->windowState() & ~Qt::WindowFullScreen );
+}
+
 #include "ktogglefullscreenaction.moc"
--- trunk/KDE/kdelibs/kdeui/actions/ktogglefullscreenaction.h #784332:784333
@@ -37,10 +37,14 @@
  * yourself. Rely on this action's state (isChecked()) instead.
  *
  * Important: If you need to set/change the fullscreen state manually,
- * use the relevant QWidget function (showFullScreen etc.), do not
- * call directly the slot connected to the toggled() signal. The slot
+ * use KToggleFullScreenAction::setFullScreen() or a similar function,
+ * do not call directly the slot connected to the toggled() signal. The slot
  * still needs to explicitly set the window state though.
-
+ *
+ * Note: Do NOT use QWidget::showFullScreen() or QWidget::showNormal().
+ * They have several side-effects besides just switching the fullscreen
+ * state (for example, showNormal() resets all window states, not just
+ * fullscreen). Use the KToggleFullScreenAction::setFullScreen() helper function.
  */
 class KDEUI_EXPORT KToggleFullScreenAction : public KToggleAction
 {
@@ -72,6 +76,13 @@
      */
     void setWindow( QWidget* window );
 
+    /**
+     * Helper function to set or reset the fullscreen state of a window.
+     * Use this function rather than showFullScreen()/showNormal() QWidget \
functions. +     * @since 4.0.3
+     */
+    static void setFullScreen( QWidget* window, bool set );
+
   protected:
     bool eventFilter( QObject* object, QEvent* event );
 
--- trunk/KDE/kdelibs/phonon/videowidget.cpp #784332:784333
@@ -105,14 +105,14 @@
             flags |= Qt::Window;
             flags ^= Qt::SubWindow;
             setWindowFlags(flags);
-            showFullScreen();
+            setWindowState( windowState() | Qt::WindowFullScreen ); // set
         }
     } else if (parentWidget()) {
         if (isFullScreen()) {
             flags ^= (Qt::Window | Qt::SubWindow); //clear the flags...
             flags |= d->changeFlags; //then we reset the flags (window and \
subwindow)  setWindowFlags(flags);
-            showNormal();
+            setWindowState( windowState() & ~Qt::WindowFullScreen ); // reset
         }
     }
 }
--- trunk/KDE/kdenetwork/kopete/kopete/chatwindow/chatview.cpp #784332:784333
@@ -279,7 +279,7 @@
 #endif
 	if(m_mainWindow->isMinimized())
 	{
-		m_mainWindow->showNormal();
+		KWindowSystem::unminimizeWindow( m_mainWindow->winId());
 	}
 
 
--- trunk/KDE/kdepim/kleopatra/systemtrayicon.cpp #784332:784333
@@ -39,6 +39,7 @@
 #include <KAboutApplicationDialog>
 #include <KAboutData>
 #include <KComponentData>
+#include <KWindowSystem>
 
 #include <QMenu>
 #include <QAction>
@@ -171,7 +172,7 @@
         d->mainWindow->installEventFilter( this );
     }
     if ( d->mainWindow->isMinimized() ) {
-        d->mainWindow->showNormal();
+        KWindowSystem::unminimizeWindow( d->mainWindow->winId());
         d->mainWindow->raise();
     } else if ( d->mainWindow->isVisible() ) {
         d->mainWindow->raise();
--- trunk/KDE/kdesdk/kate/app/katemainwindow.cpp #784332:784333
@@ -766,10 +766,7 @@
 
 void KateMainWindow::slotFullScreen(bool t)
 {
-  if (t)
-    showFullScreen();
-  else
-    showNormal();
+  KToggleFullScreenAction::setFullScreen(this, t);
 }
 
 bool KateMainWindow::event( QEvent *e )


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

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