diff changesetscene.cpp @ 168:4bad3c5c053a

* Add "Show summary" feature * Add simplistic kinetic scrolling to history widget
author Chris Cannam
date Tue, 14 Dec 2010 17:20:10 +0000
parents 70fe12873106
children 8fd71f570884
line wrap: on
line diff
--- a/changesetscene.cpp	Wed Dec 08 16:57:18 2010 +0000
+++ b/changesetscene.cpp	Tue Dec 14 17:20:10 2010 +0000
@@ -18,6 +18,7 @@
 #include "changesetscene.h"
 #include "changesetitem.h"
 #include "uncommitteditem.h"
+#include "dateitem.h"
 
 ChangesetScene::ChangesetScene()
     : QGraphicsScene(), m_detailShown(0)
@@ -32,6 +33,9 @@
     connect(item, SIGNAL(detailShown()),
             this, SLOT(changesetDetailShown()));
 
+    connect(item, SIGNAL(detailHidden()),
+            this, SLOT(changesetDetailHidden()));
+
     connect(item, SIGNAL(updateTo(QString)),
             this, SIGNAL(updateTo(QString)));
 
@@ -62,11 +66,23 @@
     connect(item, SIGNAL(diff()),
             this, SIGNAL(diffWorkingFolder()));
 
+    connect(item, SIGNAL(showSummary()),
+            this, SIGNAL(showSummary()));
+
     connect(item, SIGNAL(showWork()),
             this, SIGNAL(showWork()));
 }
 
 void
+ChangesetScene::addDateItem(DateItem *item)
+{
+    addItem(item);
+
+    connect(item, SIGNAL(clicked()),
+            this, SLOT(dateItemClicked()));
+}
+
+void
 ChangesetScene::changesetDetailShown()
 {
     ChangesetItem *csi = qobject_cast<ChangesetItem *>(sender());
@@ -78,3 +94,17 @@
     m_detailShown = csi;
 }
 
+void
+ChangesetScene::changesetDetailHidden()
+{
+    m_detailShown = 0;
+}
+
+void
+ChangesetScene::dateItemClicked()
+{
+    if (m_detailShown) {
+        m_detailShown->hideDetail();
+    }
+}
+