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>&nbsp;<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 }