/usr/include/libkomparediff2/diffmodel.h is in libkomparediff2-dev 4:4.13.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | /***************************************************************************
diffmodel.h
-----------
begin : Sun Mar 4 2001
Copyright 2001-2004,2009 Otto Bruggeman <bruggie@gmail.com>
Copyright 2001-2003 John Firebaugh <jfirebaugh@kde.org>
****************************************************************************/
/***************************************************************************
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
***************************************************************************/
#ifndef DIFFMODEL_H
#define DIFFMODEL_H
#include <QtCore/QObject>
#include <QtCore/QStringList>
#include "diffhunk.h"
#include "kompare.h"
#include "diff2export.h"
namespace Diff2
{
class DiffHunk;
class Difference;
class DIFF2_EXPORT DiffModel : public QObject
{
Q_OBJECT
public:
DiffModel( const QString& srcBaseURL, const QString& destBaseURL );
DiffModel();
~DiffModel();
private:
DiffModel( const DiffModel& ) : QObject() {};
public:
int parseDiff( enum Kompare::Format format, const QStringList& list );
QString recreateDiff() const;
int hunkCount() const { return m_hunks.count(); }
int differenceCount() const { return m_differences.count(); }
int appliedCount() const { return m_appliedCount; }
DiffHunk* hunkAt( int i ) { return ( m_hunks.at( i ) ); }
const Difference* differenceAt( int i ) const { return ( m_differences.at( i ) ); }
Difference* differenceAt( int i ) { return ( m_differences.at( i ) ); }
DiffHunkList* hunks() { return &m_hunks; }
const DiffHunkList* hunks() const { return &m_hunks; }
DifferenceList* differences() { return &m_differences; }
const DifferenceList* differences() const { return &m_differences; }
int findDifference( Difference* diff ) const { return m_differences.indexOf( diff ); }
Difference* firstDifference();
Difference* lastDifference();
Difference* prevDifference();
Difference* nextDifference();
const QString source() const { return m_source; }
const QString destination() const { return m_destination; }
const QString sourceFile() const;
const QString destinationFile() const;
const QString sourcePath() const;
const QString destinationPath() const;
const QString sourceTimestamp() const { return m_sourceTimestamp; }
const QString destinationTimestamp() const { return m_destinationTimestamp; }
const QString sourceRevision() const { return m_sourceRevision; }
const QString destinationRevision() const { return m_destinationRevision; }
void setSourceFile( QString path );
void setDestinationFile( QString path );
void setSourceTimestamp( QString timestamp );
void setDestinationTimestamp( QString timestamp );
void setSourceRevision( QString revision );
void setDestinationRevision( QString revision );
void addHunk( DiffHunk* hunk );
void addDiff( Difference* diff );
bool hasUnsavedChanges() const;
int diffIndex( void ) const { return m_diffIndex; }
void setDiffIndex( int diffIndex ) { m_diffIndex = diffIndex; }
void applyDifference( bool apply );
void applyAllDifferences( bool apply );
bool setSelectedDifference( Difference* diff );
DiffModel& operator=( const DiffModel& model );
bool operator<( const DiffModel& model );
int localeAwareCompareSource( const DiffModel& model );
bool isBlended() const { return m_blended; }
void setBlended( bool blended ) { m_blended = blended; }
/**
* @p oldlines - lines that were removed.
* @p newLines - lines that were inserted.
* @p startPos - number of line at which the change occured
*/
QPair<QList<Difference*>, QList<Difference*> > linesChanged(const QStringList& oldLines, const QStringList& newLines, int editLineNumber);
private:
void splitSourceInPathAndFileName();
void splitDestinationInPathAndFileName();
void computeDiffStats(Difference* diff);
void processStartMarker(Difference* diff, const QStringList& lines, MarkerListConstIterator& currentMarker, int& currentListLine, bool isSource);
private:
QString m_source;
QString m_destination;
QString m_sourcePath;
QString m_destinationPath;
QString m_sourceFile;
QString m_destinationFile;
QString m_sourceTimestamp;
QString m_destinationTimestamp;
QString m_sourceRevision;
QString m_destinationRevision;
DiffHunkList m_hunks;
DifferenceList m_differences;
int m_appliedCount;
int m_diffIndex;
Difference* m_selectedDifference;
bool m_blended;
private slots:
void slotDifferenceApplied( Difference* diff );
};
} // End of namespace Diff2
#endif
|