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

List:       kde-commits
Subject:    extragear/utils/kpager
From:       Pino Toscano <pino () kde ! org>
Date:       2010-12-31 20:57:23
Message-ID: 20101231205723.7FE2CAC8AE () svn ! kde ! org
[Download RAW message or body]

SVN commit 1210510 by pino:

Q3IntDict -> QHash


 M  +9 -8      kpager.cpp  
 M  +2 -3      kpager.h  


--- trunk/extragear/utils/kpager/kpager.cpp #1210509:1210510
@@ -195,8 +195,6 @@
 {
     setObjectName( name );
 
-    m_windows.setAutoDelete(true); // delete windows info after removal
-
     QPalette pal = palette();
     pal.setColor( backgroundRole(), Qt::black );
     setPalette( pal );
@@ -248,6 +246,7 @@
 
 KPager::~KPager()
 {
+    qDeleteAll(m_windows);
 
 }
 
@@ -394,7 +393,7 @@
 
 KWindowInfo* KPager::info( WId win )
 {
-    KWindowInfo* info = m_windows[win];
+    KWindowInfo* info = m_windows.value(win);
     if (!info )
     {
         info = new KWindowInfo( KWindowSystem::windowInfo( win,
@@ -405,7 +404,7 @@
             delete info;
             return NULL; // window no longer valid
         }
-        m_windows.insert( (long) win, info );
+        m_windows.insert( win, info );
     }
     return info;
 }
@@ -444,18 +443,19 @@
 
 void KPager::slotWindowRemoved( WId win )
 {
-    KWindowInfo* inf = m_windows[win];
+    KWindowInfo* inf = m_windows.value(win);
     if (inf)
     {
         bool onAllDesktops = inf->onAllDesktops();
         int desktop = inf->desktop();
-        m_windows.remove( (long)win );
+        m_windows.remove( win );
         Desktop::removeCachedPixmap(win);
         for (int i = 1; i <= (int) m_desktops.count(); ++i)
         {
             if (onAllDesktops || desktop == i)
                 m_desktops[i-1]->update();
         }
+        delete inf;
     }
 }
 
@@ -463,7 +463,7 @@
 {
     bool repaint=false;
 
-    KWindowInfo* inf = m_windows[win];
+    KWindowInfo* inf = m_windows.value(win);
     if (!inf)
     {
       inf=info(win);
@@ -477,7 +477,8 @@
 
     if (prop)
     {
-      m_windows.remove( (long) win );
+      delete m_windows[win];
+      m_windows.remove( win );
       inf = info( win );
     }
 
--- trunk/extragear/utils/kpager/kpager.h #1210509:1210510
@@ -26,12 +26,11 @@
 #define __KPAGER_H
 
 #include <QWidget>
-#include <Qt3Support/Q3IntDict>
-//Added by qt3to4:
 #include <QShowEvent>
 #include <QFrame>
 #include <QGridLayout>
 #include <QMenu>
+#include <QHash>
 #include <kxmlguiwindow.h>
 #include <kwindowsystem.h>
 
@@ -117,7 +116,7 @@
 protected:
     QList<class Desktop *> m_desktops;
 
-    Q3IntDict<KWindowInfo> m_windows;
+    QHash<WId, KWindowInfo*> m_windows;
     WId m_activeWin;
 
     const QString lWidth();
[prev in list] [next in list] [prev in thread] [next in thread] 

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