- QDBusReply<QString> reply = m_jobUiserver->call("terminate", "");
- if (!m_player.isEmpty()) {
- QStringList args;
- args<<m_dest;
- QProcess::startDetached(m_player, args);
+ if (m_jobUiserver) QDBusReply<QString> reply = m_jobUiserver->call("terminate", "");
+ if (m_erase) {
+ QFile f(m_scenelist);
+ f.remove();
+ }
+ if (status == QProcess::CrashExit) {
+ // rendering crashed
+ QStringList args;
+ args << "--error" << tr("Rendering of %1 aborted, resulting video will probably be corrupted.").arg(m_dest);
+ QProcess::startDetached("kdialog", 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 = 5000;
+ 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);
+ }