/*************************************************************************** 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 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