comparison changesetitem.cpp @ 140:bad40d7e7a2b

* First cut at (not yet operational) right-button menu
author Chris Cannam
date Tue, 30 Nov 2010 14:59:52 +0000
parents aaeab914f2a3
children e6c6b88d19b9
comparison
equal deleted inserted replaced
139:e8a481789607 140:bad40d7e7a2b
23 #include "debug.h" 23 #include "debug.h"
24 24
25 #include <QPainter> 25 #include <QPainter>
26 #include <QGraphicsScene> 26 #include <QGraphicsScene>
27 #include <QGraphicsSceneMouseEvent> 27 #include <QGraphicsSceneMouseEvent>
28 #include <QMenu>
29 #include <QAction>
30 #include <QLabel>
31 #include <QWidgetAction>
28 32
29 ChangesetItem::ChangesetItem(Changeset *cs) : 33 ChangesetItem::ChangesetItem(Changeset *cs) :
30 m_changeset(cs), m_detail(0), 34 m_changeset(cs), m_detail(0),
31 m_showBranch(false), m_column(0), m_row(0), m_wide(false), 35 m_showBranch(false), m_column(0), m_row(0), m_wide(false),
32 m_current(false), m_new(false) 36 m_current(false), m_new(false)
80 if (m_detail) { 84 if (m_detail) {
81 hideDetail(); 85 hideDetail();
82 } else { 86 } else {
83 showDetail(); 87 showDetail();
84 } 88 }
85 } 89 } else if (e->button() == Qt::RightButton) {
90 activateMenu();
91 }
92 }
93
94 void
95 ChangesetItem::activateMenu()
96 {
97 QMenu *menu = new QMenu;
98 QLabel *label = new QLabel(tr("<qt><b>Identifier: </b>%1</qt>")
99 .arg(m_changeset->id()));
100 QWidgetAction *wa = new QWidgetAction(menu);;
101 wa->setDefaultWidget(label);
102 menu->addAction(wa);
103 menu->addSeparator();
104 QAction *update = menu->addAction(tr("Update to this revision"));
105 menu->addSeparator();
106 QAction *diffParent = menu->addAction(tr("Diff against previous revision"));
107 QAction *diffCurrent = menu->addAction(tr("Diff against current revision"));
108 menu->addSeparator();
109 QAction *merge = menu->addAction(tr("Merge from here to current"));
110 QAction *tag = menu->addAction(tr("Tag this revision"));
111 menu->exec(QCursor::pos());
86 } 112 }
87 113
88 void 114 void
89 ChangesetItem::paint(QPainter *paint, const QStyleOptionGraphicsItem *option, 115 ChangesetItem::paint(QPainter *paint, const QStyleOptionGraphicsItem *option,
90 QWidget *w) 116 QWidget *w)