diff changesetitem.cpp @ 117:d5db15bf250c

* Start to sketch thing that shows the details of a changeset in the history view
author Chris Cannam
date Fri, 26 Nov 2010 22:46:29 +0000
parents 10eb97683aa9
children 9734fb0d6fff
line wrap: on
line diff
--- a/changesetitem.cpp	Fri Nov 26 22:06:52 2010 +0000
+++ b/changesetitem.cpp	Fri Nov 26 22:46:29 2010 +0000
@@ -16,14 +16,18 @@
 */
 
 #include "changesetitem.h"
+#include "changesetdetailitem.h"
 #include "changeset.h"
 #include "textabbrev.h"
 #include "colourset.h"
+#include "debug.h"
 
 #include <QPainter>
+#include <QGraphicsScene>
 
 ChangesetItem::ChangesetItem(Changeset *cs) :
-    m_changeset(cs), m_showBranch(false), m_column(0), m_row(0), m_wide(false)
+    m_changeset(cs), m_detail(0),
+    m_showBranch(false), m_column(0), m_row(0), m_wide(false)
 {
     m_font = QFont();
     m_font.setPixelSize(11);
@@ -40,6 +44,21 @@
 }
 
 void
+ChangesetItem::mousePressEvent(QGraphicsSceneMouseEvent *e)
+{
+    DEBUG << "ChangesetItem::mousePressEvent" << endl;
+    //!!! how best to handle this?
+    if (m_detail) return;
+    m_detail = new ChangesetDetailItem(m_changeset);
+    m_detail->setZValue(zValue() + 1);
+    scene()->addItem(m_detail);
+    int w = 100;
+    if (m_wide) w = 180;
+    m_detail->moveBy(x() - (m_detail->boundingRect().width() - 50) / 2,
+                     y() + 60);
+}
+
+void
 ChangesetItem::paint(QPainter *paint, const QStyleOptionGraphicsItem *option,
                      QWidget *w)
 {