Source Code (Use browser search to find items of interest.)
Class Index
kcontrol'KPanelTheme (./kdebase/kcontrol/kpanel/paneltheme.h:18)
class KPanelTheme : public KConfigWidget
{
Q_OBJECT
public:
KPanelTheme(QWidget *parent=0, const char *name=0);
~KPanelTheme();
virtual void loadSettings();
virtual void applySettings();
virtual void saveSettings();
protected slots:
void slotWidgetClicked(int);
void slotColor(const QColor &);
void slotColorDrop(int, const QColor &);
void slotPixmap(const QString &);
void slotResetWidget();
void slotResetAll();
protected:
QString pixNames[4];
KIconLoader *ldr;
QLabel *pixLbl;
KIconLoaderButton *pixBtn;
KColorButton *colorBtn;
WidgetCanvas *canvas;
QComboBox *wCombo;
};
kcontrol'KPanelTheme::loadSettings() (./kdebase/kcontrol/kpanel/paneltheme.cpp:19)
void KPanelTheme::loadSettings()
{
config->setGroup("kpanel");
QColor defColor = colorGroup().background();
canvas->colors[WidgetCanvas::C_Panel] =
config->readColorEntry("PanelBackground", &defColor);
canvas->colors[WidgetCanvas::C_Icon] =
config->readColorEntry("IconBackground", &defColor);
canvas->colors[WidgetCanvas::C_TBar] =
config->readColorEntry("TaskbarFrameBackground", &defColor);
canvas->colors[WidgetCanvas::C_TBtn] =
config->readColorEntry("TaskbarBackground", &defColor);
defColor = colorGroup().foreground();
canvas->colors[WidgetCanvas::C_TText] =
config->readColorEntry("TaskbarForeground", &defColor);
pixNames[WidgetCanvas::C_Panel] =
config->readEntry("BackgroundTexture", QString::null);
pixNames[WidgetCanvas::C_Icon] =
config->readEntry("IconTexture", QString::null);
pixNames[WidgetCanvas::C_TBar] =
config->readEntry("TaskbarFrameTexture", QString::null);
pixNames[WidgetCanvas::C_TBtn] =
config->readEntry("TaskbarTexture", QString::null);
canvas->pixmaps[WidgetCanvas::C_Panel] =
BarIcon(pixNames[WidgetCanvas::C_Panel]);
canvas->pixmaps[WidgetCanvas::C_Icon] =
BarIcon(pixNames[WidgetCanvas::C_Icon]);
canvas->pixmaps[WidgetCanvas::C_TBar] =
BarIcon(pixNames[WidgetCanvas::C_TBar]);
canvas->pixmaps[WidgetCanvas::C_TBtn] =
BarIcon(pixNames[WidgetCanvas::C_TBtn]);
canvas->boxSize = config->readNumEntry("BoxWidth", 45);
}
kcontrol'KPanelTheme::saveSettings() (./kdebase/kcontrol/kpanel/paneltheme.cpp:57)
void KPanelTheme::saveSettings()
{
config->setGroup("kpanel");
config->writeEntry("PanelBackground", canvas->colors[WidgetCanvas::C_Panel]);
config->writeEntry("IconBackground",canvas->colors[WidgetCanvas::C_Icon]);
config->writeEntry("TaskbarFrameBackground",canvas->colors[WidgetCanvas::C_TBar]);
config->writeEntry("TaskbarBackground", canvas->colors[WidgetCanvas::C_TBtn]);
config->writeEntry("TaskbarForeground",canvas->colors[WidgetCanvas::C_TText]);
config->writeEntry("BackgroundTexture",
pixNames[WidgetCanvas::C_Panel]);
config->writeEntry("IconTexture",
pixNames[WidgetCanvas::C_Icon]);
config->writeEntry("TaskbarFrameTexture",
pixNames[WidgetCanvas::C_TBar]);
config->writeEntry("TaskbarTexture",
pixNames[WidgetCanvas::C_TBtn]);
config->sync();
}
kcontrol'KPanelTheme::applySettings() (./kdebase/kcontrol/kpanel/paneltheme.cpp:79)
void KPanelTheme::applySettings()
{
saveSettings();
KWM::sendKWMCommand("kpanel:restart");
}
kcontrol'KPanelTheme::slotColor() (./kdebase/kcontrol/kpanel/paneltheme.cpp:85)
void KPanelTheme::slotColor(const QColor &c)
{
canvas->colors[wCombo->currentItem()] = c;
canvas->drawSampleWidgets();
canvas->repaint();
}
kcontrol'KPanelTheme::slotColorDrop() (./kdebase/kcontrol/kpanel/paneltheme.cpp:92)
void KPanelTheme::slotColorDrop(int widget, const QColor &c)
{
canvas->colors[widget] = c;
canvas->drawSampleWidgets();
canvas->repaint();
}
kcontrol'KPanelTheme::slotPixmap() (./kdebase/kcontrol/kpanel/paneltheme.cpp:99)
void KPanelTheme::slotPixmap(const QString &p)
{
if(wCombo->currentItem() == WidgetCanvas::C_TText)
return;
pixNames[wCombo->currentItem()] = p;
canvas->pixmaps[wCombo->currentItem()] = BarIcon(p);
pixBtn->setIcon(p);
pixBtn->setPixmap(BarIcon(p)); // hack
canvas->drawSampleWidgets();
canvas->repaint();
}
kcontrol'KPanelTheme::slotWidgetClicked() (./kdebase/kcontrol/kpanel/paneltheme.cpp:112)
void KPanelTheme::slotWidgetClicked(int widget)
{
wCombo->setCurrentItem(widget);
colorBtn->setColor(canvas->colors[widget]);
if(widget == WidgetCanvas::C_TText){
pixBtn->setEnabled(false);
pixLbl->setEnabled(false);
}
else{
pixBtn->setEnabled(true);
pixLbl->setEnabled(true);
pixBtn->setIcon(pixNames[widget]);
pixBtn->setPixmap(canvas->pixmaps[widget]);
}
}
kcontrol'KPanelTheme::slotResetWidget() (./kdebase/kcontrol/kpanel/paneltheme.cpp:128)
void KPanelTheme::slotResetWidget()
{
int w = wCombo->currentItem();
if(w == WidgetCanvas::C_TText){
canvas->colors[w] = colorGroup().foreground();
}
else{
canvas->pixmaps[w].resize(0,0);
pixNames[w] = QString::null;
canvas->colors[w] = colorGroup().background();
pixBtn->setIcon(QString::null);
pixBtn->setPixmap(canvas->pixmaps[w]);
}
colorBtn->setColor(canvas->colors[w]);
canvas->drawSampleWidgets();
canvas->repaint();
}
kcontrol'KPanelTheme::slotResetAll() (./kdebase/kcontrol/kpanel/paneltheme.cpp:147)
void KPanelTheme::slotResetAll()
{
int w;
for(w=0; w < CANVAS_ITEMS; ++w){
if(w == WidgetCanvas::C_TText){
canvas->colors[w] = colorGroup().foreground();
}
else{
canvas->pixmaps[w].resize(0,0);
pixNames[w] = QString::null;
canvas->colors[w] = colorGroup().background();
pixBtn->setIcon(QString::null);
pixBtn->setPixmap(canvas->pixmaps[w]);
}
}
colorBtn->setColor(canvas->colors[wCombo->currentItem()]);
canvas->drawSampleWidgets();
canvas->repaint();
}
kcontrol'KPanelTheme::KPanelTheme() (./kdebase/kcontrol/kpanel/paneltheme.cpp:167)
KPanelTheme::KPanelTheme(QWidget *parent, const char *name)
:KConfigWidget(parent, name)
{
ldr = new KIconLoader();
ldr->setIconType("kpanel_pics");
KGlobal::dirs()->addResourceType("kpanel_pics", KStandardDirs::kde_default("data") + "kpanel/pics");
QGroupBox *optionBox = new QGroupBox(i18n("Options"), this);
colorBtn = new KColorButton(optionBox);
colorBtn->setMinimumSize(QSize(64,64));
pixBtn = new KIconLoaderButton(ldr, optionBox);
pixBtn->setMinimumSize(colorBtn->size());
pixBtn->iconLoaderDialog()->changeDirs(KGlobal::dirs()->resourceDirs("kpanel_pics"));
wCombo = new QComboBox(optionBox);
wCombo->insertItem(i18n("Panel"), WidgetCanvas::C_Panel);
wCombo->insertItem(i18n("Icon Background"), WidgetCanvas::C_Icon);
wCombo->insertItem(i18n("Taskbar"), WidgetCanvas::C_TBar);
wCombo->insertItem(i18n("Taskbar Button"), WidgetCanvas::C_TBtn);
wCombo->insertItem(i18n("Taskbar Text"), WidgetCanvas::C_TText);
wCombo->setMinimumSize(wCombo->sizeHint());
QPushButton *resetBtn = new
QPushButton(i18n("Reset this item"), optionBox);
QPushButton *resetAllBtn =
new QPushButton(i18n("Reset all items"), optionBox);
pixLbl = new QLabel(i18n("Pixmap:"), optionBox);
QLabel *colorLbl = new QLabel(i18n("Color:"), optionBox);
QLabel *wLbl = new QLabel(i18n("KPanel Item:"), optionBox);
// This layout is acting wacky :P
QGridLayout *optionLayout = new QGridLayout(optionBox, 9, 5, 10);
optionLayout->addRowSpacing(0, 15);
optionLayout->addMultiCellWidget(wLbl, 1, 1, 0, 3);
optionLayout->addMultiCellWidget(wCombo, 2, 2, 0, 1);
optionLayout->addMultiCellWidget(colorLbl, 3, 3, 0, 1);
optionLayout->addMultiCellWidget(pixLbl, 3, 3, 2, 3);
optionLayout->addWidget(colorBtn, 4, 0);
optionLayout->addWidget(pixBtn, 4, 2);
optionLayout->addRowSpacing(5, 20); //gridlayout is getting spacing wrong
optionLayout->addMultiCellWidget(resetBtn, 6, 6, 0, 2);
optionLayout->addMultiCellWidget(resetAllBtn, 7, 7, 0, 2);
optionLayout->setColStretch(4, 1);
optionLayout->setRowStretch(8, 1);
QGroupBox *canvasBox = new QGroupBox(i18n("KPanel Preview"), this);
canvas = new WidgetCanvas(canvasBox);
canvas->goPix = BarIcon("go");
canvas->appPix = BarIcon("mini-go");
loadSettings();
canvas->drawSampleWidgets();
canvas->setMinimumSize(canvas->sizeHint());
QVBoxLayout *canvasLayout = new QVBoxLayout(canvasBox, 5);
canvasLayout->addSpacing(15);
canvasLayout->addWidget(canvas, 1);
QVBoxLayout *layout = new QVBoxLayout(this, 5);
layout->addWidget(canvasBox);
layout->addWidget(optionBox, 1);
layout->activate();
connect(wCombo, SIGNAL(activated(int)), SLOT(slotWidgetClicked(int)));
connect(colorBtn, SIGNAL(changed(const QColor &)),
SLOT(slotColor(const QColor &)));
connect(pixBtn, SIGNAL(iconChanged(const QString &)),
SLOT(slotPixmap(const QString &)));
connect(resetBtn, SIGNAL(clicked()), SLOT(slotResetWidget()));
connect(resetAllBtn, SIGNAL(clicked()), SLOT(slotResetAll()));
connect(canvas, SIGNAL(widgetSelected(int)), SLOT(slotWidgetClicked(int)));
connect(canvas, SIGNAL(colorDropped(int, const QColor &)),
SLOT(slotColorDrop(int, const QColor &)));
}
kcontrol'KPanelTheme::~KPanelTheme() (./kdebase/kcontrol/kpanel/paneltheme.cpp:238)
KPanelTheme::~KPanelTheme()
{
;
}