File indexing completed on 2024-04-28 17:01:40
0001 /* 0002 SPDX-FileCopyrightText: 2001-2004 Otto Bruggeman <otto.bruggeman@home.nl> 0003 SPDX-FileCopyrightText: 2007 Kevin Kofler <kevin.kofler@chello.at> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "diffsettings.h" 0009 0010 #include <KConfig> 0011 #include <KConfigGroup> 0012 0013 #include <QWidget> 0014 0015 DiffSettings::DiffSettings(QWidget* parent) 0016 : SettingsBase(parent), 0017 m_linesOfContext(0), 0018 m_format(Kompare::Unified), 0019 m_largeFiles(false), 0020 m_ignoreWhiteSpace(false), 0021 m_ignoreAllWhiteSpace(false), 0022 m_ignoreEmptyLines(false), 0023 m_ignoreChangesDueToTabExpansion(false), 0024 m_createSmallerDiff(false), 0025 m_ignoreChangesInCase(false), 0026 m_showCFunctionChange(false), 0027 m_convertTabsToSpaces(false), 0028 m_ignoreRegExp(false), 0029 m_recursive(false), 0030 m_newFiles(false), 0031 m_excludeFilePattern(false), 0032 m_excludeFilesFile(false) 0033 { 0034 } 0035 0036 DiffSettings::~DiffSettings() 0037 { 0038 } 0039 0040 void DiffSettings::loadSettings(KConfig* config) 0041 { 0042 KConfigGroup group(config, QStringLiteral("Diff Options")); 0043 m_diffProgram = group.readEntry("DiffProgram", QString()); 0044 m_linesOfContext = group.readEntry("LinesOfContext", 3); 0045 m_largeFiles = group.readEntry("LargeFiles", true); 0046 m_ignoreWhiteSpace = group.readEntry("IgnoreWhiteSpace", false); 0047 m_ignoreAllWhiteSpace = group.readEntry("IgnoreAllWhiteSpace", false); 0048 m_ignoreEmptyLines = group.readEntry("IgnoreEmptyLines", false); 0049 m_ignoreChangesDueToTabExpansion = group.readEntry("IgnoreChangesDueToTabExpansion", false); 0050 m_ignoreChangesInCase = group.readEntry("IgnoreChangesInCase", false); 0051 m_ignoreRegExp = group.readEntry("IgnoreRegExp", false); 0052 m_ignoreRegExpText = group.readEntry("IgnoreRegExpText", QString()); 0053 m_ignoreRegExpTextHistory = group.readEntry("IgnoreRegExpTextHistory", QStringList()); 0054 m_createSmallerDiff = group.readEntry("CreateSmallerDiff", true); 0055 m_convertTabsToSpaces = group.readEntry("ConvertTabsToSpaces", false); 0056 m_showCFunctionChange = group.readEntry("ShowCFunctionChange", false); 0057 m_recursive = group.readEntry("CompareRecursively", true); 0058 m_newFiles = group.readEntry("NewFiles", true); 0059 0060 m_format = static_cast<Kompare::Format>(group.readEntry("Format", (int) Kompare::Unified)); 0061 0062 KConfigGroup group2(config, QStringLiteral("Exclude File Options")); 0063 m_excludeFilePattern = group2.readEntry("Pattern", false); 0064 m_excludeFilePatternList = group2.readEntry("PatternList", QStringList()); 0065 m_excludeFilesFile = group2.readEntry("File", false); 0066 m_excludeFilesFileURL = group2.readEntry("FileURL", QString()); 0067 m_excludeFilesFileHistoryList = group2.readEntry("FileHistoryList", QStringList()); 0068 } 0069 0070 void DiffSettings::saveSettings(KConfig* config) 0071 { 0072 KConfigGroup group(config, QStringLiteral("Diff Options")); 0073 group.writeEntry("DiffProgram", m_diffProgram); 0074 group.writeEntry("LinesOfContext", m_linesOfContext); 0075 group.writeEntry("Format", (int)m_format); 0076 group.writeEntry("LargeFiles", m_largeFiles); 0077 group.writeEntry("IgnoreWhiteSpace", m_ignoreWhiteSpace); 0078 group.writeEntry("IgnoreAllWhiteSpace", m_ignoreAllWhiteSpace); 0079 group.writeEntry("IgnoreEmptyLines", m_ignoreEmptyLines); 0080 group.writeEntry("IgnoreChangesInCase", m_ignoreChangesInCase); 0081 group.writeEntry("IgnoreChangesDueToTabExpansion", m_ignoreChangesDueToTabExpansion); 0082 group.writeEntry("IgnoreRegExp", m_ignoreRegExp); 0083 group.writeEntry("IgnoreRegExpText", m_ignoreRegExpText); 0084 group.writeEntry("IgnoreRegExpTextHistory", m_ignoreRegExpTextHistory); 0085 group.writeEntry("CreateSmallerDiff", m_createSmallerDiff); 0086 group.writeEntry("ConvertTabsToSpaces", m_convertTabsToSpaces); 0087 group.writeEntry("ShowCFunctionChange", m_showCFunctionChange); 0088 group.writeEntry("CompareRecursively", m_recursive); 0089 group.writeEntry("NewFiles", m_newFiles); 0090 0091 KConfigGroup group2(config, QStringLiteral("Exclude File Options")); 0092 group2.writeEntry("Pattern", m_excludeFilePattern); 0093 group2.writeEntry("PatternList", m_excludeFilePatternList); 0094 group2.writeEntry("File", m_excludeFilesFile); 0095 group2.writeEntry("FileURL", m_excludeFilesFileURL); 0096 group2.writeEntry("FileHistoryList", m_excludeFilesFileHistoryList); 0097 0098 config->sync(); 0099 } 0100 0101 #include "moc_diffsettings.cpp"