CppTools: Move WorkingCopy to new cppworkingcopy.{h,cpp}

Change-Id: I447acf28849bffb52c1e6b6eafdde221ec0b179e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
Nikolai Kosjar
2014-07-30 16:29:02 +02:00
committed by Erik Verbruggen
parent 077bbf6803
commit b8a6a4dd4e
29 changed files with 186 additions and 78 deletions

View File

@@ -58,6 +58,7 @@ class CppCompletionAssistProvider;
class CppEditorSupport;
class CppHighlightingSupport;
class CppIndexingSupport;
class WorkingCopy;
class CPPTOOLS_EXPORT ProjectPart
{
@@ -200,41 +201,6 @@ public:
QByteArray m_defines;
};
/// The working-copy stores all files that are stored on disk in their current state.
///
/// So, currently the working copy holds:
/// - unsaved content of editors
/// - uic-ed UI files (through \c AbstractEditorSupport)
/// - the preprocessor configuration
///
/// Contents are keyed on filename, and hold the revision in the editor and the editor's
/// contents encoded as UTF-8.
class CPPTOOLS_EXPORT WorkingCopy
{
public:
void insert(const QString &fileName, const QByteArray &source, unsigned revision = 0)
{ _elements.insert(fileName, qMakePair(source, revision)); }
bool contains(const QString &fileName) const
{ return _elements.contains(fileName); }
QByteArray source(const QString &fileName) const
{ return _elements.value(fileName).first; }
QPair<QByteArray, unsigned> get(const QString &fileName) const
{ return _elements.value(fileName); }
QHashIterator<QString, QPair<QByteArray, unsigned> > iterator() const
{ return QHashIterator<QString, QPair<QByteArray, unsigned> >(_elements); }
int size() const
{ return _elements.size(); }
private:
typedef QHash<QString, QPair<QByteArray, unsigned> > Table;
Table _elements;
};
public:
static const QString configurationFileName();
static const QString editorConfigurationFileName();