diff options
Diffstat (limited to 'kcontrol/accessibility/accessibility.cpp')
-rw-r--r-- | kcontrol/accessibility/accessibility.cpp | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/kcontrol/accessibility/accessibility.cpp b/kcontrol/accessibility/accessibility.cpp new file mode 100644 index 000000000..c34f7be64 --- /dev/null +++ b/kcontrol/accessibility/accessibility.cpp @@ -0,0 +1,141 @@ +/**************************************************************************** + accessibility.cpp + KDE Control Accessibility module to control Bell, Keyboard and ?Mouse? + ------------------- + Copyright : (c) 2000 Matthias H�lzer-Kl�pfel + ------------------- + Original Author: Matthias H�lzer-Kl�pfel + Contributors: Jos� Pablo Ezequiel "Pupeno" Fern�ndez <[email protected]> + Current Maintainer: Jos� Pablo Ezequiel "Pupeno" Fern�ndez <[email protected]> + ****************************************************************************/ + +/**************************************************************************** + * * + * 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; either version 2 of the License, or * + * (at your option) any later version. * + * * + ****************************************************************************/ + +#include <tqcheckbox.h> +#include <tqradiobutton.h> +#include <tqtabwidget.h> + +#include <tdeaboutdata.h> +#include <kcolorbutton.h> +#include <tdeconfig.h> +#include <kgenericfactory.h> +#include <knuminput.h> +#include <kurlrequester.h> + +#include "accessibility.moc" + +typedef KGenericFactory<AccessibilityConfig, TQWidget> AccessibilityFactory; +K_EXPORT_COMPONENT_FACTORY( kcm_accessibility, AccessibilityFactory("kcmaccessibility") ) + +/** + * This function checks if the kaccess daemon needs to be run + * This function will be deprecated since the kaccess daemon will be part of kded + */ +// static bool needToRunKAccessDaemon( TDEConfig *config ){ +// TDEConfigGroup group( config, "Bell" ); +// +// if(!group.readBoolEntry("SystemBell", true)){ +// return true; +// } +// if(group.readBoolEntry("ArtsBell", false)){ +// return true; +// } +// if(group.readBoolEntry("VisibleBell", false)){ +// return true; +// } +// return false; // don't need it +// } + +AccessibilityConfig::AccessibilityConfig(TQWidget *parent, const char *name, const TQStringList &) + : AccessibilityConfigWidget( parent, name){ + + TDEAboutData *about = + new TDEAboutData(I18N_NOOP("kcmaccessiblity"), I18N_NOOP("TDE Accessibility Tool"), + 0, 0, TDEAboutData::License_GPL, + I18N_NOOP("(c) 2000, Matthias Hoelzer-Kluepfel")); + + about->addAuthor("Matthias Hoelzer-Kluepfel", I18N_NOOP("Author") , "[email protected]"); + about->addAuthor("Jos� Pablo Ezequiel Fern�ndez", I18N_NOOP("Author") , "[email protected]"); + setAboutData( about ); + + kdDebug() << "Running: AccessibilityConfig::AccessibilityConfig(TQWidget *parent, const char *name, const TQStringList &)" << endl; + // TODO: set the KURL Dialog to open just audio files + connect( mainTab, TQT_SIGNAL(currentChanged(TQWidget*)), this, TQT_SIGNAL(quickHelpChanged()) ); + load(); +} + + +AccessibilityConfig::~AccessibilityConfig(){ + kdDebug() << "Running: AccessibilityConfig::~AccessibilityConfig()" << endl; +} + +void AccessibilityConfig::load() +{ + load( false ); +} + +void AccessibilityConfig::load( bool useDefaults ) +{ + kdDebug() << "Running: AccessibilityConfig::load()" << endl; + + TDEConfig *bell = new TDEConfig("bellrc", true); + + bell->setReadDefaults( useDefaults ); + + bell->setGroup("General"); + systemBell->setChecked(bell->readBoolEntry("SystemBell", false)); + customBell->setChecked(bell->readBoolEntry("CustomBell", false)); + visibleBell->setChecked(bell->readBoolEntry("VisibleBell", false)); + + bell->setGroup("CustomBell"); + soundToPlay->setURL(bell->readPathEntry("Sound", "")); + + bell->setGroup("Visible"); + invertScreen->setChecked(bell->readBoolEntry("Invert", true)); + flashScreen->setChecked(bell->readBoolEntry("Flash", false)); + // TODO: There has to be a cleaner way. + TQColor *redColor = new TQColor(Qt::red); + flashScreenColor->setColor(bell->readColorEntry("FlashColor", redColor)); + delete redColor; + visibleBellDuration->setValue(bell->readNumEntry("Duration", 500)); + + delete bell; + emit changed( useDefaults ); +} + + +void AccessibilityConfig::save(){ + kdDebug() << "Running: AccessibilityConfig::save()" << endl; + + TDEConfig *bell = new TDEConfig("bellrc"); + + bell->setGroup("General"); + bell->writeEntry("SystemBell", systemBell->isChecked()); + bell->writeEntry("CustomBell", customBell->isChecked()); + bell->writeEntry("VisibleBell", visibleBell->isChecked()); + + bell->setGroup("CustomBell"); + bell->writePathEntry("Sound", soundToPlay->url()); + + bell->setGroup("Visible"); + bell->writeEntry("Invert", invertScreen->isChecked()); + bell->writeEntry("Flash", flashScreen->isChecked()); + bell->writeEntry("FlashColor", flashScreenColor->color()); + bell->writeEntry("Duration", visibleBellDuration->value()); + + bell->sync(); + delete bell; +} + + +void AccessibilityConfig::defaults() +{ + load( true ); +} |