Chris@116: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@116: Chris@116: /* Chris@116: EasyMercurial Chris@116: Chris@116: Based on HgExplorer by Jari Korhonen Chris@116: Copyright (c) 2010 Jari Korhonen Chris@560: Copyright (c) 2012 Chris Cannam Chris@560: Copyright (c) 2012 Queen Mary, University of London Chris@116: Chris@116: This program is free software; you can redistribute it and/or Chris@116: modify it under the terms of the GNU General Public License as Chris@116: published by the Free Software Foundation; either version 2 of the Chris@116: License, or (at your option) any later version. See the file Chris@116: COPYING included with this distribution for more information. Chris@116: */ Chris@116: Chris@116: #ifndef HISTORYWIDGET_H Chris@116: #define HISTORYWIDGET_H Chris@116: Chris@116: #include "changeset.h" Chris@116: Chris@116: #include Chris@133: #include Chris@513: #include Chris@116: Chris@116: class Panned; Chris@116: class Panner; Chris@129: class UncommittedItem; Chris@145: class QGraphicsScene; Chris@558: class FindWidget; Chris@116: Chris@116: class HistoryWidget : public QWidget Chris@116: { Chris@116: Q_OBJECT Chris@116: Chris@116: public: Chris@116: HistoryWidget(); Chris@116: virtual ~HistoryWidget(); Chris@116: Chris@153: void setCurrent(QStringList ids, QString branch, bool showUncommitted); Chris@505: void setShowUncommitted(bool showUncommitted); Chris@506: void setClosedHeadIds(QSet closed); Chris@506: Chris@120: void parseNewLog(QString log); Chris@120: void parseIncrementalLog(QString log); Chris@134: Chris@134: bool haveNewItems() const { return !m_newIds.empty(); } Chris@141: Chris@141: signals: Chris@141: void commit(); Chris@141: void revert(); Chris@141: void diffWorkingFolder(); Chris@168: void showSummary(); Chris@153: void showWork(); Chris@311: void newBranch(); Chris@311: void noBranch(); Chris@141: Chris@141: void updateTo(QString id); Chris@148: void diffToParent(QString id, QString parent); Chris@289: void showSummary(Changeset *); Chris@141: void diffToCurrent(QString id); Chris@141: void mergeFrom(QString id); Chris@278: void newBranch(QString id); Chris@514: void closeBranch(QString id); Chris@141: void tag(QString id); Chris@513: Chris@513: private slots: Chris@513: void showClosedChanged(bool); Chris@555: Chris@555: public slots: Chris@555: void setSearchText(QString); Chris@608: void update(); Chris@608: void clear(); Chris@608: Chris@116: private: Chris@116: Changesets m_changesets; Chris@128: QStringList m_currentIds; Chris@153: QString m_currentBranch; Chris@133: QSet m_newIds; Chris@506: QSet m_closedIds; Chris@145: bool m_showUncommitted; Chris@154: bool m_refreshNeeded; Chris@116: Chris@558: FindWidget *m_findWidget; Chris@116: Panned *m_panned; Chris@116: Panner *m_panner; Chris@513: QCheckBox *m_showClosedBranches; Chris@116: Chris@555: QString m_searchText; Chris@555: Chris@145: QGraphicsScene *scene(); Chris@116: void clearChangesets(); Chris@133: void replaceChangesets(Changesets); Chris@133: void addChangesets(Changesets); Chris@120: void layoutAll(); Chris@122: void setChangesetParents(); Chris@133: void updateNewAndCurrentItems(); Chris@141: void connectSceneSignals(); Chris@555: void updateSearchStatus(); Chris@116: }; Chris@116: Chris@116: #endif