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

List:       kde-commits
Subject:    KDE/kdebase/workspace/krunner/interfaces/default
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2010-11-17 19:22:20
Message-ID: 20101117192220.B2CF8AC8A0 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1198182 by aseigo:

instead of tracking the scene rect change, base the signal on the "viewable height"


 M  +1 -1      interface.cpp  
 M  +7 -4      resultscene.cpp  
 M  +1 -1      resultscene.h  


--- trunk/KDE/kdebase/workspace/krunner/interfaces/default/interface.cpp #1198181:1198182
@@ -153,7 +153,7 @@
     m_resultsView = new ResultsView(m_resultsScene, &m_resultData, this);
     m_layout->addWidget(m_resultsView);
 
-    connect(m_resultsScene, SIGNAL(sceneRectChanged()), this, SLOT(fitWindow()));
+    connect(m_resultsScene, SIGNAL(viewableHeightChanged()), this, SLOT(fitWindow()));
     connect(m_resultsScene, SIGNAL(matchCountChanged(int)), this, SLOT(matchCountChanged(int)));
     connect(m_resultsScene, SIGNAL(itemActivated(ResultItem *)), this, SLOT(run(ResultItem *)));
 
--- trunk/KDE/kdebase/workspace/krunner/interfaces/default/resultscene.cpp #1198181:1198182
@@ -176,6 +176,7 @@
     QListIterator<ResultItem *> rit(m_items);
     QGraphicsWidget *prevTabItem = 0;
 
+    const int viewableHeight = m_viewableHeight;
     while (mit.hasPrevious() && rit.hasNext()) {
         ResultItem * item = rit.next();
         item->setMatch(mit.previous());
@@ -203,7 +204,10 @@
     }
 
     emit matchCountChanged(qMin(m.count(), maxItemsAllowed));
+    if (viewableHeight != m_viewableHeight) {
+        emit viewableHeightChanged();
 }
+}
 
 void ResultScene::scheduleArrangeItems()
 {
@@ -216,7 +220,7 @@
 {
     int y = 0;
     QListIterator<ResultItem*> matchIt(m_items);
-    const QRectF rect = itemsBoundingRect();
+    const int viewableHeight = m_viewableHeight;
     while (matchIt.hasNext()) {
         ResultItem *item = matchIt.next();
         //kDebug()  << item->name() << item->id() << item->priority() << i;
@@ -232,9 +236,8 @@
     //kDebug() << "setting scene rect to" << itemsBoundingRect();
     const QRectF newRect = itemsBoundingRect();
     setSceneRect(newRect);
-    if (!qFuzzyCompare(rect.height(), newRect.height()) ||
-        !qFuzzyCompare(rect.width(), newRect.width())) {
-        emit sceneRectChanged();
+    if (viewableHeight != m_viewableHeight) {
+        emit viewableHeightChanged();
     }
 }
 
--- trunk/KDE/kdebase/workspace/krunner/interfaces/default/resultscene.h #1198181:1198182
@@ -62,7 +62,7 @@
     signals:
         void itemActivated(ResultItem *item);
         void matchCountChanged(int count);
-        void sceneRectChanged();
+        void viewableHeightChanged();
         void ensureVisibility(QGraphicsItem *item);
 
     protected:
[prev in list] [next in list] [prev in thread] [next in thread] 

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