diff options
Diffstat (limited to 'kwin-styles/glow/config/glowconfigdialog.cpp')
-rw-r--r-- | kwin-styles/glow/config/glowconfigdialog.cpp | 369 |
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" |