You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeadmin/ksysv/ksv_conf.cpp

225 lines
6.2 KiB

/***************************************************************************
begin : Sun Oct 3 1999
copyright : (C) 1997-99 by Peter Putzer
email : putzer@kde.org
***************************************************************************/
/***************************************************************************
* *
* 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; version 2. *
* *
***************************************************************************/
// KSysV Config Object
#include <kapplication.h>
#include <kglobal.h>
#include <kglobalsettings.h>
#include <kmainwindow.h>
#include <kconfig.h>
#include "ksv_core.h"
#include "ksv_conf.h"
KSVConfig::KSVConfig ()
: mConfig (KGlobal::config())
{
readSettings();
}
void KSVConfig::setPanningFactor (int val)
{
mPanningFactor = val > 100 ? 100 : val;
mPanningFactor = mPanningFactor < 0 ? 0 : mPanningFactor;
}
void KSVConfig::readSettings()
{
mConfig->setGroup("Path Settings");
mScriptPath = mConfig->readEntry("ScriptPath", "/etc/rc.d/init.d");
mRunlevelPath = mConfig->readEntry("RunlevelPath", "/etc/rc.d");
mConfig->setGroup("Other Settings");
mShowLog = mConfig->readBoolEntry("ShowLog", true);
mConfigured = mConfig->readBoolEntry("Configured", false);
mPanningFactor = mConfig->readNumEntry("PanningFactor", 80);
mShowDescription = mConfig->readBoolEntry("ShowDescription", true);
mConfig->setGroup("Colors");
mNewNormalColor = mConfig->readColorEntry ("New Text", &TQt::blue);
mNewSelectedColor = mConfig->readColorEntry ("New Selected Text", &TQt::blue);
mChangedNormalColor = mConfig->readColorEntry ("Changed Text", &TQt::red);
mChangedSelectedColor = mConfig->readColorEntry ("Changed Selected Text", &TQt::red);
mConfig->setGroup("Fonts");
TQFont tmp = KGlobalSettings::generalFont();
mServiceFont = mConfig->readFontEntry ("Service Font", &tmp);
tmp = KGlobalSettings::fixedFont();
mNumberFont = mConfig->readFontEntry ("Number Font", &tmp);
readRunlevels();
}
void KSVConfig::readLegacySettings ()
{
mConfig->setGroup("Path Settings");
mScriptPath = mConfig->readEntry("ScriptPath", "/etc/rc.d/init.d");
mRunlevelPath = mConfig->readEntry("RunlevelPath", "/etc/rc.d");
mConfig->setGroup("Other Settings");
mShowLog = mConfig->readBoolEntry("ShowLog", true);
mConfigured = mConfig->readBoolEntry("Configured", false);
mPanningFactor = mConfig->readNumEntry("PanningFactor", 80);
mShowDescription = mConfig->readBoolEntry("ShowDescription", true);
mConfig->setGroup("Colors");
mNewNormalColor = mConfig->readColorEntry("New", &TQt::blue);
mChangedNormalColor = mConfig->readColorEntry("Changed", &TQt::red);
}
void KSVConfig::writeSettings() {
mConfig->setGroup("Path Settings");
mConfig->writeEntry("ScriptPath", mScriptPath);
mConfig->writeEntry("RunlevelPath", mRunlevelPath);
mConfig->setGroup("Other Settings");
mConfig->writeEntry("ShowLog", mShowLog);
mConfig->writeEntry("Configured", mConfigured);
mConfig->writeEntry("PanningFactor", mPanningFactor);
mConfig->writeEntry("ShowDescription", mShowDescription);
mConfig->setGroup("Colors");
mConfig->writeEntry("New Text", mNewNormalColor);
mConfig->writeEntry("New Selected Text", mNewSelectedColor);
mConfig->writeEntry("Changed Text", mChangedNormalColor);
mConfig->writeEntry("Changed Selected Text", mChangedSelectedColor);
mConfig->setGroup("Fonts");
mConfig->writeEntry("Service Font", mServiceFont);
mConfig->writeEntry("Number Font", mNumberFont);
// save screen geometry
KMainWindow* mw = static_cast<KMainWindow*>(kapp->mainWidget());
if (mw)
{
mConfig->setGroup("Geometry");
mConfig->writeEntry("X-Position", mw->x());
mConfig->writeEntry("Y-Position", mw->y());
}
writeRunlevels();
// flush everything
mConfig->sync();
}
bool KSVConfig::showRunlevel (int index) const
{
if (mShowRunlevel.contains (index))
return mShowRunlevel[index];
else
return false;
}
void KSVConfig::readRunlevels ()
{
mConfig->setGroup ("Runlevels");
TQValueList<int> list = mConfig->readIntListEntry ("Show Runlevels");
for (TQValueList<int>::Iterator it = list.begin(); it != list.end(); ++it)
mShowRunlevel[*it] = true;
if (mShowRunlevel.isEmpty())
for (int i = 0; i < ksv::runlevelNumber; ++i)
mShowRunlevel[i] = true;
}
void KSVConfig::writeRunlevels ()
{
TQValueList<int> list;
for (TQMap<int,bool>::Iterator it = mShowRunlevel.begin(); it != mShowRunlevel.end(); ++it)
if (it.data())
list.append (it.key());
mConfig->setGroup ("Runlevels");
mConfig->writeEntry ("Show Runlevels", list);
}
void KSVConfig::setShowRunlevel (int index, bool state)
{
mShowRunlevel[index] = state;
}
TQPoint KSVConfig::position() const
{
mConfig->setGroup("Geometry");
return TQPoint(mConfig->readNumEntry("X-Position", 0),
mConfig->readNumEntry("Y-Position", 0));
}
void KSVConfig::setScriptPath (const TQString& path)
{
mScriptPath = path;
}
void KSVConfig::setRunlevelPath (const TQString& path)
{
mRunlevelPath = path;
}
KSVConfig* KSVConfig::self()
{
static KSVConfig conf;
return &conf;
}
void KSVConfig::setNewNormalColor (const TQColor& col)
{
mNewNormalColor = col;
}
void KSVConfig::setNewSelectedColor (const TQColor& col)
{
mNewSelectedColor = col;
}
void KSVConfig::setChangedNormalColor (const TQColor& col)
{
mChangedNormalColor = col;
}
void KSVConfig::setChangedSelectedColor (const TQColor& col)
{
mChangedSelectedColor = col;
}
void KSVConfig::setNumberFont (const TQFont& font)
{
mNumberFont = font;
}
void KSVConfig::setServiceFont (const TQFont& font)
{
mServiceFont = font;
}
void KSVConfig::setShowMessage (ksv::Messages msg, bool on)
{
mConfig->setGroup("Notification Messages");
mConfig->writeEntry (ksv::notifications[msg], on);
}
bool KSVConfig::showMessage (ksv::Messages msg) const
{
mConfig->setGroup("Notification Messages");
return mConfig->readBoolEntry (ksv::notifications[msg], true);
}