~ubuntu-branches/ubuntu/precise/kde-workspace/precise-security

« back to all changes in this revision

Viewing changes to powerdevil/kcmodule/profiles/EditPage.cpp

Tags: upstream-4.7.2
Import upstream version 4.7.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#include "EditPage.h"
21
21
 
22
22
#include "actionconfigwidget.h"
 
23
#include "ErrorOverlay.h"
23
24
 
24
25
#include <daemon/powerdevilactionconfig.h>
25
26
#include <daemon/powerdevilprofilegenerator.h>
33
34
#include <QtDBus/QDBusMessage>
34
35
#include <QtDBus/QDBusReply>
35
36
#include <QtDBus/QDBusConnection>
 
37
#include <QtDBus/QDBusConnectionInterface>
36
38
#include <QtDBus/QDBusMetaType>
 
39
#include <QtDBus/QDBusServiceWatcher>
37
40
 
38
41
#include <KConfigGroup>
39
42
#include <KLineEdit>
170
173
    lay->addStretch();
171
174
    tw->setLayout(lay);
172
175
    scrollArea->setWidget(tw);
 
176
 
 
177
    QDBusServiceWatcher *watcher = new QDBusServiceWatcher("org.kde.Solid.PowerManagement",
 
178
                                                           QDBusConnection::sessionBus(),
 
179
                                                           QDBusServiceWatcher::WatchForRegistration |
 
180
                                                           QDBusServiceWatcher::WatchForUnregistration,
 
181
                                                           this);
 
182
 
 
183
    connect(watcher, SIGNAL(serviceRegistered(QString)), this, SLOT(onServiceRegistered(QString)));
 
184
    connect(watcher, SIGNAL(serviceUnregistered(QString)), this, SLOT(onServiceUnregistered(QString)));
 
185
 
 
186
    if (QDBusConnection::sessionBus().interface()->isServiceRegistered("org.kde.Solid.PowerManagement")) {
 
187
        onServiceRegistered("org.kde.Solid.PowerManagement");
 
188
    } else {
 
189
        onServiceUnregistered("org.kde.Solid.PowerManagement");
 
190
    }
173
191
}
174
192
 
175
193
EditPage::~EditPage()
595
613
    restoreDefaultProfiles();
596
614
}
597
615
 
 
616
void EditPage::onServiceRegistered(const QString& service)
 
617
{
 
618
    Q_UNUSED(service);
 
619
 
 
620
    if (!m_errorOverlay.isNull()) {
 
621
        m_errorOverlay.data()->deleteLater();
 
622
    }
 
623
}
 
624
 
 
625
void EditPage::onServiceUnregistered(const QString& service)
 
626
{
 
627
    Q_UNUSED(service);
 
628
 
 
629
    if (!m_errorOverlay.isNull()) {
 
630
        m_errorOverlay.data()->deleteLater();
 
631
    }
 
632
 
 
633
    m_errorOverlay = new ErrorOverlay(this, i18n("The Power Management Service appears not to be running.\n"
 
634
                                                 "This can be solved by starting or scheduling it inside \"Startup and Shutdown\""),
 
635
                                      this);
 
636
}
 
637
 
598
638
#include "EditPage.moc"