kde-workspace/kdm/kcm/background.cpp
2014-11-13 19:30:51 +02:00

91 lines
2.5 KiB
C++

/*
* This file is part of the KDE project, module kcmdisplay.
* Copyright (C) 1999 Geert Jansen <g.t.jansen@stud.tue.nl>
*
* Modified 2000.07.14 by Brad Hughes <bhughes@trolltech.com>
* Improve layout and consistency with KDesktop's background selection
*
* Based on old backgnd.cpp:
*
* Copyright (c) Martin R. Jones 1996
* Converted to a kcc module by Matthias Hoelzer 1997
* Gradient backgrounds by Mark Donohoe 1997
* Pattern backgrounds by Stephan Kulow 1998
* Randomizing & dnd & new display modes by Matej Koss 1998
*
* You can Freely distribute this program under the GNU General Public
* License. See the file "COPYING" for the exact licensing terms.
*/
#include "background.h"
#include <config-workspace.h>
#include "../background/bgdialog.h"
#include <KLocale>
#include <KConfig>
#include <QCheckBox>
#include <QVBoxLayout>
extern KConfig *config;
KBackground::KBackground(KSharedConfigPtr backgroundConfig, QWidget *parent)
: QWidget(parent), m_simpleConf(backgroundConfig)
{
// Enabling checkbox
m_pCBEnable = new QCheckBox(i18n("E&nable background"), this);
m_pCBEnable->setWhatsThis(i18n(
"If this is checked, KDM will use the settings below for the background."
" If it is disabled, you have to look after the background yourself."
" This is done by running some program (possibly xsetroot) in the script"
" specified in the Setup= option in kdmrc (usually Xsetup)."));
m_background = new BGDialog(this, m_simpleConf);
connect(m_background, SIGNAL(changed(bool)), SIGNAL(changed()));
// Top layout
QVBoxLayout *top = new QVBoxLayout(this);
top->setMargin(KDialog::marginHint());
top->setSpacing(KDialog::spacingHint());
top->addWidget(m_pCBEnable);
top->addWidget(m_background);
top->addStretch();
connect(m_pCBEnable, SIGNAL(toggled(bool)), SLOT(slotEnableChanged()));
}
KBackground::~KBackground()
{
}
void KBackground::slotEnableChanged()
{
bool en = m_pCBEnable->isChecked();
m_background->setEnabled(en);
emit changed();
}
void KBackground::load()
{
m_pCBEnable->setChecked(config->group("X-*-Greeter").readEntry("UseBackground", true));
m_background->load();
slotEnableChanged();
}
void KBackground::save()
{
config->group("X-*-Greeter").writeEntry("UseBackground", m_pCBEnable->isChecked());
m_background->save();
}
void KBackground::defaults()
{
m_pCBEnable->setChecked(true);
slotEnableChanged();
m_background->defaults();
}
#include "background.moc"