annotate hgtabwidget.h @ 150:fb697ce0f625

* Attempt to make the sequence of hg commands after a change more rational; avoid incremental log if heads unchanged
author Chris Cannam
date Thu, 02 Dec 2010 11:31:42 +0000
parents 2fef6b0dfbe8
children 2b997861174b
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@57 8 Copyright (c) 2010 Chris Cannam
Chris@57 9 Copyright (c) 2010 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@96 41 HgTabWidget(QWidget *parent, QString remoteRepo, 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
jtkorhonen@0 48 void setWorkFolderAndRepoNames(QString workFolderPath, QString remoteRepoPath);
Chris@115 49 void setState(QString state);
jtkorhonen@0 50
Chris@145 51 void setCurrent(QStringList ids, bool showUncommittedChanges);
Chris@128 52
Chris@116 53 FileStates getFileStates() { return m_fileStates; }
Chris@90 54
Chris@90 55 bool canCommit() const;
Chris@109 56 bool canRevert() const;
Chris@92 57 bool canAdd() const;
Chris@92 58 bool canRemove() const;
Chris@95 59 bool canDoDiff() const;
Chris@95 60
Chris@95 61 QStringList getAllSelectedFiles() const;
Chris@103 62
Chris@95 63 QStringList getSelectedCommittableFiles() const;
Chris@103 64 QStringList getAllCommittableFiles() const;
Chris@103 65
Chris@109 66 QStringList getSelectedRevertableFiles() const;
Chris@109 67 QStringList getAllRevertableFiles() const;
Chris@109 68
Chris@95 69 QStringList getSelectedAddableFiles() const;
Chris@103 70 QStringList getAllAddableFiles() const;
Chris@103 71
Chris@95 72 QStringList getSelectedRemovableFiles() const;
Chris@103 73 QStringList getAllRemovableFiles() const;
Chris@95 74
Chris@95 75 signals:
Chris@95 76 void selectionChanged();
jtkorhonen@0 77
Chris@141 78 void commit();
Chris@141 79 void revert();
Chris@141 80 void diffWorkingFolder();
Chris@141 81
Chris@141 82 void updateTo(QString id);
Chris@148 83 void diffToParent(QString id, QString parent);
Chris@141 84 void diffToCurrent(QString id);
Chris@141 85 void mergeFrom(QString id);
Chris@141 86 void tag(QString id);
Chris@141 87
Chris@94 88 public slots:
Chris@94 89 void clearSelections();
Chris@94 90
jtkorhonen@0 91 private:
Chris@116 92 FileStatusWidget *m_fileStatusWidget;
Chris@116 93 HistoryWidget *m_historyWidget;
Chris@116 94 FileStates m_fileStates;
jtkorhonen@0 95
Chris@91 96 Changesets parseChangeSets(QString changeSetsStr);
jtkorhonen@0 97 };
jtkorhonen@0 98
Chris@96 99 #endif // HGTABWIDGET_H