+void RenderWidget::setRenderJob(const QString &dest, int progress) {
+ QList<QTreeWidgetItem *> existing = m_view.running_jobs->findItems(dest, Qt::MatchExactly);
+ if (!existing.isEmpty()) {
+ if (progress == -1) {
+ // Job finished successfully
+ existing.at(0)->setIcon(0, KIcon("dialog-ok"));
+ existing.at(0)->setData(1, Qt::UserRole, 100);
+ } else if (progress == -2) {
+ // Rendering crashed
+ existing.at(0)->setIcon(0, KIcon("dialog-close"));
+ existing.at(0)->setData(1, Qt::UserRole, 0);
+ } else existing.at(0)->setData(1, Qt::UserRole, progress);
+ return;
+ }
+ QTreeWidgetItem *item = new QTreeWidgetItem(m_view.running_jobs, QStringList() << dest << QString());
+ if (progress == -1) {
+ // Job finished successfully
+ item->setIcon(0, KIcon("dialog-ok"));
+ item->setData(1, Qt::UserRole, 100);
+ } else if (progress == -2) {
+ // Rendering crashed
+ item->setIcon(0, KIcon("dialog-close"));
+ item->setData(1, Qt::UserRole, 0);
+ } else item->setData(1, Qt::UserRole, progress);