summaryrefslogtreecommitdiff
path: root/src/plugins/diffeditor/diffeditorwidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/diffeditor/diffeditorwidget.h')
-rw-r--r--src/plugins/diffeditor/diffeditorwidget.h66
1 files changed, 17 insertions, 49 deletions
diff --git a/src/plugins/diffeditor/diffeditorwidget.h b/src/plugins/diffeditor/diffeditorwidget.h
index 17b5107485..b4e7fe83b4 100644
--- a/src/plugins/diffeditor/diffeditorwidget.h
+++ b/src/plugins/diffeditor/diffeditorwidget.h
@@ -52,59 +52,26 @@ QT_END_NAMESPACE
namespace DiffEditor {
class DiffViewEditorWidget;
-
-struct TextLineData {
- enum TextLineType {
- TextLine,
- Separator,
- Invalid
- };
- TextLineData() : textLineType(Invalid) {}
- TextLineData(const QString &txt) : textLineType(TextLine), text(txt) {}
- TextLineData(TextLineType t) : textLineType(t) {}
- TextLineType textLineType;
- QString text;
-};
-
-struct RowData {
- RowData() : equal(true) {}
- RowData(const TextLineData &l)
- : leftLine(l), rightLine(l), equal(true) {}
- RowData(const TextLineData &l, const TextLineData &r, bool e = false)
- : leftLine(l), rightLine(r), equal(e) {}
- TextLineData leftLine;
- TextLineData rightLine;
- bool equal; // true if left and right lines are equal, taking whitespaces into account (or both invalid)
-};
-
-struct ChunkData {
- ChunkData() : contextChunk(false) {}
- QList<RowData> rows;
- bool contextChunk;
- QMap<int, int> changedLeftPositions; // counting from the beginning of the chunk
- QMap<int, int> changedRightPositions; // counting from the beginning of the chunk
-};
-
-struct FileData {
- FileData() {}
- FileData(const ChunkData &chunkData) { chunks.append(chunkData); }
- QList<ChunkData> chunks;
- QString leftFileName;
- QString rightFileName;
-};
-
-struct DiffData {
- QList<FileData> files;
-};
+struct TextLineData;
+struct ChunkData;
+struct FileData;
class DIFFEDITOR_EXPORT DiffEditorWidget : public QWidget
{
Q_OBJECT
public:
+ struct DiffFileInfo {
+ DiffFileInfo() {}
+ DiffFileInfo(const QString &file) : fileName(file) {}
+ DiffFileInfo(const QString &file, const QString &type) : fileName(file), typeInfo(type) {}
+ QString fileName;
+ QString typeInfo;
+ };
+
struct DiffFilesContents {
- QString leftFileName;
+ DiffFileInfo leftFileInfo;
QString leftText;
- QString rightFileName;
+ DiffFileInfo rightFileInfo;
QString rightText;
};
@@ -112,7 +79,8 @@ public:
~DiffEditorWidget();
void clear();
- void setDiff(const QList<DiffFilesContents> &diffFileList);
+ void clear(const QString &message);
+ void setDiff(const QList<DiffFilesContents> &diffFileList, const QString &workingDirectory = QString());
QTextCodec *codec() const;
public slots:
@@ -131,8 +99,8 @@ private slots:
private:
struct DiffList {
- QString leftFileName;
- QString rightFileName;
+ DiffFileInfo leftFileInfo;
+ DiffFileInfo rightFileInfo;
QList<Diff> diffList;
};