From 42573cc6b43972357d166b0eabf665b1de64f0ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Fri, 25 Mar 2016 20:37:57 +0100 Subject: Update to new style API Rename KStyle to TDEStyle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- config/Makefile.am | 16 +- config/kstyle_baghira_config.cpp | 1243 ------------------------------------ config/kstyle_baghira_config.h | 163 ----- config/tdestyle_baghira_config.cpp | 1243 ++++++++++++++++++++++++++++++++++++ config/tdestyle_baghira_config.h | 163 +++++ 5 files changed, 1414 insertions(+), 1414 deletions(-) delete mode 100644 config/kstyle_baghira_config.cpp delete mode 100644 config/kstyle_baghira_config.h create mode 100644 config/tdestyle_baghira_config.cpp create mode 100644 config/tdestyle_baghira_config.h (limited to 'config') diff --git a/config/Makefile.am b/config/Makefile.am index fb84c20..1c1e6af 100644 --- a/config/Makefile.am +++ b/config/Makefile.am @@ -1,21 +1,21 @@ INCLUDES = $(all_includes) -noinst_HEADERS = about.h configdialog.h help.h kstyle_baghira_config.h colordialog.h colorpicker.h +noinst_HEADERS = about.h configdialog.h help.h tdestyle_baghira_config.h colordialog.h colorpicker.h METASOURCES = AUTO # Install this plugin in the KDE modules directory -kde_module_LTLIBRARIES = kstyle_baghira_config.la +kde_module_LTLIBRARIES = tdestyle_baghira_config.la -kstyle_baghira_config_la_SOURCES = kstyle_baghira_config.cpp colordialog.cpp colorpicker.cpp configdialog.ui help.ui about.ui -# kstyle_baghira_config_la_METASOURCES = AUTO -kstyle_baghira_config_la_LIBADD = $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) $(LIB_TDEIO) -kstyle_baghira_config_la_LDFLAGS = -module -avoid-version $(all_libraries) -no-undefined $(KDE_PLUGIN) +tdestyle_baghira_config_la_SOURCES = tdestyle_baghira_config.cpp colordialog.cpp colorpicker.cpp configdialog.ui help.ui about.ui +# tdestyle_baghira_config_la_METASOURCES = AUTO +tdestyle_baghira_config_la_LIBADD = $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) $(LIB_TDEIO) +tdestyle_baghira_config_la_LDFLAGS = -module -avoid-version $(all_libraries) -no-undefined $(KDE_PLUGIN) messages: rc.cpp - $(XGETTEXT) *.cpp -o $(podir)/kstyle_baghira_config.pot + $(XGETTEXT) *.cpp -o $(podir)/tdestyle_baghira_config.pot pixmaps.h: $(srcdir)/generatePixmaps.sh $(SHELL) $(srcdir)/generatePixmaps.sh $(top_srcdir) CLEANFILES = pixmaps.h -kstyle_baghira_config.lo: pixmaps.h +tdestyle_baghira_config.lo: pixmaps.h diff --git a/config/kstyle_baghira_config.cpp b/config/kstyle_baghira_config.cpp deleted file mode 100644 index ad43805..0000000 --- a/config/kstyle_baghira_config.cpp +++ /dev/null @@ -1,1243 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2004 by Thomas Lübking * - * thomas@home * - * * - * 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. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -// #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "kstyle_baghira_config.h" -#include "pixmaps.h" -#include "colordialog.h" -#include "colorpicker.h" - -#include "config.h" - -//#define VERSION "0.7" - -#ifndef TDE_VERSION_STRING -#define TDE_VERSION_STRING "error" -#endif -#ifndef TQT_BUILD_KEY -#define TQT_BUILD_KEY "error error error error" -#endif - -#define CLAMP(x,l,u) x < l ? l :\ - x > u ? u :\ - x - -#define SATURATION_COLOR(R,G,B) \ - grey = (299 * R + 587 * G + 114 * B) / 1000; \ - delta = 255 - grey; \ - grey = (grey *(10 - 5)) / 10; \ - iGrey = 255 - grey;\ - destR = (iGrey * (srcR - delta) + grey * R) / 255; \ - destG = (iGrey * (srcG - delta) + grey * G) / 255; \ - destB = (iGrey * (srcB - delta) + grey * B) / 255; - -#define SATURATION_COLOR2(S,R,G,B) \ - int max = (int)(255+0.65*(100-S)); \ - destR = CLAMP((srcR + R - 128), 0, max); \ - destG = CLAMP((srcG + G - 128), 0, max); \ - destB = CLAMP((srcB + B - 128), 0, max); \ - destR = (S*destR + (100-S)*R)/100; \ - destG = (S*destG + (100-S)*G)/100; \ - destB = (S*destB + (100-S)*B)/100; - -#define COLOR_SPACE(R,G,B) \ - if ( R < 0 ) R = 0; else if ( R > 255 ) R = 255; \ - if ( G < 0 ) G = 0; else if ( G > 255 ) G = 255; \ - if ( B < 0 ) B = 0; else if ( B > 255 ) B = 255; - - -void kstyle_baghira_config::openHtml1() -{ - TQStringList args; - args << "exec" << "http://baghira.sf.net/"; - kapp->tdeinitExec("kfmclient", args); -} - -void kstyle_baghira_config::openHtml2() -{ - TQStringList args; - args << "exec" << "http://www.sf.net/projects/baghira/files/"; - kapp->tdeinitExec("kfmclient", args); -} - -void kstyle_baghira_config::startBab() -{ - kapp->tdeinitExec("bab"); -} - -void kstyle_baghira_config::startKRuler() -{ - kapp->tdeinitExec("kruler"); -} - -TQImage* kstyle_baghira_config::tintButton(TQImage &src, TQColor c) -{ - TQImage *dest = new TQImage( src.width(), src.height(), 32, 0 ); - dest->setAlphaBuffer( true ); - unsigned int *data = ( unsigned int * ) src.bits(); - unsigned int *destData = ( unsigned int* ) dest->bits(); - int total = src.width() * src.height(); - int red, green, blue; - int destR, destG, destB, alpha; - int srcR = c.red(); - int srcG = c.green(); - int srcB = c.blue(); - int hue, s, v; - c.getHsv( &hue, &s, &v ); - int sq = CLAMP((int)((45.0/128.0)*s+55),0,100); - // float srcPercent, destPercent; - for ( int current = 0 ; current < total ; ++current ) { - alpha = tqAlpha( data[ current ] ); - blue = tqBlue( data[ current ] ); - red = tqRed( data[ current ] ); - green = tqGreen( data[ current ] ); - SATURATION_COLOR2(sq, red, green, blue); - // force back to valid colorspace ! - COLOR_SPACE(destR, destG, destB); - destData[ current ] = tqRgba( destR, destG, destB, alpha ); - } - return ( dest ); -} - -TQImage* kstyle_baghira_config::tintBrush( TQImage &img, TQColor c) -{ - TQImage *dest = new TQImage( img.width(), img.height(), 32, 0 ); - unsigned int *data = ( unsigned int * ) img.bits(); - unsigned int *destData = ( unsigned int* ) dest->bits(); - int total = img.width() * img.height(); - int current; - int delta; - int red, green, blue, grey, iGrey; - int destR, destG, destB, alpha; - - int srcR = c.red(); - int srcG = c.green(); - int srcB = c.blue(); - - - // float srcPercent, destPercent; - for ( current = 0 ; current < total ; ++current ) { - alpha = tqAlpha( data[ current ] ); - blue = tqBlue( data[ current ] ); - red = tqRed( data[ current ] ); - green = tqGreen( data[ current ] ); - SATURATION_COLOR(red, green, blue); - // force back to valid colorspace ! - COLOR_SPACE(destR, destG, destB); - destData[ current ] = tqRgba( destR, destG, destB, alpha ); - } - return ( dest ); -} - -void kstyle_baghira_config::sliderButtonRedChanged(int value) -{ - sliderButtonRedValue = value; - dialog_->valueButtonRed->setNum(value); - dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); - dialog_->pixmapButtonPreview->repaint(false); - configChanged(); -} - -void kstyle_baghira_config::sliderButtonGreenChanged(int value) -{ - sliderButtonGreenValue = value; - dialog_->valueButtonGreen->setNum(value); - dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); - dialog_->pixmapButtonPreview->repaint(false); - configChanged(); -} - -void kstyle_baghira_config::sliderButtonBlueChanged(int value) -{ - sliderButtonBlueValue = value; - dialog_->valueButtonBlue->setNum(value); - dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); - dialog_->pixmapButtonPreview->repaint(false); - configChanged(); -} - -void kstyle_baghira_config::sliderBrushRedChanged(int value) -{ - sliderBrushRedValue = value; - dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, TQColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue))); - dialog_->pixmapBrushPreview->repaint(false); - configChanged(); -} - -void kstyle_baghira_config::sliderBrushGreenChanged(int value) -{ - sliderBrushGreenValue = value; - dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, TQColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue))); - dialog_->pixmapBrushPreview->repaint(false); - configChanged(); -} - -void kstyle_baghira_config::sliderBrushBlueChanged(int value) -{ - sliderBrushBlueValue = value; - dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, TQColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue))); - dialog_->pixmapBrushPreview->repaint(false); - configChanged(); -} - -// void kstyle_baghira_config::sliderBrushSaturationChanged(int value) -// { -// sliderBrushSaturationValue = value; -// dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, TQColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue), sliderBrushSaturationValue)); -// dialog_->pixmapBrushPreview->repaint(false); -// emit changed(true); -// } - -// button color preset table - internal only, AND DON'T CHANGE ONLY ONE! - -enum ColorPreset {Aqua = 0, Graphite, GraphiteDark, Orange, Lime, Black, Smoke, Girlie, Smaragd, Emerald, Yellow, DeepBlueSea, Blood, Turquoise, Lilac, NUMBEROFCOLORS}; - -const char * presetColorName[NUMBEROFCOLORS] = { - "Aqua", "Graphite", "Graphite (Dark)", "Orange", "Lime", "Black", "Smoke", "Girlie", "Smaragd", "Emerald", "Yellow", "Deep Blue Sea", "Blood", "Turquoise", "Lilac" -}; - -int presetColor[NUMBEROFCOLORS][3] = {{84,144,218},{130,170,190},{103,118,134},{200,130,30},{130,180,80},{0,0,0},{106,110,120},{255,130,200},{100,160,75},{255,100,90},{160,160,70},{50,100,200},{150,25,25},{60,170,190},{150,130,220}}; - -// -------------------------------- - -typedef KGenericFactory kstyle_baghira_configFactory; -K_EXPORT_COMPONENT_FACTORY( kcm_kstyle_baghira_config, kstyle_baghira_configFactory("kcmkstyle_baghira_config")) - -//extern TQImage uic_findImage(const TQString& name); -//extern void qInitImages_baghira(); -//extern void qCleanupImages_baghira(); - -void kstyle_baghira_config::updateCR() -{ - if (!about_->isShown()) - { - timer->stop(); - return; - } - if (crCurrent < 2) - crCurrent++; - else - crCurrent = 0; - about_->crLabel->setText(crNotes[crCurrent]); -} - -void kstyle_baghira_config::showAbout() -{ - crCurrent = 0; - about_->crLabel->setText(crNotes[0]); - timer->start( 4000 ); - about_->exec(); -} - -kstyle_baghira_config::kstyle_baghira_config(TQWidget *parent, const char *name, const TQStringList&) : TQWidget(parent, name )//, myAboutData(0) -{ - loadDone = false; - if (parent) parent->setCaption("Configure Your Cat"); - TQVBoxLayout *layout = new TQVBoxLayout(this); - dialog_ = new Config(this); - - for (int i = 0; i < NUMBEROFCOLORS; i++) - dialog_->colorPresets->insertItem ( presetColorName[i], i ); - - TQWidget *rulesWidget = new TQWidget(dialog_->tabWidget); - TQHBoxLayout *rwlh = new TQHBoxLayout(rulesWidget); - applist = new TDEListView(rulesWidget); - applist->setFullWidth(true); -#if KDE_IS_VERSION(3,3,91) - applist->setShadeSortColumn(false); -#endif - applist->setAllColumnsShowFocus( true ); - applist->setSelectionMode(TQListView::Single); - applist->addColumn ( i18n("Name") ); - applist->addColumn ( i18n("Links to") ); - TQDir d( TQDir::homeDirPath() + "/.baghira", 0L, TQDir::Name | TQDir::IgnoreCase, TQDir::Files | TQDir::Readable | TQDir::Writable ); - if (!d.exists()) - d.mkdir(TQDir::homeDirPath() + "/.baghira"); - else - { - for ( uint i = 0; i < d.count(); i++ ) - { - TQFileInfo FI = TQFileInfo(d, d[i]); - if (FI.isSymLink()) - applist->insertItem(new TDEListViewItem(applist, d[i], FI.readLink().section('/',-1,-1))); - else - applist->insertItem(new TDEListViewItem(applist, d[i])); - } - } - rwlh->addWidget(applist); -// rwlh->addLayout(rwlv); - TQVBoxLayout *rwlv = new TQVBoxLayout(rwlh); - rwlv->addStretch(); - TQPushButton *btnNew = new TQPushButton("New...", rulesWidget); - TQPushButton *btnEdit = new TQPushButton("Edit...", rulesWidget); - TQPushButton *btnDel = new TQPushButton("Remove", rulesWidget); - TQPushButton *btnDet = new TQPushButton("Detect", rulesWidget); - rwlv->addWidget(btnNew); - rwlv->addWidget(btnEdit); - rwlv->addWidget(btnDel); - rwlv->addSpacing( 5 ); - rwlv->addWidget(btnDet); - rwlv->addStretch(); - dialog_->tabWidget->addTab( rulesWidget, TQString("Rules") ); - appsetter = new AppSetter(this); - connect(btnNew, SIGNAL(clicked()), appsetter, SLOT(show())); - connect(btnEdit, SIGNAL(clicked()), this, SLOT(editApp())); - connect(this, SIGNAL(editApp(TQString, TQString)), appsetter, SLOT(show(TQString, TQString))); - connect(btnDel, SIGNAL(clicked()), this, SLOT(removeApp())); - connect(btnDet, SIGNAL(clicked()), this, SLOT(selectWindow())); - connect(appsetter, SIGNAL(addApp(TQString, TQString)), this, SLOT(addApp(TQString, TQString))); - connect(appsetter, SIGNAL(removeApp(TQString)), this, SLOT(removeApp(TQString))); - // preview stuff - baseImage = uic_findImage("button-base"); - - layout->addWidget(dialog_); - - dialog_->show(); - help_ = new Help(dialog_); - about_ = new About(dialog_); - about_->versionLabel->setText(VERSION); - about_->kdeLabel->setText(TDE_VERSION_STRING); - crCurrent = 0; - crNotes[0] = "© 2003-2005 by Thomas Lübking
http://baghira.SourceForge.net
"; - crNotes[1] = "© \"Design\" 2001-2005 by Apple inc.
http://www.apple.com"; - crNotes[2] = "© \"Milk\" 2002-2005 by Max Rudberg
http://www.maxthemes.com
"; - timer = new TQTimer(); - connect( timer, SIGNAL(timeout()), this, SLOT(updateCR()) ); - TQString tmpString(TQT_BUILD_KEY); - about_->systemLabel->setText(tmpString.section(' ',1,1)); - about_->cpuLabel->setText(tmpString.section(' ',0,0)); - about_->setFixedSize (380, 430); - - // connections - // buttons - connect(dialog_->buttonHelp, SIGNAL(clicked()), help_, SLOT(exec())); - connect(dialog_->buttonAbout, SIGNAL(clicked()), this, SLOT(showAbout())); - connect(about_->buttonInfo, SIGNAL(clicked()), this, SLOT(openHtml1())); - connect(about_->buttonDownload, SIGNAL(clicked()), this, SLOT(openHtml2())); - connect(help_->startBAB, SIGNAL(clicked()), this, SLOT(startBab())); - connect(dialog_->startKRuler, SIGNAL(clicked()), this, SLOT(startKRuler())); - connect(dialog_->buttonLoad, SIGNAL(clicked()), this, SLOT(buttonLoadAction())); - connect(dialog_->buttonSaveAs, SIGNAL(clicked()), this, SLOT(buttonSaveAsAction())); - connect(dialog_->colorPresets, SIGNAL(activated(int)), this, SLOT(setPresetColor(int))); - - // changes - connect(dialog_->defaultStyle, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->buttonStyle, SIGNAL(activated(int)), this, SLOT(handleButtonStyles(int))); - connect(dialog_->toolbuttonStyle, SIGNAL(activated(int)), this, SLOT(handleButtonStyles(int))); - connect(dialog_->animateButtons, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->stippleBackground, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->bevelHighlights, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->stippleContrast, SIGNAL(valueChanged (int)), this, SLOT(configChanged())); - connect(dialog_->shadowGroups, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->shadowIntensity, SIGNAL(valueChanged (int)), this, SLOT(configChanged())); - connect(dialog_->centerTabs, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->colorMode, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->inactiveColorType, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->animateSlider, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->shadowSlider, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->squeezeSlider, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->unhoveredToolButtons, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->aquaTabs, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->brushedTabs, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->drawTreeLines, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->useCustomExpanderColor, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->treeLineMode, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->expanderMode, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->useCustomExpanderColor, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->useRectLVH, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->removeKickerBevel, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->replaceMenubar, SIGNAL(toggled(bool)), this, SLOT(menuToggled(bool))); - connect(dialog_->roundTasks, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->showProgressValue, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->progressType, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->menuBackground, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->menuOpacity, SIGNAL(valueChanged (int)), this, SLOT(configChanged())); - connect(dialog_->shadowMenuText, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->menuColorMode, SIGNAL(activated(int)), this, SLOT(configChanged())); - connect(dialog_->useCustomColors, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->drawMenuStripe, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - connect(dialog_->glossyMenus, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); - - connect(dialog_->customInactiveColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); -connect(dialog_->toolbuttonHighColor, SIGNAL(changed(const TQColor &)), this, SLOT(changeTooluttonHighlightColor(const TQColor &))); - connect(dialog_->treeLineColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->customExpanderColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->menuTextColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->menuTextColorHigh, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->menuColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->menuColorHigh, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->menuColor2, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->radioOffColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->radioOnColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->checkOffColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->checkOnColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->sliderColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->hoverSliderColorColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->pressedSliderColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->inactiveTabColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->activeTabColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - connect(dialog_->menuStripeColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); - - connect(dialog_->sliderButtonRed, SIGNAL(valueChanged (int)), this, SLOT(sliderButtonRedChanged(int))); - connect(dialog_->sliderButtonGreen, SIGNAL(valueChanged (int)), this, SLOT(sliderButtonGreenChanged(int))); - connect(dialog_->sliderButtonBlue, SIGNAL(valueChanged (int)), this, SLOT(sliderButtonBlueChanged(int))); - - connect(dialog_->sliderBrushRed, SIGNAL(valueChanged (int)), this, SLOT(sliderBrushRedChanged(int))); - connect(dialog_->sliderBrushGreen, SIGNAL(valueChanged (int)), this, SLOT(sliderBrushGreenChanged(int))); - connect(dialog_->sliderBrushBlue, SIGNAL(valueChanged (int)), this, SLOT(sliderBrushBlueChanged(int))); - - // GUI - connect (dialog_->defaultStyle, SIGNAL(activated(int)), this, SLOT(setDesign(int))); - connect (dialog_->inactiveColorType, SIGNAL(activated(int)), this, SLOT(enableInButtonColor(int))); - connect (dialog_->drawTreeLines, SIGNAL(toggled(bool)), dialog_->treeLineMode, SLOT(setEnabled(bool))); - connect (dialog_->drawTreeLines, SIGNAL(toggled(bool)), dialog_->treeLineColor, SLOT(setEnabled(bool))); - connect (dialog_->useCustomExpanderColor, SIGNAL(toggled(bool)), dialog_->customExpanderColor, SLOT(setEnabled(bool))); - connect (dialog_->menuColorMode, SIGNAL(activated(int)), this, SLOT(enableMenuColorStuff(int))); - connect (dialog_->menuBackground, SIGNAL(activated(int)), this, SLOT(enableMenuColorStuff(int))); - connect (dialog_->drawMenuStripe, SIGNAL(toggled(bool)), dialog_->menuStripeColor, SLOT(setEnabled(bool))); -// connect (dialog_->tintBrush, SIGNAL(toggled(bool)), dialog_->brushBox, SLOT(setEnabled(bool))); - connect (dialog_->useCustomColors, SIGNAL(toggled(bool)), dialog_->colorFrame, SLOT(setEnabled(bool))); - - // load settings - load(); - loadDone = true; - - dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); - -}; - -kstyle_baghira_config::~kstyle_baghira_config() -{ - if (timer) delete timer; -} - -void kstyle_baghira_config::setPresetColor(int i) -{ - dialog_->sliderButtonRed->setValue(presetColor[i][0]); - dialog_->sliderButtonGreen->setValue(presetColor[i][1]); - dialog_->sliderButtonBlue->setValue(presetColor[i][2]); -} - -void kstyle_baghira_config::load() -{ - TQString tmpString = TQDir::homeDirPath() + "/.qt/baghirarc"; - load (tmpString); -} - -void kstyle_baghira_config::load(TQString &fileName) -{ - TDEConfig *config = new TDEConfig(fileName); -// TQSettings config; - config->setGroup("BAB"); - // general Design - dialog_->defaultStyle->setCurrentItem(config->readNumEntry("defaultState", 0 )); -// config->endGroup(); - config->setGroup("Style"); - dialog_->buttonStyle->setCurrentItem(config->readNumEntry("Special_ButtonStyle", 1 )); - dialog_->toolbuttonStyle->setCurrentItem(config->readNumEntry("Special_ToolbuttonStyle", 1 )); - dialog_->stippleBackground->setChecked( config->readBoolEntry( "Design_StippleBackground", true)); - dialog_->animateButtons->setChecked( config->readBoolEntry( "Design_AnimateButtons", true)); - dialog_->stippleContrast->setValue( config->readNumEntry( "Design_StippleContrast", 3)); - dialog_->shadowGroups->setChecked( config->readBoolEntry( "Design_ShadowGroupBoxes", true)); - dialog_->shadowIntensity->setValue( config->readNumEntry( "Design_GroupBoxeShadowDarkness", 6)); - dialog_->bevelHighlights->setChecked( config->readBoolEntry( "Design_BevelAsHighlight", true)); - dialog_->colorMode->setCurrentItem(config->readNumEntry("Design_ButtonStyle", 0)); - dialog_->inactiveColorType->setCurrentItem(config->readNumEntry( "Design_InactiveButtonStyle", 1)); - dialog_->customInactiveColor->setColor(TQColor(config->readNumEntry("Design_InactiveButtonColor",(int)colorGroup().background().rgb()))); - dialog_->centerTabs->setChecked( config->readBoolEntry( "Design_CenterTabs", true)); - // button color stuff - TQColor tmpColor = TQColor(config->readNumEntry("Design_ButtonColor",(int)colorGroup().button().rgb())); - dialog_->sliderButtonRed->setValue(sliderButtonRedValue = tmpColor.red()); - dialog_->sliderButtonGreen->setValue(sliderButtonGreenValue = tmpColor.green()); - dialog_->sliderButtonBlue->setValue(sliderButtonBlueValue = tmpColor.blue()); - dialog_->valueButtonRed->setNum(sliderButtonRedValue); - dialog_->valueButtonGreen->setNum(sliderButtonGreenValue); - dialog_->valueButtonBlue->setNum(sliderButtonBlueValue); - - // special Widgets - //ListViews - dialog_->useRectLVH->setChecked( config->readBoolEntry( "Special_UseFlatLVH", false)); - dialog_->drawTreeLines->setChecked( config->readBoolEntry( "Special_DrawTreeLines", false)); - dialog_->treeLineMode->setCurrentItem(config->readNumEntry( "Special_TreelineStyle", 0)); - dialog_->treeLineColor->setColor( TQColor( config->readNumEntry( "Special_TreelineColor", (int) colorGroup().mid().rgb()))); - dialog_->expanderMode->setCurrentItem(config->readNumEntry( "Special_ExpanderStyle", 0)); - dialog_->useCustomExpanderColor->setChecked( config->readBoolEntry( "Special_CustomExpanderColor", false)); - dialog_->customExpanderColor->setColor( TQColor( config->readNumEntry( "Special_ExpanderColor", (int) colorGroup().text().rgb()))); - //Kicker - dialog_->removeKickerBevel->setChecked( config->readBoolEntry( "Special_RemoveKickerBevel", true)); - dialog_->roundTasks->setChecked( config->readBoolEntry( "Special_RoundTaskbuttons", false)); - TQFile file(TQDir::homeDirPath() + "/.kde/share/apps/kicker/applets/menuapplet.desktop"); - dialog_->replaceMenubar->setChecked( menuReplaced = file.exists() ); - //Scrollbars - dialog_->animateSlider->setChecked( config->readBoolEntry( "Special_AnimateSlider", true)); - dialog_->shadowSlider->setChecked( config->readBoolEntry( "Special_ShadowSlider", false)); - dialog_->squeezeSlider->setChecked( config->readBoolEntry( "Special_SqueezeSlider", false)); - //Progress - dialog_->progressType->setCurrentItem( config->readNumEntry( "Special_ProgressStyle", 0)); - dialog_->showProgressValue->setChecked( config->readBoolEntry( "Special_ShowProgressValue", false)); - //Toolbars - dialog_->unhoveredToolButtons->setCurrentItem(config->readNumEntry( "Special_UnhoveredToolButtons", 2)); - //Tabs - dialog_->aquaTabs->setCurrentItem(config->readNumEntry("Design_TabStyleAqua", 0 )); - dialog_->brushedTabs->setCurrentItem(config->readNumEntry("Design_TabStyleBrushed", 1 )); - - // menus - dialog_->menuBackground->setCurrentItem( config->readNumEntry( "Menu_Background", 0)); - dialog_->menuOpacity->setValue( config->readNumEntry( "Menu_Opacity", 70)); - //Look - dialog_->shadowMenuText->setChecked( config->readBoolEntry( "Menu_ShadowText", true)); - dialog_->menuColorMode->setCurrentItem(config->readNumEntry("Menu_ColorStyle")); - dialog_->menuTextColor->setColor( TQColor( config->readNumEntry( "Menu_TextColor", (int) colorGroup().text().rgb()))); - dialog_->menuTextColorHigh->setColor( TQColor( config->readNumEntry( "Menu_TextColorHighlight", (int) colorGroup().highlightedText().rgb()))); - dialog_->menuColor->setColor( TQColor( config->readNumEntry( "Menu_Color1", (int) colorGroup().background().rgb()))); - dialog_->menuColor2->setColor( TQColor( config->readNumEntry( "Menu_Color2", (int) colorGroup().background().dark(130).rgb()))); - dialog_->menuColorHigh->setColor( TQColor( config->readNumEntry( "Menu_ColorHighlight", (int) colorGroup().highlight().rgb()))); - dialog_->drawMenuStripe->setChecked(config->readBoolEntry( "Menu_DrawMenuStripe", false)); - dialog_->glossyMenus->setChecked(config->readBoolEntry( "Menu_Glossy", true)); - dialog_->menuStripeColor->setColor( TQColor( config->readNumEntry( "Menu_StripeColor", (int) TQt::white.rgb()))); - - // custom colors - dialog_->useCustomColors->setChecked( config->readBoolEntry( "Colors_UseCustomColors", false)); - dialog_->radioOffColor->setColor( TQColor( config->readNumEntry( "Colors_RadioOff", ( int ) colorGroup().background().rgb()))); - dialog_->radioOnColor->setColor( TQColor( config->readNumEntry( "Colors_RadioOn", ( int ) colorGroup().button().rgb()))); - dialog_->checkOffColor->setColor( TQColor( config->readNumEntry( "Colors_CheckOff", ( int ) colorGroup().background().rgb()))); - dialog_->checkOnColor->setColor( TQColor( config->readNumEntry( "Colors_CheckOn", ( int ) colorGroup().button().rgb()))); - dialog_->sliderColor->setColor( TQColor( config->readNumEntry( "Colors_Slider", ( int ) colorGroup().button().rgb()))); - dialog_->hoverSliderColorColor->setColor(TQColor(config->readNumEntry("Colors_SliderHovered",(int)colorGroup().button().rgb()))); - dialog_->pressedSliderColor->setColor(TQColor(config->readNumEntry("Colors_SliderPressed",(int) colorGroup().button().dark(110).rgb()))); - dialog_->sliderGrooveColor->setColor(TQColor(config->readNumEntry("Colors_SliderGroove",(int)colorGroup().background().rgb()))); - dialog_->inactiveTabColor->setColor(TQColor(config->readNumEntry("Colors_TabInactive",(int) colorGroup().background().rgb()))); - dialog_->activeTabColor->setColor(TQColor(config->readNumEntry("Colors_TabActive",(int)colorGroup().button().rgb()))); - dialog_->tintBrush->setChecked( config->readBoolEntry( "Colors_TintBrushedMetal", false)); - brushTint = TQColor(config->readNumEntry("Colors_BrushTint",(int)colorGroup().background().rgb())); -// dialog_->brushTintSaturaion->setValue(settings.readNumEntry( "/qt/Baghira/brushTintSaturation", 3)); - baseImage2 = uic_findImage("brush-me"); - dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, brushTint)); - dialog_->sliderBrushRed->setValue(sliderBrushRedValue = brushTint.red()); - dialog_->sliderBrushGreen->setValue(sliderBrushGreenValue = brushTint.green()); - dialog_->sliderBrushBlue->setValue(sliderBrushBlueValue = brushTint.blue()); - config->setGroup("Menubar"); - dialog_->menuMaxWidth->setValue(config->readNumEntry("Width", TQDesktopWidget().availableGeometry().width())); - config->setGroup("Sidebar"); - delete config; - - config = new TDEConfig("kdeglobals"); - config->setGroup( "Toolbar style" ); - dialog_->toolbuttonHighColor->setColor(config->readColorEntry("HighlightColor", new TQColor(103,141,178)) ); - delete config; -} - - -void kstyle_baghira_config::defaults() -{ - dialog_->defaultStyle->setCurrentItem(0); - dialog_->buttonStyle->setCurrentItem(1); - dialog_->toolbuttonStyle->setCurrentItem(1); - dialog_->animateButtons->setChecked( true); - dialog_->stippleBackground->setChecked( true); - dialog_->stippleContrast->setValue( 30); - dialog_->shadowGroups->setChecked( true); - dialog_->shadowIntensity->setValue( 50); - dialog_->bevelHighlights->setChecked( true ); - dialog_->centerTabs->setChecked( true); - dialog_->colorMode->setCurrentItem(0); - dialog_->inactiveColorType->setCurrentItem(1); - dialog_->customInactiveColor->setColor(colorGroup().background().rgb()); - // button color stuff - dialog_->sliderButtonRed->setValue(sliderButtonRedValue = colorGroup().button().red()); - dialog_->sliderButtonGreen->setValue(sliderButtonGreenValue = colorGroup().button().green()); - dialog_->sliderButtonBlue->setValue(sliderButtonBlueValue = colorGroup().button().blue()); - dialog_->valueButtonRed->setNum(sliderButtonRedValue); - dialog_->valueButtonGreen->setNum(sliderButtonGreenValue); - dialog_->valueButtonBlue->setNum(sliderButtonBlueValue); - - // special Widgets -// dialog_->animateSlider; - dialog_->shadowSlider->setChecked( false); - dialog_->squeezeSlider->setChecked( false); - dialog_->unhoveredToolButtons->setCurrentItem(2); - dialog_->toolbuttonHighColor->setColor( TQColor(103,141,178) ); - dialog_->drawTreeLines->setChecked( false); - dialog_->useCustomExpanderColor->setChecked( false); - dialog_->treeLineMode->setCurrentItem(0); - dialog_->treeLineColor->setColor( colorGroup().mid().rgb()); - dialog_->expanderMode->setCurrentItem(0); - dialog_->customExpanderColor->setColor( colorGroup().text().rgb()); - dialog_->useRectLVH->setChecked( false); - dialog_->removeKickerBevel->setChecked( true); - dialog_->roundTasks->setChecked( false); - dialog_->showProgressValue->setChecked( false); - dialog_->progressType->setCurrentItem( 0); - dialog_->aquaTabs->setCurrentItem( 0 ); - dialog_->brushedTabs->setCurrentItem(1); - - // menus -// dialog_->transGroup; - dialog_->menuBackground->setCurrentItem(0); - dialog_->menuOpacity->setValue( 70); - dialog_->shadowMenuText->setChecked( true); - dialog_->menuColorMode->setCurrentItem(0); - dialog_->menuTextColor->setColor( colorGroup().text().rgb()); - dialog_->menuTextColorHigh->setColor( colorGroup().highlightedText().rgb()); - dialog_->menuColor->setColor( colorGroup().background().rgb()); - dialog_->menuColor2->setColor( colorGroup().background().dark(130).rgb()); - dialog_->menuColorHigh->setColor( colorGroup().highlight().rgb()); - dialog_->drawMenuStripe->setChecked(false); - dialog_->glossyMenus->setChecked(true); - dialog_->menuStripeColor->setColor( TQt::white.rgb()); - - // custom colors - dialog_->useCustomColors->setChecked( false); - dialog_->radioOffColor->setColor( colorGroup().background().rgb()); - dialog_->radioOnColor->setColor( colorGroup().button().rgb()); - dialog_->checkOffColor->setColor( colorGroup().background().rgb()); - dialog_->checkOnColor->setColor( colorGroup().button().rgb()); - dialog_->sliderColor->setColor( colorGroup().button().rgb()); - dialog_->hoverSliderColorColor->setColor(colorGroup().button().rgb()); - dialog_->pressedSliderColor->setColor(colorGroup().button().dark(110).rgb()); - dialog_->sliderGrooveColor->setColor(colorGroup().background().rgb()); - dialog_->inactiveTabColor->setColor(colorGroup().background().rgb()); - dialog_->activeTabColor->setColor(colorGroup().button().rgb()); - dialog_->tintBrush->setChecked( false); - emit changed(true); -} - -void kstyle_baghira_config::save() -{ - TQString tmpString = TQDir::homeDirPath() + "/.qt/baghirarc"; - save(tmpString); -// emit changed(true); -} - -void kstyle_baghira_config::changeTooluttonHighlightColor(const TQColor & color) -{ - TDEConfig *config = new TDEConfig("kdeglobals"); - config->setGroup( "Toolbar style" ); - config->writeEntry("HighlightColor", color); - delete config; -} - -void kstyle_baghira_config::handleButtonStyles(int i) -{ - if (i != 2 && sender() == dialog_->buttonStyle && dialog_->toolbuttonStyle->currentItem() != 2) - dialog_->toolbuttonStyle->setCurrentItem(i); - else if (i != 2 && sender() == dialog_->toolbuttonStyle && dialog_->buttonStyle->currentItem() != 2) - dialog_->buttonStyle->setCurrentItem(i); - configChanged(); -} - -void kstyle_baghira_config::save(TQString &fileName) -{ -// TQSettings *config = new TQSettings; - TDEConfig *config = new TDEConfig(fileName); - config->setGroup("BAB"); - //General Design - config->writeEntry("defaultState", dialog_->defaultStyle->currentItem()); -// config->endGroup(); - config->setGroup("Style"); - config->writeEntry("Special_ButtonStyle", dialog_->buttonStyle->currentItem()); - config->writeEntry("Special_ToolbuttonStyle", dialog_->toolbuttonStyle->currentItem()); - config->writeEntry("Design_AnimateButtons", dialog_->animateButtons->isOn()); - config->writeEntry("Design_Default", dialog_->defaultStyle->currentItem()); - config->writeEntry("Design_StippleBackground", dialog_->stippleBackground->isOn()); - config->writeEntry("Design_StippleContrast", dialog_->stippleContrast->value()); - config->writeEntry("Design_ShadowGroupBoxes", dialog_->shadowGroups->isOn()); - config->writeEntry("Design_GroupBoxeShadowDarkness", dialog_->shadowIntensity->value()); - config->writeEntry("Design_BevelAsHighlight", dialog_->bevelHighlights->isOn()); - config->writeEntry("Design_ButtonStyle", dialog_->colorMode->currentItem()); - config->writeEntry("Design_InactiveButtonStyle", dialog_->inactiveColorType->currentItem()); - config->writeEntry("Design_InactiveButtonColor", (int)dialog_->customInactiveColor->color().rgb()); - config->writeEntry("Design_CenterTabs", dialog_->centerTabs->isOn()); - //button color stuff - config->writeEntry("Design_ButtonColor", (int)(TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue).rgb())); - - // special Widgets - //listviews -// dialog_->animateSlider; - config->writeEntry("Special_UseFlatLVH", dialog_->useRectLVH->isOn()); - config->writeEntry("Special_DrawTreeLines", dialog_->drawTreeLines->isOn()); - config->writeEntry("Special_TreelineStyle", dialog_->treeLineMode->currentItem()); - config->writeEntry("Special_TreelineColor", (int)dialog_->treeLineColor->color().rgb()); - config->writeEntry("Special_ExpanderStyle", dialog_->expanderMode->currentItem()); - config->writeEntry("Special_CustomExpanderColor", dialog_->useCustomExpanderColor->isOn()); - config->writeEntry("Special_ExpanderColor", (int)dialog_->customExpanderColor->color().rgb()); - //Kicker - config->writeEntry("Special_RemoveKickerBevel", dialog_->removeKickerBevel->isOn()); - config->writeEntry("Special_RoundTaskbuttons", dialog_->roundTasks->isOn()); - TQDir tmpDir(TQDir::homeDirPath() + "/.kde"); - if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde"); - tmpDir.setPath(TQDir::homeDirPath() + "/.kde/share"); - if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde/share"); - tmpDir.setPath(TQDir::homeDirPath() + "/.kde/share/apps"); - if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde/share/apps"); - tmpDir.setPath(TQDir::homeDirPath() + "/.kde/share/apps/kicker"); - if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde/share/apps/kicker"); - tmpDir.setPath(TQDir::homeDirPath() + "/.kde/share/apps/kicker/applets"); - if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde/share/apps/kicker/applets"); - TQFile file(TQDir::homeDirPath() + "/.kde/share/apps/kicker/applets/menuapplet.desktop"); - if (dialog_->replaceMenubar->isOn()) - { - file.open(IO_WriteOnly); - const char *msg = -"[Desktop Entry]\n\ -Hidden=true\n\ -Type=Plugin\n\ -Encoding=UTF-8\n\ -Name=BaghiraMenu\n\ -X-TDE-Library=b_menu_panelapplet\n\ -X-TDE-UniqueApplet=true\n"; - file.writeBlock( msg, tqstrlen(msg) ); - file.close(); - } - else - file.remove(); - if (dialog_->replaceMenubar->isOn() != menuReplaced) - TDEApplication::dcopClient()->send("kicker", "default", "restart()", ""); - //Srollbars - config->writeEntry("Special_AnimateSlider", dialog_->animateSlider->isOn()); - config->writeEntry("Special_ShadowSlider", dialog_->shadowSlider->isOn()); - config->writeEntry("Special_SqueezeSlider", dialog_->squeezeSlider->isOn()); - //Progress - config->writeEntry("Special_ProgressStyle", dialog_->progressType->currentItem()); - config->writeEntry("Special_ShowProgressValue", dialog_->showProgressValue->isOn()); - //Toolbars - config->writeEntry("Special_UnhoveredToolButtons", dialog_->unhoveredToolButtons->currentItem()); - //Tabs - config->writeEntry("Design_TabStyleAqua", dialog_->aquaTabs->currentItem() ); - config->writeEntry("Design_TabStyleBrushed", dialog_->brushedTabs->currentItem() ); - // menus - config->writeEntry("Menu_Background", dialog_->menuBackground->currentItem()); - config->writeEntry("Menu_Opacity", dialog_->menuOpacity->value()); - //Look - config->writeEntry("Menu_ShadowText", dialog_->shadowMenuText->isOn()); - config->writeEntry("Menu_ColorStyle", dialog_->menuColorMode->currentItem()); - config->writeEntry("Menu_TextColor", (int)dialog_->menuTextColor->color().rgb()); - config->writeEntry("Menu_TextColorHighlight", (int)dialog_->menuTextColorHigh->color().rgb()); - config->writeEntry("Menu_Color1", (int)dialog_->menuColor->color().rgb()); - config->writeEntry("Menu_Color2", (int)dialog_->menuColor2->color().rgb()); - config->writeEntry("Menu_ColorHighlight", (int)dialog_->menuColorHigh->color().rgb()); - config->writeEntry("Menu_DrawMenuStripe", dialog_->drawMenuStripe->isOn()); - config->writeEntry("Menu_Glossy", dialog_->glossyMenus->isOn()); - config->writeEntry("Menu_StripeColor", (int)dialog_->menuStripeColor->color().rgb()); - - // custom colors - config->writeEntry("Colors_UseCustomColors", dialog_->useCustomColors->isOn()); - config->writeEntry("Colors_RadioOff", (int)dialog_->radioOffColor->color().rgb()); - config->writeEntry("Colors_RadioOn", (int)dialog_->radioOnColor->color().rgb()); - config->writeEntry("Colors_CheckOff",(int) dialog_->checkOffColor->color().rgb()); - config->writeEntry("Colors_CheckOn", (int)dialog_->checkOnColor->color().rgb()); - config->writeEntry("Colors_Slider",(int) dialog_->sliderColor->color().rgb()); - config->writeEntry("Colors_SliderHovered", (int)dialog_->hoverSliderColorColor->color().rgb()); - config->writeEntry("Colors_SliderPressed", (int)dialog_->pressedSliderColor->color().rgb()); - config->writeEntry("Colors_SliderGroove",(int) dialog_->sliderGrooveColor->color().rgb()); - config->writeEntry("Colors_TabInactive",(int) dialog_->inactiveTabColor->color().rgb()); - config->writeEntry("Colors_TabActive", (int)dialog_->activeTabColor->color().rgb()); - config->writeEntry("Colors_TintBrushedMetal", dialog_->tintBrush->isOn()); - config->writeEntry("Colors_BrushTint",(int)tqRgb(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue)); - config->setGroup("Menubar"); - config->writeEntry("Width", dialog_->menuMaxWidth->value()); - config->sync(); -// config->endGroup(); - delete config; -} - - -void kstyle_baghira_config::configChanged() -{ - if (loadDone) - { - dialog_->statusWarning->setText("Config changed"); - emit changed(true); - } -} - - -TQString kstyle_baghira_config::quickHelp() const -{ - return i18n("Configure Your Cat"); -} - -void kstyle_baghira_config::setDesign(int d) -{ - bool b = (d == 0); - dialog_->stippleBackground->setEnabled(b); - dialog_->stippleContrast->setEnabled(b); - dialog_->shadowGroups->setEnabled(b); - dialog_->shadowIntensity->setEnabled(b); -} - -void kstyle_baghira_config::enableInButtonColor(int d) -{ - dialog_->customInactiveColor->setEnabled(d == 3); -} - -void kstyle_baghira_config::enableMenuColorStuff(int d) -{ - bool b = (d == 2); - dialog_->menuTextColor->setEnabled(b); - dialog_->menuColor->setEnabled(b && dialog_->menuBackground->currentItem() > 0); - dialog_->menuColor2->setEnabled(b && dialog_->menuBackground->currentItem() > 1); -} - -void kstyle_baghira_config::buttonLoadAction() -{ - TQString tmpString = KFileDialog::getOpenFileName(TQDir::homeDirPath(), "*", this, "Select a Baghira config file"); - if (!tmpString.isEmpty()) - load(tmpString); -} - -void kstyle_baghira_config::buttonSaveAsAction() -{ - TQString tmpString = KFileDialog::getSaveFileName(TQDir::homeDirPath(), "*", this, "Save current Baghira configuration as"); - save(tmpString); -} - -void kstyle_baghira_config::editApp() -{ - emit editApp(applist->currentItem()->text(0), applist->currentItem()->text(1)); -} - -void kstyle_baghira_config::removeApp() -{ - TQString string = TQDir::homeDirPath() + "/.baghira/" + applist->currentItem()->text(0); - TQFile::remove(string); - applist->takeItem(applist->currentItem()); -} - -void kstyle_baghira_config::removeApp(TQString name) -{ - TQString string = TQDir::homeDirPath() + "/.baghira/" + name; - TQFile::remove(string); - applist->takeItem(applist->findItem(name, 0, TQt::ExactMatch)); -} - -void kstyle_baghira_config::addApp(TQString string, TQString linkString) -{ - applist->insertItem(new TDEListViewItem(applist, string, linkString)); - applist->sort(); -} - -void kstyle_baghira_config::selectWindow() -// taken from kcmkwin -{ - // use a dialog, so that all user input is blocked - // use WX11BypassWM and moving away so that it's not actually visible - // grab only mouse, so that keyboard can be used e.g. for switching windows - grabber = new TQDialog( NULL, NULL, true, WX11BypassWM ); - grabber->move( -1000, -1000 ); - grabber->show(); - grabber->grabMouse( crossCursor ); - grabber->installEventFilter( this ); -} - -Atom wm_state = XInternAtom( tqt_xdisplay(), "WM_STATE", False ); -// Atom wm_state = XInternAtom( tqt_xdisplay(), "WM_COMMAND", False ); - -bool kstyle_baghira_config::eventFilter( TQObject* o, TQEvent* e ) -// adapted from kcmkwin... again ;) -{ - if( o != grabber ) - return false; - if( e->type() != TQEvent::MouseButtonRelease ) - return false; - delete grabber; - grabber = NULL; - if( static_cast< TQMouseEvent* >( e )->button() != LeftButton ) - return true; - WId winId = findWindow(); - XClassHint classHint; - if (XGetClassHint(tqt_xdisplay(), winId, &classHint)) - { - TQString tmpString = TQString( classHint.res_class ).lower() + " (uncertain)"; - appsetter->show(tmpString, TQString()); -// tqWarning("class: %s",TQString( classHint.res_class ).lower().ascii()); - XFree( classHint.res_name ); - XFree( classHint.res_class ); - } - return true; -} - -WId kstyle_baghira_config::findWindow() -// taken from kcmkwin... as well =) -{ - Window root; - Window child; - uint mask; - int rootX, rootY, x, y; - Window parent = tqt_xrootwin(); -// Atom wm_state = XInternAtom( tqt_xdisplay(), "WM_STATE", False ); - for( int i = 0; - i < 10; - ++i ) - { - XQueryPointer( tqt_xdisplay(), parent, &root, &child, - &rootX, &rootY, &x, &y, &mask ); - if( child == None ) - return 0; - Atom type; - int format; - unsigned long nitems, after; - unsigned char* prop; - if( XGetWindowProperty( tqt_xdisplay(), child, wm_state, 0, 0, False, AnyPropertyType, &type, &format, &nitems, &after, &prop ) == Success ) - { - if( prop != NULL ) - XFree( prop ); - if( type != None ) - return child; - } - parent = child; - } - return 0; -} - - -void kstyle_baghira_config::menuToggled(bool active) -{ - if (!active || !loadDone) - return; - TDEConfigGroup menuConfig(TDEGlobal::config(), "KDE"); - if (!menuConfig.readBoolEntry("macStyle", false)) - if (KMessageBox::questionYesNo(0, i18n("You just selected to replace kickers menu applet for the Mac like Menubar on top of the screen, but the Mac like style isn't selected anyway
Do you want to activate it now?
"), 0L, KStdGuiItem::yes(), KStdGuiItem::no()) == KMessageBox::Yes) - { - TDEProcess proc; - proc << "tdecmshell" << "desktopbehavior"; - proc.start(TDEProcess::DontCare); - proc.detach(); - } - configChanged(); -} - -////////////////////////////////////////////////////////////////////////////// -// Plugin Stuff // -////////////////////////////////////////////////////////////////////////////// - -extern "C" -{ - TQWidget* allocate_kstyle_config(TQWidget* parent){ - return(new kstyle_baghira_config(parent, "BaghiraConfig")); - } -} - -AppSetter::AppSetter(TQWidget *parent, const char *name) : TQWidget(parent, name, TQt::WType_Dialog | TQt::WShowModal ) -{ - isEdit = FALSE; - - TQLabel *label1 = new TQLabel(i18n("Application Name"), this); - command = new TQLineEdit(this); - - TQLabel *linkTo = new TQLabel(i18n("Just like"),this); - link = new TQComboBox(this); - - box = new TQGroupBox(2,TQt::Horizontal,i18n("Custom Settings"),this); - box->setCheckable( true ); - - new TQLabel(i18n("Style"), box); - new TQLabel("Deco", box); - - style = new TQComboBox(box); - style->insertItem(i18n("Don't set")); - style->insertItem("Jaguar"); - style->insertItem("Panther"); - style->insertItem("Brushed Metal"); - style->insertItem("Tiger"); - style->insertItem("Milk"); - - deco = new TQComboBox(box); - deco->insertItem(i18n("Don't set")); - deco->insertItem("Jaguar"); - deco->insertItem("Panther"); - deco->insertItem("Brushed Metal"); - deco->insertItem("Tiger"); - deco->insertItem("Milk"); - - new TQLabel(i18n("Buttons"), box); - new TQLabel(i18n("Toolbuttons"), box); - - buttons = new TQComboBox(box); - buttons->insertItem("Jaguar"); - buttons->insertItem("Panther"); - buttons->insertItem("iTunes"); - buttons->insertItem("Tiger"); - buttons->insertItem("Milk"); - - - toolButtons = new TQComboBox(box); - toolButtons->insertItem("Jaguar"); - toolButtons->insertItem("Panther"); - toolButtons->insertItem("iTunes"); - toolButtons->insertItem("Tiger"); - toolButtons->insertItem("Milk"); - - new TQLabel(i18n("Tab vs. Chooser"), box); - new TQLabel(i18n("Inactive Button"), box); - - tabs = new TQComboBox(box); - tabs->insertItem(i18n("Don't set")); - tabs->insertItem("Tabs"); - tabs->insertItem("Adaptive"); - tabs->insertItem("Choosers"); - - - inbutton = new TQComboBox(box); - inbutton->insertItem("Fixed"); - inbutton->insertItem("Background"); - inbutton->insertItem("Active Button"); - - scanlines = new TQCheckBox("Show scanlines", box); - - TQWidget *dumb = new TQWidget(box); - customColors = new TQCheckBox(dumb); - buttonColors = new TQPushButton("Custom Colors", dumb); - TQHBoxLayout *clh = new TQHBoxLayout(dumb); - clh->addWidget(customColors); - clh->addWidget(buttonColors); - - TQVBoxLayout *lv = new TQVBoxLayout(this,11,6); - lv->addWidget(label1); - lv->addWidget(command); - TQHBoxLayout *lh0 = new TQHBoxLayout(lv); - lh0->addWidget(linkTo); - lh0->addWidget(link); - lv->addWidget(box); - TQHBoxLayout *lh = new TQHBoxLayout(lv); - TQPushButton *cancel = new TQPushButton("Cancel",this); - lh->addWidget(cancel); - TQPushButton *ok = new TQPushButton("Ok",this); - lh->addWidget(ok); - - colorDialog = new ColorDialog(this); - - connect(box, SIGNAL(toggled( bool )), link, SLOT(setDisabled(bool))); - connect(box, SIGNAL(toggled( bool )), linkTo, SLOT(setDisabled(bool))); - connect(style, SIGNAL(activated( int )), this, SLOT(handler(int))); - connect(buttons, SIGNAL(activated( int )), this, SLOT(handleButtonStyles(int))); - connect(toolButtons, SIGNAL(activated( int )), this, SLOT(handleButtonStyles(int))); - connect(cancel, SIGNAL(clicked()), this, SLOT(reset())); - connect(ok, SIGNAL(clicked()), this, SLOT(save())); - connect(customColors, SIGNAL(toggled( bool )), buttonColors, SLOT(setEnabled(bool))); - connect(buttonColors, SIGNAL(clicked()), colorDialog, SLOT(exec())); - connect(colorDialog->buttonOk, SIGNAL(clicked()), this, SLOT(updateColors())); - connect(colorDialog->buttonCancel, SIGNAL(clicked()), this, SLOT(resetColorPicker())); - reset(); -} - -AppSetter::~AppSetter() -{ -} - -void AppSetter::handleButtonStyles(int i) -{ - if (i != 2 && sender() == buttons && toolButtons->currentItem() != 2) - toolButtons->setCurrentItem(i); - else if (i != 2 && sender() == toolButtons && buttons->currentItem() != 2) - buttons->setCurrentItem(i); -} - -void AppSetter::handler(int i) -{ - scanlines->setEnabled(i != 3); -} - -void AppSetter::updateColors() -{ - for (int i = 0; i < 8; i++) - colors[i] = (int)colorDialog->picker[i]->color().rgb(); -} - -void AppSetter::show() -{ - link->clear(); - TQDir d( TQDir::homeDirPath() + "/.baghira", 0L, TQDir::Name | TQDir::IgnoreCase, TQDir::Files | TQDir::NoSymLinks | TQDir::Readable | TQDir::Writable ); - for ( uint i = 0; i < d.count(); i++ ) - link->insertItem(d[i]); - TQWidget::show(); -} - -void AppSetter::show(TQString appName, TQString linkString) -{ - isEdit = true; - oldName = appName; - oldLink = linkString; - command->setText(appName); - FILE *file = NULL; - TQString tmpString = TQDir::homeDirPath() + "/.baghira/" + appName; - if( (file = fopen(tmpString.latin1(), "r")) != NULL ) - { - uint s, d, b, t, tc, sc, ib; - s = d = 4; - b = t = sc = 2; - tc = 3; - for (int i = 0; i < 8; i++) - colors[i] = -1; - fscanf(file,"%u\n%u\n%u\n%u\n%u\n%u\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",&s,&d,&b,&t,&tc,&sc,&colors[0],&colors[1],&colors[2],&colors[3],&colors[4],&colors[5],&colors[6],&colors[7],&ib); - fclose(file); - if (s < 5) style->setCurrentItem(s+1); - if (d < 5) deco->setCurrentItem(d+1); - if (b < 5) buttons->setCurrentItem(b); - if (t < 5) toolButtons->setCurrentItem(t); - if (tc < 3) tabs->setCurrentItem(tc+1); - if (ib < 3) inbutton->setCurrentItem(ib); - scanlines->setChecked(sc < 2 ? sc : true); - scanlines->setEnabled(s != 2); - customColors->setChecked(colors[0] != -1); - buttonColors->setEnabled(customColors->isChecked()); - resetColorPicker(); - } - show(); - if (!linkString.isNull()) - { - for (int i = 0; i < link->count(); i++) - { - if (link->text(i) == linkString) - { - link->setCurrentItem(i); - break; - } - } - } - else - { - box->setChecked(true); - } -} - -void AppSetter::resetColorPicker() -{ - if (colors[0] != -1) - { - for (int i = 0; i < 8; i++) - { - colorDialog->picker[i]->blockSignals(true); - colorDialog->picker[i]->setColor(TQColor(colors[i])); - colorDialog->picker[i]->blockSignals(false); - } - ((TQWidget*)colorDialog->demo)->repaint(false); - } - else - { - for (int i = 0; i < 8; i++) - colorDialog->picker[i]->blockSignals(true); - colorDialog->picker[Back]->setColor(colorGroup().background()); - colorDialog->picker[Button]->setColor(colorGroup().button()); - colorDialog->picker[Base]->setColor(colorGroup().base()); - colorDialog->picker[Text]->setColor(colorGroup().text()); - colorDialog->picker[High]->setColor(colorGroup().highlight()); - colorDialog->picker[HighText]->setColor(colorGroup().highlightedText()); - colorDialog->picker[ButText]->setColor(colorGroup().buttonText ()); - colorDialog->picker[Alternate]->setColor(TDEGlobalSettings::alternateBackgroundColor()); - for (int i = 0; i < 8; i++) - colorDialog->picker[i]->blockSignals(false); - ((TQWidget*)colorDialog->demo)->repaint(false); - } -} - -void AppSetter::save() -{ - if (command->text() != "" && (!box->isChecked() || (style->currentItem() != 0 && deco->currentItem() != 0))) - { - if (!isEdit) - emit addApp(command->text(), box->isChecked() ? TQString() : link->currentText()); - else if (command->text() != oldName || link->currentText() != oldLink) - { - emit removeApp(oldName); - emit addApp(command->text(), box->isChecked() ? TQString() : link->currentText()); - } - if (!customColors->isChecked()) - { - for (int i = 0; i < 8; i++) - colors[i] = -1; - } - FILE *file = NULL; - TQString tmpString = TQDir::homeDirPath() + "/.baghira/" + command->text(); - if (box->isChecked()) // custom settings - { - if( (file = fopen(tmpString.latin1(), "w")) != NULL ) - { - fprintf(file,"%u\n%u\n%u\n%u\n%u\n%u\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",style->currentItem()-1, deco->currentItem()-1, buttons->currentItem(), toolButtons->currentItem(), tabs->currentItem()-1, scanlines->isChecked(), colors[0], colors[1], colors[2], colors[3], colors[4], colors[5], colors[6], colors[7], inbutton->currentItem()); - fclose(file); - } - } - else // just link - { - TQString tmpString2 = TQDir::homeDirPath() + "/.baghira/" + link->currentText(); - TQFile::remove(tmpString); // just to be sure ;) - symlink (tmpString2.latin1(), tmpString.latin1()); - } - } - reset(); -} - -void AppSetter::reset() -{ - hide(); - isEdit = false; - style->setCurrentItem(0); - deco->setCurrentItem(0); - buttons->setCurrentItem(1); - inbutton->setCurrentItem(0); - toolButtons->setCurrentItem(1); - tabs->setCurrentItem(0); - scanlines->setChecked(false); - command->clear(); - customColors->setChecked(false); - for (int i = 0; i < 8; i++) - colors[i] = -1; - box->setChecked ( false ); -} - -#include "kstyle_baghira_config.moc" diff --git a/config/kstyle_baghira_config.h b/config/kstyle_baghira_config.h deleted file mode 100644 index 8b5afe1..0000000 --- a/config/kstyle_baghira_config.h +++ /dev/null @@ -1,163 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2004 by Thomas Lübking * - * thomas@home * - * * - * 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. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -#ifndef _KSTYLE_BAGHIRA_CONFIG_H_ -#define _KSTYLE_BAGHIRA_CONFIG_H_ - -//#include -#include -#include -#include -#include "configdialog.h" -#include "help.h" -#include "about.h" - -class TDEListView; -class TQPushButton; -class AppSetter; -class TQTimer; -class TQCheckBox; -class TQComboBox; -class TQGroupBox; - -class kstyle_baghira_config: public TQWidget -{ - Q_OBJECT - -public: - kstyle_baghira_config( TQWidget *parent=0, const char *name=0, const TQStringList& = TQStringList() ); - ~kstyle_baghira_config(); - - virtual void load(); - void load(TQString &fileName); - void save(TQString &fileName); -// virtual int buttons(); - virtual TQString quickHelp() const; - virtual const TDEAboutData *aboutData()const - { return myAboutData; }; - -public slots: - void configChanged(); - void openHtml1(); - void openHtml2(); - void startBab(); - void startKRuler(); - void sliderButtonRedChanged(int); - void sliderButtonGreenChanged(int); - void sliderButtonBlueChanged(int); - void sliderBrushRedChanged(int); - void sliderBrushGreenChanged(int); - void sliderBrushBlueChanged(int); - virtual void save(); - virtual void defaults(); - -signals: - void changed(bool); - void editApp(TQString, TQString); - -protected: - bool eventFilter( TQObject* o, TQEvent* e ); - -private: - TQString crNotes[3]; - AppSetter *appsetter; - TDEListView *applist; - TQImage* tintButton(TQImage &src, TQColor c); - TQImage* tintBrush( TQImage &img, TQColor c/*, int saturation*/ ); - WId findWindow(); - TDEAboutData *myAboutData; - Config *dialog_; - Help* help_; - About* about_; - TQImage baseImage, baseImage2; - TQDialog *grabber; - TQColor buttonColor; - TQColor brushTint; - int sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue; - int sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue/*, sliderBrushSaturationValue*/; - bool loadDone; - bool menuReplaced; - TQTimer *timer; - int crCurrent; -private slots: - void updateCR(); - void showAbout(); - void editApp(); - void addApp(TQString, TQString); - void removeApp(); - void removeApp(TQString); - void setDesign(int); - void menuToggled(bool); - void enableInButtonColor(int d); - void enableMenuColorStuff(int d); - void buttonLoadAction(); - void buttonSaveAsAction(); - void setPresetColor(int i); - void selectWindow(); - void changeTooluttonHighlightColor(const TQColor &); - void handleButtonStyles(int i); -}; - -class ColorDialog; - -class AppSetter : public TQWidget -{ -Q_OBJECT -public: - AppSetter(TQWidget *parent=0, const char *name=0); - ~AppSetter(); -public slots: - void show(); - void show(TQString appName, TQString link); - -private: - bool isEdit; - int index_; - int colors[8]; - TQString oldName; - TQString oldLink; - TQLineEdit *command; - TQComboBox *link; - TQGroupBox *box; - TQComboBox *style; - TQComboBox *deco; - TQComboBox *buttons; - TQComboBox *toolButtons; - TQComboBox *tabs; - TQComboBox *inbutton; - TQCheckBox *scanlines; - TQCheckBox *customColors; - TQPushButton *buttonColors; - ColorDialog *colorDialog; - -signals: - void addApp(TQString, TQString); - void removeApp(TQString); - -private slots: - void save(); - void reset(); - void handler(int); - void updateColors(); - void resetColorPicker(); - void handleButtonStyles(int i); -}; - -#endif diff --git a/config/tdestyle_baghira_config.cpp b/config/tdestyle_baghira_config.cpp new file mode 100644 index 0000000..f94c50b --- /dev/null +++ b/config/tdestyle_baghira_config.cpp @@ -0,0 +1,1243 @@ +/*************************************************************************** + * Copyright (C) 2004 by Thomas Lübking * + * thomas@home * + * * + * 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. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//#include +// #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "tdestyle_baghira_config.h" +#include "pixmaps.h" +#include "colordialog.h" +#include "colorpicker.h" + +#include "config.h" + +//#define VERSION "0.7" + +#ifndef TDE_VERSION_STRING +#define TDE_VERSION_STRING "error" +#endif +#ifndef TQT_BUILD_KEY +#define TQT_BUILD_KEY "error error error error" +#endif + +#define CLAMP(x,l,u) x < l ? l :\ + x > u ? u :\ + x + +#define SATURATION_COLOR(R,G,B) \ + grey = (299 * R + 587 * G + 114 * B) / 1000; \ + delta = 255 - grey; \ + grey = (grey *(10 - 5)) / 10; \ + iGrey = 255 - grey;\ + destR = (iGrey * (srcR - delta) + grey * R) / 255; \ + destG = (iGrey * (srcG - delta) + grey * G) / 255; \ + destB = (iGrey * (srcB - delta) + grey * B) / 255; + +#define SATURATION_COLOR2(S,R,G,B) \ + int max = (int)(255+0.65*(100-S)); \ + destR = CLAMP((srcR + R - 128), 0, max); \ + destG = CLAMP((srcG + G - 128), 0, max); \ + destB = CLAMP((srcB + B - 128), 0, max); \ + destR = (S*destR + (100-S)*R)/100; \ + destG = (S*destG + (100-S)*G)/100; \ + destB = (S*destB + (100-S)*B)/100; + +#define COLOR_SPACE(R,G,B) \ + if ( R < 0 ) R = 0; else if ( R > 255 ) R = 255; \ + if ( G < 0 ) G = 0; else if ( G > 255 ) G = 255; \ + if ( B < 0 ) B = 0; else if ( B > 255 ) B = 255; + + +void tdestyle_baghira_config::openHtml1() +{ + TQStringList args; + args << "exec" << "http://baghira.sf.net/"; + kapp->tdeinitExec("kfmclient", args); +} + +void tdestyle_baghira_config::openHtml2() +{ + TQStringList args; + args << "exec" << "http://www.sf.net/projects/baghira/files/"; + kapp->tdeinitExec("kfmclient", args); +} + +void tdestyle_baghira_config::startBab() +{ + kapp->tdeinitExec("bab"); +} + +void tdestyle_baghira_config::startKRuler() +{ + kapp->tdeinitExec("kruler"); +} + +TQImage* tdestyle_baghira_config::tintButton(TQImage &src, TQColor c) +{ + TQImage *dest = new TQImage( src.width(), src.height(), 32, 0 ); + dest->setAlphaBuffer( true ); + unsigned int *data = ( unsigned int * ) src.bits(); + unsigned int *destData = ( unsigned int* ) dest->bits(); + int total = src.width() * src.height(); + int red, green, blue; + int destR, destG, destB, alpha; + int srcR = c.red(); + int srcG = c.green(); + int srcB = c.blue(); + int hue, s, v; + c.getHsv( &hue, &s, &v ); + int sq = CLAMP((int)((45.0/128.0)*s+55),0,100); + // float srcPercent, destPercent; + for ( int current = 0 ; current < total ; ++current ) { + alpha = tqAlpha( data[ current ] ); + blue = tqBlue( data[ current ] ); + red = tqRed( data[ current ] ); + green = tqGreen( data[ current ] ); + SATURATION_COLOR2(sq, red, green, blue); + // force back to valid colorspace ! + COLOR_SPACE(destR, destG, destB); + destData[ current ] = tqRgba( destR, destG, destB, alpha ); + } + return ( dest ); +} + +TQImage* tdestyle_baghira_config::tintBrush( TQImage &img, TQColor c) +{ + TQImage *dest = new TQImage( img.width(), img.height(), 32, 0 ); + unsigned int *data = ( unsigned int * ) img.bits(); + unsigned int *destData = ( unsigned int* ) dest->bits(); + int total = img.width() * img.height(); + int current; + int delta; + int red, green, blue, grey, iGrey; + int destR, destG, destB, alpha; + + int srcR = c.red(); + int srcG = c.green(); + int srcB = c.blue(); + + + // float srcPercent, destPercent; + for ( current = 0 ; current < total ; ++current ) { + alpha = tqAlpha( data[ current ] ); + blue = tqBlue( data[ current ] ); + red = tqRed( data[ current ] ); + green = tqGreen( data[ current ] ); + SATURATION_COLOR(red, green, blue); + // force back to valid colorspace ! + COLOR_SPACE(destR, destG, destB); + destData[ current ] = tqRgba( destR, destG, destB, alpha ); + } + return ( dest ); +} + +void tdestyle_baghira_config::sliderButtonRedChanged(int value) +{ + sliderButtonRedValue = value; + dialog_->valueButtonRed->setNum(value); + dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); + dialog_->pixmapButtonPreview->repaint(false); + configChanged(); +} + +void tdestyle_baghira_config::sliderButtonGreenChanged(int value) +{ + sliderButtonGreenValue = value; + dialog_->valueButtonGreen->setNum(value); + dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); + dialog_->pixmapButtonPreview->repaint(false); + configChanged(); +} + +void tdestyle_baghira_config::sliderButtonBlueChanged(int value) +{ + sliderButtonBlueValue = value; + dialog_->valueButtonBlue->setNum(value); + dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); + dialog_->pixmapButtonPreview->repaint(false); + configChanged(); +} + +void tdestyle_baghira_config::sliderBrushRedChanged(int value) +{ + sliderBrushRedValue = value; + dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, TQColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue))); + dialog_->pixmapBrushPreview->repaint(false); + configChanged(); +} + +void tdestyle_baghira_config::sliderBrushGreenChanged(int value) +{ + sliderBrushGreenValue = value; + dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, TQColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue))); + dialog_->pixmapBrushPreview->repaint(false); + configChanged(); +} + +void tdestyle_baghira_config::sliderBrushBlueChanged(int value) +{ + sliderBrushBlueValue = value; + dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, TQColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue))); + dialog_->pixmapBrushPreview->repaint(false); + configChanged(); +} + +// void tdestyle_baghira_config::sliderBrushSaturationChanged(int value) +// { +// sliderBrushSaturationValue = value; +// dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, TQColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue), sliderBrushSaturationValue)); +// dialog_->pixmapBrushPreview->repaint(false); +// emit changed(true); +// } + +// button color preset table - internal only, AND DON'T CHANGE ONLY ONE! + +enum ColorPreset {Aqua = 0, Graphite, GraphiteDark, Orange, Lime, Black, Smoke, Girlie, Smaragd, Emerald, Yellow, DeepBlueSea, Blood, Turquoise, Lilac, NUMBEROFCOLORS}; + +const char * presetColorName[NUMBEROFCOLORS] = { + "Aqua", "Graphite", "Graphite (Dark)", "Orange", "Lime", "Black", "Smoke", "Girlie", "Smaragd", "Emerald", "Yellow", "Deep Blue Sea", "Blood", "Turquoise", "Lilac" +}; + +int presetColor[NUMBEROFCOLORS][3] = {{84,144,218},{130,170,190},{103,118,134},{200,130,30},{130,180,80},{0,0,0},{106,110,120},{255,130,200},{100,160,75},{255,100,90},{160,160,70},{50,100,200},{150,25,25},{60,170,190},{150,130,220}}; + +// -------------------------------- + +typedef KGenericFactory tdestyle_baghira_configFactory; +K_EXPORT_COMPONENT_FACTORY( tdecm_tdestyle_baghira_config, tdestyle_baghira_configFactory("tdecmtdestyle_baghira_config")) + +//extern TQImage uic_findImage(const TQString& name); +//extern void qInitImages_baghira(); +//extern void qCleanupImages_baghira(); + +void tdestyle_baghira_config::updateCR() +{ + if (!about_->isShown()) + { + timer->stop(); + return; + } + if (crCurrent < 2) + crCurrent++; + else + crCurrent = 0; + about_->crLabel->setText(crNotes[crCurrent]); +} + +void tdestyle_baghira_config::showAbout() +{ + crCurrent = 0; + about_->crLabel->setText(crNotes[0]); + timer->start( 4000 ); + about_->exec(); +} + +tdestyle_baghira_config::tdestyle_baghira_config(TQWidget *parent, const char *name, const TQStringList&) : TQWidget(parent, name )//, myAboutData(0) +{ + loadDone = false; + if (parent) parent->setCaption("Configure Your Cat"); + TQVBoxLayout *layout = new TQVBoxLayout(this); + dialog_ = new Config(this); + + for (int i = 0; i < NUMBEROFCOLORS; i++) + dialog_->colorPresets->insertItem ( presetColorName[i], i ); + + TQWidget *rulesWidget = new TQWidget(dialog_->tabWidget); + TQHBoxLayout *rwlh = new TQHBoxLayout(rulesWidget); + applist = new TDEListView(rulesWidget); + applist->setFullWidth(true); +#if KDE_IS_VERSION(3,3,91) + applist->setShadeSortColumn(false); +#endif + applist->setAllColumnsShowFocus( true ); + applist->setSelectionMode(TQListView::Single); + applist->addColumn ( i18n("Name") ); + applist->addColumn ( i18n("Links to") ); + TQDir d( TQDir::homeDirPath() + "/.baghira", 0L, TQDir::Name | TQDir::IgnoreCase, TQDir::Files | TQDir::Readable | TQDir::Writable ); + if (!d.exists()) + d.mkdir(TQDir::homeDirPath() + "/.baghira"); + else + { + for ( uint i = 0; i < d.count(); i++ ) + { + TQFileInfo FI = TQFileInfo(d, d[i]); + if (FI.isSymLink()) + applist->insertItem(new TDEListViewItem(applist, d[i], FI.readLink().section('/',-1,-1))); + else + applist->insertItem(new TDEListViewItem(applist, d[i])); + } + } + rwlh->addWidget(applist); +// rwlh->addLayout(rwlv); + TQVBoxLayout *rwlv = new TQVBoxLayout(rwlh); + rwlv->addStretch(); + TQPushButton *btnNew = new TQPushButton("New...", rulesWidget); + TQPushButton *btnEdit = new TQPushButton("Edit...", rulesWidget); + TQPushButton *btnDel = new TQPushButton("Remove", rulesWidget); + TQPushButton *btnDet = new TQPushButton("Detect", rulesWidget); + rwlv->addWidget(btnNew); + rwlv->addWidget(btnEdit); + rwlv->addWidget(btnDel); + rwlv->addSpacing( 5 ); + rwlv->addWidget(btnDet); + rwlv->addStretch(); + dialog_->tabWidget->addTab( rulesWidget, TQString("Rules") ); + appsetter = new AppSetter(this); + connect(btnNew, SIGNAL(clicked()), appsetter, SLOT(show())); + connect(btnEdit, SIGNAL(clicked()), this, SLOT(editApp())); + connect(this, SIGNAL(editApp(TQString, TQString)), appsetter, SLOT(show(TQString, TQString))); + connect(btnDel, SIGNAL(clicked()), this, SLOT(removeApp())); + connect(btnDet, SIGNAL(clicked()), this, SLOT(selectWindow())); + connect(appsetter, SIGNAL(addApp(TQString, TQString)), this, SLOT(addApp(TQString, TQString))); + connect(appsetter, SIGNAL(removeApp(TQString)), this, SLOT(removeApp(TQString))); + // preview stuff + baseImage = uic_findImage("button-base"); + + layout->addWidget(dialog_); + + dialog_->show(); + help_ = new Help(dialog_); + about_ = new About(dialog_); + about_->versionLabel->setText(VERSION); + about_->kdeLabel->setText(TDE_VERSION_STRING); + crCurrent = 0; + crNotes[0] = "© 2003-2005 by Thomas Lübking
http://baghira.SourceForge.net
"; + crNotes[1] = "© \"Design\" 2001-2005 by Apple inc.
http://www.apple.com"; + crNotes[2] = "© \"Milk\" 2002-2005 by Max Rudberg
http://www.maxthemes.com
"; + timer = new TQTimer(); + connect( timer, SIGNAL(timeout()), this, SLOT(updateCR()) ); + TQString tmpString(TQT_BUILD_KEY); + about_->systemLabel->setText(tmpString.section(' ',1,1)); + about_->cpuLabel->setText(tmpString.section(' ',0,0)); + about_->setFixedSize (380, 430); + + // connections + // buttons + connect(dialog_->buttonHelp, SIGNAL(clicked()), help_, SLOT(exec())); + connect(dialog_->buttonAbout, SIGNAL(clicked()), this, SLOT(showAbout())); + connect(about_->buttonInfo, SIGNAL(clicked()), this, SLOT(openHtml1())); + connect(about_->buttonDownload, SIGNAL(clicked()), this, SLOT(openHtml2())); + connect(help_->startBAB, SIGNAL(clicked()), this, SLOT(startBab())); + connect(dialog_->startKRuler, SIGNAL(clicked()), this, SLOT(startKRuler())); + connect(dialog_->buttonLoad, SIGNAL(clicked()), this, SLOT(buttonLoadAction())); + connect(dialog_->buttonSaveAs, SIGNAL(clicked()), this, SLOT(buttonSaveAsAction())); + connect(dialog_->colorPresets, SIGNAL(activated(int)), this, SLOT(setPresetColor(int))); + + // changes + connect(dialog_->defaultStyle, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->buttonStyle, SIGNAL(activated(int)), this, SLOT(handleButtonStyles(int))); + connect(dialog_->toolbuttonStyle, SIGNAL(activated(int)), this, SLOT(handleButtonStyles(int))); + connect(dialog_->animateButtons, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->stippleBackground, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->bevelHighlights, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->stippleContrast, SIGNAL(valueChanged (int)), this, SLOT(configChanged())); + connect(dialog_->shadowGroups, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->shadowIntensity, SIGNAL(valueChanged (int)), this, SLOT(configChanged())); + connect(dialog_->centerTabs, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->colorMode, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->inactiveColorType, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->animateSlider, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->shadowSlider, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->squeezeSlider, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->unhoveredToolButtons, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->aquaTabs, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->brushedTabs, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->drawTreeLines, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->useCustomExpanderColor, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->treeLineMode, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->expanderMode, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->useCustomExpanderColor, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->useRectLVH, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->removeKickerBevel, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->replaceMenubar, SIGNAL(toggled(bool)), this, SLOT(menuToggled(bool))); + connect(dialog_->roundTasks, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->showProgressValue, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->progressType, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->menuBackground, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->menuOpacity, SIGNAL(valueChanged (int)), this, SLOT(configChanged())); + connect(dialog_->shadowMenuText, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->menuColorMode, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->useCustomColors, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->drawMenuStripe, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->glossyMenus, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + + connect(dialog_->customInactiveColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); +connect(dialog_->toolbuttonHighColor, SIGNAL(changed(const TQColor &)), this, SLOT(changeTooluttonHighlightColor(const TQColor &))); + connect(dialog_->treeLineColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->customExpanderColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->menuTextColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->menuTextColorHigh, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->menuColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->menuColorHigh, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->menuColor2, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->radioOffColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->radioOnColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->checkOffColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->checkOnColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->sliderColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->hoverSliderColorColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->pressedSliderColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->inactiveTabColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->activeTabColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + connect(dialog_->menuStripeColor, SIGNAL(changed(const TQColor &)), this, SLOT(configChanged())); + + connect(dialog_->sliderButtonRed, SIGNAL(valueChanged (int)), this, SLOT(sliderButtonRedChanged(int))); + connect(dialog_->sliderButtonGreen, SIGNAL(valueChanged (int)), this, SLOT(sliderButtonGreenChanged(int))); + connect(dialog_->sliderButtonBlue, SIGNAL(valueChanged (int)), this, SLOT(sliderButtonBlueChanged(int))); + + connect(dialog_->sliderBrushRed, SIGNAL(valueChanged (int)), this, SLOT(sliderBrushRedChanged(int))); + connect(dialog_->sliderBrushGreen, SIGNAL(valueChanged (int)), this, SLOT(sliderBrushGreenChanged(int))); + connect(dialog_->sliderBrushBlue, SIGNAL(valueChanged (int)), this, SLOT(sliderBrushBlueChanged(int))); + + // GUI + connect (dialog_->defaultStyle, SIGNAL(activated(int)), this, SLOT(setDesign(int))); + connect (dialog_->inactiveColorType, SIGNAL(activated(int)), this, SLOT(enableInButtonColor(int))); + connect (dialog_->drawTreeLines, SIGNAL(toggled(bool)), dialog_->treeLineMode, SLOT(setEnabled(bool))); + connect (dialog_->drawTreeLines, SIGNAL(toggled(bool)), dialog_->treeLineColor, SLOT(setEnabled(bool))); + connect (dialog_->useCustomExpanderColor, SIGNAL(toggled(bool)), dialog_->customExpanderColor, SLOT(setEnabled(bool))); + connect (dialog_->menuColorMode, SIGNAL(activated(int)), this, SLOT(enableMenuColorStuff(int))); + connect (dialog_->menuBackground, SIGNAL(activated(int)), this, SLOT(enableMenuColorStuff(int))); + connect (dialog_->drawMenuStripe, SIGNAL(toggled(bool)), dialog_->menuStripeColor, SLOT(setEnabled(bool))); +// connect (dialog_->tintBrush, SIGNAL(toggled(bool)), dialog_->brushBox, SLOT(setEnabled(bool))); + connect (dialog_->useCustomColors, SIGNAL(toggled(bool)), dialog_->colorFrame, SLOT(setEnabled(bool))); + + // load settings + load(); + loadDone = true; + + dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); + +}; + +tdestyle_baghira_config::~tdestyle_baghira_config() +{ + if (timer) delete timer; +} + +void tdestyle_baghira_config::setPresetColor(int i) +{ + dialog_->sliderButtonRed->setValue(presetColor[i][0]); + dialog_->sliderButtonGreen->setValue(presetColor[i][1]); + dialog_->sliderButtonBlue->setValue(presetColor[i][2]); +} + +void tdestyle_baghira_config::load() +{ + TQString tmpString = TQDir::homeDirPath() + "/.qt/baghirarc"; + load (tmpString); +} + +void tdestyle_baghira_config::load(TQString &fileName) +{ + TDEConfig *config = new TDEConfig(fileName); +// TQSettings config; + config->setGroup("BAB"); + // general Design + dialog_->defaultStyle->setCurrentItem(config->readNumEntry("defaultState", 0 )); +// config->endGroup(); + config->setGroup("Style"); + dialog_->buttonStyle->setCurrentItem(config->readNumEntry("Special_ButtonStyle", 1 )); + dialog_->toolbuttonStyle->setCurrentItem(config->readNumEntry("Special_ToolbuttonStyle", 1 )); + dialog_->stippleBackground->setChecked( config->readBoolEntry( "Design_StippleBackground", true)); + dialog_->animateButtons->setChecked( config->readBoolEntry( "Design_AnimateButtons", true)); + dialog_->stippleContrast->setValue( config->readNumEntry( "Design_StippleContrast", 3)); + dialog_->shadowGroups->setChecked( config->readBoolEntry( "Design_ShadowGroupBoxes", true)); + dialog_->shadowIntensity->setValue( config->readNumEntry( "Design_GroupBoxeShadowDarkness", 6)); + dialog_->bevelHighlights->setChecked( config->readBoolEntry( "Design_BevelAsHighlight", true)); + dialog_->colorMode->setCurrentItem(config->readNumEntry("Design_ButtonStyle", 0)); + dialog_->inactiveColorType->setCurrentItem(config->readNumEntry( "Design_InactiveButtonStyle", 1)); + dialog_->customInactiveColor->setColor(TQColor(config->readNumEntry("Design_InactiveButtonColor",(int)colorGroup().background().rgb()))); + dialog_->centerTabs->setChecked( config->readBoolEntry( "Design_CenterTabs", true)); + // button color stuff + TQColor tmpColor = TQColor(config->readNumEntry("Design_ButtonColor",(int)colorGroup().button().rgb())); + dialog_->sliderButtonRed->setValue(sliderButtonRedValue = tmpColor.red()); + dialog_->sliderButtonGreen->setValue(sliderButtonGreenValue = tmpColor.green()); + dialog_->sliderButtonBlue->setValue(sliderButtonBlueValue = tmpColor.blue()); + dialog_->valueButtonRed->setNum(sliderButtonRedValue); + dialog_->valueButtonGreen->setNum(sliderButtonGreenValue); + dialog_->valueButtonBlue->setNum(sliderButtonBlueValue); + + // special Widgets + //ListViews + dialog_->useRectLVH->setChecked( config->readBoolEntry( "Special_UseFlatLVH", false)); + dialog_->drawTreeLines->setChecked( config->readBoolEntry( "Special_DrawTreeLines", false)); + dialog_->treeLineMode->setCurrentItem(config->readNumEntry( "Special_TreelineStyle", 0)); + dialog_->treeLineColor->setColor( TQColor( config->readNumEntry( "Special_TreelineColor", (int) colorGroup().mid().rgb()))); + dialog_->expanderMode->setCurrentItem(config->readNumEntry( "Special_ExpanderStyle", 0)); + dialog_->useCustomExpanderColor->setChecked( config->readBoolEntry( "Special_CustomExpanderColor", false)); + dialog_->customExpanderColor->setColor( TQColor( config->readNumEntry( "Special_ExpanderColor", (int) colorGroup().text().rgb()))); + //Kicker + dialog_->removeKickerBevel->setChecked( config->readBoolEntry( "Special_RemoveKickerBevel", true)); + dialog_->roundTasks->setChecked( config->readBoolEntry( "Special_RoundTaskbuttons", false)); + TQFile file(TQDir::homeDirPath() + "/.kde/share/apps/kicker/applets/menuapplet.desktop"); + dialog_->replaceMenubar->setChecked( menuReplaced = file.exists() ); + //Scrollbars + dialog_->animateSlider->setChecked( config->readBoolEntry( "Special_AnimateSlider", true)); + dialog_->shadowSlider->setChecked( config->readBoolEntry( "Special_ShadowSlider", false)); + dialog_->squeezeSlider->setChecked( config->readBoolEntry( "Special_SqueezeSlider", false)); + //Progress + dialog_->progressType->setCurrentItem( config->readNumEntry( "Special_ProgressStyle", 0)); + dialog_->showProgressValue->setChecked( config->readBoolEntry( "Special_ShowProgressValue", false)); + //Toolbars + dialog_->unhoveredToolButtons->setCurrentItem(config->readNumEntry( "Special_UnhoveredToolButtons", 2)); + //Tabs + dialog_->aquaTabs->setCurrentItem(config->readNumEntry("Design_TabStyleAqua", 0 )); + dialog_->brushedTabs->setCurrentItem(config->readNumEntry("Design_TabStyleBrushed", 1 )); + + // menus + dialog_->menuBackground->setCurrentItem( config->readNumEntry( "Menu_Background", 0)); + dialog_->menuOpacity->setValue( config->readNumEntry( "Menu_Opacity", 70)); + //Look + dialog_->shadowMenuText->setChecked( config->readBoolEntry( "Menu_ShadowText", true)); + dialog_->menuColorMode->setCurrentItem(config->readNumEntry("Menu_ColorStyle")); + dialog_->menuTextColor->setColor( TQColor( config->readNumEntry( "Menu_TextColor", (int) colorGroup().text().rgb()))); + dialog_->menuTextColorHigh->setColor( TQColor( config->readNumEntry( "Menu_TextColorHighlight", (int) colorGroup().highlightedText().rgb()))); + dialog_->menuColor->setColor( TQColor( config->readNumEntry( "Menu_Color1", (int) colorGroup().background().rgb()))); + dialog_->menuColor2->setColor( TQColor( config->readNumEntry( "Menu_Color2", (int) colorGroup().background().dark(130).rgb()))); + dialog_->menuColorHigh->setColor( TQColor( config->readNumEntry( "Menu_ColorHighlight", (int) colorGroup().highlight().rgb()))); + dialog_->drawMenuStripe->setChecked(config->readBoolEntry( "Menu_DrawMenuStripe", false)); + dialog_->glossyMenus->setChecked(config->readBoolEntry( "Menu_Glossy", true)); + dialog_->menuStripeColor->setColor( TQColor( config->readNumEntry( "Menu_StripeColor", (int) TQt::white.rgb()))); + + // custom colors + dialog_->useCustomColors->setChecked( config->readBoolEntry( "Colors_UseCustomColors", false)); + dialog_->radioOffColor->setColor( TQColor( config->readNumEntry( "Colors_RadioOff", ( int ) colorGroup().background().rgb()))); + dialog_->radioOnColor->setColor( TQColor( config->readNumEntry( "Colors_RadioOn", ( int ) colorGroup().button().rgb()))); + dialog_->checkOffColor->setColor( TQColor( config->readNumEntry( "Colors_CheckOff", ( int ) colorGroup().background().rgb()))); + dialog_->checkOnColor->setColor( TQColor( config->readNumEntry( "Colors_CheckOn", ( int ) colorGroup().button().rgb()))); + dialog_->sliderColor->setColor( TQColor( config->readNumEntry( "Colors_Slider", ( int ) colorGroup().button().rgb()))); + dialog_->hoverSliderColorColor->setColor(TQColor(config->readNumEntry("Colors_SliderHovered",(int)colorGroup().button().rgb()))); + dialog_->pressedSliderColor->setColor(TQColor(config->readNumEntry("Colors_SliderPressed",(int) colorGroup().button().dark(110).rgb()))); + dialog_->sliderGrooveColor->setColor(TQColor(config->readNumEntry("Colors_SliderGroove",(int)colorGroup().background().rgb()))); + dialog_->inactiveTabColor->setColor(TQColor(config->readNumEntry("Colors_TabInactive",(int) colorGroup().background().rgb()))); + dialog_->activeTabColor->setColor(TQColor(config->readNumEntry("Colors_TabActive",(int)colorGroup().button().rgb()))); + dialog_->tintBrush->setChecked( config->readBoolEntry( "Colors_TintBrushedMetal", false)); + brushTint = TQColor(config->readNumEntry("Colors_BrushTint",(int)colorGroup().background().rgb())); +// dialog_->brushTintSaturaion->setValue(settings.readNumEntry( "/qt/Baghira/brushTintSaturation", 3)); + baseImage2 = uic_findImage("brush-me"); + dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, brushTint)); + dialog_->sliderBrushRed->setValue(sliderBrushRedValue = brushTint.red()); + dialog_->sliderBrushGreen->setValue(sliderBrushGreenValue = brushTint.green()); + dialog_->sliderBrushBlue->setValue(sliderBrushBlueValue = brushTint.blue()); + config->setGroup("Menubar"); + dialog_->menuMaxWidth->setValue(config->readNumEntry("Width", TQDesktopWidget().availableGeometry().width())); + config->setGroup("Sidebar"); + delete config; + + config = new TDEConfig("kdeglobals"); + config->setGroup( "Toolbar style" ); + dialog_->toolbuttonHighColor->setColor(config->readColorEntry("HighlightColor", new TQColor(103,141,178)) ); + delete config; +} + + +void tdestyle_baghira_config::defaults() +{ + dialog_->defaultStyle->setCurrentItem(0); + dialog_->buttonStyle->setCurrentItem(1); + dialog_->toolbuttonStyle->setCurrentItem(1); + dialog_->animateButtons->setChecked( true); + dialog_->stippleBackground->setChecked( true); + dialog_->stippleContrast->setValue( 30); + dialog_->shadowGroups->setChecked( true); + dialog_->shadowIntensity->setValue( 50); + dialog_->bevelHighlights->setChecked( true ); + dialog_->centerTabs->setChecked( true); + dialog_->colorMode->setCurrentItem(0); + dialog_->inactiveColorType->setCurrentItem(1); + dialog_->customInactiveColor->setColor(colorGroup().background().rgb()); + // button color stuff + dialog_->sliderButtonRed->setValue(sliderButtonRedValue = colorGroup().button().red()); + dialog_->sliderButtonGreen->setValue(sliderButtonGreenValue = colorGroup().button().green()); + dialog_->sliderButtonBlue->setValue(sliderButtonBlueValue = colorGroup().button().blue()); + dialog_->valueButtonRed->setNum(sliderButtonRedValue); + dialog_->valueButtonGreen->setNum(sliderButtonGreenValue); + dialog_->valueButtonBlue->setNum(sliderButtonBlueValue); + + // special Widgets +// dialog_->animateSlider; + dialog_->shadowSlider->setChecked( false); + dialog_->squeezeSlider->setChecked( false); + dialog_->unhoveredToolButtons->setCurrentItem(2); + dialog_->toolbuttonHighColor->setColor( TQColor(103,141,178) ); + dialog_->drawTreeLines->setChecked( false); + dialog_->useCustomExpanderColor->setChecked( false); + dialog_->treeLineMode->setCurrentItem(0); + dialog_->treeLineColor->setColor( colorGroup().mid().rgb()); + dialog_->expanderMode->setCurrentItem(0); + dialog_->customExpanderColor->setColor( colorGroup().text().rgb()); + dialog_->useRectLVH->setChecked( false); + dialog_->removeKickerBevel->setChecked( true); + dialog_->roundTasks->setChecked( false); + dialog_->showProgressValue->setChecked( false); + dialog_->progressType->setCurrentItem( 0); + dialog_->aquaTabs->setCurrentItem( 0 ); + dialog_->brushedTabs->setCurrentItem(1); + + // menus +// dialog_->transGroup; + dialog_->menuBackground->setCurrentItem(0); + dialog_->menuOpacity->setValue( 70); + dialog_->shadowMenuText->setChecked( true); + dialog_->menuColorMode->setCurrentItem(0); + dialog_->menuTextColor->setColor( colorGroup().text().rgb()); + dialog_->menuTextColorHigh->setColor( colorGroup().highlightedText().rgb()); + dialog_->menuColor->setColor( colorGroup().background().rgb()); + dialog_->menuColor2->setColor( colorGroup().background().dark(130).rgb()); + dialog_->menuColorHigh->setColor( colorGroup().highlight().rgb()); + dialog_->drawMenuStripe->setChecked(false); + dialog_->glossyMenus->setChecked(true); + dialog_->menuStripeColor->setColor( TQt::white.rgb()); + + // custom colors + dialog_->useCustomColors->setChecked( false); + dialog_->radioOffColor->setColor( colorGroup().background().rgb()); + dialog_->radioOnColor->setColor( colorGroup().button().rgb()); + dialog_->checkOffColor->setColor( colorGroup().background().rgb()); + dialog_->checkOnColor->setColor( colorGroup().button().rgb()); + dialog_->sliderColor->setColor( colorGroup().button().rgb()); + dialog_->hoverSliderColorColor->setColor(colorGroup().button().rgb()); + dialog_->pressedSliderColor->setColor(colorGroup().button().dark(110).rgb()); + dialog_->sliderGrooveColor->setColor(colorGroup().background().rgb()); + dialog_->inactiveTabColor->setColor(colorGroup().background().rgb()); + dialog_->activeTabColor->setColor(colorGroup().button().rgb()); + dialog_->tintBrush->setChecked( false); + emit changed(true); +} + +void tdestyle_baghira_config::save() +{ + TQString tmpString = TQDir::homeDirPath() + "/.qt/baghirarc"; + save(tmpString); +// emit changed(true); +} + +void tdestyle_baghira_config::changeTooluttonHighlightColor(const TQColor & color) +{ + TDEConfig *config = new TDEConfig("kdeglobals"); + config->setGroup( "Toolbar style" ); + config->writeEntry("HighlightColor", color); + delete config; +} + +void tdestyle_baghira_config::handleButtonStyles(int i) +{ + if (i != 2 && sender() == dialog_->buttonStyle && dialog_->toolbuttonStyle->currentItem() != 2) + dialog_->toolbuttonStyle->setCurrentItem(i); + else if (i != 2 && sender() == dialog_->toolbuttonStyle && dialog_->buttonStyle->currentItem() != 2) + dialog_->buttonStyle->setCurrentItem(i); + configChanged(); +} + +void tdestyle_baghira_config::save(TQString &fileName) +{ +// TQSettings *config = new TQSettings; + TDEConfig *config = new TDEConfig(fileName); + config->setGroup("BAB"); + //General Design + config->writeEntry("defaultState", dialog_->defaultStyle->currentItem()); +// config->endGroup(); + config->setGroup("Style"); + config->writeEntry("Special_ButtonStyle", dialog_->buttonStyle->currentItem()); + config->writeEntry("Special_ToolbuttonStyle", dialog_->toolbuttonStyle->currentItem()); + config->writeEntry("Design_AnimateButtons", dialog_->animateButtons->isOn()); + config->writeEntry("Design_Default", dialog_->defaultStyle->currentItem()); + config->writeEntry("Design_StippleBackground", dialog_->stippleBackground->isOn()); + config->writeEntry("Design_StippleContrast", dialog_->stippleContrast->value()); + config->writeEntry("Design_ShadowGroupBoxes", dialog_->shadowGroups->isOn()); + config->writeEntry("Design_GroupBoxeShadowDarkness", dialog_->shadowIntensity->value()); + config->writeEntry("Design_BevelAsHighlight", dialog_->bevelHighlights->isOn()); + config->writeEntry("Design_ButtonStyle", dialog_->colorMode->currentItem()); + config->writeEntry("Design_InactiveButtonStyle", dialog_->inactiveColorType->currentItem()); + config->writeEntry("Design_InactiveButtonColor", (int)dialog_->customInactiveColor->color().rgb()); + config->writeEntry("Design_CenterTabs", dialog_->centerTabs->isOn()); + //button color stuff + config->writeEntry("Design_ButtonColor", (int)(TQColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue).rgb())); + + // special Widgets + //listviews +// dialog_->animateSlider; + config->writeEntry("Special_UseFlatLVH", dialog_->useRectLVH->isOn()); + config->writeEntry("Special_DrawTreeLines", dialog_->drawTreeLines->isOn()); + config->writeEntry("Special_TreelineStyle", dialog_->treeLineMode->currentItem()); + config->writeEntry("Special_TreelineColor", (int)dialog_->treeLineColor->color().rgb()); + config->writeEntry("Special_ExpanderStyle", dialog_->expanderMode->currentItem()); + config->writeEntry("Special_CustomExpanderColor", dialog_->useCustomExpanderColor->isOn()); + config->writeEntry("Special_ExpanderColor", (int)dialog_->customExpanderColor->color().rgb()); + //Kicker + config->writeEntry("Special_RemoveKickerBevel", dialog_->removeKickerBevel->isOn()); + config->writeEntry("Special_RoundTaskbuttons", dialog_->roundTasks->isOn()); + TQDir tmpDir(TQDir::homeDirPath() + "/.kde"); + if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde"); + tmpDir.setPath(TQDir::homeDirPath() + "/.kde/share"); + if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde/share"); + tmpDir.setPath(TQDir::homeDirPath() + "/.kde/share/apps"); + if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde/share/apps"); + tmpDir.setPath(TQDir::homeDirPath() + "/.kde/share/apps/kicker"); + if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde/share/apps/kicker"); + tmpDir.setPath(TQDir::homeDirPath() + "/.kde/share/apps/kicker/applets"); + if (!tmpDir.exists()) tmpDir.mkdir(TQDir::homeDirPath() + "/.kde/share/apps/kicker/applets"); + TQFile file(TQDir::homeDirPath() + "/.kde/share/apps/kicker/applets/menuapplet.desktop"); + if (dialog_->replaceMenubar->isOn()) + { + file.open(IO_WriteOnly); + const char *msg = +"[Desktop Entry]\n\ +Hidden=true\n\ +Type=Plugin\n\ +Encoding=UTF-8\n\ +Name=BaghiraMenu\n\ +X-TDE-Library=b_menu_panelapplet\n\ +X-TDE-UniqueApplet=true\n"; + file.writeBlock( msg, tqstrlen(msg) ); + file.close(); + } + else + file.remove(); + if (dialog_->replaceMenubar->isOn() != menuReplaced) + TDEApplication::dcopClient()->send("kicker", "default", "restart()", ""); + //Srollbars + config->writeEntry("Special_AnimateSlider", dialog_->animateSlider->isOn()); + config->writeEntry("Special_ShadowSlider", dialog_->shadowSlider->isOn()); + config->writeEntry("Special_SqueezeSlider", dialog_->squeezeSlider->isOn()); + //Progress + config->writeEntry("Special_ProgressStyle", dialog_->progressType->currentItem()); + config->writeEntry("Special_ShowProgressValue", dialog_->showProgressValue->isOn()); + //Toolbars + config->writeEntry("Special_UnhoveredToolButtons", dialog_->unhoveredToolButtons->currentItem()); + //Tabs + config->writeEntry("Design_TabStyleAqua", dialog_->aquaTabs->currentItem() ); + config->writeEntry("Design_TabStyleBrushed", dialog_->brushedTabs->currentItem() ); + // menus + config->writeEntry("Menu_Background", dialog_->menuBackground->currentItem()); + config->writeEntry("Menu_Opacity", dialog_->menuOpacity->value()); + //Look + config->writeEntry("Menu_ShadowText", dialog_->shadowMenuText->isOn()); + config->writeEntry("Menu_ColorStyle", dialog_->menuColorMode->currentItem()); + config->writeEntry("Menu_TextColor", (int)dialog_->menuTextColor->color().rgb()); + config->writeEntry("Menu_TextColorHighlight", (int)dialog_->menuTextColorHigh->color().rgb()); + config->writeEntry("Menu_Color1", (int)dialog_->menuColor->color().rgb()); + config->writeEntry("Menu_Color2", (int)dialog_->menuColor2->color().rgb()); + config->writeEntry("Menu_ColorHighlight", (int)dialog_->menuColorHigh->color().rgb()); + config->writeEntry("Menu_DrawMenuStripe", dialog_->drawMenuStripe->isOn()); + config->writeEntry("Menu_Glossy", dialog_->glossyMenus->isOn()); + config->writeEntry("Menu_StripeColor", (int)dialog_->menuStripeColor->color().rgb()); + + // custom colors + config->writeEntry("Colors_UseCustomColors", dialog_->useCustomColors->isOn()); + config->writeEntry("Colors_RadioOff", (int)dialog_->radioOffColor->color().rgb()); + config->writeEntry("Colors_RadioOn", (int)dialog_->radioOnColor->color().rgb()); + config->writeEntry("Colors_CheckOff",(int) dialog_->checkOffColor->color().rgb()); + config->writeEntry("Colors_CheckOn", (int)dialog_->checkOnColor->color().rgb()); + config->writeEntry("Colors_Slider",(int) dialog_->sliderColor->color().rgb()); + config->writeEntry("Colors_SliderHovered", (int)dialog_->hoverSliderColorColor->color().rgb()); + config->writeEntry("Colors_SliderPressed", (int)dialog_->pressedSliderColor->color().rgb()); + config->writeEntry("Colors_SliderGroove",(int) dialog_->sliderGrooveColor->color().rgb()); + config->writeEntry("Colors_TabInactive",(int) dialog_->inactiveTabColor->color().rgb()); + config->writeEntry("Colors_TabActive", (int)dialog_->activeTabColor->color().rgb()); + config->writeEntry("Colors_TintBrushedMetal", dialog_->tintBrush->isOn()); + config->writeEntry("Colors_BrushTint",(int)tqRgb(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue)); + config->setGroup("Menubar"); + config->writeEntry("Width", dialog_->menuMaxWidth->value()); + config->sync(); +// config->endGroup(); + delete config; +} + + +void tdestyle_baghira_config::configChanged() +{ + if (loadDone) + { + dialog_->statusWarning->setText("Config changed"); + emit changed(true); + } +} + + +TQString tdestyle_baghira_config::quickHelp() const +{ + return i18n("Configure Your Cat"); +} + +void tdestyle_baghira_config::setDesign(int d) +{ + bool b = (d == 0); + dialog_->stippleBackground->setEnabled(b); + dialog_->stippleContrast->setEnabled(b); + dialog_->shadowGroups->setEnabled(b); + dialog_->shadowIntensity->setEnabled(b); +} + +void tdestyle_baghira_config::enableInButtonColor(int d) +{ + dialog_->customInactiveColor->setEnabled(d == 3); +} + +void tdestyle_baghira_config::enableMenuColorStuff(int d) +{ + bool b = (d == 2); + dialog_->menuTextColor->setEnabled(b); + dialog_->menuColor->setEnabled(b && dialog_->menuBackground->currentItem() > 0); + dialog_->menuColor2->setEnabled(b && dialog_->menuBackground->currentItem() > 1); +} + +void tdestyle_baghira_config::buttonLoadAction() +{ + TQString tmpString = KFileDialog::getOpenFileName(TQDir::homeDirPath(), "*", this, "Select a Baghira config file"); + if (!tmpString.isEmpty()) + load(tmpString); +} + +void tdestyle_baghira_config::buttonSaveAsAction() +{ + TQString tmpString = KFileDialog::getSaveFileName(TQDir::homeDirPath(), "*", this, "Save current Baghira configuration as"); + save(tmpString); +} + +void tdestyle_baghira_config::editApp() +{ + emit editApp(applist->currentItem()->text(0), applist->currentItem()->text(1)); +} + +void tdestyle_baghira_config::removeApp() +{ + TQString string = TQDir::homeDirPath() + "/.baghira/" + applist->currentItem()->text(0); + TQFile::remove(string); + applist->takeItem(applist->currentItem()); +} + +void tdestyle_baghira_config::removeApp(TQString name) +{ + TQString string = TQDir::homeDirPath() + "/.baghira/" + name; + TQFile::remove(string); + applist->takeItem(applist->findItem(name, 0, TQt::ExactMatch)); +} + +void tdestyle_baghira_config::addApp(TQString string, TQString linkString) +{ + applist->insertItem(new TDEListViewItem(applist, string, linkString)); + applist->sort(); +} + +void tdestyle_baghira_config::selectWindow() +// taken from kcmkwin +{ + // use a dialog, so that all user input is blocked + // use WX11BypassWM and moving away so that it's not actually visible + // grab only mouse, so that keyboard can be used e.g. for switching windows + grabber = new TQDialog( NULL, NULL, true, WX11BypassWM ); + grabber->move( -1000, -1000 ); + grabber->show(); + grabber->grabMouse( crossCursor ); + grabber->installEventFilter( this ); +} + +Atom wm_state = XInternAtom( tqt_xdisplay(), "WM_STATE", False ); +// Atom wm_state = XInternAtom( tqt_xdisplay(), "WM_COMMAND", False ); + +bool tdestyle_baghira_config::eventFilter( TQObject* o, TQEvent* e ) +// adapted from kcmkwin... again ;) +{ + if( o != grabber ) + return false; + if( e->type() != TQEvent::MouseButtonRelease ) + return false; + delete grabber; + grabber = NULL; + if( static_cast< TQMouseEvent* >( e )->button() != LeftButton ) + return true; + WId winId = findWindow(); + XClassHint classHint; + if (XGetClassHint(tqt_xdisplay(), winId, &classHint)) + { + TQString tmpString = TQString( classHint.res_class ).lower() + " (uncertain)"; + appsetter->show(tmpString, TQString()); +// tqWarning("class: %s",TQString( classHint.res_class ).lower().ascii()); + XFree( classHint.res_name ); + XFree( classHint.res_class ); + } + return true; +} + +WId tdestyle_baghira_config::findWindow() +// taken from kcmkwin... as well =) +{ + Window root; + Window child; + uint mask; + int rootX, rootY, x, y; + Window parent = tqt_xrootwin(); +// Atom wm_state = XInternAtom( tqt_xdisplay(), "WM_STATE", False ); + for( int i = 0; + i < 10; + ++i ) + { + XQueryPointer( tqt_xdisplay(), parent, &root, &child, + &rootX, &rootY, &x, &y, &mask ); + if( child == None ) + return 0; + Atom type; + int format; + unsigned long nitems, after; + unsigned char* prop; + if( XGetWindowProperty( tqt_xdisplay(), child, wm_state, 0, 0, False, AnyPropertyType, &type, &format, &nitems, &after, &prop ) == Success ) + { + if( prop != NULL ) + XFree( prop ); + if( type != None ) + return child; + } + parent = child; + } + return 0; +} + + +void tdestyle_baghira_config::menuToggled(bool active) +{ + if (!active || !loadDone) + return; + TDEConfigGroup menuConfig(TDEGlobal::config(), "KDE"); + if (!menuConfig.readBoolEntry("macStyle", false)) + if (KMessageBox::questionYesNo(0, i18n("You just selected to replace kickers menu applet for the Mac like Menubar on top of the screen, but the Mac like style isn't selected anyway
Do you want to activate it now?
"), 0L, KStdGuiItem::yes(), KStdGuiItem::no()) == KMessageBox::Yes) + { + TDEProcess proc; + proc << "tdecmshell" << "desktopbehavior"; + proc.start(TDEProcess::DontCare); + proc.detach(); + } + configChanged(); +} + +////////////////////////////////////////////////////////////////////////////// +// Plugin Stuff // +////////////////////////////////////////////////////////////////////////////// + +extern "C" +{ + TQWidget* allocate_tdestyle_config(TQWidget* parent){ + return(new tdestyle_baghira_config(parent, "BaghiraConfig")); + } +} + +AppSetter::AppSetter(TQWidget *parent, const char *name) : TQWidget(parent, name, TQt::WType_Dialog | TQt::WShowModal ) +{ + isEdit = FALSE; + + TQLabel *label1 = new TQLabel(i18n("Application Name"), this); + command = new TQLineEdit(this); + + TQLabel *linkTo = new TQLabel(i18n("Just like"),this); + link = new TQComboBox(this); + + box = new TQGroupBox(2,TQt::Horizontal,i18n("Custom Settings"),this); + box->setCheckable( true ); + + new TQLabel(i18n("Style"), box); + new TQLabel("Deco", box); + + style = new TQComboBox(box); + style->insertItem(i18n("Don't set")); + style->insertItem("Jaguar"); + style->insertItem("Panther"); + style->insertItem("Brushed Metal"); + style->insertItem("Tiger"); + style->insertItem("Milk"); + + deco = new TQComboBox(box); + deco->insertItem(i18n("Don't set")); + deco->insertItem("Jaguar"); + deco->insertItem("Panther"); + deco->insertItem("Brushed Metal"); + deco->insertItem("Tiger"); + deco->insertItem("Milk"); + + new TQLabel(i18n("Buttons"), box); + new TQLabel(i18n("Toolbuttons"), box); + + buttons = new TQComboBox(box); + buttons->insertItem("Jaguar"); + buttons->insertItem("Panther"); + buttons->insertItem("iTunes"); + buttons->insertItem("Tiger"); + buttons->insertItem("Milk"); + + + toolButtons = new TQComboBox(box); + toolButtons->insertItem("Jaguar"); + toolButtons->insertItem("Panther"); + toolButtons->insertItem("iTunes"); + toolButtons->insertItem("Tiger"); + toolButtons->insertItem("Milk"); + + new TQLabel(i18n("Tab vs. Chooser"), box); + new TQLabel(i18n("Inactive Button"), box); + + tabs = new TQComboBox(box); + tabs->insertItem(i18n("Don't set")); + tabs->insertItem("Tabs"); + tabs->insertItem("Adaptive"); + tabs->insertItem("Choosers"); + + + inbutton = new TQComboBox(box); + inbutton->insertItem("Fixed"); + inbutton->insertItem("Background"); + inbutton->insertItem("Active Button"); + + scanlines = new TQCheckBox("Show scanlines", box); + + TQWidget *dumb = new TQWidget(box); + customColors = new TQCheckBox(dumb); + buttonColors = new TQPushButton("Custom Colors", dumb); + TQHBoxLayout *clh = new TQHBoxLayout(dumb); + clh->addWidget(customColors); + clh->addWidget(buttonColors); + + TQVBoxLayout *lv = new TQVBoxLayout(this,11,6); + lv->addWidget(label1); + lv->addWidget(command); + TQHBoxLayout *lh0 = new TQHBoxLayout(lv); + lh0->addWidget(linkTo); + lh0->addWidget(link); + lv->addWidget(box); + TQHBoxLayout *lh = new TQHBoxLayout(lv); + TQPushButton *cancel = new TQPushButton("Cancel",this); + lh->addWidget(cancel); + TQPushButton *ok = new TQPushButton("Ok",this); + lh->addWidget(ok); + + colorDialog = new ColorDialog(this); + + connect(box, SIGNAL(toggled( bool )), link, SLOT(setDisabled(bool))); + connect(box, SIGNAL(toggled( bool )), linkTo, SLOT(setDisabled(bool))); + connect(style, SIGNAL(activated( int )), this, SLOT(handler(int))); + connect(buttons, SIGNAL(activated( int )), this, SLOT(handleButtonStyles(int))); + connect(toolButtons, SIGNAL(activated( int )), this, SLOT(handleButtonStyles(int))); + connect(cancel, SIGNAL(clicked()), this, SLOT(reset())); + connect(ok, SIGNAL(clicked()), this, SLOT(save())); + connect(customColors, SIGNAL(toggled( bool )), buttonColors, SLOT(setEnabled(bool))); + connect(buttonColors, SIGNAL(clicked()), colorDialog, SLOT(exec())); + connect(colorDialog->buttonOk, SIGNAL(clicked()), this, SLOT(updateColors())); + connect(colorDialog->buttonCancel, SIGNAL(clicked()), this, SLOT(resetColorPicker())); + reset(); +} + +AppSetter::~AppSetter() +{ +} + +void AppSetter::handleButtonStyles(int i) +{ + if (i != 2 && sender() == buttons && toolButtons->currentItem() != 2) + toolButtons->setCurrentItem(i); + else if (i != 2 && sender() == toolButtons && buttons->currentItem() != 2) + buttons->setCurrentItem(i); +} + +void AppSetter::handler(int i) +{ + scanlines->setEnabled(i != 3); +} + +void AppSetter::updateColors() +{ + for (int i = 0; i < 8; i++) + colors[i] = (int)colorDialog->picker[i]->color().rgb(); +} + +void AppSetter::show() +{ + link->clear(); + TQDir d( TQDir::homeDirPath() + "/.baghira", 0L, TQDir::Name | TQDir::IgnoreCase, TQDir::Files | TQDir::NoSymLinks | TQDir::Readable | TQDir::Writable ); + for ( uint i = 0; i < d.count(); i++ ) + link->insertItem(d[i]); + TQWidget::show(); +} + +void AppSetter::show(TQString appName, TQString linkString) +{ + isEdit = true; + oldName = appName; + oldLink = linkString; + command->setText(appName); + FILE *file = NULL; + TQString tmpString = TQDir::homeDirPath() + "/.baghira/" + appName; + if( (file = fopen(tmpString.latin1(), "r")) != NULL ) + { + uint s, d, b, t, tc, sc, ib; + s = d = 4; + b = t = sc = 2; + tc = 3; + for (int i = 0; i < 8; i++) + colors[i] = -1; + fscanf(file,"%u\n%u\n%u\n%u\n%u\n%u\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",&s,&d,&b,&t,&tc,&sc,&colors[0],&colors[1],&colors[2],&colors[3],&colors[4],&colors[5],&colors[6],&colors[7],&ib); + fclose(file); + if (s < 5) style->setCurrentItem(s+1); + if (d < 5) deco->setCurrentItem(d+1); + if (b < 5) buttons->setCurrentItem(b); + if (t < 5) toolButtons->setCurrentItem(t); + if (tc < 3) tabs->setCurrentItem(tc+1); + if (ib < 3) inbutton->setCurrentItem(ib); + scanlines->setChecked(sc < 2 ? sc : true); + scanlines->setEnabled(s != 2); + customColors->setChecked(colors[0] != -1); + buttonColors->setEnabled(customColors->isChecked()); + resetColorPicker(); + } + show(); + if (!linkString.isNull()) + { + for (int i = 0; i < link->count(); i++) + { + if (link->text(i) == linkString) + { + link->setCurrentItem(i); + break; + } + } + } + else + { + box->setChecked(true); + } +} + +void AppSetter::resetColorPicker() +{ + if (colors[0] != -1) + { + for (int i = 0; i < 8; i++) + { + colorDialog->picker[i]->blockSignals(true); + colorDialog->picker[i]->setColor(TQColor(colors[i])); + colorDialog->picker[i]->blockSignals(false); + } + ((TQWidget*)colorDialog->demo)->repaint(false); + } + else + { + for (int i = 0; i < 8; i++) + colorDialog->picker[i]->blockSignals(true); + colorDialog->picker[Back]->setColor(colorGroup().background()); + colorDialog->picker[Button]->setColor(colorGroup().button()); + colorDialog->picker[Base]->setColor(colorGroup().base()); + colorDialog->picker[Text]->setColor(colorGroup().text()); + colorDialog->picker[High]->setColor(colorGroup().highlight()); + colorDialog->picker[HighText]->setColor(colorGroup().highlightedText()); + colorDialog->picker[ButText]->setColor(colorGroup().buttonText ()); + colorDialog->picker[Alternate]->setColor(TDEGlobalSettings::alternateBackgroundColor()); + for (int i = 0; i < 8; i++) + colorDialog->picker[i]->blockSignals(false); + ((TQWidget*)colorDialog->demo)->repaint(false); + } +} + +void AppSetter::save() +{ + if (command->text() != "" && (!box->isChecked() || (style->currentItem() != 0 && deco->currentItem() != 0))) + { + if (!isEdit) + emit addApp(command->text(), box->isChecked() ? TQString() : link->currentText()); + else if (command->text() != oldName || link->currentText() != oldLink) + { + emit removeApp(oldName); + emit addApp(command->text(), box->isChecked() ? TQString() : link->currentText()); + } + if (!customColors->isChecked()) + { + for (int i = 0; i < 8; i++) + colors[i] = -1; + } + FILE *file = NULL; + TQString tmpString = TQDir::homeDirPath() + "/.baghira/" + command->text(); + if (box->isChecked()) // custom settings + { + if( (file = fopen(tmpString.latin1(), "w")) != NULL ) + { + fprintf(file,"%u\n%u\n%u\n%u\n%u\n%u\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",style->currentItem()-1, deco->currentItem()-1, buttons->currentItem(), toolButtons->currentItem(), tabs->currentItem()-1, scanlines->isChecked(), colors[0], colors[1], colors[2], colors[3], colors[4], colors[5], colors[6], colors[7], inbutton->currentItem()); + fclose(file); + } + } + else // just link + { + TQString tmpString2 = TQDir::homeDirPath() + "/.baghira/" + link->currentText(); + TQFile::remove(tmpString); // just to be sure ;) + symlink (tmpString2.latin1(), tmpString.latin1()); + } + } + reset(); +} + +void AppSetter::reset() +{ + hide(); + isEdit = false; + style->setCurrentItem(0); + deco->setCurrentItem(0); + buttons->setCurrentItem(1); + inbutton->setCurrentItem(0); + toolButtons->setCurrentItem(1); + tabs->setCurrentItem(0); + scanlines->setChecked(false); + command->clear(); + customColors->setChecked(false); + for (int i = 0; i < 8; i++) + colors[i] = -1; + box->setChecked ( false ); +} + +#include "tdestyle_baghira_config.moc" diff --git a/config/tdestyle_baghira_config.h b/config/tdestyle_baghira_config.h new file mode 100644 index 0000000..0fb6b93 --- /dev/null +++ b/config/tdestyle_baghira_config.h @@ -0,0 +1,163 @@ +/*************************************************************************** + * Copyright (C) 2004 by Thomas Lübking * + * thomas@home * + * * + * 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. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef _TDESTYLE_BAGHIRA_CONFIG_H_ +#define _TDESTYLE_BAGHIRA_CONFIG_H_ + +//#include +#include +#include +#include +#include "configdialog.h" +#include "help.h" +#include "about.h" + +class TDEListView; +class TQPushButton; +class AppSetter; +class TQTimer; +class TQCheckBox; +class TQComboBox; +class TQGroupBox; + +class tdestyle_baghira_config: public TQWidget +{ + Q_OBJECT + +public: + tdestyle_baghira_config( TQWidget *parent=0, const char *name=0, const TQStringList& = TQStringList() ); + ~tdestyle_baghira_config(); + + virtual void load(); + void load(TQString &fileName); + void save(TQString &fileName); +// virtual int buttons(); + virtual TQString quickHelp() const; + virtual const TDEAboutData *aboutData()const + { return myAboutData; }; + +public slots: + void configChanged(); + void openHtml1(); + void openHtml2(); + void startBab(); + void startKRuler(); + void sliderButtonRedChanged(int); + void sliderButtonGreenChanged(int); + void sliderButtonBlueChanged(int); + void sliderBrushRedChanged(int); + void sliderBrushGreenChanged(int); + void sliderBrushBlueChanged(int); + virtual void save(); + virtual void defaults(); + +signals: + void changed(bool); + void editApp(TQString, TQString); + +protected: + bool eventFilter( TQObject* o, TQEvent* e ); + +private: + TQString crNotes[3]; + AppSetter *appsetter; + TDEListView *applist; + TQImage* tintButton(TQImage &src, TQColor c); + TQImage* tintBrush( TQImage &img, TQColor c/*, int saturation*/ ); + WId findWindow(); + TDEAboutData *myAboutData; + Config *dialog_; + Help* help_; + About* about_; + TQImage baseImage, baseImage2; + TQDialog *grabber; + TQColor buttonColor; + TQColor brushTint; + int sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue; + int sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue/*, sliderBrushSaturationValue*/; + bool loadDone; + bool menuReplaced; + TQTimer *timer; + int crCurrent; +private slots: + void updateCR(); + void showAbout(); + void editApp(); + void addApp(TQString, TQString); + void removeApp(); + void removeApp(TQString); + void setDesign(int); + void menuToggled(bool); + void enableInButtonColor(int d); + void enableMenuColorStuff(int d); + void buttonLoadAction(); + void buttonSaveAsAction(); + void setPresetColor(int i); + void selectWindow(); + void changeTooluttonHighlightColor(const TQColor &); + void handleButtonStyles(int i); +}; + +class ColorDialog; + +class AppSetter : public TQWidget +{ +Q_OBJECT +public: + AppSetter(TQWidget *parent=0, const char *name=0); + ~AppSetter(); +public slots: + void show(); + void show(TQString appName, TQString link); + +private: + bool isEdit; + int index_; + int colors[8]; + TQString oldName; + TQString oldLink; + TQLineEdit *command; + TQComboBox *link; + TQGroupBox *box; + TQComboBox *style; + TQComboBox *deco; + TQComboBox *buttons; + TQComboBox *toolButtons; + TQComboBox *tabs; + TQComboBox *inbutton; + TQCheckBox *scanlines; + TQCheckBox *customColors; + TQPushButton *buttonColors; + ColorDialog *colorDialog; + +signals: + void addApp(TQString, TQString); + void removeApp(TQString); + +private slots: + void save(); + void reset(); + void handler(int); + void updateColors(); + void resetColorPicker(); + void handleButtonStyles(int i); +}; + +#endif -- cgit v1.2.1