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@92: FileStates fileStates() const { return m_fileStates; } Chris@92: void setFileStates(FileStates sp); Chris@88: Chris@90: bool haveChangesToCommit() const { Chris@94: return !m_fileStates.added().empty() || Chris@94: !m_fileStates.removed().empty() || Chris@94: !m_fileStates.modified().empty(); Chris@90: } Chris@90: Chris@94: QStringList getSelectedCommittableFiles(); Chris@94: QStringList getSelectedAddableFiles(); Chris@94: QStringList getSelectedRemoveableFiles(); Chris@94: Chris@94: public slots: Chris@94: void clearSelections(); Chris@94: 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@88: Chris@92: FileStates m_fileStates; Chris@94: QMap m_stateListMap; Chris@88: Chris@93: QFileInfo *m_dateReference; Chris@93: Chris@88: void updateWidgets(); Chris@93: void highlightFile(QListWidget *, int); Chris@88: }; Chris@88: Chris@88: #endif