#include <QtDBus>
+#include <QFile>
#include "renderjob.h"
static QDBusConnection connection(QLatin1String(""));
-RenderJob::RenderJob(bool erase, QString renderer, QString profile, QString rendermodule, QString player, QString scenelist, QString dest, QStringList args, int in, int out) : QObject() {
+RenderJob::RenderJob(bool erase, QString renderer, QString profile, QString rendermodule, QString player, QString scenelist, QString dest, QStringList args, int in, int out) {
m_scenelist = scenelist;
m_dest = dest;
m_player = player;
}
void RenderJob::slotAbort() {
- fprintf(stderr, "Kdenlive-render: JOBĀ ABORTED BY USER...\n");
+ qDebug() << "Kdenlive-render: JOBĀ ABORTED BY USER...";
m_renderProcess->kill();
QDBusReply<QString> reply = m_jobUiserver->call("terminate", "");
if (m_erase) {
}
QFile f(m_dest);
f.remove();
- exit(1);
+ qApp->quit();
}
void RenderJob::receivedStderr() {
QStringList args;
args << "--error" << tr("Rendering of %1 aborted, resulting video will probably be corrupted.").arg(m_dest);
QProcess::startDetached("kdialog", args);
- } 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);
+ }
}
- exit(1);
+ qApp->quit();
}
#include "renderjob.moc"
getUrl->exec();
KUrl mltPath = getUrl->selectedUrl();
delete getUrl;
- if (mltPath.isEmpty()) exit(1);
+ if (mltPath.isEmpty()) kapp->quit();
KdenliveSettings::setMltpath(mltPath.path());
QStringList profilesList = QDir(KdenliveSettings::mltpath()).entryList(profilesFilter, QDir::Files);
}
getUrl->exec();
KUrl rendererPath = getUrl->selectedUrl();
delete getUrl;
- if (rendererPath.isEmpty()) exit(1);
+ if (rendererPath.isEmpty()) kapp->quit();
KdenliveSettings::setRendererpath(rendererPath.path());
}