void KUiServerJobTracker::registerJob(KJob *job) { // Already registered job? if (d->progressJobView.contains(job)) { return; } KComponentData componentData = KGlobal::mainComponent(); QString programIconName = componentData.aboutData()->programIconName(); if (programIconName.isEmpty()) { programIconName = componentData.aboutData()->appName(); } QWeakPointer<KJob> jobWatch = job; QDBusReply<QDBusObjectPath> reply = serverProxy->uiserver().requestView(componentData.aboutData()->programName(), programIconName, job->capabilities()); // If we got a valid reply, register the interface for later usage. if (reply.isValid()) { org::kde::JobViewV2 *jobView = new org::kde::JobViewV2("org.kde.JobViewServer", reply.value().path(), QDBusConnection::sessionBus()); if (!jobWatch) { //kDebug() << "deleted out from under us when asking the server proxy for the view"; jobView->terminate(QString()); delete jobView; return; } QObject::connect(jobView, SIGNAL(cancelRequested()), this, SLOT(_k_killJob())); QObject::connect(jobView, SIGNAL(suspendRequested()), job, SLOT(suspend())); QObject::connect(jobView, SIGNAL(resumeRequested()), job, SLOT(resume())); QVariant destUrl = job->property("destUrl"); if (destUrl.isValid()) { jobView->setDestUrl(QDBusVariant(destUrl)); } if (!jobWatch) { //kDebug() << "deleted out from under us when creating the dbus interface"; jobView->terminate(QString()); delete jobView; return; } d->progressJobView.insert(job, jobView); } else if (!jobWatch) { qWarning() << "Uh-oh...KUiServerJobTracker was trying to forward a job, but it was deleted from under us." << "kuiserver *may* have a stranded job. we can't do anything about it because the returned objectPath is invalid."; return; } KJobTrackerInterface::registerJob(job); }
void Controller::createConnections() { connect(_clipboard,SIGNAL(changed(QClipboard::Mode)),this,SLOT(clipboardChanged(QClipboard::Mode))); connect(_history,SIGNAL(added(ClipboardEntity*,int)),this,SLOT(history_itemAdded(ClipboardEntity*,int))); connect(_history,SIGNAL(removed(int,int)),this,SLOT(history_removed(int,int))); connect(_history,SIGNAL(cleared()),this,SLOT(history_cleared())); connect(_history,SIGNAL(locationExchanged(int,int)),this,SLOT(locationExchanged(int,int))); connect(_manager,SIGNAL(shown()),this,SLOT(manager_shown())); connect(_manager,SIGNAL(hidden()),this,SLOT(manager_hidden())); connect(_manager,SIGNAL(hidden()),_trayIcon,SLOT(managerHidden())); connect(_manager,SIGNAL(shown()),_trayIcon,SLOT(managerShown())); connect(_manager,SIGNAL(settingsDialogRequested()),this,SLOT(settingsWindowRequested())); connect(_manager,SIGNAL(itemSelected(int)),this,SLOT(itemSelected(int))); connect(_manager,SIGNAL(showContentRequested(ClipboardEntity*)),this,SLOT(showContent(ClipboardEntity*))); connect(_manager,SIGNAL(locationExchangeRequested(int,int)),this,SLOT(locationExchangeRequested(int,int))); connect(_trayIcon,SIGNAL(showHideManagerTriggerd()),this,SLOT(showHideManagerRequest())); connect(_trayIcon,SIGNAL(itemSelected(int)),this,SLOT(itemSelected(int))); connect(_trayIcon,SIGNAL(settingsDialogRequested()),this,SLOT(settingsWindowRequested())); connect(_trayIcon,SIGNAL(turnOffGenius()),this,SLOT(turnOffRequest())); connect(_trayIcon,SIGNAL(turnOnGenius()),this,SLOT(turnOnRequest())); connect(_trayIcon,SIGNAL(exitRequested()),this,SLOT(exitRequested())); connect(_trayIcon,SIGNAL(pause()),this,SLOT(pauseRequested())); connect(_trayIcon,SIGNAL(resume()),this,SLOT(resumeRequested())); connect(_selector,SIGNAL(closing(int)),this,SLOT(selectorClosed(int))); connect(_settingsWindow,SIGNAL(hiding()),this,SLOT(settingsWindow_hidden())); if(_openSelectorHotkey) connect(_openSelectorHotkey,SIGNAL(activated()),this,SLOT(openSelectorHKtriggered())); if(_clearHistoryHotKey) connect(_clearHistoryHotKey,SIGNAL(activated()),this,SLOT(clearHistoryHKTrigered())); if(_pasteLastHotKey) connect(_pasteLastHotKey,SIGNAL(activated()),this,SLOT(pasteLasteHKTrigered())); if(_openManagerHotKey) connect(_openManagerHotKey,SIGNAL(activated()),this,SLOT(openManagerHKTriggered())); if(_openSettingsHotKey) connect(_openSettingsHotKey,SIGNAL(activated()),this,SLOT(openSettingsHKTriggered())); if(_historyMenuHotKey) connect(_historyMenuHotKey,SIGNAL(activated()),this,SLOT(historyMenuHotkeyActivated())); }
void JobView::requestStateChange(State state) { switch (state) { case Running: emit resumeRequested(); break; case Suspended: emit suspendRequested(); break; case Stopped: emit cancelRequested(); break; default: break; } }