3 """ |
3 """ |
4 Module implementing the download manager class. |
4 Module implementing the download manager class. |
5 """ |
5 """ |
6 |
6 |
7 from PyQt4.QtCore import pyqtSlot, Qt, QModelIndex, QFileInfo |
7 from PyQt4.QtCore import pyqtSlot, Qt, QModelIndex, QFileInfo |
8 from PyQt4.QtGui import QDialog, QStyle, QFileIconProvider, QMenu, QCursor, QApplication |
8 from PyQt4.QtGui import QDialog, QStyle, QFileIconProvider, QMenu, QCursor, \ |
|
9 QApplication |
9 from PyQt4.QtNetwork import QNetworkRequest |
10 from PyQt4.QtNetwork import QNetworkRequest |
10 from PyQt4.QtWebKit import QWebSettings |
11 from PyQt4.QtWebKit import QWebSettings |
11 |
12 |
12 from E5Gui import E5MessageBox |
13 from E5Gui import E5MessageBox |
13 |
14 |
40 self.setupUi(self) |
41 self.setupUi(self) |
41 |
42 |
42 self.__saveTimer = AutoSaver(self, self.save) |
43 self.__saveTimer = AutoSaver(self, self.save) |
43 |
44 |
44 self.__model = DownloadModel(self) |
45 self.__model = DownloadModel(self) |
45 self.__manager = Helpviewer.HelpWindow.HelpWindow.networkAccessManager() |
46 self.__manager = Helpviewer.HelpWindow.HelpWindow\ |
|
47 .networkAccessManager() |
46 |
48 |
47 self.__iconProvider = None |
49 self.__iconProvider = None |
48 self.__downloads = [] |
50 self.__downloads = [] |
49 self.__downloadDirectory = "" |
51 self.__downloadDirectory = "" |
50 self.__loaded = False |
52 self.__loaded = False |
69 |
71 |
70 @param pos position the context menu was requested (QPoint) |
72 @param pos position the context menu was requested (QPoint) |
71 """ |
73 """ |
72 menu = QMenu() |
74 menu = QMenu() |
73 |
75 |
74 selectedRowsCount = len(self.downloadsView.selectionModel().selectedRows()) |
76 selectedRowsCount = len( |
|
77 self.downloadsView.selectionModel().selectedRows()) |
75 |
78 |
76 if selectedRowsCount == 1: |
79 if selectedRowsCount == 1: |
77 row = self.downloadsView.selectionModel().selectedRows()[0].row() |
80 row = self.downloadsView.selectionModel().selectedRows()[0].row() |
78 itm = self.__downloads[row] |
81 itm = self.__downloads[row] |
79 if itm.downloadCanceled(): |
82 if itm.downloadCanceled(): |
283 |
286 |
284 @param policy policy to be set |
287 @param policy policy to be set |
285 (DownloadManager.RemoveExit, DownloadManager.RemoveNever, |
288 (DownloadManager.RemoveExit, DownloadManager.RemoveNever, |
286 DownloadManager.RemoveSuccessFullDownload) |
289 DownloadManager.RemoveSuccessFullDownload) |
287 """ |
290 """ |
288 assert policy in (DownloadManager.RemoveExit, DownloadManager.RemoveNever, |
291 assert policy in (DownloadManager.RemoveExit, |
|
292 DownloadManager.RemoveNever, |
289 DownloadManager.RemoveSuccessFullDownload) |
293 DownloadManager.RemoveSuccessFullDownload) |
290 |
294 |
291 if policy == self.removePolicy(): |
295 if policy == self.removePolicy(): |
292 return |
296 return |
293 |
297 |
370 """ |
374 """ |
371 Private method to update the window title. |
375 Private method to update the window title. |
372 """ |
376 """ |
373 count = self.activeDownloads() |
377 count = self.activeDownloads() |
374 if count > 0: |
378 if count > 0: |
375 self.setWindowTitle(self.trUtf8("Downloading %n file(s)", "", count)) |
379 self.setWindowTitle( |
|
380 self.trUtf8("Downloading %n file(s)", "", count)) |
376 else: |
381 else: |
377 self.setWindowTitle(self.trUtf8("Downloads")) |
382 self.setWindowTitle(self.trUtf8("Downloads")) |
378 |
383 |
379 def __finished(self): |
384 def __finished(self): |
380 """ |
385 """ |
423 Public method to signal a change. |
428 Public method to signal a change. |
424 """ |
429 """ |
425 self.__saveTimer.changeOccurred() |
430 self.__saveTimer.changeOccurred() |
426 self.__updateItemCount() |
431 self.__updateItemCount() |
427 |
432 |
428 ############################################################################ |
433 ########################################################################### |
429 ## Context menu related methods below |
434 ## Context menu related methods below |
430 ############################################################################ |
435 ########################################################################### |
431 |
436 |
432 def __currentItem(self): |
437 def __currentItem(self): |
433 """ |
438 """ |
434 Private method to get a reference to the current item. |
439 Private method to get a reference to the current item. |
435 |
440 |