Chris@88: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@88: Chris@88: /* Chris@88: EasyMercurial Chris@88: Chris@88: Based on HgExplorer by Jari Korhonen Chris@88: Copyright (c) 2010 Jari Korhonen Chris@88: Copyright (c) 2010 Chris Cannam Chris@88: Copyright (c) 2010 Queen Mary, University of London Chris@88: Chris@88: This program is free software; you can redistribute it and/or Chris@88: modify it under the terms of the GNU General Public License as Chris@88: published by the Free Software Foundation; either version 2 of the Chris@88: License, or (at your option) any later version. See the file Chris@88: COPYING included with this distribution for more information. Chris@88: */ Chris@88: Chris@88: #ifndef FILESTATUSWIDGET_H Chris@88: #define FILESTATUSWIDGET_H Chris@88: Chris@92: #include "filestates.h" Chris@88: Chris@88: #include Chris@88: Chris@88: class QLabel; Chris@88: class QListWidget; Chris@93: class QFileInfo; Chris@88: Chris@88: class FileStatusWidget : public QWidget Chris@88: { Chris@88: Q_OBJECT Chris@88: Chris@88: public: Chris@88: FileStatusWidget(QWidget *parent = 0); Chris@93: ~FileStatusWidget(); Chris@88: Chris@88: QString localPath() const { return m_localPath; } Chris@88: void setLocalPath(QString p); Chris@88: Chris@88: QString remoteURL() const { return m_remoteURL; } Chris@88: void setRemoteURL(QString u); Chris@88: Chris@106: QString branch() const { return m_branch; } Chris@106: void setBranch(QString b); Chris@106: Chris@92: FileStates fileStates() const { return m_fileStates; } Chris@92: void setFileStates(FileStates sp); Chris@88: Chris@95: bool haveChangesToCommit() const; Chris@95: bool haveSelection() const; Chris@90: Chris@95: QStringList getAllSelectedFiles() const; Chris@103: Chris@95: QStringList getSelectedCommittableFiles() const; Chris@103: QStringList getAllCommittableFiles() const; Chris@103: Chris@109: QStringList getSelectedRevertableFiles() const; Chris@109: QStringList getAllRevertableFiles() const; Chris@109: Chris@95: QStringList getSelectedAddableFiles() const; Chris@103: QStringList getAllAddableFiles() const; Chris@103: Chris@95: QStringList getSelectedRemovableFiles() const; Chris@103: QStringList getAllRemovableFiles() const; Chris@95: Chris@95: signals: Chris@95: void selectionChanged(); Chris@94: Chris@94: public slots: Chris@94: void clearSelections(); Chris@94: Chris@95: private slots: Chris@95: void itemSelectionChanged(); Chris@95: Chris@88: private: Chris@88: QString m_localPath; Chris@88: QLabel *m_localPathLabel; Chris@88: Chris@88: QString m_remoteURL; Chris@88: QLabel *m_remoteURLLabel; Chris@106: Chris@106: QString m_branch; Chris@106: QLabel *m_branchLabel; Chris@106: Chris@92: FileStates m_fileStates; Chris@100: QMap m_simpleLabels; Chris@100: QMap m_descriptions; Chris@94: QMap m_stateListMap; Chris@100: QString m_highlightExplanation; Chris@88: Chris@93: QFileInfo *m_dateReference; Chris@95: QStringList m_selectedFiles; Chris@93: Chris@88: void updateWidgets(); Chris@100: QString labelFor(FileStates::State, bool addHighlightExplanation = false); Chris@100: void setLabelFor(QWidget *w, FileStates::State, bool addHighlightExplanation); Chris@88: }; Chris@88: Chris@88: #endif