Mercurial > hg > easyhg
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) {