Adding upstream version 0.9.0+20150911.
This commit is contained in:
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,12 +68,19 @@ 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)
|
{
|
||||||
)
|
if (action == PowerSuspend || action == PowerHibernate)
|
||||||
|
{
|
||||||
|
mScreenSaver.lockScreen();
|
||||||
|
mLoop.exec();
|
||||||
|
}
|
||||||
|
if (provider->doAction(action))
|
||||||
{
|
{
|
||||||
return true;
|
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…
x
Reference in New Issue
Block a user