mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-23 18:32:50 +00:00
kgreeter: do not disable the test button if the lightdm process is running
so that the lightdm process can be killed in case widget state changes while the process is running Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
3fe4d8b021
commit
7bd18eaf34
2 changed files with 14 additions and 2 deletions
|
@ -42,7 +42,8 @@ K_EXPORT_PLUGIN(KCMGreeterFactory("kcmgreeterconfig", "kcm_greeterconfig"))
|
||||||
KCMGreeter::KCMGreeter(QWidget* parent, const QVariantList& args)
|
KCMGreeter::KCMGreeter(QWidget* parent, const QVariantList& args)
|
||||||
: KCModule(KCMGreeterFactory::componentData(), parent),
|
: KCModule(KCMGreeterFactory::componentData(), parent),
|
||||||
m_lightdmexe(KStandardDirs::findRootExe("lightdm")),
|
m_lightdmexe(KStandardDirs::findRootExe("lightdm")),
|
||||||
m_lightdmproc(nullptr)
|
m_lightdmproc(nullptr),
|
||||||
|
m_changed(false)
|
||||||
{
|
{
|
||||||
Q_UNUSED(args);
|
Q_UNUSED(args);
|
||||||
|
|
||||||
|
@ -65,6 +66,8 @@ KCMGreeter::KCMGreeter(QWidget* parent, const QVariantList& args)
|
||||||
setDisabled(true);
|
setDisabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
connect(this, SIGNAL(changed(bool)), this, SLOT(slotChanged(bool)));
|
||||||
|
|
||||||
load();
|
load();
|
||||||
|
|
||||||
connect(fontchooser, SIGNAL(fontSelected(QFont)), this, SLOT(slotFontChanged(QFont)));
|
connect(fontchooser, SIGNAL(fontSelected(QFont)), this, SLOT(slotFontChanged(QFont)));
|
||||||
|
@ -248,6 +251,7 @@ void KCMGreeter::slotTest()
|
||||||
void KCMGreeter::slotProcessStateChanged(QProcess::ProcessState state)
|
void KCMGreeter::slotProcessStateChanged(QProcess::ProcessState state)
|
||||||
{
|
{
|
||||||
setProcessRunning(state == QProcess::Running);
|
setProcessRunning(state == QProcess::Running);
|
||||||
|
enableTest(!m_changed);
|
||||||
}
|
}
|
||||||
|
|
||||||
void KCMGreeter::slotProcessFinished(const int exitcode)
|
void KCMGreeter::slotProcessFinished(const int exitcode)
|
||||||
|
@ -257,6 +261,11 @@ void KCMGreeter::slotProcessFinished(const int exitcode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void KCMGreeter::slotChanged(bool state)
|
||||||
|
{
|
||||||
|
m_changed = state;
|
||||||
|
}
|
||||||
|
|
||||||
void KCMGreeter::loadSettings(const QString &font, const QString &style, const QString &color,
|
void KCMGreeter::loadSettings(const QString &font, const QString &style, const QString &color,
|
||||||
const QString &cursor, const QString &background, const QString &rectangle)
|
const QString &cursor, const QString &background, const QString &rectangle)
|
||||||
{
|
{
|
||||||
|
@ -303,7 +312,7 @@ void KCMGreeter::enableTest(const bool enable)
|
||||||
if (enable) {
|
if (enable) {
|
||||||
testbutton->setEnabled(!m_lightdmexe.isEmpty());
|
testbutton->setEnabled(!m_lightdmexe.isEmpty());
|
||||||
} else {
|
} else {
|
||||||
testbutton->setEnabled(false);
|
testbutton->setEnabled(m_lightdmproc->state() == QProcess::Running);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,8 @@ private Q_SLOTS:
|
||||||
void slotProcessStateChanged(QProcess::ProcessState state);
|
void slotProcessStateChanged(QProcess::ProcessState state);
|
||||||
void slotProcessFinished(const int exitcode);
|
void slotProcessFinished(const int exitcode);
|
||||||
|
|
||||||
|
void slotChanged(bool state);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void loadSettings(const QString &font, const QString &style, const QString &color,
|
void loadSettings(const QString &font, const QString &style, const QString &color,
|
||||||
const QString &cursor, const QString &background, const QString &rectangle);
|
const QString &cursor, const QString &background, const QString &rectangle);
|
||||||
|
@ -64,6 +66,7 @@ private:
|
||||||
|
|
||||||
QString m_lightdmexe;
|
QString m_lightdmexe;
|
||||||
QProcess* m_lightdmproc;
|
QProcess* m_lightdmproc;
|
||||||
|
bool m_changed;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // KGREETERCONFIG_H
|
#endif // KGREETERCONFIG_H
|
||||||
|
|
Loading…
Add table
Reference in a new issue