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