File indexing completed on 2024-05-05 05:51:27

0001 /* This file is part of the KDE project
0002    SPDX-FileCopyrightText: 2010 Thomas Fjellstrom <thomas@fjellstrom.ca>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "katefiletreepluginsettings.h"
0008 #include <KColorScheme>
0009 #include <KColorUtils>
0010 
0011 KateFileTreePluginSettings::KateFileTreePluginSettings()
0012     : m_group(KSharedConfig::openConfig(), QStringLiteral("filetree"))
0013 {
0014     KColorScheme colors(QPalette::Active);
0015     QColor bg = colors.background().color();
0016     QColor viewShade = KColorUtils::tint(bg, colors.foreground(KColorScheme::VisitedText).color(), 0.5);
0017     QColor editShade = KColorUtils::tint(bg, colors.foreground(KColorScheme::ActiveText).color(), 0.5);
0018 
0019     m_shadingEnabled = m_group.readEntry("shadingEnabled", true);
0020     m_viewShade = m_group.readEntry("viewShade", viewShade);
0021     m_editShade = m_group.readEntry("editShade", editShade);
0022 
0023     m_listMode = m_group.readEntry("listMode", false);
0024     m_sortRole = m_group.readEntry("sortRole", int(Qt::DisplayRole));
0025 
0026     m_showFullPathOnRoots = m_group.readEntry("showFullPathOnRoots", false);
0027 
0028     m_showToolbar = m_group.readEntry("showToolbar", true);
0029 
0030     m_showCloseButton = m_group.readEntry("showCloseButton", false);
0031     middleClickToClose = m_group.readEntry("middleClickToClose", false);
0032 }
0033 
0034 void KateFileTreePluginSettings::save()
0035 {
0036     m_group.writeEntry("shadingEnabled", m_shadingEnabled);
0037     m_group.writeEntry("viewShade", m_viewShade);
0038     m_group.writeEntry("editShade", m_editShade);
0039     m_group.writeEntry("listMode", m_listMode);
0040     m_group.writeEntry("sortRole", m_sortRole);
0041     m_group.writeEntry("showFullPathOnRoots", m_showFullPathOnRoots);
0042     m_group.writeEntry("showToolbar", m_showToolbar);
0043     m_group.writeEntry("showCloseButton", m_showCloseButton);
0044     m_group.writeEntry("middleClickToClose", middleClickToClose);
0045 
0046     m_group.sync();
0047 }
0048 
0049 bool KateFileTreePluginSettings::shadingEnabled() const
0050 {
0051     return m_shadingEnabled;
0052 }
0053 
0054 void KateFileTreePluginSettings::setShadingEnabled(bool shadingEnabled)
0055 {
0056     m_shadingEnabled = shadingEnabled;
0057 }
0058 
0059 const QColor &KateFileTreePluginSettings::viewShade() const
0060 {
0061     return m_viewShade;
0062 }
0063 
0064 void KateFileTreePluginSettings::setViewShade(const QColor &viewShade)
0065 {
0066     m_viewShade = viewShade;
0067 }
0068 
0069 const QColor &KateFileTreePluginSettings::editShade() const
0070 {
0071     return m_editShade;
0072 }
0073 
0074 void KateFileTreePluginSettings::setEditShade(const QColor &editShade)
0075 {
0076     m_editShade = editShade;
0077 }
0078 
0079 bool KateFileTreePluginSettings::listMode() const
0080 {
0081     return m_listMode;
0082 }
0083 
0084 void KateFileTreePluginSettings::setListMode(bool listMode)
0085 {
0086     m_listMode = listMode;
0087 }
0088 
0089 int KateFileTreePluginSettings::sortRole() const
0090 {
0091     return m_sortRole;
0092 }
0093 
0094 void KateFileTreePluginSettings::setSortRole(int sortRole)
0095 {
0096     m_sortRole = sortRole;
0097 }
0098 
0099 bool KateFileTreePluginSettings::showFullPathOnRoots() const
0100 {
0101     return m_showFullPathOnRoots;
0102 }
0103 
0104 void KateFileTreePluginSettings::setShowFullPathOnRoots(bool s)
0105 {
0106     m_showFullPathOnRoots = s;
0107 }
0108 
0109 bool KateFileTreePluginSettings::showToolbar() const
0110 {
0111     return m_showToolbar;
0112 }
0113 
0114 void KateFileTreePluginSettings::setShowToolbar(bool s)
0115 {
0116     m_showToolbar = s;
0117 }
0118 
0119 bool KateFileTreePluginSettings::showCloseButton() const
0120 {
0121     return m_showCloseButton;
0122 }
0123 
0124 void KateFileTreePluginSettings::setShowCloseButton(bool s)
0125 {
0126     m_showCloseButton = s;
0127 }