Chris@74: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@74: Chris@74: /* Chris@74: EasyMercurial Chris@74: Chris@74: Based on HgExplorer by Jari Korhonen Chris@74: Copyright (c) 2010 Jari Korhonen Chris@74: Copyright (c) 2010 Chris Cannam Chris@74: Copyright (c) 2010 Queen Mary, University of London Chris@74: Chris@74: This program is free software; you can redistribute it and/or Chris@74: modify it under the terms of the GNU General Public License as Chris@74: published by the Free Software Foundation; either version 2 of the Chris@74: License, or (at your option) any later version. See the file Chris@74: COPYING included with this distribution for more information. Chris@74: */ Chris@74: Chris@92: #ifndef FILESTATES_H Chris@92: #define FILESTATES_H Chris@74: Chris@74: #include Chris@94: #include Chris@94: #include Chris@74: Chris@92: class FileStates Chris@74: { Chris@74: public: Chris@94: FileStates(); Chris@92: Chris@92: enum State { Chris@92: Chris@163: // These are in the order in which they want to be listed in Chris@163: // the interface Chris@163: Chris@92: Modified, Chris@92: Added, Chris@163: Removed, Chris@163: InConflict, Chris@163: Missing, Chris@202: Unknown, Chris@163: Clean, Chris@199: Ignored, Chris@92: Chris@163: FirstState = Modified, Chris@199: LastState = Ignored Chris@92: }; Chris@74: Chris@94: void parseStates(QString text); Chris@92: Chris@94: void clearBuckets(); Chris@94: Chris@94: QStringList getFilesInState(State) const; Chris@94: Chris@94: QStringList modified() const { return m_modified; } Chris@94: QStringList added() const { return m_added; } Chris@94: QStringList unknown() const { return m_unknown; } Chris@94: QStringList removed() const { return m_removed; } Chris@94: QStringList missing() const { return m_missing; } Chris@159: QStringList inConflict() const { return m_inConflict; } Chris@199: QStringList clean() const { return m_clean; } Chris@199: QStringList ignored() const { return m_ignored; } Chris@94: Chris@94: State getStateOfFile(QString file) const; Chris@94: Chris@94: private: Chris@94: QStringList m_modified; Chris@94: QStringList m_added; Chris@94: QStringList m_unknown; Chris@94: QStringList m_removed; Chris@94: QStringList m_missing; Chris@159: QStringList m_inConflict; Chris@199: QStringList m_clean; Chris@199: QStringList m_ignored; Chris@94: QMap m_stateMap; Chris@94: Chris@94: State charToState(QChar, bool * = 0); Chris@94: QStringList *stateToBucket(State); Chris@74: }; Chris@74: Chris@92: #endif // FILESTATES_H