Warning, file /sdk/kompare/src/dialogpages/viewsettings.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     SPDX-FileCopyrightText: 2001-2003 Otto Bruggeman <otto.bruggeman@home.nl>
0003     SPDX-FileCopyrightText: 2001-2003 John Firebaugh <jfirebaugh@kde.org>
0004     SPDX-FileCopyrightText: 2007 Kevin Kofler <kevin.kofler@chello.at>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #include "viewsettings.h"
0010 
0011 #include <QFont>
0012 #include <QFontDatabase>
0013 
0014 #include <KConfig>
0015 #include <KConfigGroup>
0016 
0017 using namespace KompareDiff2;
0018 
0019 const QColor ViewSettings::default_removeColor (190, 237, 190);
0020 const QColor ViewSettings::default_changeColor (237, 190, 190);
0021 const QColor ViewSettings::default_addColor    (190, 190, 237);
0022 const QColor ViewSettings::default_appliedColor(237, 237, 190);
0023 
0024 ViewSettings::ViewSettings(QWidget* parent)
0025     : SettingsBase(parent),
0026       m_removeColor(0, 0, 0),
0027       m_changeColor(0, 0, 0),
0028       m_addColor(0, 0, 0),
0029       m_appliedColor(0, 0, 0),
0030       m_scrollNoOfLines(0),
0031       m_tabToNumberOfSpaces(0)
0032 {
0033 }
0034 
0035 ViewSettings::~ViewSettings()
0036 {
0037 }
0038 
0039 void ViewSettings::loadSettings(KConfig* config)
0040 {
0041     KConfigGroup cfg(config, QStringLiteral("View Options"));
0042     m_removeColor         = cfg.readEntry("RemoveColor",         default_removeColor);
0043     m_changeColor         = cfg.readEntry("ChangeColor",         default_changeColor);
0044     m_addColor            = cfg.readEntry("AddColor",            default_addColor);
0045     m_appliedColor        = cfg.readEntry("AppliedColor",        default_appliedColor);
0046     m_scrollNoOfLines     = cfg.readEntry("ScrollNoOfLines",     3);
0047     m_tabToNumberOfSpaces = cfg.readEntry("TabToNumberOfSpaces", 4);
0048 
0049     QFont stdFixed = QFontDatabase::systemFont(QFontDatabase::FixedFont);
0050     stdFixed.setPointSize(10);
0051     m_font                = cfg.readEntry("TextFont", stdFixed);
0052 }
0053 
0054 void ViewSettings::saveSettings(KConfig* config)
0055 {
0056     KConfigGroup cfg(config, QStringLiteral("View Options"));
0057     cfg.writeEntry("RemoveColor",         m_removeColor);
0058     cfg.writeEntry("ChangeColor",         m_changeColor);
0059     cfg.writeEntry("AddColor",            m_addColor);
0060     cfg.writeEntry("AppliedColor",        m_appliedColor);
0061     cfg.writeEntry("ScrollNoOfLines",     m_scrollNoOfLines);
0062     cfg.writeEntry("TabToNumberOfSpaces", m_tabToNumberOfSpaces);
0063 
0064     cfg.writeEntry("TextFont",            m_font);
0065 }
0066 
0067 QColor ViewSettings::colorForDifferenceType(int type, bool selected, bool applied)
0068 {
0069     // FIXME: does not belong here
0070     QColor color;
0071     if (applied)
0072         color = m_appliedColor;
0073     else
0074     {
0075         type = type & 0xFFFFFFEF; // remove the AppliedByBlend
0076         switch (type) {
0077         case Difference::Unchanged: color = Qt::white; break;
0078         case Difference::Change:    color = m_changeColor; break;
0079         case Difference::Insert:    color = m_addColor; break;
0080         case Difference::Delete:    color = m_removeColor; break;
0081         default: break;
0082         }
0083     }
0084 
0085     if (selected)
0086         color = color.lighter(110);
0087 
0088     return color;
0089 }
0090 
0091 #include "moc_viewsettings.cpp"