All pastes #1724139 Raw Edit

Someone

public text v1 · immutable
#1724139 ·published 2009-12-22 20:49 UTC
rendered paste body
Index: interfaces/default/interface.cpp
===================================================================
--- interfaces/default/interface.cpp	(revision 1065253)
+++ interfaces/default/interface.cpp	(working copy)
@@ -407,8 +411,9 @@
     m_delayedRun = false;
     m_searchTerm->setCurrentItem(QString(), true, 0);
     m_singleRunnerSearchTerm->clear();
+    m_resultsScene->clearQuery();
     resetResultsArea();
-    m_resultsScene->clearQuery();
+    kDebug() << "ping";
     resize(qMax(minimumSizeHint().width(), m_defaultSize.width()), minimumSizeHint().height());
 }
 
@@ -449,9 +454,10 @@
 
 void Interface::ensureVisibility(QGraphicsItem* item)
 {
+    bool oldState = m_resultsScene->itemsAcceptHoverEvents();
     m_resultsScene->setItemsAcceptHoverEvents(false);
     m_resultsView->ensureVisible(item,0,0);
-    m_resultsScene->setItemsAcceptHoverEvents(true);
+    m_resultsScene->setItemsAcceptHoverEvents(oldState);
 }
 
 void Interface::setStaticQueryMode(bool staticQuery)
Index: interfaces/default/resultscene.h
===================================================================
--- interfaces/default/resultscene.h	(revision 1061708)
+++ interfaces/default/resultscene.h	(working copy)
@@ -51,6 +51,7 @@
         void run(ResultItem* item) const;
         QSize minimumSizeHint() const;
         void setItemsAcceptHoverEvents(bool enable);
+	bool itemsAcceptHoverEvents();
 //        Plasma::RunnerManager* manager() const;
 
 
@@ -105,6 +106,7 @@
         qreal m_itemMarginBottom;
 
         QWidget *m_focusBase;
+	bool m_itemsAcceptHoverEvents;
 };
 
 #endif
Index: interfaces/default/resultscene.cpp
===================================================================
--- interfaces/default/resultscene.cpp	(revision 1061708)
+++ interfaces/default/resultscene.cpp	(working copy)
@@ -46,7 +46,8 @@
     : QGraphicsScene(parent),
       m_runnerManager(manager),
       m_currentIndex(0),
-      m_focusBase(focusBase)
+      m_focusBase(focusBase),
+      m_itemsAcceptHoverEvents(false)
 {
     setItemIndexMethod(NoIndex);
 
@@ -117,8 +118,19 @@
      return !(focusItem()) || (!m_items.contains(static_cast<ResultItem*>(focusItem()))) || (m_focusBase->hasFocus() && !static_cast<ResultItem*>(focusItem())->mouseHovered()) ;
 }
 
+bool ResultScene::itemsAcceptHoverEvents()
+{
+    return m_itemsAcceptHoverEvents;
+}
+
 void ResultScene::setItemsAcceptHoverEvents(bool enable)
 {
+    kDebug() << enable;
+    if (enable == m_itemsAcceptHoverEvents) {
+        return;
+    }
+
+    m_itemsAcceptHoverEvents = enable;
     foreach (QGraphicsItem* tmpItem, items()) {
         tmpItem->setAcceptHoverEvents(enable);
     }
 void ResultScene::arrangeItems(ResultItem *itemChanged)
@@ -367,6 +378,8 @@
 
 void ResultScene::clearQuery()
 {
+    kDebug() << "clearing";
+    clearSelection();
     m_runnerManager->reset();
 }