annotate filestates.h @ 167:94be1e218655

* Overwrite log file for each run (saving space at expense of long record)
author Chris Cannam
date Wed, 08 Dec 2010 16:57:18 +0000
parents 5c262ac73948
children f16fe0db11f3
rev   line source
Chris@74 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@74 2
Chris@74 3 /*
Chris@74 4 EasyMercurial
Chris@74 5
Chris@74 6 Based on HgExplorer by Jari Korhonen
Chris@74 7 Copyright (c) 2010 Jari Korhonen
Chris@74 8 Copyright (c) 2010 Chris Cannam
Chris@74 9 Copyright (c) 2010 Queen Mary, University of London
Chris@74 10
Chris@74 11 This program is free software; you can redistribute it and/or
Chris@74 12 modify it under the terms of the GNU General Public License as
Chris@74 13 published by the Free Software Foundation; either version 2 of the
Chris@74 14 License, or (at your option) any later version. See the file
Chris@74 15 COPYING included with this distribution for more information.
Chris@74 16 */
Chris@74 17
Chris@92 18 #ifndef FILESTATES_H
Chris@92 19 #define FILESTATES_H
Chris@74 20
Chris@74 21 #include <QStringList>
Chris@94 22 #include <QMap>
Chris@94 23 #include <QString>
Chris@74 24
Chris@92 25 class FileStates
Chris@74 26 {
Chris@74 27 public:
Chris@94 28 FileStates();
Chris@92 29
Chris@92 30 enum State {
Chris@92 31
Chris@163 32 // These are in the order in which they want to be listed in
Chris@163 33 // the interface
Chris@163 34
Chris@92 35 Modified,
Chris@92 36 Added,
Chris@163 37 Removed,
Chris@163 38 InConflict,
Chris@163 39 Missing,
Chris@163 40 Clean,
Chris@92 41 Unknown,
Chris@92 42
Chris@163 43 FirstState = Modified,
Chris@163 44 LastState = Unknown
Chris@92 45 };
Chris@74 46
Chris@94 47 void parseStates(QString text);
Chris@92 48
Chris@94 49 void clearBuckets();
Chris@94 50
Chris@94 51 QStringList getFilesInState(State) const;
Chris@94 52
Chris@94 53 QStringList modified() const { return m_modified; }
Chris@94 54 QStringList added() const { return m_added; }
Chris@94 55 QStringList unknown() const { return m_unknown; }
Chris@94 56 QStringList removed() const { return m_removed; }
Chris@94 57 QStringList missing() const { return m_missing; }
Chris@159 58 QStringList inConflict() const { return m_inConflict; }
Chris@94 59
Chris@94 60 State getStateOfFile(QString file) const;
Chris@94 61
Chris@94 62 private:
Chris@94 63 QStringList m_modified;
Chris@94 64 QStringList m_added;
Chris@94 65 QStringList m_unknown;
Chris@94 66 QStringList m_removed;
Chris@94 67 QStringList m_missing;
Chris@159 68 QStringList m_inConflict;
Chris@94 69 QMap<QString, State> m_stateMap;
Chris@94 70
Chris@94 71 State charToState(QChar, bool * = 0);
Chris@94 72 QStringList *stateToBucket(State);
Chris@74 73 };
Chris@74 74
Chris@92 75 #endif // FILESTATES_H