Adding upstream version 0.9.0+20150911.

upstream/0.9.0+20150911
Alf Gaida 9 years ago
parent fbf63af56e
commit 8b8061b982

@ -34,8 +34,10 @@
using namespace LXQt; using namespace LXQt;
Power::Power(QObject *parent) : Power::Power(QObject *parent) :
QObject(parent) QObject(parent),
mScreenSaver(this)
{ {
connect(&mScreenSaver, SIGNAL(done()), &mLoop, SLOT(quit()));
mProviders.append(new CustomProvider(this)); mProviders.append(new CustomProvider(this));
mProviders.append(new SystemdProvider(this)); mProviders.append(new SystemdProvider(this));
mProviders.append(new UPowerProvider(this)); mProviders.append(new UPowerProvider(this));
@ -66,11 +68,18 @@ bool Power::doAction(Power::Action action)
{ {
foreach(PowerProvider* provider, mProviders) foreach(PowerProvider* provider, mProviders)
{ {
if (provider->canAction(action) && if (provider->canAction(action))
provider->doAction(action)
)
{ {
return true; if (action == PowerSuspend || action == PowerHibernate)
{
mScreenSaver.lockScreen();
mLoop.exec();
}
if (provider->doAction(action))
{
return true;
}
return false;
} }
} }
return false; return false;

@ -31,6 +31,8 @@
#include <QObject> #include <QObject>
#include <QList> #include <QList>
#include <QEventLoop>
#include "lxqtscreensaver.h"
#include "lxqtglobals.h" #include "lxqtglobals.h"
namespace LXQt namespace LXQt
@ -101,6 +103,8 @@ public slots:
private: private:
QList<PowerProvider*> mProviders; QList<PowerProvider*> mProviders;
LXQt::ScreenSaver mScreenSaver;
QEventLoop mLoop;
}; };
} // namespace LXQt } // namespace LXQt

Loading…
Cancel
Save