diff options
Diffstat (limited to 'tdestyles/highcontrast/config')
-rw-r--r-- | tdestyles/highcontrast/config/CMakeLists.txt | 37 | ||||
-rw-r--r-- | tdestyles/highcontrast/config/Makefile.am | 12 | ||||
-rw-r--r-- | tdestyles/highcontrast/config/highcontrastconfig.cpp | 94 | ||||
-rw-r--r-- | tdestyles/highcontrast/config/highcontrastconfig.h | 61 |
4 files changed, 204 insertions, 0 deletions
diff --git a/tdestyles/highcontrast/config/CMakeLists.txt b/tdestyles/highcontrast/config/CMakeLists.txt new file mode 100644 index 000000000..1305f8163 --- /dev/null +++ b/tdestyles/highcontrast/config/CMakeLists.txt @@ -0,0 +1,37 @@ +################################################# +# +# (C) 2010 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${TQT_INCLUDE_DIRS} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR}/tdecore + ${CMAKE_SOURCE_DIR}/tdecore + ${CMAKE_SOURCE_DIR}/tdeui +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### tdestyle_highcontrast_config ################ + +set( target tdestyle_highcontrast_config ) + +set( ${target}_SRCS + highcontrastconfig.cpp +) + +tde_add_kpart( ${target} AUTOMOC + SOURCES ${${target}_SRCS} + LINK tdecore-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) diff --git a/tdestyles/highcontrast/config/Makefile.am b/tdestyles/highcontrast/config/Makefile.am new file mode 100644 index 000000000..31592f288 --- /dev/null +++ b/tdestyles/highcontrast/config/Makefile.am @@ -0,0 +1,12 @@ +INCLUDES = $(all_includes) + +noinst_HEADERS = highcontrastconfig.h +kde_module_LTLIBRARIES = tdestyle_highcontrast_config.la +tdestyle_highcontrast_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module +tdestyle_highcontrast_config_la_LIBADD = $(LIB_QT) $(LIB_TDECORE) +tdestyle_highcontrast_config_la_SOURCES = highcontrastconfig.cpp +tdestyle_highcontrast_config_la_METASOURCES = AUTO + + +messages: + $(XGETTEXT) *.cpp *.h -o $(podir)/tdestyle_highcontrast_config.pot diff --git a/tdestyles/highcontrast/config/highcontrastconfig.cpp b/tdestyles/highcontrast/config/highcontrastconfig.cpp new file mode 100644 index 000000000..8d8df0e79 --- /dev/null +++ b/tdestyles/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 <tqcheckbox.h> +#include <tqlayout.h> +#include <tqsettings.h> +#include <kdialog.h> +#include <tdeglobal.h> +#include <tdelocale.h> + +#include "highcontrastconfig.h" + +extern "C" KDE_EXPORT TQWidget* +allocate_tdestyle_config(TQWidget* parent) +{ + return new HighContrastStyleConfig(parent); +} + +HighContrastStyleConfig::HighContrastStyleConfig( + TQWidget* parent): TQWidget(parent) +{ + // Should have no margins here, the dialog provides them + TQVBoxLayout* layout = new TQVBoxLayout(this, 0, 0); + TDEGlobal::locale()->insertCatalogue("tdestyle_highcontrast_config"); + + wideLinesBox = new TQCheckBox(i18n("Use wider lines"), this); + + layout->add(wideLinesBox); + layout->addStretch(1); + + TQSettings s; + + originalWideLinesState = s.readBoolEntry( + "/highcontraststyle/Settings/wideLines", false); + wideLinesBox->setChecked(originalWideLinesState); + + connect(wideLinesBox, TQT_SIGNAL(toggled(bool)), TQT_SLOT(updateChanged())); +} + +HighContrastStyleConfig::~HighContrastStyleConfig() +{ + TDEGlobal::locale()->removeCatalogue("tdestyle_keramik_config"); +} + + +void +HighContrastStyleConfig::save() +{ + TQSettings 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/tdestyles/highcontrast/config/highcontrastconfig.h b/tdestyles/highcontrast/config/highcontrastconfig.h new file mode 100644 index 000000000..d52a22b47 --- /dev/null +++ b/tdestyles/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 TQCheckBox; + +class HighContrastStyleConfig: public TQWidget +{ + Q_OBJECT +public: + HighContrastStyleConfig(TQWidget* 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 + TQCheckBox* wideLinesBox; + + // Original settings, for accurate dirtiness tracking + bool originalWideLinesState; +}; + +#endif // HIGHCONTRAST_CONF_H |