mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-23 10:22:50 +00:00
166 lines
5.4 KiB
C
166 lines
5.4 KiB
C
![]() |
/***************************************************************************
|
||
|
configurationclasses.h - description
|
||
|
-------------------
|
||
|
begin : Sat Apr 17 2004
|
||
|
copyright : (C) 2004 Emiliano Gulmini
|
||
|
email : <emi_barbarossa@yahoo.it>
|
||
|
***************************************************************************/
|
||
|
|
||
|
/***************************************************************************
|
||
|
* *
|
||
|
* 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 CONFIGURATIONCLASSES_H
|
||
|
#define CONFIGURATIONCLASSES_H
|
||
|
|
||
|
// QT
|
||
|
#include <qstring.h>
|
||
|
#include <qstringlist.h>
|
||
|
#include <qdatetime.h>
|
||
|
#include <qmap.h>
|
||
|
#include <qregexp.h>
|
||
|
|
||
|
typedef QMap<QString,QString> KeyValueMap;
|
||
|
// entry strings in the kfilereplacerc file
|
||
|
const QString rcDirectoriesList = "Directories list";
|
||
|
const QString rcFiltersList = "Filters list";
|
||
|
const QString rcRecentFiles = "Recent files";
|
||
|
const QString rcAllStringsMustBeFound = "All strings must be found";
|
||
|
const char rcEncoding[] = "Encoding";
|
||
|
const QString rcCaseSensitive = "Case sensitive";
|
||
|
const QString rcConfirmStrings = "Confirm strings";
|
||
|
const QString rcConfirmFiles = "Confirm files";
|
||
|
const QString rcConfirmDirs = "Confirm directories";
|
||
|
const QString rcFollowSymLinks = "Follow symbolic links";
|
||
|
const QString rcHaltOnFirstOccur = "Halt on first occurrence";
|
||
|
const QString rcIgnoreHidden = "Ignore hidden files";
|
||
|
const QString rcRecursive = "Search/replace in sub folders";
|
||
|
const QString rcVariables = "Enable variables";
|
||
|
const QString rcRegularExpressions = "Enable regular expressions";
|
||
|
const QString rcMinFileSize = "Minimum file size";
|
||
|
const QString rcMaxFileSize = "Maximum file size";
|
||
|
const QString rcValidAccessDate = "Access mode";
|
||
|
const QString rcMinDate = "Minimum access date";
|
||
|
const QString rcMaxDate = "Maximum access date";
|
||
|
const QString rcOwnerUser = "Owner user filters";
|
||
|
const QString rcOwnerGroup = "Owner group filters";
|
||
|
const QString rcSearchMode = "Search only mode";
|
||
|
const QString rcBackupExtension = "Backup file extension";
|
||
|
const QString rcIgnoreFiles = "Ignore files if there is no match";
|
||
|
const QString rcNotifyOnErrors = "NotifyOnErrors";
|
||
|
const QString rcAskConfirmReplace = "Ask confirmation on replace";
|
||
|
const QString rcDontAskAgain = "Don't ask again";
|
||
|
// Default configuration options
|
||
|
const QString EncodingOption = "utf8";
|
||
|
const bool RecursiveOption = true;
|
||
|
const bool CaseSensitiveOption = false;
|
||
|
const bool FollowSymbolicLinksOption = false;
|
||
|
const bool RegularExpressionsOption = false;
|
||
|
const bool VariablesOption = false;
|
||
|
const bool StopWhenFirstOccurenceOption = false;
|
||
|
const bool IgnoreHiddenOption = false;
|
||
|
const int FileSizeOption = -1;
|
||
|
const QString AccessDateOption="unknown";
|
||
|
const QString ValidAccessDateOption="unknown";
|
||
|
const QString OwnerOption="false,Name,Equals To";
|
||
|
const bool SearchModeOption=true;
|
||
|
const QString BackupExtensionOption="false,~";
|
||
|
const bool IgnoreFilesOption = true;
|
||
|
const bool NotifyOnErrorsOption = false;
|
||
|
const bool AskConfirmReplaceOption = false;
|
||
|
|
||
|
// This class stores configuration information
|
||
|
class RCOptions
|
||
|
{
|
||
|
public:
|
||
|
bool m_callResetActions;
|
||
|
|
||
|
bool m_askConfirmReplace,
|
||
|
m_dontAskAgain;
|
||
|
|
||
|
QString m_directories,
|
||
|
m_filters,
|
||
|
m_currentDirectory;
|
||
|
|
||
|
int m_minSize,
|
||
|
m_maxSize;
|
||
|
|
||
|
QString m_dateAccess,
|
||
|
m_minDate,
|
||
|
m_maxDate;
|
||
|
|
||
|
QString m_encoding;
|
||
|
|
||
|
bool m_caseSensitive,
|
||
|
m_recursive,
|
||
|
m_followSymLinks,
|
||
|
m_allStringsMustBeFound,
|
||
|
m_backup,
|
||
|
m_regularExpressions;
|
||
|
|
||
|
bool m_variables,
|
||
|
m_haltOnFirstOccur,
|
||
|
m_ignoreHidden,
|
||
|
m_simulation,
|
||
|
m_searchingOnlyMode;
|
||
|
|
||
|
bool m_ownerUserIsChecked,
|
||
|
m_ownerGroupIsChecked;
|
||
|
|
||
|
QString m_ownerUserType,
|
||
|
m_ownerGroupType,
|
||
|
m_ownerUserValue,
|
||
|
m_ownerGroupValue,
|
||
|
m_ownerUserBool,
|
||
|
m_ownerGroupBool;
|
||
|
|
||
|
QString m_backupExtension;
|
||
|
|
||
|
bool m_ignoreFiles;
|
||
|
|
||
|
KeyValueMap m_mapStringsView;
|
||
|
|
||
|
QString m_quickSearchString,
|
||
|
m_quickReplaceString;
|
||
|
|
||
|
QStringList m_recentStringFileList;
|
||
|
|
||
|
bool m_notifyOnErrors;
|
||
|
|
||
|
public:
|
||
|
RCOptions();
|
||
|
RCOptions& operator=(const RCOptions& ci);
|
||
|
};
|
||
|
|
||
|
class ResultViewEntry
|
||
|
{
|
||
|
private:
|
||
|
QString m_key;
|
||
|
QString m_data;
|
||
|
QRegExp m_rxKey;
|
||
|
bool m_regexp;
|
||
|
bool m_caseSensitive;
|
||
|
int m_pos;
|
||
|
int m_matchedStringsOccurrence;
|
||
|
|
||
|
public:
|
||
|
ResultViewEntry(const QString &nkey, const QString &ndata, bool regexp, bool caseSensitive);
|
||
|
int lineNumber(const QString& line) const ;
|
||
|
int columnNumber(const QString& line) const ;
|
||
|
void incOccurrences();
|
||
|
int occurrences() const ;
|
||
|
bool regexp()const ;
|
||
|
int pos(const QString& line) ;
|
||
|
void incPos();
|
||
|
QString capturedText(const QString& line) ;
|
||
|
QString message(const QString& capturedText, int x, int y) const;
|
||
|
int keyLength() const;
|
||
|
int dataLength() const;
|
||
|
void updateLine(QString& line);
|
||
|
};
|
||
|
#endif
|