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.
225 lines
6.2 KiB
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 (TDEGlobal::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 = TDEGlobalSettings::generalFont();
|
|
mServiceFont = mConfig->readFontEntry ("Service Font", &tmp);
|
|
tmp = TDEGlobalSettings::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);
|
|
}
|
|
|