- } else if (m_player != "-") {
- QStringList args;
- args << m_dest;
- QProcess::startDetached(m_player, args);
+ } else {
+ QDBusConnectionInterface* interface = QDBusConnection::sessionBus().interface();
+ if (interface && interface->isServiceRegistered("org.kde.VisualNotifications")) {
+ QDBusMessage m = QDBusMessage::createMethodCall("org.kde.VisualNotifications",
+ "/VisualNotifications",
+ "org.kde.VisualNotifications",
+ "Notify");
+ QList<QVariant> args;
+ uint id = 0;
+ int timeout = 5;
+ args.append( QString("kdenlive") ); // app_name
+ args.append( id ); // replaces_id
+ args.append( QString("kdenlive") ); // app_icon
+ args.append( tr("Rendering finished")); // summary
+ args.append( tr("Rendering of %1 is over").arg(m_dest) ); // body
+ QStringList actionList;
+ args.append( actionList ); // actions
+ args.append( QVariantMap() ); // hints - unused atm
+ args.append( timeout ); // expire timout
+
+ m.setArguments( args );
+ QDBusMessage replyMsg = QDBusConnection::sessionBus().call(m);
+ }
+
+ if (m_player != "-") {
+ QStringList args;
+ args << m_dest;
+ QProcess::startDetached(m_player, args);
+ }