/*************************************************************************** configurationclasses.cpp - description ------------------- begin : Sat Sep 11 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. * * * ***************************************************************************/ // QT // KDE // local #include "configurationclasses.h" #include "whatthis.h" using namespace whatthisNameSpace; //RCOptions Class RCOptions::RCOptions() { m_searchingOnlyMode = false; m_limitDepth = false; m_maxDepth = 0; } RCOptions& RCOptions::operator=(const RCOptions& ci) { //m_callResetActions = ci.m_callResetActions; m_searchStrings = ci.m_searchStrings; m_replaceStrings = ci.m_replaceStrings; m_directories = ci.m_directories; m_filters = ci.m_filters; m_currentDirectory = ci.m_currentDirectory; m_minSize = ci.m_minSize; m_maxSize = ci.m_maxSize; m_limitDepth = ci.m_limitDepth; m_maxDepth = ci.m_maxDepth; m_dateAccess = ci.m_dateAccess; m_minDate = ci.m_minDate; m_maxDate = ci.m_maxDate; m_caseSensitive = ci.m_caseSensitive; m_recursive = ci.m_recursive; m_followSymLinks = ci.m_followSymLinks; m_allStringsMustBeFound = ci.m_allStringsMustBeFound; m_backup = ci.m_backup; m_backupExtension = ci.m_backupExtension; m_ignoreFiles = ci.m_ignoreFiles; m_regularExpressions = ci.m_regularExpressions; m_variables = ci.m_variables; m_haltOnFirstOccur = ci.m_haltOnFirstOccur; m_ignoreHidden = ci.m_ignoreHidden; m_simulation = ci.m_simulation; m_searchingOnlyMode = ci.m_searchingOnlyMode; m_ownerUserIsChecked = ci.m_ownerUserIsChecked; m_ownerGroupIsChecked = ci.m_ownerGroupIsChecked; m_ownerUserBool = ci.m_ownerUserBool; m_ownerGroupBool = ci.m_ownerGroupBool; m_ownerUserType = ci.m_ownerUserType; m_ownerGroupType = ci.m_ownerGroupType; m_ownerUserValue = ci.m_ownerUserValue; m_ownerGroupValue = ci.m_ownerGroupValue; m_mapStringsView = ci.m_mapStringsView; m_quickSearchString = ci.m_quickSearchString; m_quickReplaceString = ci.m_quickReplaceString; m_recentStringFileList = ci.m_recentStringFileList; m_notifyOnErrors = ci.m_notifyOnErrors; return (*this); } //ResultViewEntry Class ResultViewEntry::ResultViewEntry(TQString nkey, TQString ndata, bool regexp, bool caseSensitive) { m_caseSensitive = caseSensitive; m_regexp = regexp; if(regexp) { m_rxKey = TQRegExp("("+nkey+")", caseSensitive, false); } else { m_key = nkey; } m_data = ndata; m_matchedStringsOccurrence = 0; m_pos = 0; } int ResultViewEntry::lineNumber(const TQString& line) const { return line.mid(0,m_pos).contains('\n')+1; } int ResultViewEntry::columnNumber(const TQString& line) const { return(m_pos - line.findRev('\n',m_pos)); } void ResultViewEntry::incOccurrences() { m_matchedStringsOccurrence++; } int ResultViewEntry::occurrences() const { return m_matchedStringsOccurrence; } bool ResultViewEntry::regexp()const { return m_regexp; } int ResultViewEntry::pos(const TQString& line) { if(m_regexp) m_pos = m_rxKey.search(line,m_pos); else m_pos = line.find(m_key, m_pos, m_caseSensitive); return m_pos; } void ResultViewEntry::incPos() { int kl = keyLength(), dl = dataLength(); if(kl < dl) m_pos += kl; else m_pos += dl; } TQString ResultViewEntry::capturedText(const TQString& line) { TQString cap; if(m_regexp) cap = m_rxKey.cap(1); else cap =line.mid(m_pos,m_key.length()); return cap; } TQString ResultViewEntry::message(const TQString& capturedText, int x, int y) const { TQString data = m_data; //return i18n(" captured text \"%1\" replaced with \"%2\" at line: %3, column: %4 ").arg(capturedText).arg(data).arg(TQString::number(x,10)).arg(TQString::number(y,10)); return i18n(" Line:%3,Col:%4 - \"%1\" -> \"%2\"").arg(capturedText).arg(data).arg(TQString::number(x,10)).arg(TQString::number(y,10)); } int ResultViewEntry::keyLength() const { if(m_regexp) return m_rxKey.matchedLength(); else return m_key.length(); } int ResultViewEntry::dataLength() const { return m_data.length(); } void ResultViewEntry::updateLine(TQString& line) { line.insert(m_pos, m_data); line.remove(m_pos + dataLength(), keyLength()); }