Mercurial > hg > easyhg
comparison uncommitteditem.cpp @ 153:70fe12873106
* Show both parents of uncommitted merge; fixes to right-button menus
author | Chris Cannam |
---|---|
date | Thu, 02 Dec 2010 17:55:21 +0000 |
parents | 644bd31e8301 |
children | 97faf861618b |
comparison
equal
deleted
inserted
replaced
152:2b997861174b | 153:70fe12873106 |
---|---|
16 */ | 16 */ |
17 | 17 |
18 #include "uncommitteditem.h" | 18 #include "uncommitteditem.h" |
19 #include "colourset.h" | 19 #include "colourset.h" |
20 #include "debug.h" | 20 #include "debug.h" |
21 #include "textabbrev.h" | |
21 | 22 |
22 #include <QPainter> | 23 #include <QPainter> |
23 #include <QGraphicsScene> | 24 #include <QGraphicsScene> |
24 #include <QGraphicsSceneMouseEvent> | 25 #include <QGraphicsSceneMouseEvent> |
25 #include <QMenu> | 26 #include <QMenu> |
26 #include <QAction> | 27 #include <QAction> |
27 #include <QLabel> | 28 #include <QLabel> |
28 #include <QWidgetAction> | 29 #include <QWidgetAction> |
29 | 30 |
30 UncommittedItem::UncommittedItem() : | 31 UncommittedItem::UncommittedItem() : |
31 m_column(0), m_row(0), m_wide(false) | 32 m_showBranch(false), m_column(0), m_row(0), m_wide(false) |
32 { | 33 { |
33 m_font = QFont(); | 34 m_font = QFont(); |
34 m_font.setPixelSize(11); | 35 m_font.setPixelSize(11); |
35 m_font.setBold(false); | 36 m_font.setBold(false); |
36 m_font.setItalic(false); | 37 m_font.setItalic(false); |
53 activateMenu(); | 54 activateMenu(); |
54 } | 55 } |
55 } | 56 } |
56 | 57 |
57 void | 58 void |
59 UncommittedItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e) | |
60 { | |
61 DEBUG << "UncommittedItem::mouseDoubleClickEvent" << endl; | |
62 if (e->button() == Qt::LeftButton) { | |
63 emit showWork(); | |
64 } | |
65 } | |
66 | |
67 void | |
58 UncommittedItem::activateMenu() | 68 UncommittedItem::activateMenu() |
59 { | 69 { |
60 QMenu *menu = new QMenu; | 70 QMenu *menu = new QMenu; |
61 QLabel *label = new QLabel(tr("<qt><b>Uncommitted changes</b></qt>")); | 71 QLabel *label = new QLabel(tr("<qt> <b>Uncommitted changes</b></qt>")); |
62 QWidgetAction *wa = new QWidgetAction(menu); | 72 QWidgetAction *wa = new QWidgetAction(menu); |
63 wa->setDefaultWidget(label); | 73 wa->setDefaultWidget(label); |
64 menu->addAction(wa); | 74 menu->addAction(wa); |
75 menu->addSeparator(); | |
76 | |
77 QAction *dif = menu->addAction(tr("Diff")); | |
78 connect(dif, SIGNAL(triggered()), this, SIGNAL(diff())); | |
79 | |
65 menu->addSeparator(); | 80 menu->addSeparator(); |
66 | 81 |
67 QAction *commit = menu->addAction(tr("Commit...")); | 82 QAction *commit = menu->addAction(tr("Commit...")); |
68 connect(commit, SIGNAL(triggered()), this, SIGNAL(commit())); | 83 connect(commit, SIGNAL(triggered()), this, SIGNAL(commit())); |
69 QAction *revert = menu->addAction(tr("Revert...")); | 84 QAction *revert = menu->addAction(tr("Revert...")); |
70 connect(revert, SIGNAL(triggered()), this, SIGNAL(revert())); | 85 connect(revert, SIGNAL(triggered()), this, SIGNAL(revert())); |
71 QAction *dif = menu->addAction(tr("Diff")); | |
72 connect(dif, SIGNAL(triggered()), this, SIGNAL(diff())); | |
73 | 86 |
74 menu->exec(QCursor::pos()); | 87 menu->exec(QCursor::pos()); |
75 | 88 |
76 ungrabMouse(); | 89 ungrabMouse(); |
77 } | 90 } |
127 paint->drawText(-(fm.width(label) - 50)/2, | 140 paint->drawText(-(fm.width(label) - 50)/2, |
128 25 + fm.ascent(), | 141 25 + fm.ascent(), |
129 label); | 142 label); |
130 } | 143 } |
131 | 144 |
145 if (m_showBranch && m_branch != "") { | |
146 // write branch name | |
147 f.setBold(true); | |
148 paint->setFont(f); | |
149 int wid = width - 3; | |
150 QString b = TextAbbrev::abbreviate(m_branch, QFontMetrics(f), wid); | |
151 paint->drawText(x0, -fh + fm.ascent() - 4, b); | |
152 f.setBold(false); | |
153 } | |
154 | |
132 paint->restore(); | 155 paint->restore(); |
133 return; | 156 return; |
134 } | 157 } |