You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdesdk/kompare/libdiff2/kompare.h

145 lines
3.4 KiB

/***************************************************************************
kompare.h - description
-------------------
begin : Sun Mar 4 2001
copyright : (C) 2001-2003 by Otto Bruggeman
and John Firebaugh
email : otto.bruggeman@home.nl
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 KOMPARE_H
#define KOMPARE_H
#include <kurl.h>
namespace Kompare
{
enum Format {
Context = 0,
Ed = 1,
Normal = 2,
RCS = 3,
Unified = 4,
SideBySide = 5,
UnknownFormat = -1
};
enum Generator {
CVSDiff = 0,
Diff = 1,
Perforce = 2,
SubVersion = 3,
Reserved2 = 4,
Reserved3 = 5,
Reserved4 = 6,
Reserved5 = 7,
Reserved6 = 8,
Reserved7 = 9,
UnknownGenerator = -1
};
enum Mode {
ComparingFiles, // compareFiles
ComparingDirs, // compareDirs
ShowingDiff, // openDiff
BlendingDir, // openDirAnfDiff
BlendingFile, // openFileAndDiff
UnknownMode // Used to initialize the Infoi struct
};
enum DiffMode {
Default,
Custom,
UnknownDiffMode // Use to initialize the Info struct
};
enum Status {
RunningDiff,
Parsing,
FinishedParsing,
FinishedWritingDiff,
ReRunningDiff // When a change has been detected after diff has run
};
enum Target {
Source,
Destination
};
struct Info {
Info (
enum Mode _mode = UnknownMode,
enum DiffMode _diffMode = UnknownDiffMode,
enum Format _format = UnknownFormat,
enum Generator _generator = UnknownGenerator,
KURL _source = KURL(),
KURL _destination = KURL(),
TQString _localSource = "",
TQString _localDestination = ""
)
{
mode = _mode;
diffMode = _diffMode;
format = _format;
generator = _generator;
source = _source;
destination = _destination;
localSource = _localSource;
localDestination = _localDestination;
}
enum Mode mode;
enum DiffMode diffMode;
enum Format format;
enum Generator generator;
KURL source;
KURL destination;
TQString localSource;
TQString localDestination;
};
} // End of namespace Kompare
/*
** This should be removed and put somewhere else
*/
class KompareFunctions
{
public:
static TQString constructRelativePath( const TQString& from, const TQString& to )
{
KURL fromURL( from );
KURL toURL( to );
KURL root;
int upLevels = 0;
// Find a common root.
root = from;
while( root.isValid() && !root.isParentOf( toURL ) ) {
root = root.upURL();
upLevels++;
}
if( !root.isValid() ) return to;
TQString relative;
for( ; upLevels > 0; upLevels-- ) {
relative += "../";
}
relative += TQString( to ).replace( 0, root.path(1).length(), "" );
return relative;
}
};
#endif