Adding upstream version 0.9.0+20150911.
This commit is contained in:
parent
fbf63af56e
commit
8b8061b982
@ -34,8 +34,10 @@
|
||||
using namespace LXQt;
|
||||
|
||||
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 SystemdProvider(this));
|
||||
mProviders.append(new UPowerProvider(this));
|
||||
@ -66,11 +68,18 @@ bool Power::doAction(Power::Action action)
|
||||
{
|
||||
foreach(PowerProvider* provider, mProviders)
|
||||
{
|
||||
if (provider->canAction(action) &&
|
||||
provider->doAction(action)
|
||||
)
|
||||
if (provider->canAction(action))
|
||||
{
|
||||
return true;
|
||||
if (action == PowerSuspend || action == PowerHibernate)
|
||||
{
|
||||
mScreenSaver.lockScreen();
|
||||
mLoop.exec();
|
||||
}
|
||||
if (provider->doAction(action))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -31,6 +31,8 @@
|
||||
|
||||
#include <QObject>
|
||||
#include <QList>
|
||||
#include <QEventLoop>
|
||||
#include "lxqtscreensaver.h"
|
||||
#include "lxqtglobals.h"
|
||||
|
||||
namespace LXQt
|
||||
@ -101,6 +103,8 @@ public slots:
|
||||
|
||||
private:
|
||||
QList<PowerProvider*> mProviders;
|
||||
LXQt::ScreenSaver mScreenSaver;
|
||||
QEventLoop mLoop;
|
||||
};
|
||||
|
||||
} // namespace LXQt
|
||||
|
Loading…
x
Reference in New Issue
Block a user