annotate src/hgtabwidget.h @ 519:000f13faa089

Bookmarks are now displayed -- but exactly like tags, so far, there's no differentiation yet
author Chris Cannam
date Tue, 08 Nov 2011 16:42:09 +0000
parents 306a62fe851e
children a17c06f773cd
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@96 18 #ifndef HGTABWIDGET_H
Chris@96 19 #define HGTABWIDGET_H
jtkorhonen@0 20
Chris@43 21 #include "changeset.h"
jtkorhonen@0 22 #include "common.h"
Chris@92 23 #include "filestates.h"
jtkorhonen@0 24
Chris@50 25 #include <QMenu>
Chris@50 26 #include <QListWidget>
Chris@50 27 #include <QGroupBox>
Chris@50 28 #include <QVBoxLayout>
Chris@50 29 #include <QCheckBox>
Chris@50 30 #include <QLabel>
Chris@88 31 #include <QTabWidget>
Chris@86 32
Chris@88 33 class FileStatusWidget;
Chris@116 34 class HistoryWidget;
jtkorhonen@0 35
Chris@96 36 class HgTabWidget: public QTabWidget
jtkorhonen@0 37 {
jtkorhonen@0 38 Q_OBJECT
jtkorhonen@0 39
jtkorhonen@0 40 public:
Chris@287 41 HgTabWidget(QWidget *parent, QString workFolderPath);
Chris@91 42
jtkorhonen@0 43 void updateWorkFolderFileList(QString fileList);
Chris@120 44
Chris@120 45 void setNewLog(QString hgLogList);
Chris@120 46 void addIncrementalLog(QString hgLogList);
Chris@120 47
Chris@287 48 void setLocalPath(QString workFolderPath);
jtkorhonen@0 49
Chris@153 50 void setCurrent(QStringList ids, QString branch);
Chris@506 51 void setClosedHeadIds(QSet<QString> ids);
Chris@128 52
Chris@519 53 void setBookmarks(QHash<QString, QStringList> bmarks);
Chris@519 54
Chris@505 55 void setHaveMerge(bool);
Chris@505 56
Chris@230 57 void updateFileStates();
Chris@154 58 void updateHistory();
Chris@154 59
Chris@116 60 FileStates getFileStates() { return m_fileStates; }
Chris@90 61
Chris@163 62 bool canDiff() const;
Chris@90 63 bool canCommit() const;
Chris@109 64 bool canRevert() const;
Chris@92 65 bool canAdd() const;
Chris@92 66 bool canRemove() const;
Chris@163 67 bool canResolve() const;
Chris@425 68 bool canIgnore() const;
Chris@172 69 bool haveChangesToCommit() const;
Chris@95 70
Chris@103 71 QStringList getAllCommittableFiles() const;
Chris@109 72 QStringList getAllRevertableFiles() const;
Chris@326 73 QStringList getAllUnresolvedFiles() const;
Chris@109 74
Chris@95 75 QStringList getSelectedAddableFiles() const;
Chris@95 76 QStringList getSelectedRemovableFiles() const;
Chris@163 77
Chris@484 78 bool shouldShowAll() const;
Chris@484 79
Chris@95 80 signals:
Chris@95 81 void selectionChanged();
Chris@484 82 void showAllChanged();
jtkorhonen@0 83
Chris@141 84 void commit();
Chris@141 85 void revert();
Chris@141 86 void diffWorkingFolder();
Chris@168 87 void showSummary();
Chris@311 88 void newBranch();
Chris@311 89 void noBranch();
Chris@141 90
Chris@141 91 void updateTo(QString id);
Chris@148 92 void diffToParent(QString id, QString parent);
Chris@289 93 void showSummary(Changeset *);
Chris@141 94 void diffToCurrent(QString id);
Chris@141 95 void mergeFrom(QString id);
Chris@278 96 void newBranch(QString id);
Chris@514 97 void closeBranch(QString id);
Chris@141 98 void tag(QString id);
Chris@141 99
Chris@326 100 void annotateFiles(QStringList);
Chris@326 101 void diffFiles(QStringList);
Chris@326 102 void commitFiles(QStringList);
Chris@326 103 void revertFiles(QStringList);
Chris@361 104 void renameFiles(QStringList);
Chris@361 105 void copyFiles(QStringList);
Chris@326 106 void addFiles(QStringList);
Chris@326 107 void removeFiles(QStringList);
Chris@326 108 void redoFileMerges(QStringList);
Chris@326 109 void markFilesResolved(QStringList);
Chris@326 110 void ignoreFiles(QStringList);
Chris@326 111 void unIgnoreFiles(QStringList);
Chris@326 112
Chris@94 113 public slots:
Chris@94 114 void clearSelections();
Chris@153 115 void showWorkTab();
Chris@153 116 void showHistoryTab();
Chris@94 117
jtkorhonen@0 118 private:
Chris@116 119 FileStatusWidget *m_fileStatusWidget;
Chris@116 120 HistoryWidget *m_historyWidget;
Chris@116 121 FileStates m_fileStates;
Chris@505 122 bool m_haveMerge;
jtkorhonen@0 123
Chris@91 124 Changesets parseChangeSets(QString changeSetsStr);
jtkorhonen@0 125 };
jtkorhonen@0 126
Chris@96 127 #endif // HGTABWIDGET_H