| 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@88 | 34 | 
| 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); | 
| jtkorhonen@0 | 44     void updateLocalRepoHgLogList(QString hgLogList); | 
| jtkorhonen@0 | 45     void setWorkFolderAndRepoNames(QString workFolderPath, QString remoteRepoPath); | 
| jtkorhonen@0 | 46 | 
| Chris@92 | 47     FileStates getFileStates() { return fileStates; } | 
| Chris@90 | 48 | 
| Chris@90 | 49     bool canCommit() const; | 
| Chris@92 | 50     bool canAdd() const; | 
| Chris@92 | 51     bool canRemove() const; | 
| Chris@95 | 52     bool canDoDiff() const; | 
| Chris@95 | 53 | 
| Chris@95 | 54     QStringList getAllSelectedFiles() const; | 
| Chris@103 | 55 | 
| Chris@95 | 56     QStringList getSelectedCommittableFiles() const; | 
| Chris@103 | 57     QStringList getAllCommittableFiles() const; | 
| Chris@103 | 58 | 
| Chris@95 | 59     QStringList getSelectedAddableFiles() const; | 
| Chris@103 | 60     QStringList getAllAddableFiles() const; | 
| Chris@103 | 61 | 
| Chris@95 | 62     QStringList getSelectedRemovableFiles() const; | 
| Chris@103 | 63     QStringList getAllRemovableFiles() const; | 
| Chris@95 | 64 | 
| Chris@95 | 65 signals: | 
| Chris@95 | 66     void selectionChanged(); | 
| jtkorhonen@0 | 67 | 
| Chris@94 | 68 public slots: | 
| Chris@94 | 69     void clearSelections(); | 
| Chris@94 | 70 | 
| jtkorhonen@0 | 71 private: | 
| Chris@88 | 72     FileStatusWidget *fileStatusWidget; | 
| Chris@88 | 73 | 
| Chris@91 | 74     QWidget *historyGraphPageWidget; | 
| Chris@91 | 75     QWidget *historyGraphWidget; | 
| Chris@91 | 76     QWidget *historyGraphPanner; | 
| Chris@91 | 77     QWidget *historyPageWidget; | 
| jtkorhonen@0 | 78 | 
| Chris@92 | 79     FileStates fileStates; | 
| jtkorhonen@0 | 80 | 
| Chris@91 | 81     Changesets parseChangeSets(QString changeSetsStr); | 
| jtkorhonen@0 | 82 }; | 
| jtkorhonen@0 | 83 | 
| Chris@96 | 84 #endif // HGTABWIDGET_H |