You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-style-lipstik/style/config/lipstikconf.cpp

765 lines
31 KiB

/*
Copyright (C) 2004-2007 Patrice Tremblay <tremblaypatrice@yahoo.fr>
http://www.poplix.info/lipstik
based on plastik:
Copyright (C) 2003 Sandro Giessl <ceebx@users.sourceforge.net>
based on the Keramik configuration dialog:
Copyright (c) 2003 Maksim Orlovich <maksim.orlovich@kdemail.net>
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/
#include <qcheckbox.h>
#include <qlayout.h>
#include <qhbox.h>
#include <qsettings.h>
#include <qcolor.h>
#include <qlabel.h>
#include <qcombobox.h>
#include <kglobal.h>
#include <klocale.h>
#include <kcolorbutton.h>
#include <qtabwidget.h>
#include <qvgroupbox.h>
#include <qspinbox.h>
#include <qgrid.h>
#include "lipstikconf.h"
extern "C"
{
QWidget* allocate_kstyle_config(QWidget* parent)
{
KGlobal::locale()->insertCatalogue("kstyle_lipstik_config");
return new LipstikStyleConfig(parent);
}
}
LipstikStyleConfig::LipstikStyleConfig(QWidget* parent): QWidget(parent)
{
QVBoxLayout* layout = new QVBoxLayout(this, 0, 0);
QGridLayout* tabLayout = new QGridLayout(this, 2, 1, 10);
KGlobal::locale()->insertCatalogue("kstyle_lipstik_config");
///Init tabs
QTabWidget *tabWidget = new QTabWidget(this);
layout->addWidget(tabWidget);
///Init tab1
QWidget *page1 = new QWidget(tabWidget);
layout = new QVBoxLayout(page1);
tabWidget->insertTab(page1, i18n("Configuration"));
layout->addLayout(tabLayout);
///General group
QVGroupBox *generalGrp = new QVGroupBox(i18n("General"), page1);
reverseGradients = new QCheckBox(i18n("Plastik gradients"), generalGrp );
drawTriangularExpander = new QCheckBox(i18n("Triangular tree expander"), generalGrp);
drawStatusBarFrame = new QCheckBox(i18n("Draw status bar frame"), generalGrp);
animateProgressBar = new QCheckBox(i18n("Animate progress bars"), generalGrp);
flatHeaders = new QCheckBox(i18n("Flatten column headers"), generalGrp);
tickCheckMark = new QCheckBox(i18n("Use a tick for checkmarks"), generalGrp);
tabLayout->addWidget(generalGrp,0,0,0);
///Toolbar group
QVGroupBox *toolbarGrp = new QVGroupBox(i18n("Toolbars"), page1);
QLabel* toolBarSpacingLabel;
drawToolBarSeparator = new QCheckBox(i18n("Draw separators"), toolbarGrp);
drawToolBarItemSeparator = new QCheckBox(i18n("Draw item separators"), toolbarGrp);
drawToolBarHandle = new QCheckBox(i18n("Draw handles"), toolbarGrp);
drawToolBarGradient = new QCheckBox(i18n("Draw gradients"), toolbarGrp);
invertBarGrad = new QCheckBox(i18n("Invert gradients"), toolbarGrp);
toolBarSpacingLabel = new QLabel(toolbarGrp);
toolBarSpacingLabel->setText(i18n("Items spacing :"));
toolBarSpacing = new QSpinBox ( 0, 6, 1, toolbarGrp );
tabLayout->addWidget(toolbarGrp,0,1,0);
///Menus group
QVGroupBox *menusGrp = new QVGroupBox(i18n("Menus"), page1);
QLabel* menuSpacingLabel;
alterMenuGradients = new QCheckBox(i18n("Button-like menu gradients"), menusGrp);
sharperMenuGradient = new QCheckBox(i18n("Sharper menu gradients"), menusGrp);
menuLeftSideBar = new QCheckBox(i18n("Menu Stripe"), menusGrp);
flatStripe = new QCheckBox(i18n("Flatten Stripe"), menusGrp);
customMenuStripeColor = new QCheckBox(i18n("Custom Stripe color :"), menusGrp);
QHBox *menuColorBox = new QHBox(menusGrp);
menuColorBox->layout()->addItem(new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum) );
menuStripeColor = new KColorButton(menuColorBox);
menuSpacingLabel = new QLabel(menusGrp);
menuSpacingLabel->setText(i18n("Menu spacing :"));
menuSpacing = new QSpinBox ( 0, 8, 1, menusGrp );
tabLayout->addWidget(menusGrp,1,0,0);
///Scrollbar group
QVGroupBox *scrollGrp = new QVGroupBox(i18n("Scrollbars and Sliders"), page1);
QLabel* scrollBarStyleLabel;
QLabel* scrollBarWidthLabel;
QLabel* sliderStyleLabel;
paintGroove = new QCheckBox(i18n("Draw Scrollbar grooves"), scrollGrp);
scrollBarStyleLabel = new QLabel(scrollGrp);
scrollBarStyleLabel->setText(i18n("Scrollbar style : "));
scrollBarStyle = new QComboBox(i18n("Scrollbar style"), scrollGrp);
scrollBarStyle->setEditable(false);
scrollBarStyle->insertItem("Windows style");
scrollBarStyle->insertItem("Platinum style");
scrollBarStyle->insertItem("KDE style");
scrollBarStyle->insertItem("Next style");
scrollBarWidthLabel = new QLabel(scrollGrp);
scrollBarWidthLabel->setText(i18n("Scrollbar width : "));
scrollBarWidth = new QComboBox(i18n("Scrollbar width"), scrollGrp);
scrollBarWidth->setEditable(false);
scrollBarWidth->insertItem("Small");
scrollBarWidth->insertItem("Normal");
scrollBarWidth->insertItem("Large");
sliderStyleLabel = new QLabel(scrollGrp);
sliderStyleLabel->setText(i18n("Slider handle size : "));
sliderStyle = new QComboBox(i18n("Slider handle size"), scrollGrp);
sliderStyle->setEditable(false);
sliderStyle->insertItem("Small");
sliderStyle->insertItem("Medium");
sliderStyle->insertItem("Large");
tabLayout->addWidget(scrollGrp,1,1,0);
///Highlighting group
QVGroupBox *lightGrp = new QVGroupBox(i18n("Highlighting"), page1);
drawFocusRect = new QCheckBox(i18n("Colored focus rectangle"), lightGrp);
comboboxColored = new QCheckBox(i18n("Colored comboboxes handles"), lightGrp);
coloredMenuBar = new QCheckBox(i18n("Colored menu bar items"), lightGrp);
drawTabHighlight = new QCheckBox(i18n("Highlight active tab"), lightGrp);
inputFocusHighlight = new QCheckBox(i18n("Highlight focused input fields"), lightGrp);
tabLayout->addWidget(lightGrp,0,2,0);
///Other colors group
QVGroupBox *otherGrp = new QVGroupBox(i18n("Custom colors"), page1);
customFocusHighlightColor = new QCheckBox(i18n("Input fields highlight :"), otherGrp);
QHBox *hbox1 = new QHBox(otherGrp);
hbox1->layout()->addItem(new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum) );
focusHighlightColor = new KColorButton(hbox1);
customOverHighlightColor = new QCheckBox(i18n("Mouse hover highlight :"), otherGrp);
QHBox *hbox2 = new QHBox(otherGrp);
hbox2->layout()->addItem(new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum) );
overHighlightColor = new KColorButton(hbox2);
customCheckMarkColor = new QCheckBox(i18n("Checkmark/Radiobuttons :"), otherGrp);
QHBox *hbox3 = new QHBox(otherGrp);
hbox3->layout()->addItem(new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum) );
checkMarkColor = new KColorButton(hbox3);
customTabHighlightColor = new QCheckBox(i18n("Active tab highlight :"), otherGrp);
QHBox *hbox4 = new QHBox(otherGrp);
hbox4->layout()->addItem(new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum) );
tabHighlightColor = new KColorButton(hbox4);
tabLayout->addWidget(otherGrp,1,2,0);
///Init tab2
QWidget *page2 = new QWidget(tabWidget);
QLabel* lipstikLabel;
QLabel* authorLabel;
QLabel* authorAddressLabel;
QLabel* authorWebLabel;
QLabel* plastikLabel;
QLabel* alsoLabel;
QLabel* cuLabel;
QLabel* dnLabel;
QLabel* pqLabel;
QLabel* cxLabel;
QLabel* kpLabel;
QLabel* blLabel;
QLabel* ksLabel;
QLabel* peLabel;
QLabel* bastianLabel;
QLabel* pcbsdLabel;
QLabel* othersLabel;
layout = new QVBoxLayout(page2, 10, -1);
tabWidget->insertTab(page2, i18n("About"));
lipstikLabel = new QLabel(page2);
lipstikLabel->setText(i18n("Lipstik 2.2.3"));
lipstikLabel->setFrameStyle( QFrame::StyledPanel | QFrame::Raised );
authorLabel = new QLabel(page2);
authorLabel->setText(i18n(" Copyright 2004-2005-2006-2007 (C) Patrice Tremblay (Poplix)"));
authorAddressLabel = new QLabel(page2);
authorAddressLabel->setText(i18n(" poplixos@gmail.com"));
authorWebLabel = new QLabel(page2);
authorWebLabel->setText(i18n(" http://poplix.homelinux.com/lipstik"));
plastikLabel = new QLabel(page2);
plastikLabel->setText(i18n("Based on plastik [thanks to Sandro Giessl]"));
alsoLabel = new QLabel(page2);
alsoLabel->setText(i18n("Also based on :"));
cuLabel = new QLabel(page2);
cuLabel->setText(i18n(" QtCurve [thanks to Craig Drummond],"));
dnLabel = new QLabel(page2);
dnLabel->setText(i18n(" DotNET [thanks to Chris Lee],"));
pqLabel = new QLabel(page2);
pqLabel->setText(i18n(" PlastikQ [thanks to Martin Beck],"));
cxLabel = new QLabel(page2);
cxLabel->setText(i18n(" Comix [thanks to Jens Luetkens],"));
kpLabel = new QLabel(page2);
kpLabel->setText(i18n(" Krisp [thanks to Keith Meehl],"));
blLabel = new QLabel(page2);
blLabel->setText(i18n(" Ballistik [thanks to Florian Merz],"));
ksLabel = new QLabel(page2);
ksLabel->setText(i18n(" Kerastik [thanks to Victor Perez Q],"));
peLabel = new QLabel(page2);
peLabel->setText(i18n(" Polyester [thanks to Marco Martin]."));
bastianLabel = new QLabel(page2);
bastianLabel->setText(i18n("Thanks to Bastian Venthur, the Debian maintainer of kde-style-lipstik."));
pcbsdLabel = new QLabel(page2);
pcbsdLabel->setText(i18n("Thanks to Charles A. Landemaine, of PC-BSD, for the feature suggestion."));
othersLabel = new QLabel(page2);
othersLabel->setText(i18n("Special thanks to Dominique and all the kde-look.org users."));
layout->add(lipstikLabel);
layout->add(authorLabel);
layout->add(authorAddressLabel);
layout->add(authorWebLabel);
layout->addSpacing(10);
layout->add(plastikLabel);
layout->addSpacing(10);
layout->add(alsoLabel);
layout->add(cuLabel);
layout->add(dnLabel);
layout->add(pqLabel);
layout->add(cxLabel);
layout->add(kpLabel);
layout->add(blLabel);
layout->add(ksLabel);
layout->add(peLabel);
layout->addSpacing(10);
layout->add(bastianLabel);
layout->add(pcbsdLabel);
layout->add(othersLabel);
///Populate!
QSettings s;
origReverseGradients = s.readBoolEntry("/lipstikstyle/Settings/reverseGradients", false);
reverseGradients->setChecked(origReverseGradients);
origPaintGroove = s.readBoolEntry("/lipstikstyle/Settings/paintGroove", true);
paintGroove->setChecked(origPaintGroove);
origSharperMenuGradient = s.readBoolEntry("/lipstikstyle/Settings/sharperMenuGradient", false);
sharperMenuGradient->setChecked(origSharperMenuGradient);
origAlterMenuGradients = s.readBoolEntry("/lipstikstyle/Settings/alterMenuGradients", true);
alterMenuGradients->setChecked(origAlterMenuGradients);
origMenuLeftSideBar = s.readBoolEntry("/lipstikstyle/Settings/menuLeftSideBar", true);
menuLeftSideBar->setChecked(origMenuLeftSideBar);
origFlatStripe = s.readBoolEntry("/lipstikstyle/Settings/flatStripe", false);
flatStripe->setChecked(origFlatStripe);
origComboboxColored = s.readBoolEntry("/lipstikstyle/Settings/comboboxColored", false);
comboboxColored->setChecked(origComboboxColored);
origColoredMenuBar = s.readBoolEntry("/lipstikstyle/Settings/coloredMenuBar", false);
coloredMenuBar->setChecked(origColoredMenuBar);
origDrawTabHighlight = s.readBoolEntry("/lipstikstyle/Settings/drawTabHighlight", true);
drawTabHighlight->setChecked(origDrawTabHighlight);
origMenuSpacing = s.readNumEntry("/lipstikstyle/Settings/menuSpacing", 5);
menuSpacing->setValue(origMenuSpacing);
origToolBarSpacing = s.readNumEntry("/lipstikstyle/Settings/toolBarSpacing", 0);
toolBarSpacing->setValue(origToolBarSpacing);
origScrollBarStyle = s.readEntry("/lipstikstyle/Settings/scrollBarStyle", "WindowsStyleScrollBar");
scrollBarStyle->setCurrentItem(scrollBarItem(origScrollBarStyle));
origScrollBarWidth = s.readEntry("/lipstikstyle/Settings/scrollBarWidth", "Small");
scrollBarWidth->setCurrentItem(scrollBarWidthItem(origScrollBarWidth));
origSliderStyle = s.readEntry("/lipstikstyle/Settings/sliderStyle", "sliderLipstikStyle");
sliderStyle->setCurrentItem(sliderItem(origSliderStyle));
origDrawStatusBarFrame = s.readBoolEntry("/lipstikstyle/Settings/drawStatusBarFrame", false);
drawStatusBarFrame->setChecked(origDrawStatusBarFrame);
origDrawToolBarHandle = s.readBoolEntry("/lipstikstyle/Settings/drawToolBarHandle", true);
drawToolBarHandle->setChecked(origDrawToolBarHandle);
origAnimProgressBar = s.readBoolEntry("/lipstikstyle/Settings/animateProgressBar", false);
animateProgressBar->setChecked(origAnimProgressBar);
origDrawToolBarSeparator = s.readBoolEntry("/lipstikstyle/Settings/drawToolBarSeparator", true);
drawToolBarSeparator->setChecked(origDrawToolBarSeparator);
origDrawToolBarGradient = s.readBoolEntry("/lipstikstyle/Settings/drawToolBarGradient", false);
drawToolBarGradient->setChecked(origDrawToolBarGradient);
origInvertBarGrad = s.readBoolEntry("/lipstikstyle/Settings/invertBarGrad", true);
invertBarGrad->setChecked(origInvertBarGrad);
origDrawToolBarItemSeparator = s.readBoolEntry("/lipstikstyle/Settings/drawToolBarItemSeparator", true);
drawToolBarItemSeparator->setChecked(origDrawToolBarItemSeparator);
origDrawFocusRect = s.readBoolEntry("/lipstikstyle/Settings/drawFocusRect", true);
drawFocusRect->setChecked(origDrawFocusRect);
origFlatHeaders = s.readBoolEntry("/lipstikstyle/Settings/flatHeaders", true);
flatHeaders->setChecked(origFlatHeaders);
origTickCheckMark = s.readBoolEntry("/lipstikstyle/Settings/tickCheckMark", true);
tickCheckMark->setChecked(origTickCheckMark);
origDrawTriangularExpander = s.readBoolEntry("/lipstikstyle/Settings/drawTriangularExpander", false);
drawTriangularExpander->setChecked(origDrawTriangularExpander);
origInputFocusHighlight = s.readBoolEntry("/lipstikstyle/Settings/inputFocusHighlight", true);
inputFocusHighlight->setChecked(origInputFocusHighlight);
origCustomOverHighlightColor = s.readBoolEntry("/lipstikstyle/Settings/customOverHighlightColor", false);
customOverHighlightColor->setChecked(origCustomOverHighlightColor);
origOverHighlightColor = s.readEntry("/lipstikstyle/Settings/overHighlightColor", "/Qt/KWinPalette/activeBackground");
overHighlightColor->setColor(origOverHighlightColor);
origCustomMenuStripeColor = s.readBoolEntry("/lipstikstyle/Settings/customMenuStripeColor", false);
customMenuStripeColor->setChecked(origCustomMenuStripeColor);
origMenuStripeColor = s.readEntry("/lipstikstyle/Settings/menuStripeColor", "/Qt/KWinPalette/activeBackground");
menuStripeColor->setColor(origMenuStripeColor);
origCustomFocusHighlightColor = s.readBoolEntry("/lipstikstyle/Settings/customFocusHighlightColor", false);
customFocusHighlightColor->setChecked(origCustomFocusHighlightColor);
origFocusHighlightColor = s.readEntry("/lipstikstyle/Settings/focusHighlightColor", "/Qt/KWinPalette/activeBackground");
focusHighlightColor->setColor(origFocusHighlightColor);
origCustomCheckMarkColor = s.readBoolEntry("/lipstikstyle/Settings/customCheckMarkColor", false);
customCheckMarkColor->setChecked(origCustomCheckMarkColor);
origCheckMarkColor = s.readEntry("/lipstikstyle/Settings/checkMarkColor", "/Qt/KWinPalette/activeBackground");
checkMarkColor->setColor(origCheckMarkColor);
origCustomTabHighlightColor = s.readBoolEntry("/lipstikstyle/Settings/customTabHighlightColor", false);
customTabHighlightColor->setChecked(origCustomTabHighlightColor);
origTabHighlightColor = s.readEntry("/lipstikstyle/Settings/tabHighlightColor", "/Qt/KWinPalette/activeBackground");
tabHighlightColor->setColor(origTabHighlightColor);
connect(reverseGradients, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(paintGroove, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(sharperMenuGradient, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(alterMenuGradients, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(menuLeftSideBar, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(flatStripe, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(drawStatusBarFrame, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(drawToolBarHandle, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(comboboxColored, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(coloredMenuBar, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(drawTabHighlight, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(menuSpacing, SIGNAL( valueChanged(int) ), SLOT( updateChanged() ) );
connect(toolBarSpacing, SIGNAL( valueChanged(int) ), SLOT( updateChanged() ) );
connect(scrollBarStyle, SIGNAL( activated(int) ), SLOT( updateChanged() ) );
connect(scrollBarWidth, SIGNAL( activated(int) ), SLOT( updateChanged() ) );
connect(sliderStyle, SIGNAL( activated(int) ), SLOT( updateChanged() ) );
connect(animateProgressBar, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(drawToolBarSeparator, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(drawToolBarGradient, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(invertBarGrad, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(drawToolBarItemSeparator, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(drawFocusRect, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(flatHeaders, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(tickCheckMark, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(drawTriangularExpander, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(inputFocusHighlight, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(customOverHighlightColor, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(overHighlightColor, SIGNAL( pressed() ), SLOT( updateChanged() ) );
connect(customMenuStripeColor, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(menuStripeColor, SIGNAL( pressed() ), SLOT( updateChanged() ) );
connect(customFocusHighlightColor, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(focusHighlightColor, SIGNAL( pressed() ), SLOT( updateChanged() ) );
connect(customCheckMarkColor, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(checkMarkColor, SIGNAL( pressed() ), SLOT( updateChanged() ) );
connect(customTabHighlightColor, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) );
connect(tabHighlightColor, SIGNAL( pressed() ), SLOT( updateChanged() ) );
//Menu Stripe
if ( menuLeftSideBar->isChecked() ) {
customMenuStripeColor->setEnabled(true);
flatStripe->setEnabled(true);
} else {
customMenuStripeColor->setEnabled(false);
flatStripe->setEnabled(false);
}
//Toolbar gradients.
if ( drawToolBarGradient->isChecked() ) {
invertBarGrad->setEnabled(true);
} else {
invertBarGrad->setEnabled(false);
}
if ( customMenuStripeColor->isChecked() && customMenuStripeColor->isEnabled())
menuStripeColor->setEnabled(true);
else
menuStripeColor->setEnabled(false);
//Input Focus
if ( inputFocusHighlight->isChecked() )
customFocusHighlightColor->setEnabled(true);
else
customFocusHighlightColor->setEnabled(false);
if ( customFocusHighlightColor->isChecked() && customFocusHighlightColor->isEnabled())
focusHighlightColor->setEnabled(true);
else
focusHighlightColor->setEnabled(false);
//Custom checkmark color.
if ( customCheckMarkColor->isChecked() )
checkMarkColor->setEnabled(true);
else
checkMarkColor->setEnabled(false);
//Custom tab highlight color.
if ( customTabHighlightColor->isChecked() )
tabHighlightColor->setEnabled(true);
else
tabHighlightColor->setEnabled(false);
if ( customOverHighlightColor->isChecked() )
overHighlightColor->setEnabled(true);
else
overHighlightColor->setEnabled(false);
}
LipstikStyleConfig::~LipstikStyleConfig()
{
}
void LipstikStyleConfig::save()
{
QSettings s;
s.writeEntry("/lipstikstyle/Settings/reverseGradients", reverseGradients->isChecked());
s.writeEntry("/lipstikstyle/Settings/paintGroove", paintGroove->isChecked());
s.writeEntry("/lipstikstyle/Settings/sharperMenuGradient", sharperMenuGradient->isChecked());
s.writeEntry("/lipstikstyle/Settings/alterMenuGradients", alterMenuGradients->isChecked());
s.writeEntry("/lipstikstyle/Settings/menuLeftSideBar", menuLeftSideBar->isChecked());
s.writeEntry("/lipstikstyle/Settings/flatStripe", flatStripe->isChecked());
s.writeEntry("/lipstikstyle/Settings/drawStatusBarFrame", drawStatusBarFrame->isChecked());
s.writeEntry("/lipstikstyle/Settings/drawToolBarHandle", drawToolBarHandle->isChecked());
s.writeEntry("/lipstikstyle/Settings/comboboxColored", comboboxColored->isChecked());
s.writeEntry("/lipstikstyle/Settings/coloredMenuBar", coloredMenuBar->isChecked());
s.writeEntry("/lipstikstyle/Settings/drawTabHighlight", drawTabHighlight->isChecked());
s.writeEntry("/lipstikstyle/Settings/menuSpacing", menuSpacing->value());
s.writeEntry("/lipstikstyle/Settings/toolBarSpacing", toolBarSpacing->value());
s.writeEntry("/lipstikstyle/Settings/scrollBarStyle", scrollBarType(scrollBarStyle->currentItem()));
s.writeEntry("/lipstikstyle/Settings/scrollBarWidth", scrollBarWidthType(scrollBarWidth->currentItem()));
s.writeEntry("/lipstikstyle/Settings/sliderStyle", sliderType(sliderStyle->currentItem()));
s.writeEntry("/lipstikstyle/Settings/animateProgressBar", animateProgressBar->isChecked());
s.writeEntry("/lipstikstyle/Settings/drawToolBarSeparator", drawToolBarSeparator->isChecked());
s.writeEntry("/lipstikstyle/Settings/drawToolBarGradient", drawToolBarGradient->isChecked());
s.writeEntry("/lipstikstyle/Settings/invertBarGrad", invertBarGrad->isChecked());
s.writeEntry("/lipstikstyle/Settings/drawToolBarItemSeparator", drawToolBarItemSeparator->isChecked());
s.writeEntry("/lipstikstyle/Settings/drawFocusRect", drawFocusRect->isChecked());
s.writeEntry("/lipstikstyle/Settings/flatHeaders", flatHeaders->isChecked());
s.writeEntry("/lipstikstyle/Settings/tickCheckMark", tickCheckMark->isChecked());
s.writeEntry("/lipstikstyle/Settings/drawTriangularExpander", drawTriangularExpander->isChecked());
s.writeEntry("/lipstikstyle/Settings/inputFocusHighlight", inputFocusHighlight->isChecked());
s.writeEntry("/lipstikstyle/Settings/customOverHighlightColor", customOverHighlightColor->isChecked());
s.writeEntry("/lipstikstyle/Settings/overHighlightColor", QColor(overHighlightColor->color()).name());
s.writeEntry("/lipstikstyle/Settings/customMenuStripeColor", customMenuStripeColor->isChecked());
s.writeEntry("/lipstikstyle/Settings/menuStripeColor", QColor(menuStripeColor->color()).name());
s.writeEntry("/lipstikstyle/Settings/customFocusHighlightColor", customFocusHighlightColor->isChecked());
s.writeEntry("/lipstikstyle/Settings/focusHighlightColor", QColor(focusHighlightColor->color()).name());
s.writeEntry("/lipstikstyle/Settings/customCheckMarkColor", customCheckMarkColor->isChecked());
s.writeEntry("/lipstikstyle/Settings/checkMarkColor", QColor(checkMarkColor->color()).name());
s.writeEntry("/lipstikstyle/Settings/customTabHighlightColor", customTabHighlightColor->isChecked());
s.writeEntry("/lipstikstyle/Settings/tabHighlightColor", QColor(tabHighlightColor->color()).name());
}
void LipstikStyleConfig::defaults()
{
reverseGradients->setChecked(false);
paintGroove->setChecked(true);
sharperMenuGradient->setChecked(false);
alterMenuGradients->setChecked(true);
menuLeftSideBar->setChecked(true);
flatStripe->setChecked(false);
menuSpacing->setValue(5);
toolBarSpacing->setValue(0);
drawStatusBarFrame->setChecked(false);
drawToolBarHandle->setChecked(true);
comboboxColored->setChecked(false);
coloredMenuBar->setChecked(false);
drawTabHighlight->setChecked(true);
scrollBarStyle->setCurrentItem(0);
scrollBarWidth->setCurrentItem(0);
sliderStyle->setCurrentItem(1);
animateProgressBar->setChecked(false);
drawToolBarSeparator->setChecked(true);
drawToolBarGradient->setChecked(false);
invertBarGrad->setChecked(true);
drawToolBarItemSeparator->setChecked(true);
drawFocusRect->setChecked(true);
flatHeaders->setChecked(true);
tickCheckMark->setChecked(true);
drawTriangularExpander->setChecked(false);
inputFocusHighlight->setChecked(true);
customOverHighlightColor->setChecked(false);
overHighlightColor->setColor("/Qt/KWinPalette/activeBackground");
customMenuStripeColor->setChecked(false);
menuStripeColor->setColor("/Qt/KWinPalette/activeBackground");
customFocusHighlightColor->setChecked(false);
focusHighlightColor->setColor("/Qt/KWinPalette/activeBackground");
customCheckMarkColor->setChecked(false);
checkMarkColor->setColor("/Qt/KWinPalette/activeBackground");
customTabHighlightColor->setChecked(false);
tabHighlightColor->setColor("/Qt/KWinPalette/activeBackground");
//updateChanged would be done by setChecked already
}
void LipstikStyleConfig::updateChanged()
{
if ( customOverHighlightColor->isChecked() )
overHighlightColor->setEnabled(true);
else
overHighlightColor->setEnabled(false);
if ( drawToolBarGradient->isChecked() )
invertBarGrad->setEnabled(true);
else
invertBarGrad->setEnabled(false);
//Stripe
if ( menuLeftSideBar->isChecked() ) {
customMenuStripeColor->setEnabled(true);
flatStripe->setEnabled(true);
if ( customMenuStripeColor->isEnabled() )
menuStripeColor->setEnabled(true);
else
menuStripeColor->setEnabled(false);
} else {
customMenuStripeColor->setEnabled(false);
menuStripeColor->setEnabled(false);
flatStripe->setEnabled(false);
}
if ( customMenuStripeColor->isChecked() && customMenuStripeColor->isEnabled() )
menuStripeColor->setEnabled(true);
else
menuStripeColor->setEnabled(false);
//Input Focus
if ( inputFocusHighlight->isChecked() ) {
customFocusHighlightColor->setEnabled(true);
if ( customFocusHighlightColor->isEnabled() )
focusHighlightColor->setEnabled(true);
else
focusHighlightColor->setEnabled(false);
} else {
customFocusHighlightColor->setEnabled(false);
focusHighlightColor->setEnabled(false);
}
if ( customFocusHighlightColor->isChecked() && customFocusHighlightColor->isEnabled() )
focusHighlightColor->setEnabled(true);
else
focusHighlightColor->setEnabled(false);
if ( customCheckMarkColor->isChecked() )
checkMarkColor->setEnabled(true);
else
checkMarkColor->setEnabled(false);
if ( customTabHighlightColor->isChecked() )
tabHighlightColor->setEnabled(true);
else
tabHighlightColor->setEnabled(false);
if ((animateProgressBar->isChecked() == origAnimProgressBar) &&
(reverseGradients->isChecked() == origReverseGradients) &&
(paintGroove->isChecked() == origPaintGroove) &&
(sharperMenuGradient->isChecked() == origSharperMenuGradient) &&
(alterMenuGradients->isChecked() == origAlterMenuGradients) &&
(menuLeftSideBar->isChecked() == origMenuLeftSideBar) &&
(flatStripe->isChecked() == origFlatStripe) &&
(menuSpacing->value() == origMenuSpacing) &&
(toolBarSpacing->value() == origToolBarSpacing) &&
(drawStatusBarFrame->isChecked() == origDrawStatusBarFrame) &&
(drawToolBarHandle->isChecked() == origDrawToolBarHandle) &&
(comboboxColored->isChecked() == origComboboxColored) &&
(coloredMenuBar->isChecked() == origColoredMenuBar) &&
(drawTabHighlight->isChecked() == origDrawTabHighlight) &&
(drawToolBarSeparator->isChecked() == origDrawToolBarSeparator) &&
(drawToolBarGradient->isChecked() == origDrawToolBarGradient) &&
(invertBarGrad->isChecked() == origInvertBarGrad) &&
(drawToolBarItemSeparator->isChecked() == origDrawToolBarItemSeparator) &&
(drawFocusRect->isChecked() == origDrawFocusRect) &&
(flatHeaders->isChecked() == origFlatHeaders) &&
(tickCheckMark->isChecked() == origTickCheckMark) &&
(drawTriangularExpander->isChecked() == origDrawTriangularExpander) &&
(inputFocusHighlight->isChecked() == origInputFocusHighlight) &&
(customOverHighlightColor->isChecked() == origCustomOverHighlightColor) &&
(overHighlightColor->color() == origOverHighlightColor) &&
(customMenuStripeColor->isChecked() == origCustomMenuStripeColor) &&
(menuStripeColor->color() == origMenuStripeColor) &&
(customFocusHighlightColor->isChecked() == origCustomFocusHighlightColor) &&
(focusHighlightColor->color() == origFocusHighlightColor) &&
(customCheckMarkColor->isChecked() == origCustomCheckMarkColor) &&
(checkMarkColor->color() == origCheckMarkColor) &&
(customTabHighlightColor->isChecked() == origCustomTabHighlightColor) &&
(tabHighlightColor->color() == origTabHighlightColor) &&
(scrollBarStyle->currentText() == origScrollBarStyle) &&
(scrollBarWidth->currentText() == origScrollBarWidth) &&
(sliderStyle->currentText() == origSliderStyle)
)
emit changed(false);
else
emit changed(true);
}
//Scrollbar types
QString LipstikStyleConfig::scrollBarType( int listnr )
{
switch ( listnr ) {
case 0:
return QString("WindowsStyleScrollBar");
case 1:
return QString("PlatinumStyleScrollBar");
case 2:
return QString("ThreeButtonScrollBar");
case 3:
return QString("NextStyleScrollBar");
default:
return QString("PlatinumStyleScrollBar");
}
}
int LipstikStyleConfig::scrollBarItem( QString kSBType )
{
if( !strcmp(kSBType,"WindowsStyleScrollBar") )
return 0;
else if( !strcmp(kSBType,"PlatinumStyleScrollBar") )
return 1;
else if( !strcmp(kSBType,"ThreeButtonScrollBar") )
return 2;
else if( !strcmp(kSBType,"NextStyleScrollBar") )
return 3;
else
return 1;
}
//Scrollbar Widths
QString LipstikStyleConfig::scrollBarWidthType( int widthListnr )
{
switch ( widthListnr ) {
case 0:
return QString("Small");
case 1:
return QString("Normal");
case 2:
return QString("Large");
default:
return QString("Small");
}
}
int LipstikStyleConfig::scrollBarWidthItem( QString kSBWidthType )
{
if( !strcmp(kSBWidthType,"Small") )
return 0;
else if( !strcmp(kSBWidthType,"Normal") )
return 1;
else if( !strcmp(kSBWidthType,"Large") )
return 2;
else
return 0;
}
//Slider types
int LipstikStyleConfig::sliderItem( QString kSliderType )
{
if( !strcmp(kSliderType,"sliderPlastikStyle") )
return 0;
else if( !strcmp(kSliderType,"sliderLipstikStyle") )
return 1;
else if( !strcmp(kSliderType,"sliderGtkStyle") )
return 2;
else
return 2;
}
QString LipstikStyleConfig::sliderType( int sliderlistnr )
{
switch ( sliderlistnr ) {
case 0:
return QString("sliderPlastikStyle");
case 1:
return QString("sliderLipstikStyle");
case 2:
return QString("sliderGtkStyle");
default:
return QString("sliderGtkStyle");
}
}
#include "lipstikconf.moc"