diff --git a/shell/dbus/org.kde.PlasmaShell.xml b/shell/dbus/org.kde.PlasmaShell.xml --- a/shell/dbus/org.kde.PlasmaShell.xml +++ b/shell/dbus/org.kde.PlasmaShell.xml @@ -29,5 +29,6 @@ + diff --git a/shell/shellcorona.h b/shell/shellcorona.h --- a/shell/shellcorona.h +++ b/shell/shellcorona.h @@ -70,6 +70,8 @@ Q_OBJECT Q_PROPERTY(QString shell READ shell WRITE setShell) Q_PROPERTY(int numScreens READ numScreens) + // moc cannot cope with a NOTIFY signal that is in an inherited and not this particular class + Q_PROPERTY(bool startupCompleted READ isStartupCompleted NOTIFY startupCompletedChanged) Q_CLASSINFO("D-Bus Interface", "org.kde.PlasmaShell") public: @@ -113,6 +115,8 @@ QString defaultContainmentPlugin() const; +signals: + void startupCompletedChanged(); protected: bool eventFilter(QObject *watched, QEvent *event) override; diff --git a/shell/shellcorona.cpp b/shell/shellcorona.cpp --- a/shell/shellcorona.cpp +++ b/shell/shellcorona.cpp @@ -141,6 +141,9 @@ ksplashProgressMessage.setArguments(QList() << QStringLiteral("desktop")); QDBusConnection::sessionBus().asyncCall(ksplashProgressMessage); //TODO: remove + + // moc cannot cope with a NOTIFY signal that is in an inherited class, forwarding to one in this class + emit startupCompletedChanged(); }); // Look for theme config in plasmarc, if it isn't configured, take the theme from the