summaryrefslogtreecommitdiffstats
path: root/kwin-styles/glow/config/glowconfigdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kwin-styles/glow/config/glowconfigdialog.cpp')
-rw-r--r--kwin-styles/glow/config/glowconfigdialog.cpp369
1 files changed, 0 insertions, 369 deletions
diff --git a/kwin-styles/glow/config/glowconfigdialog.cpp b/kwin-styles/glow/config/glowconfigdialog.cpp
deleted file mode 100644
index f8ff62fd..00000000
--- a/kwin-styles/glow/config/glowconfigdialog.cpp
+++ /dev/null
@@ -1,369 +0,0 @@
-/***************************************************************************
- glowconfigdialog.cpp - description
- -------------------
- begin : Thu Sep 12 2001
- copyright : (C) 2001 by Henning Burchardt
- email : h_burchardt@gmx.net
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * 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 <tqbitmap.h>
-#include <tqbuttongroup.h>
-#include <tqcheckbox.h>
-#include <tqcombobox.h>
-#include <tqdir.h>
-#include <tqfileinfo.h>
-#include <tqgroupbox.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqlistview.h>
-#include <tqpushbutton.h>
-#include <tqsignalmapper.h>
-#include <tqstringlist.h>
-#include <kconfig.h>
-#include <kcolorbutton.h>
-#include <kdebug.h>
-#include <kglobal.h>
-#include <kglobalsettings.h>
-#include <klocale.h>
-#include <kpixmap.h>
-#include <kpixmapeffect.h>
-#include <kstandarddirs.h>
-#include "bitmaps.h"
-#include "glowconfigdialog.h"
-#include "../resources.h"
-
-#define NUMBER_OF_BUTTONS 5
-
-extern "C"
-{
- KDE_EXPORT TQObject* allocate_config( KConfig* conf, TQWidget* parent )
- {
- return(new GlowConfigDialog(conf, parent));
- }
-}
-
-GlowConfigDialog::GlowConfigDialog( KConfig * conf, TQWidget * parent )
- : TQObject(parent)
-{
- _glowConfig = new KConfig("twinglowrc");
- KGlobal::locale()->insertCatalogue("twin_glow_config");
-
- _main_group_box = new TQWidget(parent);
- TQVBoxLayout *main_group_boxLayout = new TQVBoxLayout(_main_group_box);
- main_group_boxLayout->tqsetAlignment(TQt::AlignTop | TQt::AlignLeft);
- main_group_boxLayout->setSpacing(6);
-
- //-------------------------------------------------------------------------
- // themes
-
- _theme_list_view = new TQListView (_main_group_box, "theme_list_view");
- _theme_list_view->addColumn (i18n("Theme"));
- _theme_list_view->addColumn (i18n("Button Size"));
- _theme_list_view->setAllColumnsShowFocus(true);
- _theme_list_view->setResizeMode(TQListView::AllColumns);
-
- main_group_boxLayout->addWidget (_theme_list_view);
- TQObject::connect (_theme_list_view, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(slotThemeListViewSelectionChanged()));
- slotLoadThemeList();
-
- _button_glow_color_group_box = new TQGroupBox(
- 0, Qt::Horizontal, i18n("Button Glow Colors"), _main_group_box);
- TQHBoxLayout *colorHBoxLayout =
- new TQHBoxLayout(_button_glow_color_group_box->tqlayout());
-
- // create buttons
- TQSize buttonSize(BITMAP_SIZE, BITMAP_SIZE);
- TQPixmap pm(buttonSize);
- pm.fill(TQt::black);
-
- _stickyButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, stickyoff_bits, true));
- _stickyButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_stickyButton);
- _titleButtonList.push_back(_stickyButton);
-
- _helpButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, help_bits, true));
- _helpButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_helpButton);
- _titleButtonList.push_back(_helpButton);
-
- _iconifyButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, minimize_bits, true));
- _iconifyButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_iconifyButton);
- _titleButtonList.push_back(_iconifyButton);
-
- _maximizeButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, maximizeoff_bits, true));
- _maximizeButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_maximizeButton);
- _titleButtonList.push_back(_maximizeButton);
-
- _closeButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, close_bits, true));
- _closeButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_closeButton);
- _titleButtonList.push_back(_closeButton);
-
- // create signal mapper
- _titleButtonMapper = new TQSignalMapper(this);
- for( uint i=0; i<_titleButtonList.size(); i++ ) {
- _titleButtonMapper->setMapping(TQT_TQOBJECT(_titleButtonList[i]), i);
- connect(_titleButtonList[i], TQT_SIGNAL(clicked()),_titleButtonMapper, TQT_SLOT(map()));
- }
- connect(_titleButtonMapper, TQT_SIGNAL(mapped(int)),this, TQT_SLOT(slotTitleButtonClicked(int)));
-
- _colorButton = new KColorButton(_button_glow_color_group_box);
- _colorButton->setEnabled(false);
- connect(_colorButton, TQT_SIGNAL(changed(const TQColor&)),
- this, TQT_SLOT(slotColorButtonChanged(const TQColor&)));
-
- colorHBoxLayout->addItem(new TQSpacerItem(
- 200, 20, TQSizePolicy::Expanding, TQSizePolicy::Minimum));
- colorHBoxLayout->addWidget(_colorButton);
-
- main_group_boxLayout->addWidget(_button_glow_color_group_box);
-
- TQHBoxLayout *titlebarGradientTypeLayout = new TQHBoxLayout();
- _titlebarGradientTypeComboBox = new TQComboBox(_main_group_box);
-
- KConfig *c = KGlobal::config();
- KConfigGroupSaver cgs( c, TQString::tqfromLatin1("WM") );
- TQColor activeBackground = c->readColorEntry("activeBackground");
- TQColor activeBlend = c->readColorEntry("activeBlend");
-
- // If the colors are equal, change one to get a gradient effect
- if (activeBackground==activeBlend) {
- activeBackground = activeBackground.dark();
- }
- for (int i=0; i< KPixmapEffect::EllipticGradient; i++ ) {
- KPixmap gradPixmap(TQSize(196,20));
- KPixmapEffect::gradient(gradPixmap, activeBackground,
- activeBlend, (KPixmapEffect::GradientType) i);
-
- _titlebarGradientTypeComboBox->insertItem(gradPixmap, i);
- }
-
- connect(_titlebarGradientTypeComboBox, TQT_SIGNAL(activated(int)),
- this, TQT_SLOT(slotTitlebarGradientTypeChanged(int)));
- titlebarGradientTypeLayout->addWidget(
- new TQLabel(i18n("Titlebar gradient:"), _main_group_box));
- titlebarGradientTypeLayout->addWidget(_titlebarGradientTypeComboBox, 0, TQt::AlignLeft);
- titlebarGradientTypeLayout->addStretch(10);
- main_group_boxLayout->addLayout(titlebarGradientTypeLayout);
-
-
- _showResizeHandleCheckBox = new TQCheckBox(
- i18n("Show resize handle"), _main_group_box);
- connect(_showResizeHandleCheckBox, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotResizeHandleCheckBoxChanged()));
- main_group_boxLayout->addWidget(_showResizeHandleCheckBox);
-
- // load config and update user interface
- load(conf);
-
- _main_group_box->show();
-}
-
-GlowConfigDialog::~GlowConfigDialog()
-{
- delete _main_group_box;
- delete _glowConfig;
- delete[] _buttonConfigMap;
-}
-
-void GlowConfigDialog::load( KConfig* /* conf */ )
-{
- TQColor color;
- const TQColor defaultCloseButtonColor(DEFAULT_CLOSE_BUTTON_COLOR);
- const TQColor defaultMaximizeButtonColor(DEFAULT_MAXIMIZE_BUTTON_COLOR);
- const TQColor defaultIconifyButtonColor(DEFAULT_ICONIFY_BUTTON_COLOR);
- const TQColor defaultHelpButtonColor(DEFAULT_HELP_BUTTON_COLOR);
- const TQColor defaultStickyButtonColor(DEFAULT_STICKY_BUTTON_COLOR);
-
- _glowConfig->setGroup("General");
-
- _buttonConfigMap = new TQColor[NUMBER_OF_BUTTONS];
- color = _glowConfig->readColorEntry("stickyButtonGlowColor",
- &defaultStickyButtonColor);
- _buttonConfigMap[stickyButton] = color;
-
- color = _glowConfig->readColorEntry("helpButtonGlowColor",
- &defaultHelpButtonColor);
- _buttonConfigMap[helpButton] = color;
-
- color = _glowConfig->readColorEntry("iconifyButtonGlowColor",
- &defaultIconifyButtonColor);
- _buttonConfigMap[iconifyButton] = color;
-
- color = _glowConfig->readColorEntry("maximizeButtonGlowColor",
- &defaultMaximizeButtonColor);
- _buttonConfigMap[maximizeButton] = color;
-
- color = _glowConfig->readColorEntry("closeButtonGlowColor",
- &defaultCloseButtonColor);
- _buttonConfigMap[closeButton] = color;
-
- _showResizeHandle = _glowConfig->readBoolEntry("showResizeHandle", true);
- _titlebarGradientType = static_cast<KPixmapEffect::GradientType>
- (_glowConfig->readNumEntry("titlebarGradientType",
- KPixmapEffect::DiagonalGradient));
-
- _showResizeHandleCheckBox->setChecked(_showResizeHandle);
- _titlebarGradientTypeComboBox->setCurrentItem(_titlebarGradientType);
-
- _theme_name = _glowConfig->readEntry ("themeName", "default");
- _theme_list_view->setSelected (
- _theme_list_view->findItem (_theme_name, 0), true);
- slotTitleButtonClicked(0);
-}
-
-void GlowConfigDialog::save( KConfig* /* conf */ )
-{
- _glowConfig->setGroup("General");
-
- _glowConfig->writeEntry("stickyButtonGlowColor", _buttonConfigMap[stickyButton]);
- _glowConfig->writeEntry("helpButtonGlowColor", _buttonConfigMap[helpButton]);
- _glowConfig->writeEntry("iconifyButtonGlowColor", _buttonConfigMap[iconifyButton]);
- _glowConfig->writeEntry("maximizeButtonGlowColor", _buttonConfigMap[maximizeButton]);
- _glowConfig->writeEntry("closeButtonGlowColor", _buttonConfigMap[closeButton]);
-
- _glowConfig->writeEntry("showResizeHandle", _showResizeHandle);
- _glowConfig->writeEntry("titlebarGradientType", _titlebarGradientType);
-
- _glowConfig->writeEntry ("themeName", _theme_name);
-
- _glowConfig->sync();
-}
-
-void GlowConfigDialog::defaults()
-{
- const TQColor defaultCloseButtonColor = DEFAULT_CLOSE_BUTTON_COLOR;
- const TQColor defaultMaximizeButtonColor(DEFAULT_MAXIMIZE_BUTTON_COLOR);
- const TQColor defaultIconifyButtonColor(DEFAULT_ICONIFY_BUTTON_COLOR);
- const TQColor defaultHelpButtonColor(DEFAULT_HELP_BUTTON_COLOR);
- const TQColor defaultStickyButtonColor(DEFAULT_STICKY_BUTTON_COLOR);
-
- _buttonConfigMap[stickyButton] = defaultStickyButtonColor;
- _buttonConfigMap[helpButton] = defaultHelpButtonColor;
- _buttonConfigMap[iconifyButton] = defaultIconifyButtonColor;
- _buttonConfigMap[maximizeButton] = defaultMaximizeButtonColor;
- _buttonConfigMap[closeButton] = defaultCloseButtonColor;
-
- _showResizeHandle = true;
- _titlebarGradientType = KPixmapEffect::DiagonalGradient;
-
- _showResizeHandleCheckBox->setChecked(_showResizeHandle);
- _titlebarGradientTypeComboBox->setCurrentItem(_titlebarGradientType);
-
- _theme_list_view->setSelected (
- _theme_list_view->findItem("default", 0), true);
-}
-
-void GlowConfigDialog::slotLoadThemeList ()
-{
- TQStringList dir_list=KGlobal::dirs()->findDirs("data", "twin/glow-themes");
-
- TQStringList::ConstIterator it;
-
- _theme_list_view->clear();
- new TQListViewItem (_theme_list_view, "default", "17x17");
-
- for (it=dir_list.begin(); it!=dir_list.end(); ++it)
- {
- TQDir dir (*it, TQString("*"), TQDir::Unsorted,
- TQDir::Dirs | TQDir::Readable);
- if (dir.exists())
- {
- TQFileInfoListIterator it2(*dir.entryInfoList());
- TQFileInfo * finfo;
-
- while ((finfo=it2.current()))
- {
- if (finfo->fileName() == "." || finfo->fileName() == "..") {
- ++it2;
- continue;
- }
-
- if (! _theme_list_view->findItem (finfo->fileName(), 0))
- {
- KConfig conf (dir.path() + "/" + finfo->fileName() + "/" +
- finfo->fileName() + ".theme");
- TQSize button_size = conf.readSizeEntry (
- "buttonSize", new TQSize (-1, -1));
- if (button_size.width() == -1)
- {
- ++it2;
- continue;
- }
- TQString size_string = TQString("") +
- TQString::number(button_size.width()) +
- "x" + TQString::number(button_size.height());
- new TQListViewItem (_theme_list_view,
- finfo->fileName(), size_string);
- }
-
- ++it2;
- }
- }
- }
-}
-
-void GlowConfigDialog::slotTitlebarGradientTypeChanged(int index)
-{
- _titlebarGradientType = static_cast<KPixmapEffect::GradientType>(index);
- emit changed();
-}
-
-void GlowConfigDialog::slotResizeHandleCheckBoxChanged()
-{
- _showResizeHandle = _showResizeHandleCheckBox->isChecked();
- emit changed();
-}
-
-void GlowConfigDialog::slotTitleButtonClicked(int index)
-{
- for( int i=0; i< ((int) _titleButtonList.size()); i++ ) {
- _titleButtonList[i]->setDown(i==index);
- }
- _colorButton->setEnabled(true);
- _colorButton->setColor(_buttonConfigMap[index]);
-}
-
-void GlowConfigDialog::slotColorButtonChanged(const TQColor& glowColor)
-{
- if( _stickyButton->isDown() ) {
- _buttonConfigMap[stickyButton] = glowColor;
- } else if( _helpButton->isDown() ) {
- _buttonConfigMap[helpButton] = glowColor;
- } else if( _iconifyButton->isDown() ) {
- _buttonConfigMap[iconifyButton] = glowColor;
- } else if( _maximizeButton->isDown() ) {
- _buttonConfigMap[maximizeButton] = glowColor;
- } else {
- _buttonConfigMap[closeButton] = glowColor;
- }
- emit changed();
-}
-
-void GlowConfigDialog::slotThemeListViewSelectionChanged ()
-{
- if( _theme_list_view->selectedItem() != 0 ) {
- _theme_name = _theme_list_view->selectedItem()->text (0);
-
- emit changed();
- }
-}
-
-#include "glowconfigdialog.moc"