From 051ebfc4497b1f4b01902e224ca5b5c4304ffb1b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 24 Jun 2008 03:24:11 -0700 Subject: [PATCH] Fix #815 --- src/calibre/gui2/jobs.py | 17 +++++++++++++---- src/calibre/gui2/widgets.py | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/calibre/gui2/jobs.py b/src/calibre/gui2/jobs.py index 4a91ef0236..142ab7d920 100644 --- a/src/calibre/gui2/jobs.py +++ b/src/calibre/gui2/jobs.py @@ -381,10 +381,19 @@ class JobManager(QAbstractTableModel): _('Cannot kill already completed jobs.')).exec_() return if status == 1: - error_dialog(gui_parent, _('Cannot kill job'), - _('Cannot kill waiting jobs.')).exec_() - return - self.process_server.kill(job.id) + self.update_lock.lock() + try: + self.waiting_jobs.remove(job) + self.finished_jobs.append(job) + self.emit(SIGNAL('job_done(int)'), job.id) + job.result = self.process_server.KILL_RESULT + finally: + self.update_lock.unlock() + else: + self.process_server.kill(job.id) + self.reset() + if len(self.running_jobs) + len(self.waiting_jobs) == 0: + self.emit(SIGNAL('no_more_jobs()')) class DetailView(QDialog, Ui_Dialog): diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index 1f9de46c5b..06a85128bd 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -231,7 +231,7 @@ class JobsView(TableView): def __init__(self, parent): TableView.__init__(self, parent) - self.connect(self, SIGNAL('activated(QModelIndex)'), self.show_details) + self.connect(self, SIGNAL('doubleClicked(QModelIndex)'), self.show_details) def show_details(self, index): row = index.row()