annotate src/changesetitem.h @ 425:ad106f5fe75f

Add "Ignore Files" and "Edit Ignored List" to Work menu (latter is subsumed from Advanced menu formerly). Also subsume Serve via HTTP into File menu as Share Repository, and add a more helpful description of it. Remove Advanced menu
author Chris Cannam
date Thu, 23 Jun 2011 10:58:32 +0100
parents b1f0fa991c49
children 8bdc8f27d19c
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@390 28 class QImage;
Chris@153 29
Chris@168 30 class ChangesetItem : public QGraphicsObject
Chris@43 31 {
Chris@119 32 Q_OBJECT
Chris@119 33
Chris@43 34 public:
Chris@53 35 ChangesetItem(Changeset *cs);
Chris@43 36
Chris@43 37 virtual QRectF boundingRect() const;
Chris@43 38 virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
Chris@43 39
Chris@53 40 Changeset *getChangeset() { return m_changeset; }
Chris@141 41 QString getId();
Chris@53 42
Chris@44 43 int column() const { return m_column; }
Chris@44 44 int row() const { return m_row; }
Chris@46 45 void setColumn(int c) { m_column = c; setX(c * 100); }
Chris@53 46 void setRow(int r) { m_row = r; setY(r * 90); }
Chris@44 47
Chris@55 48 bool isWide() const { return m_wide; }
Chris@55 49 void setWide(bool w) { m_wide = w; }
Chris@55 50
Chris@128 51 bool isCurrent() const { return m_current; }
Chris@128 52 void setCurrent(bool c) { m_current = c; }
Chris@128 53
Chris@133 54 bool isNew() const { return m_new; }
Chris@133 55 void setNew(bool n) { m_new = n; }
Chris@133 56
Chris@153 57 bool showBranch() const { return m_showBranch; }
Chris@74 58 void setShowBranch(bool s) { m_showBranch = s; }
Chris@74 59
Chris@119 60 signals:
Chris@119 61 void detailShown();
Chris@119 62 void detailHidden();
Chris@119 63
Chris@141 64 void updateTo(QString);
Chris@141 65 void diffToCurrent(QString);
Chris@148 66 void diffToParent(QString child, QString parent);
Chris@289 67 void showSummary(Changeset *);
Chris@141 68 void mergeFrom(QString);
Chris@278 69 void newBranch(QString);
Chris@141 70 void tag(QString);
Chris@141 71
Chris@119 72 public slots:
Chris@119 73 void showDetail();
Chris@119 74 void hideDetail();
Chris@119 75
Chris@141 76 private slots:
Chris@153 77 void copyIdActivated();
Chris@141 78 void updateActivated();
Chris@153 79 void diffToParentActivated();
Chris@289 80 void showSummaryActivated();
Chris@141 81 void diffToCurrentActivated();
Chris@141 82 void mergeActivated();
Chris@141 83 void tagActivated();
Chris@278 84 void newBranchActivated();
Chris@141 85
Chris@117 86 protected:
Chris@117 87 virtual void mousePressEvent(QGraphicsSceneMouseEvent *);
Chris@117 88
Chris@43 89 private:
Chris@140 90 void activateMenu();
Chris@140 91
Chris@53 92 QFont m_font;
Chris@43 93 Changeset *m_changeset;
Chris@117 94 ChangesetDetailItem *m_detail;
Chris@74 95 bool m_showBranch;
Chris@44 96 int m_column;
Chris@44 97 int m_row;
Chris@55 98 bool m_wide;
Chris@128 99 bool m_current;
Chris@133 100 bool m_new;
Chris@153 101
Chris@153 102 QMap<QAction *, QString> m_parentDiffActions;
Chris@288 103 QMap<QAction *, QString> m_summaryActions;
Chris@387 104
Chris@390 105 static QImage *m_star;
Chris@390 106
Chris@387 107 bool isMerge() const;
Chris@399 108 void paintNormal(QPainter *);
Chris@399 109 void paintMerge(QPainter *);
Chris@43 110 };
Chris@43 111
Chris@43 112 #endif // CHANGESETITEM_H