[shell] Emit dbus signals in org.kde.osdService

Emitting dbus signals allows interested parties to be notified about
OSD changes. E.g. the lock screen might want to show the OSD values,
but blocks the actual OSD, so it needs to be informed about changes
to react on them.
wilder-5.14
Martin Gräßlin 11 years ago
parent b6a2b376ac
commit f91d16b752
  1. 4
      shell/osd.cpp
  2. 4
      shell/osd.h

@ -42,7 +42,7 @@ Osd::Osd(ShellCorona *corona)
m_osdObject->setSource(QUrl::fromLocalFile(osdPath));
m_timeout = m_osdObject->rootObject()->property("timeout").toInt();
QDBusConnection::sessionBus().registerObject("/org/kde/osdService", this, QDBusConnection::ExportAllSlots);
QDBusConnection::sessionBus().registerObject("/org/kde/osdService", this, QDBusConnection::ExportAllSlots | QDBusConnection::ExportAllSignals);
m_osdTimer = new QTimer(this);
m_osdTimer->setSingleShot(true);
@ -109,6 +109,7 @@ void Osd::showProgress(const QString &icon, const int percent, const QString &ad
m_osdObject->rootObject()->setProperty("showingProgress", true);
m_osdObject->rootObject()->setProperty("icon", icon);
emit osdProgress(icon, value, additionalText);
showOsd();
}
@ -118,6 +119,7 @@ void Osd::showText(const QString &icon, const QString &text)
m_osdObject->rootObject()->setProperty("osdValue", text);
m_osdObject->rootObject()->setProperty("icon", icon);
emit osdText(icon, text);
showOsd();
}

@ -46,6 +46,10 @@ public Q_SLOTS:
void kbdLayoutChanged(const QString &layoutName);
void virtualDesktopChanged(const QString &currentVirtualDesktopName);
Q_SIGNALS:
void osdProgress(const QString &icon, const int percent, const QString &additionalText);
void osdText(const QString &icon, const QString &text);
private Q_SLOTS:
void hideOsd();

Loading…
Cancel
Save