annotate changesetitem.h @ 363:f89e50d748ed feature_93

Enable Push button whenever the repo is non-empty, even when there is no remote location -- ask for remote location when it is pressed. Also change "Change Remote..." to "Set Remote..." to be consistent with this new usage
author Chris Cannam
date Thu, 17 Mar 2011 17:48:18 +0000
parents 5b4aa1c24407
children
rev   line source
Chris@57 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@57 2
Chris@57 3 /*
Chris@57 4 EasyMercurial
Chris@57 5
Chris@57 6 Based on HgExplorer by Jari Korhonen
Chris@57 7 Copyright (c) 2010 Jari Korhonen
Chris@244 8 Copyright (c) 2011 Chris Cannam
Chris@244 9 Copyright (c) 2011 Queen Mary, University of London
Chris@57 10
Chris@57 11 This program is free software; you can redistribute it and/or
Chris@57 12 modify it under the terms of the GNU General Public License as
Chris@57 13 published by the Free Software Foundation; either version 2 of the
Chris@57 14 License, or (at your option) any later version. See the file
Chris@57 15 COPYING included with this distribution for more information.
Chris@57 16 */
Chris@57 17
Chris@43 18 #ifndef CHANGESETITEM_H
Chris@43 19 #define CHANGESETITEM_H
Chris@43 20
Chris@168 21 #include <QGraphicsObject>
Chris@53 22 #include <QFont>
Chris@43 23
Chris@43 24 class Changeset;
Chris@117 25 class ChangesetDetailItem;
Chris@43 26
Chris@153 27 class QAction;
Chris@153 28
Chris@168 29 class ChangesetItem : public QGraphicsObject
Chris@43 30 {
Chris@119 31 Q_OBJECT
Chris@119 32
Chris@43 33 public:
Chris@53 34 ChangesetItem(Changeset *cs);
Chris@43 35
Chris@43 36 virtual QRectF boundingRect() const;
Chris@43 37 virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
Chris@43 38
Chris@53 39 Changeset *getChangeset() { return m_changeset; }
Chris@141 40 QString getId();
Chris@53 41
Chris@44 42 int column() const { return m_column; }
Chris@44 43 int row() const { return m_row; }
Chris@46 44 void setColumn(int c) { m_column = c; setX(c * 100); }
Chris@53 45 void setRow(int r) { m_row = r; setY(r * 90); }
Chris@44 46
Chris@55 47 bool isWide() const { return m_wide; }
Chris@55 48 void setWide(bool w) { m_wide = w; }
Chris@55 49
Chris@128 50 bool isCurrent() const { return m_current; }
Chris@128 51 void setCurrent(bool c) { m_current = c; }
Chris@128 52
Chris@133 53 bool isNew() const { return m_new; }
Chris@133 54 void setNew(bool n) { m_new = n; }
Chris@133 55
Chris@153 56 bool showBranch() const { return m_showBranch; }
Chris@74 57 void setShowBranch(bool s) { m_showBranch = s; }
Chris@74 58
Chris@119 59 signals:
Chris@119 60 void detailShown();
Chris@119 61 void detailHidden();
Chris@119 62
Chris@141 63 void updateTo(QString);
Chris@141 64 void diffToCurrent(QString);
Chris@148 65 void diffToParent(QString child, QString parent);
Chris@289 66 void showSummary(Changeset *);
Chris@141 67 void mergeFrom(QString);
Chris@278 68 void newBranch(QString);
Chris@141 69 void tag(QString);
Chris@141 70
Chris@119 71 public slots:
Chris@119 72 void showDetail();
Chris@119 73 void hideDetail();
Chris@119 74
Chris@141 75 private slots:
Chris@153 76 void copyIdActivated();
Chris@141 77 void updateActivated();
Chris@153 78 void diffToParentActivated();
Chris@289 79 void showSummaryActivated();
Chris@141 80 void diffToCurrentActivated();
Chris@141 81 void mergeActivated();
Chris@141 82 void tagActivated();
Chris@278 83 void newBranchActivated();
Chris@141 84
Chris@117 85 protected:
Chris@117 86 virtual void mousePressEvent(QGraphicsSceneMouseEvent *);
Chris@117 87
Chris@43 88 private:
Chris@140 89 void activateMenu();
Chris@140 90
Chris@53 91 QFont m_font;
Chris@43 92 Changeset *m_changeset;
Chris@117 93 ChangesetDetailItem *m_detail;
Chris@74 94 bool m_showBranch;
Chris@44 95 int m_column;
Chris@44 96 int m_row;
Chris@55 97 bool m_wide;
Chris@128 98 bool m_current;
Chris@133 99 bool m_new;
Chris@153 100
Chris@153 101 QMap<QAction *, QString> m_parentDiffActions;
Chris@288 102 QMap<QAction *, QString> m_summaryActions;
Chris@43 103 };
Chris@43 104
Chris@43 105 #endif // CHANGESETITEM_H