Source Code (Use browser search to find items of interest.)
Class Index
kcontrol'Options (./kdebase/kcontrol/themes/options.h:17)
class Options : public KConfigWidget
{
Q_OBJECT
public:
Options(QWidget *parent=0, const char* name=0, bool init=FALSE);
~Options();
virtual void loadSettings();
virtual void applySettings();
/** Update status information on available groups of current theme. */
virtual void updateStatus(void);
protected slots:
virtual void slotThemeChanged();
virtual void slotThemeApply();
virtual void slotCbxClicked();
virtual void slotDetails();
virtual void slotInvert();
virtual void slotClear();
protected:
/** Creates a new options line */
virtual QCheckBox* newLine(const char* groupName, const QString& text,
QLabel** statusPtr);
virtual void readConfig();
virtual void writeConfig();
virtual void updateStatus(const char* groupName, QLabel* status);
protected:
QCheckBox *mCbxPanel, *mCbxIcons, *mCbxColors, *mCbxWindowBorder;
QCheckBox *mCbxWindowTitlebar, *mCbxWallpapers, *mCbxSounds;
QCheckBox *mCbxWindowButtonLayout, *mCbxGimmick, *mCbxKfm;
QCheckBox *mCbxOverwrite;
QLabel *mStatPanel, *mStatIcons, *mStatColors, *mStatWindowBorder;
QLabel *mStatWindowTitlebar, *mStatWallpapers, *mStatSounds;
QLabel *mStatWindowButtonLayout, *mStatGimmick, *mStatKfm;
QGridLayout *mGrid;
bool mGui;
int mGridRow;
};
kcontrol'Options::Options() (./kdebase/kcontrol/themes/options.cpp:24)
Options::Options (QWidget * aParent, const char *aName, bool aInit)
: OptionsInherited(aParent, aName)
{
QLabel* lbl;
QPushButton* btn;
mGui = !aInit;
if (!mGui)
{
return;
}
connect(theme, SIGNAL(changed()), SLOT(slotThemeChanged()));
connect(theme, SIGNAL(apply()), SLOT(slotThemeApply()));
mGrid = new QGridLayout(this, 16, 6, 10, 6);
mGridRow = 0;
mCbxOverwrite = new QCheckBox(i18n("Uninstall parts of previous theme"),
this);
mCbxOverwrite->setMinimumSize(mCbxOverwrite->sizeHint());
mCbxOverwrite->setMaximumSize(32767, mCbxOverwrite->sizeHint().height()+5);
mGrid->addMultiCellWidget(mCbxOverwrite, mGridRow, mGridRow, 0, 5);
mGridRow++;
lbl = new QLabel(i18n("Work on the following parts:"), this);
lbl->setMinimumSize(lbl->sizeHint());
mGrid->addMultiCellWidget(lbl, mGridRow, mGridRow, 0, 5);
mGrid->setRowStretch(mGridRow, 3);
mGridRow++;
// The name of the entries and the name of the config groups must
// be exactly the same. Otherwise the code in slotDetails()
// will not be able to determine the translation for the
// details dialog.
mCbxColors = newLine("Colors", i18n("Colors"), &mStatColors);
mCbxWallpapers = newLine("Display", i18n("Wallpapers"), &mStatWallpapers);
mCbxPanel = newLine("Panel", i18n("Panel"), &mStatPanel);
mCbxSounds = newLine("Sounds", i18n("Sounds"), &mStatSounds);
mCbxIcons = newLine("Icons", i18n("Icons"), &mStatIcons);
mCbxWindowBorder = newLine("Window Border", i18n("Window Border"),
&mStatWindowBorder);
mCbxWindowTitlebar = newLine("Window Titlebar", i18n("Window Titlebar"),
&mStatWindowTitlebar);
mCbxGimmick = newLine("Window Gimmick", i18n("Window Gimmick"),
&mStatGimmick);
mCbxWindowButtonLayout = newLine("Window Button Layout",
i18n("Window Button Layout"), &mStatWindowButtonLayout);
mCbxKfm = newLine("File Manager", i18n("File Manager"), &mStatKfm);
btn = new QPushButton(i18n("Clear"), this);
btn->setFixedSize(btn->sizeHint());
connect(btn, SIGNAL(pressed()), SLOT(slotClear()));
mGrid->addWidget(btn, mGridRow, 0);
btn = new QPushButton(i18n("Invert"), this);
btn->setFixedSize(btn->sizeHint());
connect(btn, SIGNAL(pressed()), SLOT(slotInvert()));
mGrid->addWidget(btn, mGridRow, 1);
mGridRow++;
mGrid->setRowStretch(mGridRow, 1000);
mGrid->setColStretch(0, 2);
mGrid->setColStretch(1, 1);
mGrid->setColStretch(2, 1);
mGrid->setColStretch(3, 1);
mGrid->setColStretch(4, 10);
mGrid->activate();
readConfig();
}
//-----------------------------------------------------------------------------
kcontrol'Options::~Options() (./kdebase/kcontrol/themes/options.cpp:98)
Options::~Options()
{
writeConfig();
}
//-----------------------------------------------------------------------------
kcontrol'Options::newLine() (./kdebase/kcontrol/themes/options.cpp:105)
QCheckBox* Options::newLine(const char* aGroupName, const QString& aText,
QLabel** aStatusPtr)
{
QCheckBox* cbx = new QCheckBox(aText, this);
QPushButton* btnDetails;
QLabel* lbl;
cbx->setMinimumSize(cbx->sizeHint());
cbx->setMaximumSize(32767, cbx->sizeHint().height()+5);
connect(cbx, SIGNAL(clicked()), this, SLOT(slotCbxClicked()));
mGrid->addMultiCellWidget(cbx, mGridRow, mGridRow, 0, 2);
lbl = new QLabel(i18n("unknown"), this);
lbl->setMinimumSize(lbl->sizeHint());
lbl->setMaximumSize(32767, lbl->sizeHint().height()+5);
mGrid->addWidget(lbl, mGridRow, 3);
*aStatusPtr = lbl;
btnDetails = new QPushButton("...", this, aGroupName);
btnDetails->setFixedSize(btnDetails->sizeHint() - QSize(6,2));
connect(btnDetails, SIGNAL(clicked()), this, SLOT(slotDetails()));
mGrid->addWidget(btnDetails, mGridRow, 4);
btnDetails->hide();
mGridRow++;
return cbx;
}
//-----------------------------------------------------------------------------
kcontrol'Options::loadSettings() (./kdebase/kcontrol/themes/options.cpp:135)
void Options::loadSettings()
{
debug("Options::loadSettings() called");
}
//-----------------------------------------------------------------------------
kcontrol'Options::applySettings() (./kdebase/kcontrol/themes/options.cpp:142)
void Options::applySettings()
{
theme->instColors = mCbxColors->isChecked();
theme->instWindowBorder = mCbxWindowBorder->isChecked();
theme->instWindowTitlebar = mCbxWindowTitlebar->isChecked();
theme->instWindowButtonLayout = mCbxWindowButtonLayout->isChecked();
theme->instWallpapers = mCbxWallpapers->isChecked();
theme->instPanel = mCbxPanel->isChecked();
theme->instSounds = mCbxSounds->isChecked();
theme->instIcons = mCbxIcons->isChecked();
theme->instWindowGimmick = mCbxGimmick->isChecked();
theme->instKfm = mCbxKfm->isChecked();
theme->instOverwrite = !mCbxOverwrite->isChecked();
}
//-----------------------------------------------------------------------------
kcontrol'Options::slotInvert() (./kdebase/kcontrol/themes/options.cpp:159)
void Options::slotInvert()
{
mCbxColors->setChecked(!mCbxColors->isChecked());
mCbxWindowBorder->setChecked(!mCbxWindowBorder->isChecked());
mCbxWindowTitlebar->setChecked(!mCbxWindowTitlebar->isChecked());
mCbxWindowButtonLayout->setChecked(!mCbxWindowButtonLayout->isChecked());
mCbxWallpapers->setChecked(!mCbxWallpapers->isChecked());
mCbxPanel->setChecked(!mCbxPanel->isChecked());
mCbxSounds->setChecked(!mCbxSounds->isChecked());
mCbxIcons->setChecked(!mCbxIcons->isChecked());
mCbxGimmick->setChecked(!mCbxGimmick->isChecked());
mCbxKfm->setChecked(!mCbxKfm->isChecked());
applySettings();
}
//-----------------------------------------------------------------------------
kcontrol'Options::slotClear() (./kdebase/kcontrol/themes/options.cpp:176)
void Options::slotClear()
{
mCbxColors->setChecked(false);
mCbxWindowBorder->setChecked(false);
mCbxWindowTitlebar->setChecked(false);
mCbxWindowButtonLayout->setChecked(false);
mCbxWallpapers->setChecked(false);
mCbxPanel->setChecked(false);
mCbxSounds->setChecked(false);
mCbxIcons->setChecked(false);
mCbxGimmick->setChecked(false);
mCbxKfm->setChecked(false);
applySettings();
}
//-----------------------------------------------------------------------------
kcontrol'Options::slotDetails() (./kdebase/kcontrol/themes/options.cpp:193)
void Options::slotDetails()
{
const char * groupName = sender()->name();
GroupDetails dlg(groupName);
if (!groupName || !groupName[0])
{
warning("Empty group name ?!");
return;
}
dlg.setCaption(i18n(groupName));
dlg.exec();
}
//-----------------------------------------------------------------------------
kcontrol'Options::slotCbxClicked() (./kdebase/kcontrol/themes/options.cpp:210)
void Options::slotCbxClicked()
{
applySettings();
}
//-----------------------------------------------------------------------------
kcontrol'Options::slotThemeApply() (./kdebase/kcontrol/themes/options.cpp:217)
void Options::slotThemeApply()
{
applySettings();
}
//-----------------------------------------------------------------------------
kcontrol'Options::slotThemeChanged() (./kdebase/kcontrol/themes/options.cpp:224)
void Options::slotThemeChanged()
{
debug("Options::slotThemeChanged() called");
updateStatus();
}
//-----------------------------------------------------------------------------
kcontrol'Options::updateStatus() (./kdebase/kcontrol/themes/options.cpp:232)
void Options::updateStatus(const char* aGroupName, QLabel* aLblStatus)
{
QString statusStr;
assert(aGroupName!=0);
assert(aLblStatus!=NULL);
if (theme->hasGroup(aGroupName, true))
statusStr = i18n("available");
else statusStr = i18n("empty");
aLblStatus->setText(statusStr);
aLblStatus->setMinimumSize(aLblStatus->sizeHint());
}
//-----------------------------------------------------------------------------
kcontrol'Options::updateStatus() (./kdebase/kcontrol/themes/options.cpp:249)
void Options::updateStatus(void)
{
updateStatus("Colors", mStatColors);
updateStatus("Window Border", mStatWindowBorder);
updateStatus("Window Titlebar", mStatWindowTitlebar);
updateStatus("Window Button Layout", mStatWindowButtonLayout);
updateStatus("Display", mStatWallpapers);
updateStatus("Panel", mStatPanel);
updateStatus("Sounds", mStatSounds);
updateStatus("Icons", mStatIcons);
updateStatus("Gimmick", mStatGimmick);
updateStatus("File Manager", mStatKfm);
}
//-----------------------------------------------------------------------------
kcontrol'Options::writeConfig() (./kdebase/kcontrol/themes/options.cpp:265)
void Options::writeConfig()
{
KConfig* cfg = kapp->getConfig();
cfg->setGroup("Options");
cfg->writeEntry("overwrite", !mCbxOverwrite->isChecked());
cfg->writeEntry("panel", mCbxPanel->isChecked());
cfg->writeEntry("icons", mCbxIcons->isChecked());
cfg->writeEntry("colors", mCbxColors->isChecked());
cfg->writeEntry("window-border", mCbxWindowBorder->isChecked());
cfg->writeEntry("window-titlebar", mCbxWindowTitlebar->isChecked());
cfg->writeEntry("window-button-layout", mCbxWindowButtonLayout->isChecked());
cfg->writeEntry("window-gimmick", mCbxGimmick->isChecked());
cfg->writeEntry("wallpapers", mCbxWallpapers->isChecked());
cfg->writeEntry("sounds", mCbxSounds->isChecked());
cfg->writeEntry("file-manager", mCbxKfm->isChecked());
}
//-----------------------------------------------------------------------------
kcontrol'Options::readConfig() (./kdebase/kcontrol/themes/options.cpp:285)
void Options::readConfig()
{
KConfig* cfg = kapp->getConfig();
cfg->setGroup("Options");
mCbxOverwrite->setChecked(!cfg->readBoolEntry("overwrite", false));
mCbxPanel->setChecked(cfg->readBoolEntry("panel", true));
mCbxIcons->setChecked(cfg->readBoolEntry("icons", true));
mCbxColors->setChecked(cfg->readBoolEntry("colors", true));
mCbxWindowBorder->setChecked(cfg->readBoolEntry("window-border", true));
mCbxWindowTitlebar->setChecked(cfg->readBoolEntry("window-titlebar", true));
mCbxWindowButtonLayout->setChecked(cfg->readBoolEntry("window-button-layout", false));
mCbxGimmick->setChecked(cfg->readBoolEntry("window-gimmick", true));
mCbxWallpapers->setChecked(cfg->readBoolEntry("wallpapers", true));
mCbxSounds->setChecked(cfg->readBoolEntry("sounds", true));
mCbxKfm->setChecked(cfg->readBoolEntry("file-manager", true));
applySettings();
}
//-----------------------------------------------------------------------------