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

List:       kde-commits
Subject:    KDE/kdepim/kresources/lib
From:       Volker Krause <volker.krause () rwth-aachen ! de>
Date:       2005-12-05 16:36:44
Message-ID: 1133800604.252338.16836.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 485757 by vkrause:

Port the event loop hack.


 M  +7 -9      kcal_resourcegroupwarebase.cpp  
 M  +3 -0      kcal_resourcegroupwarebase.h  


--- trunk/KDE/kdepim/kresources/lib/kcal_resourcegroupwarebase.cpp #485756:485757
@@ -211,16 +211,14 @@
 //     Copyright (C) 1998 Matthias Ettrich (ettrich@kde.org)
 //     Copyright (C) 1999 David Faure (faure@kde.org)
 // If a troll sees this, he kills me
-void qt_enter_modal( QWidget *widget );
-void qt_leave_modal( QWidget *widget );
+//
+// It's no longer a hack but still taken from KIO::NetAccess
 
 void ResourceGroupwareBase::enter_loop()
 {
-  QWidget dummy(0,0,Qt::WType_Dialog | Qt::WShowModal);
-  dummy.setFocusPolicy( Qt::NoFocus );
-  qt_enter_modal(&dummy);
-  qApp->enter_loop();
-  qt_leave_modal(&dummy);
+  QEventLoop eventLoop;
+  connect( this, SIGNAL( leaveModality() ), &eventLoop, SLOT( quit() ) );
+  eventLoop.exec( QEventLoop::ExcludeUserInputEvents );
 }
 // END:COPIED
 
@@ -228,7 +226,7 @@
 {
   if ( !adaptor() ) return;
   mLoginFinished = adaptor()->interpretLoginJobResult( job );
-  qApp->exit_loop();
+  emit leaveModality();
 }
 
 void ResourceGroupwareBase::doClose()
@@ -251,7 +249,7 @@
   if ( !adaptor() ) return;
   adaptor()->interpretLogoffJobResult( job );
   // TODO: Do we really need to block while waiting for the job to return?
-  qApp->exit_loop();
+  emit leaveModality();
 }
 
 bool ResourceGroupwareBase::doLoad()
--- trunk/KDE/kdepim/kresources/lib/kcal_resourcegroupwarebase.h #485756:485757
@@ -76,6 +76,9 @@
     bool addTodo( Todo *todo );
     bool addJournal( Journal *journal );
 
+  signals:
+    void leaveModality();
+
   protected:
     void init();
     
[prev in list] [next in list] [prev in thread] [next in thread] 

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