diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch) | |
tree | 5ac38a06f3dde268dc7927dc155896926aaf7012 /kstyles/highcontrast/config | |
download | tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kstyles/highcontrast/config')
-rw-r--r-- | kstyles/highcontrast/config/Makefile.am | 12 | ||||
-rw-r--r-- | kstyles/highcontrast/config/highcontrastconfig.cpp | 94 | ||||
-rw-r--r-- | kstyles/highcontrast/config/highcontrastconfig.h | 61 |
3 files changed, 167 insertions, 0 deletions
diff --git a/kstyles/highcontrast/config/Makefile.am b/kstyles/highcontrast/config/Makefile.am new file mode 100644 index 000000000..23f9c6a81 --- /dev/null +++ b/kstyles/highcontrast/config/Makefile.am @@ -0,0 +1,12 @@ +INCLUDES = $(all_includes) + +noinst_HEADERS = highcontrastconfig.h +kde_module_LTLIBRARIES = kstyle_highcontrast_config.la +kstyle_highcontrast_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module +kstyle_highcontrast_config_la_LIBADD = $(LIB_KDEUI) +kstyle_highcontrast_config_la_SOURCES = highcontrastconfig.cpp +kstyle_highcontrast_config_la_METASOURCES = AUTO + + +messages: + $(XGETTEXT) *.cpp *.h -o $(podir)/kstyle_highcontrast_config.pot diff --git a/kstyles/highcontrast/config/highcontrastconfig.cpp b/kstyles/highcontrast/config/highcontrastconfig.cpp new file mode 100644 index 000000000..33771f76c --- /dev/null +++ b/kstyles/highcontrast/config/highcontrastconfig.cpp @@ -0,0 +1,94 @@ +/* +Copyright (c) 2005 Luciano Montanaro <mikelima@cirulla.net> + +based on the Keramick configuration dialog +Copyright (c) 2003 Maksim Orlovich <maksim.orlovich@kdemail.net> + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +*/ + +#include <qcheckbox.h> +#include <qlayout.h> +#include <qsettings.h> +#include <kdialog.h> +#include <kglobal.h> +#include <klocale.h> + +#include "highcontrastconfig.h" + +extern "C" KDE_EXPORT QWidget* +allocate_kstyle_config(QWidget* parent) +{ + return new HighContrastStyleConfig(parent); +} + +HighContrastStyleConfig::HighContrastStyleConfig( + QWidget* parent): QWidget(parent) +{ + // Should have no margins here, the dialog provides them + QVBoxLayout* layout = new QVBoxLayout(this, 0, 0); + KGlobal::locale()->insertCatalogue("kstyle_highcontrast_config"); + + wideLinesBox = new QCheckBox(i18n("Use wider lines"), this); + + layout->add(wideLinesBox); + layout->addStretch(1); + + QSettings s; + + originalWideLinesState = s.readBoolEntry( + "/highcontraststyle/Settings/wideLines", false); + wideLinesBox->setChecked(originalWideLinesState); + + connect(wideLinesBox, SIGNAL(toggled(bool)), SLOT(updateChanged())); +} + +HighContrastStyleConfig::~HighContrastStyleConfig() +{ + KGlobal::locale()->removeCatalogue("kstyle_keramik_config"); +} + + +void +HighContrastStyleConfig::save() +{ + QSettings s; + s.writeEntry("/highcontraststyle/Settings/wideLines", + wideLinesBox->isChecked()); +} + +void +HighContrastStyleConfig::defaults() +{ + wideLinesBox->setChecked(false); + // updateChanged would be done by setChecked already +} + +void +HighContrastStyleConfig::updateChanged() +{ + if ((wideLinesBox->isChecked() == originalWideLinesState)) { + emit changed(false); + } else { + emit changed(true); + } +} + +#include "highcontrastconfig.moc" diff --git a/kstyles/highcontrast/config/highcontrastconfig.h b/kstyles/highcontrast/config/highcontrastconfig.h new file mode 100644 index 000000000..26d8a0593 --- /dev/null +++ b/kstyles/highcontrast/config/highcontrastconfig.h @@ -0,0 +1,61 @@ +/* +Copyright (c) 2005 Luciano Montanaro <mikelima@cirulla.net> + +based on the Keramick configuration dialog +Copyright (c) 2003 Maksim Orlovich <maksim.orlovich@kdemail.net> + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +*/ + +#ifndef HIGHCONTRAST_CONF_H +#define HIGHCONTRAST_CONF_H + +class QCheckBox; + +class HighContrastStyleConfig: public QWidget +{ + Q_OBJECT +public: + HighContrastStyleConfig(QWidget* parent); + ~HighContrastStyleConfig(); + + // This signal and the next two slots are the plugin + // page interface +signals: + void changed(bool); + +public slots: + void save(); + void defaults(); + + // Everything below this is internal. +protected slots: + void updateChanged(); + +protected: + // We store settings directly in widgets to + // avoid the hassle of sync'ing things + QCheckBox* wideLinesBox; + + // Original settings, for accurate dirtiness tracking + bool originalWideLinesState; +}; + +#endif // HIGHCONTRAST_CONF_H |