Added a download manager to the web browser.

Sun, 10 Oct 2010 21:12:43 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 10 Oct 2010 21:12:43 +0200
changeset 668
b0061a6f7484
parent 666
fdd568d3533d
child 669
d405dc3e2ed6

Added a download manager to the web browser.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.CookieJar.CookieExceptionsModel.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.Download.DownloadItem.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.Download.DownloadManager.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.Download.DownloadModel.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.Download.DownloadUtilities.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.DownloadDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.HelpBrowserWV.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.HelpClearPrivateDataDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.HelpWindow.html file | annotate | diff | comparison | revisions
Documentation/Source/index-eric5.Helpviewer.Download.html file | annotate | diff | comparison | revisions
Documentation/Source/index-eric5.Helpviewer.html file | annotate | diff | comparison | revisions
Helpviewer/CookieJar/CookieExceptionsModel.py file | annotate | diff | comparison | revisions
Helpviewer/Download/DownloadItem.py file | annotate | diff | comparison | revisions
Helpviewer/Download/DownloadItem.ui file | annotate | diff | comparison | revisions
Helpviewer/Download/DownloadManager.py file | annotate | diff | comparison | revisions
Helpviewer/Download/DownloadManager.ui file | annotate | diff | comparison | revisions
Helpviewer/Download/DownloadModel.py file | annotate | diff | comparison | revisions
Helpviewer/Download/DownloadUtilities.py file | annotate | diff | comparison | revisions
Helpviewer/Download/__init__.py file | annotate | diff | comparison | revisions
Helpviewer/DownloadDialog.py file | annotate | diff | comparison | revisions
Helpviewer/HelpBrowserWV.py file | annotate | diff | comparison | revisions
Helpviewer/HelpClearPrivateDataDialog.py file | annotate | diff | comparison | revisions
Helpviewer/HelpClearPrivateDataDialog.ui file | annotate | diff | comparison | revisions
Helpviewer/HelpWindow.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/NetworkPage.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/NetworkPage.ui file | annotate | diff | comparison | revisions
Preferences/__init__.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
eric5.e4p file | annotate | diff | comparison | revisions
i18n/eric5_cs.ts file | annotate | diff | comparison | revisions
i18n/eric5_de.qm file | annotate | diff | comparison | revisions
i18n/eric5_de.ts file | annotate | diff | comparison | revisions
i18n/eric5_en.ts file | annotate | diff | comparison | revisions
i18n/eric5_es.ts file | annotate | diff | comparison | revisions
i18n/eric5_fr.ts file | annotate | diff | comparison | revisions
i18n/eric5_it.ts file | annotate | diff | comparison | revisions
i18n/eric5_ru.ts file | annotate | diff | comparison | revisions
i18n/eric5_tr.ts file | annotate | diff | comparison | revisions
i18n/eric5_zh_CN.GB2312.ts file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Sun Oct 10 11:25:46 2010 +0200
+++ b/APIs/Python3/eric5.api	Sun Oct 10 21:12:43 2010 +0200
@@ -1857,11 +1857,52 @@
 eric5.Helpviewer.CookieJar.CookiesExceptionsDialog.CookiesExceptionsDialog.on_domainEdit_textChanged?4(txt)
 eric5.Helpviewer.CookieJar.CookiesExceptionsDialog.CookiesExceptionsDialog.setDomainName?4(domain)
 eric5.Helpviewer.CookieJar.CookiesExceptionsDialog.CookiesExceptionsDialog?1(cookieJar, parent = None)
-eric5.Helpviewer.DownloadDialog.DownloadDialog.closeEvent?4(evt)
-eric5.Helpviewer.DownloadDialog.DownloadDialog.done?7
-eric5.Helpviewer.DownloadDialog.DownloadDialog.initialize?4()
-eric5.Helpviewer.DownloadDialog.DownloadDialog.on_buttonBox_clicked?4(button)
-eric5.Helpviewer.DownloadDialog.DownloadDialog?1(reply = None, requestFilename = False, webPage = None, download = False, parent = None)
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.absoluteFilePath?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.bytesReceived?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.bytesTotal?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.canceledFileSelect?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.currentSpeed?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.downloadedSuccessfully?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.downloading?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.fileName?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.getData?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.getInfoData?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.on_openButton_clicked?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.on_stopButton_clicked?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.on_tryAgainButton_clicked?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.progress?7
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.remainingTime?4()
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.setData?4(data)
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.setIcon?4(icon)
+eric5.Helpviewer.Download.DownloadItem.DownloadItem.statusChanged?7
+eric5.Helpviewer.Download.DownloadItem.DownloadItem?1(reply = None, requestFilename = False, webPage = None, download = False, parent = None)
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.RemoveExit?7
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.RemoveNever?7
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.RemoveSuccessFullDownload?7
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.activeDownloads?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.allowQuit?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.changeOccurred?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.cleanup?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.count?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.download?4(requestOrUrl, requestFileName = False)
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.downloadDirectory?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.downloads?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.handleUnsupportedContent?4(reply, requestFileName = False, webPage = None, download = False)
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.on_cleanupButton_clicked?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.removePolicy?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.save?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.setDownloadDirectory?4(directory)
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.setRemovePolicy?4(policy)
+eric5.Helpviewer.Download.DownloadManager.DownloadManager.shutdown?4()
+eric5.Helpviewer.Download.DownloadManager.DownloadManager?1(parent = None)
+eric5.Helpviewer.Download.DownloadModel.DownloadModel.data?4(index, role)
+eric5.Helpviewer.Download.DownloadModel.DownloadModel.flags?4(index)
+eric5.Helpviewer.Download.DownloadModel.DownloadModel.mimeData?4(indexes)
+eric5.Helpviewer.Download.DownloadModel.DownloadModel.removeRows?4(row, count, parent = QModelIndex())
+eric5.Helpviewer.Download.DownloadModel.DownloadModel.rowCount?4(parent = QModelIndex())
+eric5.Helpviewer.Download.DownloadModel.DownloadModel?1(manager, parent = None)
+eric5.Helpviewer.Download.DownloadUtilities.dataString?4(size)
+eric5.Helpviewer.Download.DownloadUtilities.timeString?4(timeRemaining)
 eric5.Helpviewer.HTMLResources.notFoundPage_html?7
 eric5.Helpviewer.HTMLResources.startPage_html?7
 eric5.Helpviewer.HelpBrowserWV.HelpBrowser.addBookmark?4()
@@ -1991,6 +2032,7 @@
 eric5.Helpviewer.HelpWindow.HelpWindow._adblockManager?8
 eric5.Helpviewer.HelpWindow.HelpWindow._bookmarksManager?8
 eric5.Helpviewer.HelpWindow.HelpWindow._cookieJar?8
+eric5.Helpviewer.HelpWindow.HelpWindow._downloadManager?8
 eric5.Helpviewer.HelpWindow.HelpWindow._helpEngine?8
 eric5.Helpviewer.HelpWindow.HelpWindow._historyManager?8
 eric5.Helpviewer.HelpWindow.HelpWindow._networkAccessManager?8
@@ -2003,6 +2045,7 @@
 eric5.Helpviewer.HelpWindow.HelpWindow.closeEvent?4(e)
 eric5.Helpviewer.HelpWindow.HelpWindow.cookieJar?4()
 eric5.Helpviewer.HelpWindow.HelpWindow.currentBrowser?4()
+eric5.Helpviewer.HelpWindow.HelpWindow.downloadManager?4()
 eric5.Helpviewer.HelpWindow.HelpWindow.getActions?4()
 eric5.Helpviewer.HelpWindow.HelpWindow.getSourceFileList?4()
 eric5.Helpviewer.HelpWindow.HelpWindow.helpClosed?7
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sun Oct 10 11:25:46 2010 +0200
+++ b/Documentation/Help/source.qhp	Sun Oct 10 21:12:43 2010 +0200
@@ -219,6 +219,12 @@
               <section title="eric5.Helpviewer.CookieJar.CookiesDialog" ref="eric5.Helpviewer.CookieJar.CookiesDialog.html" />
               <section title="eric5.Helpviewer.CookieJar.CookiesExceptionsDialog" ref="eric5.Helpviewer.CookieJar.CookiesExceptionsDialog.html" />
             </section>
+            <section title="eric5.Helpviewer.Download" ref="index-eric5.Helpviewer.Download.html">
+              <section title="eric5.Helpviewer.Download.DownloadItem" ref="eric5.Helpviewer.Download.DownloadItem.html" />
+              <section title="eric5.Helpviewer.Download.DownloadManager" ref="eric5.Helpviewer.Download.DownloadManager.html" />
+              <section title="eric5.Helpviewer.Download.DownloadModel" ref="eric5.Helpviewer.Download.DownloadModel.html" />
+              <section title="eric5.Helpviewer.Download.DownloadUtilities" ref="eric5.Helpviewer.Download.DownloadUtilities.html" />
+            </section>
             <section title="eric5.Helpviewer.History" ref="index-eric5.Helpviewer.History.html">
               <section title="eric5.Helpviewer.History.HistoryCompleter" ref="eric5.Helpviewer.History.HistoryCompleter.html" />
               <section title="eric5.Helpviewer.History.HistoryDialog" ref="eric5.Helpviewer.History.HistoryDialog.html" />
@@ -273,7 +279,6 @@
               <section title="eric5.Helpviewer.UserAgent.UserAgentDefaults" ref="eric5.Helpviewer.UserAgent.UserAgentDefaults.html" />
               <section title="eric5.Helpviewer.UserAgent.UserAgentMenu" ref="eric5.Helpviewer.UserAgent.UserAgentMenu.html" />
             </section>
-            <section title="eric5.Helpviewer.DownloadDialog" ref="eric5.Helpviewer.DownloadDialog.html" />
             <section title="eric5.Helpviewer.HTMLResources" ref="eric5.Helpviewer.HTMLResources.html" />
             <section title="eric5.Helpviewer.HelpBrowserWV" ref="eric5.Helpviewer.HelpBrowserWV.html" />
             <section title="eric5.Helpviewer.HelpClearPrivateDataDialog" ref="eric5.Helpviewer.HelpClearPrivateDataDialog.html" />
@@ -2565,7 +2570,6 @@
       <keyword name="HelpBrowser.__currentEngineChanged" id="HelpBrowser.__currentEngineChanged" ref="eric5.Helpviewer.HelpBrowserWV.html#HelpBrowser.__currentEngineChanged" />
       <keyword name="HelpBrowser.__dataString" id="HelpBrowser.__dataString" ref="eric5.Helpviewer.HelpBrowserWV.html#HelpBrowser.__dataString" />
       <keyword name="HelpBrowser.__databaseQuotaExceeded" id="HelpBrowser.__databaseQuotaExceeded" ref="eric5.Helpviewer.HelpBrowserWV.html#HelpBrowser.__databaseQuotaExceeded" />
-      <keyword name="HelpBrowser.__downloadDone" id="HelpBrowser.__downloadDone" ref="eric5.Helpviewer.HelpBrowserWV.html#HelpBrowser.__downloadDone" />
       <keyword name="HelpBrowser.__downloadImage" id="HelpBrowser.__downloadImage" ref="eric5.Helpviewer.HelpBrowserWV.html#HelpBrowser.__downloadImage" />
       <keyword name="HelpBrowser.__downloadLink" id="HelpBrowser.__downloadLink" ref="eric5.Helpviewer.HelpBrowserWV.html#HelpBrowser.__downloadLink" />
       <keyword name="HelpBrowser.__downloadRequested" id="HelpBrowser.__downloadRequested" ref="eric5.Helpviewer.HelpBrowserWV.html#HelpBrowser.__downloadRequested" />
@@ -2713,6 +2717,7 @@
       <keyword name="HelpWindow.__showBackMenu" id="HelpWindow.__showBackMenu" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.__showBackMenu" />
       <keyword name="HelpWindow.__showBookmarksDialog" id="HelpWindow.__showBookmarksDialog" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.__showBookmarksDialog" />
       <keyword name="HelpWindow.__showCookiesConfiguration" id="HelpWindow.__showCookiesConfiguration" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.__showCookiesConfiguration" />
+      <keyword name="HelpWindow.__showDownloadsWindow" id="HelpWindow.__showDownloadsWindow" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.__showDownloadsWindow" />
       <keyword name="HelpWindow.__showEnginesConfigurationDialog" id="HelpWindow.__showEnginesConfigurationDialog" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.__showEnginesConfigurationDialog" />
       <keyword name="HelpWindow.__showForwardMenu" id="HelpWindow.__showForwardMenu" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.__showForwardMenu" />
       <keyword name="HelpWindow.__showHistoryMenu" id="HelpWindow.__showHistoryMenu" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.__showHistoryMenu" />
@@ -2744,6 +2749,7 @@
       <keyword name="HelpWindow.closeEvent" id="HelpWindow.closeEvent" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.closeEvent" />
       <keyword name="HelpWindow.cookieJar" id="HelpWindow.cookieJar" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.cookieJar" />
       <keyword name="HelpWindow.currentBrowser" id="HelpWindow.currentBrowser" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.currentBrowser" />
+      <keyword name="HelpWindow.downloadManager" id="HelpWindow.downloadManager" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.downloadManager" />
       <keyword name="HelpWindow.getActions" id="HelpWindow.getActions" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.getActions" />
       <keyword name="HelpWindow.getSourceFileList" id="HelpWindow.getSourceFileList" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.getSourceFileList" />
       <keyword name="HelpWindow.helpEngine" id="HelpWindow.helpEngine" ref="eric5.Helpviewer.HelpWindow.html#HelpWindow.helpEngine" />
@@ -2793,25 +2799,6 @@
       <keyword name="QtHelpDocumentationDialog.on_documentsList_itemSelectionChanged" id="QtHelpDocumentationDialog.on_documentsList_itemSelectionChanged" ref="eric5.Helpviewer.QtHelpDocumentationDialog.html#QtHelpDocumentationDialog.on_documentsList_itemSelectionChanged" />
       <keyword name="QtHelpDocumentationDialog.on_removeButton_clicked" id="QtHelpDocumentationDialog.on_removeButton_clicked" ref="eric5.Helpviewer.QtHelpDocumentationDialog.html#QtHelpDocumentationDialog.on_removeButton_clicked" />
       <keyword name="JavaScriptResources (Module)" id="JavaScriptResources (Module)" ref="eric5.Helpviewer.JavaScriptResources.html" />
-      <keyword name="DownloadDialog (Module)" id="DownloadDialog (Module)" ref="eric5.Helpviewer.DownloadDialog.html" />
-      <keyword name="DownloadDialog" id="DownloadDialog" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog" />
-      <keyword name="DownloadDialog (Constructor)" id="DownloadDialog (Constructor)" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__init__" />
-      <keyword name="DownloadDialog.__dataString" id="DownloadDialog.__dataString" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__dataString" />
-      <keyword name="DownloadDialog.__downloadProgress" id="DownloadDialog.__downloadProgress" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__downloadProgress" />
-      <keyword name="DownloadDialog.__downloading" id="DownloadDialog.__downloading" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__downloading" />
-      <keyword name="DownloadDialog.__finished" id="DownloadDialog.__finished" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__finished" />
-      <keyword name="DownloadDialog.__getFileName" id="DownloadDialog.__getFileName" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__getFileName" />
-      <keyword name="DownloadDialog.__metaDataChanged" id="DownloadDialog.__metaDataChanged" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__metaDataChanged" />
-      <keyword name="DownloadDialog.__networkError" id="DownloadDialog.__networkError" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__networkError" />
-      <keyword name="DownloadDialog.__open" id="DownloadDialog.__open" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__open" />
-      <keyword name="DownloadDialog.__readyRead" id="DownloadDialog.__readyRead" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__readyRead" />
-      <keyword name="DownloadDialog.__saveFileName" id="DownloadDialog.__saveFileName" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__saveFileName" />
-      <keyword name="DownloadDialog.__stop" id="DownloadDialog.__stop" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__stop" />
-      <keyword name="DownloadDialog.__tryAgain" id="DownloadDialog.__tryAgain" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__tryAgain" />
-      <keyword name="DownloadDialog.__updateInfoLabel" id="DownloadDialog.__updateInfoLabel" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.__updateInfoLabel" />
-      <keyword name="DownloadDialog.closeEvent" id="DownloadDialog.closeEvent" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.closeEvent" />
-      <keyword name="DownloadDialog.initialize" id="DownloadDialog.initialize" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.initialize" />
-      <keyword name="DownloadDialog.on_buttonBox_clicked" id="DownloadDialog.on_buttonBox_clicked" ref="eric5.Helpviewer.DownloadDialog.html#DownloadDialog.on_buttonBox_clicked" />
       <keyword name="HelpSearchWidget (Module)" id="HelpSearchWidget (Module)" ref="eric5.Helpviewer.HelpSearchWidget.html" />
       <keyword name="HelpSearchWidget" id="HelpSearchWidget" ref="eric5.Helpviewer.HelpSearchWidget.html#HelpSearchWidget" />
       <keyword name="HelpSearchWidget (Constructor)" id="HelpSearchWidget (Constructor)" ref="eric5.Helpviewer.HelpSearchWidget.html#HelpSearchWidget.__init__" />
@@ -7399,6 +7386,68 @@
       <keyword name="BookmarkInfoDialog (Constructor)" id="BookmarkInfoDialog (Constructor)" ref="eric5.Helpviewer.UrlBar.BookmarkInfoDialog.html#BookmarkInfoDialog.__init__" />
       <keyword name="BookmarkInfoDialog.accept" id="BookmarkInfoDialog.accept" ref="eric5.Helpviewer.UrlBar.BookmarkInfoDialog.html#BookmarkInfoDialog.accept" />
       <keyword name="BookmarkInfoDialog.on_removeButton_clicked" id="BookmarkInfoDialog.on_removeButton_clicked" ref="eric5.Helpviewer.UrlBar.BookmarkInfoDialog.html#BookmarkInfoDialog.on_removeButton_clicked" />
+      <keyword name="Download (Package)" id="Download (Package)" ref="index-eric5.Helpviewer.Download.html" />
+      <keyword name="DownloadManager (Module)" id="DownloadManager (Module)" ref="eric5.Helpviewer.Download.DownloadManager.html" />
+      <keyword name="DownloadManager" id="DownloadManager" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager" />
+      <keyword name="DownloadManager (Constructor)" id="DownloadManager (Constructor)" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.__init__" />
+      <keyword name="DownloadManager.__addItem" id="DownloadManager.__addItem" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.__addItem" />
+      <keyword name="DownloadManager.__load" id="DownloadManager.__load" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.__load" />
+      <keyword name="DownloadManager.__updateItemCount" id="DownloadManager.__updateItemCount" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.__updateItemCount" />
+      <keyword name="DownloadManager.__updateRow" id="DownloadManager.__updateRow" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.__updateRow" />
+      <keyword name="DownloadManager.activeDownloads" id="DownloadManager.activeDownloads" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.activeDownloads" />
+      <keyword name="DownloadManager.allowQuit" id="DownloadManager.allowQuit" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.allowQuit" />
+      <keyword name="DownloadManager.changeOccurred" id="DownloadManager.changeOccurred" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.changeOccurred" />
+      <keyword name="DownloadManager.cleanup" id="DownloadManager.cleanup" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.cleanup" />
+      <keyword name="DownloadManager.count" id="DownloadManager.count" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.count" />
+      <keyword name="DownloadManager.download" id="DownloadManager.download" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.download" />
+      <keyword name="DownloadManager.downloadDirectory" id="DownloadManager.downloadDirectory" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.downloadDirectory" />
+      <keyword name="DownloadManager.downloads" id="DownloadManager.downloads" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.downloads" />
+      <keyword name="DownloadManager.handleUnsupportedContent" id="DownloadManager.handleUnsupportedContent" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.handleUnsupportedContent" />
+      <keyword name="DownloadManager.on_cleanupButton_clicked" id="DownloadManager.on_cleanupButton_clicked" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.on_cleanupButton_clicked" />
+      <keyword name="DownloadManager.removePolicy" id="DownloadManager.removePolicy" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.removePolicy" />
+      <keyword name="DownloadManager.save" id="DownloadManager.save" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.save" />
+      <keyword name="DownloadManager.setDownloadDirectory" id="DownloadManager.setDownloadDirectory" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.setDownloadDirectory" />
+      <keyword name="DownloadManager.setRemovePolicy" id="DownloadManager.setRemovePolicy" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.setRemovePolicy" />
+      <keyword name="DownloadManager.shutdown" id="DownloadManager.shutdown" ref="eric5.Helpviewer.Download.DownloadManager.html#DownloadManager.shutdown" />
+      <keyword name="DownloadUtilities (Module)" id="DownloadUtilities (Module)" ref="eric5.Helpviewer.Download.DownloadUtilities.html" />
+      <keyword name="dataString" id="dataString" ref="eric5.Helpviewer.Download.DownloadUtilities.html#dataString" />
+      <keyword name="timeString" id="timeString" ref="eric5.Helpviewer.Download.DownloadUtilities.html#timeString" />
+      <keyword name="DownloadItem (Module)" id="DownloadItem (Module)" ref="eric5.Helpviewer.Download.DownloadItem.html" />
+      <keyword name="DownloadItem" id="DownloadItem" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem" />
+      <keyword name="DownloadItem (Constructor)" id="DownloadItem (Constructor)" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__init__" />
+      <keyword name="DownloadItem.__downloadProgress" id="DownloadItem.__downloadProgress" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__downloadProgress" />
+      <keyword name="DownloadItem.__finished" id="DownloadItem.__finished" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__finished" />
+      <keyword name="DownloadItem.__getFileName" id="DownloadItem.__getFileName" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__getFileName" />
+      <keyword name="DownloadItem.__initialize" id="DownloadItem.__initialize" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__initialize" />
+      <keyword name="DownloadItem.__metaDataChanged" id="DownloadItem.__metaDataChanged" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__metaDataChanged" />
+      <keyword name="DownloadItem.__networkError" id="DownloadItem.__networkError" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__networkError" />
+      <keyword name="DownloadItem.__readyRead" id="DownloadItem.__readyRead" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__readyRead" />
+      <keyword name="DownloadItem.__saveFileName" id="DownloadItem.__saveFileName" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__saveFileName" />
+      <keyword name="DownloadItem.__updateInfoLabel" id="DownloadItem.__updateInfoLabel" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.__updateInfoLabel" />
+      <keyword name="DownloadItem.absoluteFilePath" id="DownloadItem.absoluteFilePath" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.absoluteFilePath" />
+      <keyword name="DownloadItem.bytesReceived" id="DownloadItem.bytesReceived" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.bytesReceived" />
+      <keyword name="DownloadItem.bytesTotal" id="DownloadItem.bytesTotal" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.bytesTotal" />
+      <keyword name="DownloadItem.canceledFileSelect" id="DownloadItem.canceledFileSelect" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.canceledFileSelect" />
+      <keyword name="DownloadItem.currentSpeed" id="DownloadItem.currentSpeed" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.currentSpeed" />
+      <keyword name="DownloadItem.downloadedSuccessfully" id="DownloadItem.downloadedSuccessfully" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.downloadedSuccessfully" />
+      <keyword name="DownloadItem.downloading" id="DownloadItem.downloading" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.downloading" />
+      <keyword name="DownloadItem.fileName" id="DownloadItem.fileName" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.fileName" />
+      <keyword name="DownloadItem.getData" id="DownloadItem.getData" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.getData" />
+      <keyword name="DownloadItem.getInfoData" id="DownloadItem.getInfoData" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.getInfoData" />
+      <keyword name="DownloadItem.on_openButton_clicked" id="DownloadItem.on_openButton_clicked" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.on_openButton_clicked" />
+      <keyword name="DownloadItem.on_stopButton_clicked" id="DownloadItem.on_stopButton_clicked" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.on_stopButton_clicked" />
+      <keyword name="DownloadItem.on_tryAgainButton_clicked" id="DownloadItem.on_tryAgainButton_clicked" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.on_tryAgainButton_clicked" />
+      <keyword name="DownloadItem.remainingTime" id="DownloadItem.remainingTime" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.remainingTime" />
+      <keyword name="DownloadItem.setData" id="DownloadItem.setData" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.setData" />
+      <keyword name="DownloadItem.setIcon" id="DownloadItem.setIcon" ref="eric5.Helpviewer.Download.DownloadItem.html#DownloadItem.setIcon" />
+      <keyword name="DownloadModel (Module)" id="DownloadModel (Module)" ref="eric5.Helpviewer.Download.DownloadModel.html" />
+      <keyword name="DownloadModel" id="DownloadModel" ref="eric5.Helpviewer.Download.DownloadModel.html#DownloadModel" />
+      <keyword name="DownloadModel (Constructor)" id="DownloadModel (Constructor)" ref="eric5.Helpviewer.Download.DownloadModel.html#DownloadModel.__init__" />
+      <keyword name="DownloadModel.data" id="DownloadModel.data" ref="eric5.Helpviewer.Download.DownloadModel.html#DownloadModel.data" />
+      <keyword name="DownloadModel.flags" id="DownloadModel.flags" ref="eric5.Helpviewer.Download.DownloadModel.html#DownloadModel.flags" />
+      <keyword name="DownloadModel.mimeData" id="DownloadModel.mimeData" ref="eric5.Helpviewer.Download.DownloadModel.html#DownloadModel.mimeData" />
+      <keyword name="DownloadModel.removeRows" id="DownloadModel.removeRows" ref="eric5.Helpviewer.Download.DownloadModel.html#DownloadModel.removeRows" />
+      <keyword name="DownloadModel.rowCount" id="DownloadModel.rowCount" ref="eric5.Helpviewer.Download.DownloadModel.html#DownloadModel.rowCount" />
       <keyword name="OpenSearch (Package)" id="OpenSearch (Package)" ref="index-eric5.Helpviewer.OpenSearch.html" />
       <keyword name="OpenSearchReader (Module)" id="OpenSearchReader (Module)" ref="eric5.Helpviewer.OpenSearch.OpenSearchReader.html" />
       <keyword name="OpenSearchReader" id="OpenSearchReader" ref="eric5.Helpviewer.OpenSearch.OpenSearchReader.html#OpenSearchReader" />
@@ -9937,7 +9986,10 @@
       <file>eric5.Helpviewer.CookieJar.CookiesConfigurationDialog.html</file>
       <file>eric5.Helpviewer.CookieJar.CookiesDialog.html</file>
       <file>eric5.Helpviewer.CookieJar.CookiesExceptionsDialog.html</file>
-      <file>eric5.Helpviewer.DownloadDialog.html</file>
+      <file>eric5.Helpviewer.Download.DownloadItem.html</file>
+      <file>eric5.Helpviewer.Download.DownloadManager.html</file>
+      <file>eric5.Helpviewer.Download.DownloadModel.html</file>
+      <file>eric5.Helpviewer.Download.DownloadUtilities.html</file>
       <file>eric5.Helpviewer.HTMLResources.html</file>
       <file>eric5.Helpviewer.HelpBrowserWV.html</file>
       <file>eric5.Helpviewer.HelpClearPrivateDataDialog.html</file>
@@ -10384,6 +10436,7 @@
       <file>index-eric5.Helpviewer.AdBlock.html</file>
       <file>index-eric5.Helpviewer.Bookmarks.html</file>
       <file>index-eric5.Helpviewer.CookieJar.html</file>
+      <file>index-eric5.Helpviewer.Download.html</file>
       <file>index-eric5.Helpviewer.History.html</file>
       <file>index-eric5.Helpviewer.Network.html</file>
       <file>index-eric5.Helpviewer.OfflineStorage.html</file>
--- a/Documentation/Source/eric5.Helpviewer.CookieJar.CookieExceptionsModel.html	Sun Oct 10 11:25:46 2010 +0200
+++ b/Documentation/Source/eric5.Helpviewer.CookieJar.CookieExceptionsModel.html	Sun Oct 10 21:12:43 2010 +0200
@@ -213,7 +213,7 @@
 </dl><dl>
 <dt>Returns:</dt>
 <dd>
-number of columns (integer)
+number of rows (integer)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.Helpviewer.Download.DownloadItem.html	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.Helpviewer.Download.DownloadItem</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric5.Helpviewer.Download.DownloadItem</h1>
+<p>
+Module implementing a widget controlling a download.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#DownloadItem">DownloadItem</a></td>
+<td>Class implementing a widget controlling a download.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="DownloadItem" ID="DownloadItem"></a>
+<h2>DownloadItem</h2>
+<p>
+    Class implementing a widget controlling a download.
+</p>
+<h3>Derived from</h3>
+QWidget, Ui_DownloadItem
+<h3>Class Attributes</h3>
+<table>
+<tr><td>progress</td></tr><tr><td>statusChanged</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#DownloadItem.__init__">DownloadItem</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#DownloadItem.__downloadProgress">__downloadProgress</a></td>
+<td>Private method to show the download progress.</td>
+</tr><tr>
+<td><a href="#DownloadItem.__finished">__finished</a></td>
+<td>Private slot to handle the download finished.</td>
+</tr><tr>
+<td><a href="#DownloadItem.__getFileName">__getFileName</a></td>
+<td>Private method to get the filename to save to from the user.</td>
+</tr><tr>
+<td><a href="#DownloadItem.__initialize">__initialize</a></td>
+<td>Private method to (re)initialize the widget.</td>
+</tr><tr>
+<td><a href="#DownloadItem.__metaDataChanged">__metaDataChanged</a></td>
+<td>Private slot to handle a change of the meta data.</td>
+</tr><tr>
+<td><a href="#DownloadItem.__networkError">__networkError</a></td>
+<td>Private slot to handle a network error.</td>
+</tr><tr>
+<td><a href="#DownloadItem.__readyRead">__readyRead</a></td>
+<td>Private slot to read the available data.</td>
+</tr><tr>
+<td><a href="#DownloadItem.__saveFileName">__saveFileName</a></td>
+<td>Private method to calculate a name for the file to download.</td>
+</tr><tr>
+<td><a href="#DownloadItem.__updateInfoLabel">__updateInfoLabel</a></td>
+<td>Private method to update the info label.</td>
+</tr><tr>
+<td><a href="#DownloadItem.absoluteFilePath">absoluteFilePath</a></td>
+<td>Public method to get the absolute path of the output file.</td>
+</tr><tr>
+<td><a href="#DownloadItem.bytesReceived">bytesReceived</a></td>
+<td>Public method to get the number of bytes received.</td>
+</tr><tr>
+<td><a href="#DownloadItem.bytesTotal">bytesTotal</a></td>
+<td>Public method to get the total number of bytes of the download.</td>
+</tr><tr>
+<td><a href="#DownloadItem.canceledFileSelect">canceledFileSelect</a></td>
+<td>Public method to check, if the user canceled the file selection.</td>
+</tr><tr>
+<td><a href="#DownloadItem.currentSpeed">currentSpeed</a></td>
+<td>Public method to get an estimation for the download speed.</td>
+</tr><tr>
+<td><a href="#DownloadItem.downloadedSuccessfully">downloadedSuccessfully</a></td>
+<td>Public method to check for a successful download.</td>
+</tr><tr>
+<td><a href="#DownloadItem.downloading">downloading</a></td>
+<td>Public method to determine, if a download is in progress.</td>
+</tr><tr>
+<td><a href="#DownloadItem.fileName">fileName</a></td>
+<td>Public method to get the name of the output file.</td>
+</tr><tr>
+<td><a href="#DownloadItem.getData">getData</a></td>
+<td>Public method to get the relevant download data.</td>
+</tr><tr>
+<td><a href="#DownloadItem.getInfoData">getInfoData</a></td>
+<td>Public method to get the text of the info label.</td>
+</tr><tr>
+<td><a href="#DownloadItem.on_openButton_clicked">on_openButton_clicked</a></td>
+<td>Private slot to open the downloaded file.</td>
+</tr><tr>
+<td><a href="#DownloadItem.on_stopButton_clicked">on_stopButton_clicked</a></td>
+<td>Private slot to stop the download.</td>
+</tr><tr>
+<td><a href="#DownloadItem.on_tryAgainButton_clicked">on_tryAgainButton_clicked</a></td>
+<td>Private slot to retry the download.</td>
+</tr><tr>
+<td><a href="#DownloadItem.remainingTime">remainingTime</a></td>
+<td>Public method to get an estimation for the remaining time.</td>
+</tr><tr>
+<td><a href="#DownloadItem.setData">setData</a></td>
+<td>Public method to set the relevant download data.</td>
+</tr><tr>
+<td><a href="#DownloadItem.setIcon">setIcon</a></td>
+<td>Public method to set the download icon.</td>
+</tr>
+</table>
+<a NAME="DownloadItem.__init__" ID="DownloadItem.__init__"></a>
+<h4>DownloadItem (Constructor)</h4>
+<b>DownloadItem</b>(<i>reply = None, requestFilename = False, webPage = None, download = False, parent = None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>reply</i></dt>
+<dd>
+reference to the network reply object (QNetworkReply)
+</dd><dt><i>requestFilename</i></dt>
+<dd>
+flag indicating to ask the user for a filename (boolean)
+</dd><dt><i>webPage</i></dt>
+<dd>
+reference to the web page object the download originated
+            from (QWebPage)
+</dd><dt><i>download</i></dt>
+<dd>
+flag indicating a download operation (boolean)
+</dd><dt><i>parent</i></dt>
+<dd>
+reference to the parent widget (QWidget)
+</dd>
+</dl><a NAME="DownloadItem.__downloadProgress" ID="DownloadItem.__downloadProgress"></a>
+<h4>DownloadItem.__downloadProgress</h4>
+<b>__downloadProgress</b>(<i>bytesReceived, bytesTotal</i>)
+<p>
+        Private method to show the download progress.
+</p><dl>
+<dt><i>bytesReceived</i></dt>
+<dd>
+number of bytes received (integer)
+</dd><dt><i>bytesTotal</i></dt>
+<dd>
+number of total bytes (integer)
+</dd>
+</dl><a NAME="DownloadItem.__finished" ID="DownloadItem.__finished"></a>
+<h4>DownloadItem.__finished</h4>
+<b>__finished</b>(<i></i>)
+<p>
+        Private slot to handle the download finished.
+</p><a NAME="DownloadItem.__getFileName" ID="DownloadItem.__getFileName"></a>
+<h4>DownloadItem.__getFileName</h4>
+<b>__getFileName</b>(<i></i>)
+<p>
+        Private method to get the filename to save to from the user.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating success (boolean)
+</dd>
+</dl><a NAME="DownloadItem.__initialize" ID="DownloadItem.__initialize"></a>
+<h4>DownloadItem.__initialize</h4>
+<b>__initialize</b>(<i>tryAgain = False</i>)
+<p>
+        Private method to (re)initialize the widget.
+</p><dl>
+<dt><i>tryAgain</i></dt>
+<dd>
+flag indicating a retry (boolean)
+</dd>
+</dl><a NAME="DownloadItem.__metaDataChanged" ID="DownloadItem.__metaDataChanged"></a>
+<h4>DownloadItem.__metaDataChanged</h4>
+<b>__metaDataChanged</b>(<i></i>)
+<p>
+        Private slot to handle a change of the meta data.
+</p><a NAME="DownloadItem.__networkError" ID="DownloadItem.__networkError"></a>
+<h4>DownloadItem.__networkError</h4>
+<b>__networkError</b>(<i></i>)
+<p>
+        Private slot to handle a network error.
+</p><a NAME="DownloadItem.__readyRead" ID="DownloadItem.__readyRead"></a>
+<h4>DownloadItem.__readyRead</h4>
+<b>__readyRead</b>(<i></i>)
+<p>
+        Private slot to read the available data.
+</p><a NAME="DownloadItem.__saveFileName" ID="DownloadItem.__saveFileName"></a>
+<h4>DownloadItem.__saveFileName</h4>
+<b>__saveFileName</b>(<i>directory</i>)
+<p>
+        Private method to calculate a name for the file to download.
+</p><dl>
+<dt><i>directory</i></dt>
+<dd>
+name of the directory to store the file into (string)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+proposed filename (string)
+</dd>
+</dl><a NAME="DownloadItem.__updateInfoLabel" ID="DownloadItem.__updateInfoLabel"></a>
+<h4>DownloadItem.__updateInfoLabel</h4>
+<b>__updateInfoLabel</b>(<i></i>)
+<p>
+        Private method to update the info label.
+</p><a NAME="DownloadItem.absoluteFilePath" ID="DownloadItem.absoluteFilePath"></a>
+<h4>DownloadItem.absoluteFilePath</h4>
+<b>absoluteFilePath</b>(<i></i>)
+<p>
+        Public method to get the absolute path of the output file.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+absolute path of the output file (string)
+</dd>
+</dl><a NAME="DownloadItem.bytesReceived" ID="DownloadItem.bytesReceived"></a>
+<h4>DownloadItem.bytesReceived</h4>
+<b>bytesReceived</b>(<i></i>)
+<p>
+        Public method to get the number of bytes received.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+number of bytes received (integer)
+</dd>
+</dl><a NAME="DownloadItem.bytesTotal" ID="DownloadItem.bytesTotal"></a>
+<h4>DownloadItem.bytesTotal</h4>
+<b>bytesTotal</b>(<i></i>)
+<p>
+        Public method to get the total number of bytes of the download.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+total number of bytes (integer)
+</dd>
+</dl><a NAME="DownloadItem.canceledFileSelect" ID="DownloadItem.canceledFileSelect"></a>
+<h4>DownloadItem.canceledFileSelect</h4>
+<b>canceledFileSelect</b>(<i></i>)
+<p>
+        Public method to check, if the user canceled the file selection.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating cancellation (boolean)
+</dd>
+</dl><a NAME="DownloadItem.currentSpeed" ID="DownloadItem.currentSpeed"></a>
+<h4>DownloadItem.currentSpeed</h4>
+<b>currentSpeed</b>(<i></i>)
+<p>
+        Public method to get an estimation for the download speed.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+estimation for the download speed (float)
+</dd>
+</dl><a NAME="DownloadItem.downloadedSuccessfully" ID="DownloadItem.downloadedSuccessfully"></a>
+<h4>DownloadItem.downloadedSuccessfully</h4>
+<b>downloadedSuccessfully</b>(<i></i>)
+<p>
+        Public method to check for a successful download.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating a successful download (boolean)
+</dd>
+</dl><a NAME="DownloadItem.downloading" ID="DownloadItem.downloading"></a>
+<h4>DownloadItem.downloading</h4>
+<b>downloading</b>(<i></i>)
+<p>
+        Public method to determine, if a download is in progress.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating a download is in progress (boolean)
+</dd>
+</dl><a NAME="DownloadItem.fileName" ID="DownloadItem.fileName"></a>
+<h4>DownloadItem.fileName</h4>
+<b>fileName</b>(<i></i>)
+<p>
+        Public method to get the name of the output file.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+name of the output file (string)
+</dd>
+</dl><a NAME="DownloadItem.getData" ID="DownloadItem.getData"></a>
+<h4>DownloadItem.getData</h4>
+<b>getData</b>(<i></i>)
+<p>
+        Public method to get the relevant download data.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+tuple of URL, save location and done flag
+            (QUrl, string, boolean)
+</dd>
+</dl><a NAME="DownloadItem.getInfoData" ID="DownloadItem.getInfoData"></a>
+<h4>DownloadItem.getInfoData</h4>
+<b>getInfoData</b>(<i></i>)
+<p>
+        Public method to get the text of the info label.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+text of the info label (string)
+</dd>
+</dl><a NAME="DownloadItem.on_openButton_clicked" ID="DownloadItem.on_openButton_clicked"></a>
+<h4>DownloadItem.on_openButton_clicked</h4>
+<b>on_openButton_clicked</b>(<i></i>)
+<p>
+        Private slot to open the downloaded file.
+</p><a NAME="DownloadItem.on_stopButton_clicked" ID="DownloadItem.on_stopButton_clicked"></a>
+<h4>DownloadItem.on_stopButton_clicked</h4>
+<b>on_stopButton_clicked</b>(<i></i>)
+<p>
+        Private slot to stop the download.
+</p><a NAME="DownloadItem.on_tryAgainButton_clicked" ID="DownloadItem.on_tryAgainButton_clicked"></a>
+<h4>DownloadItem.on_tryAgainButton_clicked</h4>
+<b>on_tryAgainButton_clicked</b>(<i></i>)
+<p>
+        Private slot to retry the download.
+</p><a NAME="DownloadItem.remainingTime" ID="DownloadItem.remainingTime"></a>
+<h4>DownloadItem.remainingTime</h4>
+<b>remainingTime</b>(<i></i>)
+<p>
+        Public method to get an estimation for the remaining time.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+estimation for the remaining time (float)
+</dd>
+</dl><a NAME="DownloadItem.setData" ID="DownloadItem.setData"></a>
+<h4>DownloadItem.setData</h4>
+<b>setData</b>(<i>data</i>)
+<p>
+        Public method to set the relevant download data.
+</p><dl>
+<dt><i>data</i></dt>
+<dd>
+tuple of URL, save location and done flag
+            (QUrl, string, boolean)
+</dd>
+</dl><a NAME="DownloadItem.setIcon" ID="DownloadItem.setIcon"></a>
+<h4>DownloadItem.setIcon</h4>
+<b>setIcon</b>(<i>icon</i>)
+<p>
+        Public method to set the download icon.
+</p><dl>
+<dt><i>icon</i></dt>
+<dd>
+reference to the icon to be set (QIcon)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.Helpviewer.Download.DownloadManager.html	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.Helpviewer.Download.DownloadManager</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric5.Helpviewer.Download.DownloadManager</h1>
+<p>
+Module implementing the download manager class.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#DownloadManager">DownloadManager</a></td>
+<td>Class implementing the download manager</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="DownloadManager" ID="DownloadManager"></a>
+<h2>DownloadManager</h2>
+<p>
+    Class implementing the download manager
+</p>
+<h3>Derived from</h3>
+QDialog, Ui_DownloadManager
+<h3>Class Attributes</h3>
+<table>
+<tr><td>RemoveExit</td></tr><tr><td>RemoveNever</td></tr><tr><td>RemoveSuccessFullDownload</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#DownloadManager.__init__">DownloadManager</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#DownloadManager.__addItem">__addItem</a></td>
+<td>Private method to add a download to the list of downloads.</td>
+</tr><tr>
+<td><a href="#DownloadManager.__load">__load</a></td>
+<td>Public method to load the download settings.</td>
+</tr><tr>
+<td><a href="#DownloadManager.__updateItemCount">__updateItemCount</a></td>
+<td>Private method to update the count label.</td>
+</tr><tr>
+<td><a href="#DownloadManager.__updateRow">__updateRow</a></td>
+<td>Private slot to update a download item.</td>
+</tr><tr>
+<td><a href="#DownloadManager.activeDownloads">activeDownloads</a></td>
+<td>Public method to get the number of active downloads.</td>
+</tr><tr>
+<td><a href="#DownloadManager.allowQuit">allowQuit</a></td>
+<td>Public method to check, if it is ok to quit.</td>
+</tr><tr>
+<td><a href="#DownloadManager.changeOccurred">changeOccurred</a></td>
+<td>Public method to signal a change.</td>
+</tr><tr>
+<td><a href="#DownloadManager.cleanup">cleanup</a></td>
+<td>Public slot to cleanup the downloads.</td>
+</tr><tr>
+<td><a href="#DownloadManager.count">count</a></td>
+<td>Public method to get the number of downloads.</td>
+</tr><tr>
+<td><a href="#DownloadManager.download">download</a></td>
+<td>Public method to download a file.</td>
+</tr><tr>
+<td><a href="#DownloadManager.downloadDirectory">downloadDirectory</a></td>
+<td>Public method to get the current download directory.</td>
+</tr><tr>
+<td><a href="#DownloadManager.downloads">downloads</a></td>
+<td>Public method to get a reference to the downloads.</td>
+</tr><tr>
+<td><a href="#DownloadManager.handleUnsupportedContent">handleUnsupportedContent</a></td>
+<td></td>
+</tr><tr>
+<td><a href="#DownloadManager.on_cleanupButton_clicked">on_cleanupButton_clicked</a></td>
+<td>Private slot cleanup the downloads.</td>
+</tr><tr>
+<td><a href="#DownloadManager.removePolicy">removePolicy</a></td>
+<td>Public method to get the remove policy.</td>
+</tr><tr>
+<td><a href="#DownloadManager.save">save</a></td>
+<td>Public method to save the download settings.</td>
+</tr><tr>
+<td><a href="#DownloadManager.setDownloadDirectory">setDownloadDirectory</a></td>
+<td>Public method to set the current download directory.</td>
+</tr><tr>
+<td><a href="#DownloadManager.setRemovePolicy">setRemovePolicy</a></td>
+<td>Public method to set the remove policy.</td>
+</tr><tr>
+<td><a href="#DownloadManager.shutdown">shutdown</a></td>
+<td>Public method to stop the download manager.</td>
+</tr>
+</table>
+<a NAME="DownloadManager.__init__" ID="DownloadManager.__init__"></a>
+<h4>DownloadManager (Constructor)</h4>
+<b>DownloadManager</b>(<i>parent = None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+reference to the parent widget (QWidget)
+</dd>
+</dl><a NAME="DownloadManager.__addItem" ID="DownloadManager.__addItem"></a>
+<h4>DownloadManager.__addItem</h4>
+<b>__addItem</b>(<i>itm</i>)
+<p>
+        Private method to add a download to the list of downloads.
+</p><dl>
+<dt><i>itm</i></dt>
+<dd>
+reference to the download item (DownloadItem)
+</dd>
+</dl><a NAME="DownloadManager.__load" ID="DownloadManager.__load"></a>
+<h4>DownloadManager.__load</h4>
+<b>__load</b>(<i></i>)
+<p>
+        Public method to load the download settings.
+</p><a NAME="DownloadManager.__updateItemCount" ID="DownloadManager.__updateItemCount"></a>
+<h4>DownloadManager.__updateItemCount</h4>
+<b>__updateItemCount</b>(<i></i>)
+<p>
+        Private method to update the count label.
+</p><a NAME="DownloadManager.__updateRow" ID="DownloadManager.__updateRow"></a>
+<h4>DownloadManager.__updateRow</h4>
+<b>__updateRow</b>(<i>itm = None</i>)
+<p>
+        Private slot to update a download item.
+</p><dl>
+<dt><i>itm</i></dt>
+<dd>
+reference to the download item (DownloadItem)
+</dd>
+</dl><a NAME="DownloadManager.activeDownloads" ID="DownloadManager.activeDownloads"></a>
+<h4>DownloadManager.activeDownloads</h4>
+<b>activeDownloads</b>(<i></i>)
+<p>
+        Public method to get the number of active downloads.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+number of active downloads (integer)
+</dd>
+</dl><a NAME="DownloadManager.allowQuit" ID="DownloadManager.allowQuit"></a>
+<h4>DownloadManager.allowQuit</h4>
+<b>allowQuit</b>(<i></i>)
+<p>
+        Public method to check, if it is ok to quit.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating allowance to quit (boolean)
+</dd>
+</dl><a NAME="DownloadManager.changeOccurred" ID="DownloadManager.changeOccurred"></a>
+<h4>DownloadManager.changeOccurred</h4>
+<b>changeOccurred</b>(<i></i>)
+<p>
+        Public method to signal a change.
+</p><a NAME="DownloadManager.cleanup" ID="DownloadManager.cleanup"></a>
+<h4>DownloadManager.cleanup</h4>
+<b>cleanup</b>(<i></i>)
+<p>
+        Public slot to cleanup the downloads.
+</p><a NAME="DownloadManager.count" ID="DownloadManager.count"></a>
+<h4>DownloadManager.count</h4>
+<b>count</b>(<i></i>)
+<p>
+        Public method to get the number of downloads.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+number of downloads (integer)
+</dd>
+</dl><a NAME="DownloadManager.download" ID="DownloadManager.download"></a>
+<h4>DownloadManager.download</h4>
+<b>download</b>(<i>requestOrUrl, requestFileName = False</i>)
+<p>
+        Public method to download a file.
+</p><dl>
+<dt><i>requestOrUrl</i></dt>
+<dd>
+reference to a request object (QNetworkRequest)
+            or a URL to be downloaded (QUrl)
+</dd><dt><i>requestFileName=</i></dt>
+<dd>
+flag indicating to ask for the
+            download file name (boolean)
+</dd>
+</dl><a NAME="DownloadManager.downloadDirectory" ID="DownloadManager.downloadDirectory"></a>
+<h4>DownloadManager.downloadDirectory</h4>
+<b>downloadDirectory</b>(<i></i>)
+<p>
+        Public method to get the current download directory.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+current download directory (string)
+</dd>
+</dl><a NAME="DownloadManager.downloads" ID="DownloadManager.downloads"></a>
+<h4>DownloadManager.downloads</h4>
+<b>downloads</b>(<i></i>)
+<p>
+        Public method to get a reference to the downloads.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+reference to the downloads (list of DownloadItem)
+</dd>
+</dl><a NAME="DownloadManager.handleUnsupportedContent" ID="DownloadManager.handleUnsupportedContent"></a>
+<h4>DownloadManager.handleUnsupportedContent</h4>
+<b>handleUnsupportedContent</b>(<i>reply, requestFileName = False, webPage = None, download = False</i>)
+<a NAME="DownloadManager.on_cleanupButton_clicked" ID="DownloadManager.on_cleanupButton_clicked"></a>
+<h4>DownloadManager.on_cleanupButton_clicked</h4>
+<b>on_cleanupButton_clicked</b>(<i></i>)
+<p>
+        Private slot cleanup the downloads.
+</p><a NAME="DownloadManager.removePolicy" ID="DownloadManager.removePolicy"></a>
+<h4>DownloadManager.removePolicy</h4>
+<b>removePolicy</b>(<i></i>)
+<p>
+        Public method to get the remove policy.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+remove policy (integer)
+</dd>
+</dl><a NAME="DownloadManager.save" ID="DownloadManager.save"></a>
+<h4>DownloadManager.save</h4>
+<b>save</b>(<i></i>)
+<p>
+        Public method to save the download settings.
+</p><a NAME="DownloadManager.setDownloadDirectory" ID="DownloadManager.setDownloadDirectory"></a>
+<h4>DownloadManager.setDownloadDirectory</h4>
+<b>setDownloadDirectory</b>(<i>directory</i>)
+<p>
+        Public method to set the current download directory.
+</p><dl>
+<dt><i>directory</i></dt>
+<dd>
+current download directory (string)
+</dd>
+</dl><a NAME="DownloadManager.setRemovePolicy" ID="DownloadManager.setRemovePolicy"></a>
+<h4>DownloadManager.setRemovePolicy</h4>
+<b>setRemovePolicy</b>(<i>policy</i>)
+<p>
+        Public method to set the remove policy.
+</p><dl>
+<dt><i>policy</i></dt>
+<dd>
+policy to be set
+            (DownloadManager.RemoveExit, DownloadManager.RemoveNever, 
+             DownloadManager.RemoveSuccessFullDownload)
+</dd>
+</dl><a NAME="DownloadManager.shutdown" ID="DownloadManager.shutdown"></a>
+<h4>DownloadManager.shutdown</h4>
+<b>shutdown</b>(<i></i>)
+<p>
+        Public method to stop the download manager.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.Helpviewer.Download.DownloadModel.html	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.Helpviewer.Download.DownloadModel</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric5.Helpviewer.Download.DownloadModel</h1>
+<p>
+Module implementing the download model.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#DownloadModel">DownloadModel</a></td>
+<td>Class implementing the download model.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="DownloadModel" ID="DownloadModel"></a>
+<h2>DownloadModel</h2>
+<p>
+    Class implementing the download model.
+</p>
+<h3>Derived from</h3>
+QAbstractListModel
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#DownloadModel.__init__">DownloadModel</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#DownloadModel.data">data</a></td>
+<td>Public method to get data from the model.</td>
+</tr><tr>
+<td><a href="#DownloadModel.flags">flags</a></td>
+<td>Public method to get flags for an item.</td>
+</tr><tr>
+<td><a href="#DownloadModel.mimeData">mimeData</a></td>
+<td>Public method to return the mime data.</td>
+</tr><tr>
+<td><a href="#DownloadModel.removeRows">removeRows</a></td>
+<td>Public method to remove bookmarks from the model.</td>
+</tr><tr>
+<td><a href="#DownloadModel.rowCount">rowCount</a></td>
+<td>Public method to get the number of rows of the model.</td>
+</tr>
+</table>
+<a NAME="DownloadModel.__init__" ID="DownloadModel.__init__"></a>
+<h4>DownloadModel (Constructor)</h4>
+<b>DownloadModel</b>(<i>manager, parent = None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>manager</i></dt>
+<dd>
+reference to the download manager (DownloadManager)
+</dd><dt><i>parent</i></dt>
+<dd>
+reference to the parent object (QObject)
+</dd>
+</dl><a NAME="DownloadModel.data" ID="DownloadModel.data"></a>
+<h4>DownloadModel.data</h4>
+<b>data</b>(<i>index, role</i>)
+<p>
+        Public method to get data from the model.
+</p><dl>
+<dt><i>index</i></dt>
+<dd>
+index to get data for (QModelIndex)
+</dd><dt><i>role</i></dt>
+<dd>
+role of the data to retrieve (integer)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+requested data
+</dd>
+</dl><a NAME="DownloadModel.flags" ID="DownloadModel.flags"></a>
+<h4>DownloadModel.flags</h4>
+<b>flags</b>(<i>index</i>)
+<p>
+        Public method to get flags for an item.
+</p><dl>
+<dt><i>index</i></dt>
+<dd>
+index of the node cell (QModelIndex)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+flags (Qt.ItemFlags)
+</dd>
+</dl><a NAME="DownloadModel.mimeData" ID="DownloadModel.mimeData"></a>
+<h4>DownloadModel.mimeData</h4>
+<b>mimeData</b>(<i>indexes</i>)
+<p>
+        Public method to return the mime data.
+</p><dl>
+<dt><i>indexes</i></dt>
+<dd>
+list of indexes (QModelIndexList)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+mime data (QMimeData)
+</dd>
+</dl><a NAME="DownloadModel.removeRows" ID="DownloadModel.removeRows"></a>
+<h4>DownloadModel.removeRows</h4>
+<b>removeRows</b>(<i>row, count, parent = QModelIndex()</i>)
+<p>
+        Public method to remove bookmarks from the model.
+</p><dl>
+<dt><i>row</i></dt>
+<dd>
+row of the first bookmark to remove (integer)
+</dd><dt><i>count</i></dt>
+<dd>
+number of bookmarks to remove (integer)
+</dd><dt><i>index</i></dt>
+<dd>
+of the parent bookmark node (QModelIndex)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating successful removal (boolean)
+</dd>
+</dl><a NAME="DownloadModel.rowCount" ID="DownloadModel.rowCount"></a>
+<h4>DownloadModel.rowCount</h4>
+<b>rowCount</b>(<i>parent = QModelIndex()</i>)
+<p>
+        Public method to get the number of rows of the model.
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+parent index (QModelIndex)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+number of rows (integer)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.Helpviewer.Download.DownloadUtilities.html	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.Helpviewer.Download.DownloadUtilities</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric5.Helpviewer.Download.DownloadUtilities</h1>
+
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr>
+<td><a href="#dataString">dataString</a></td>
+<td>Module function to generate a formatted size string.</td>
+</tr><tr>
+<td><a href="#timeString">timeString</a></td>
+<td>Module function to format the given time.</td>
+</tr>
+</table>
+<hr /><hr />
+<a NAME="dataString" ID="dataString"></a>
+<h2>dataString</h2>
+<b>dataString</b>(<i>size</i>)
+<p>
+    Module function to generate a formatted size string.
+</p><dl>
+<dt><i>size</i></dt>
+<dd>
+size to be formatted (integer)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+formatted data string (string)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="timeString" ID="timeString"></a>
+<h2>timeString</h2>
+<b>timeString</b>(<i>timeRemaining</i>)
+<p>
+    Module function to format the given time.
+</p><dl>
+<dt><i>timeRemaining</i></dt>
+<dd>
+time to be formatted (float)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+time string (string)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.Helpviewer.DownloadDialog.html	Sun Oct 10 11:25:46 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html><head>
-<title>eric5.Helpviewer.DownloadDialog</title>
-<style>
-body {
-    background: #EDECE6;
-    margin: 0em 1em 10em 1em;
-    color: black;
-}
-
-h1 { color: white; background: #85774A; }
-h2 { color: white; background: #85774A; }
-h3 { color: white; background: #9D936E; }
-h4 { color: white; background: #9D936E; }
-    
-a { color: #BA6D36; }
-
-</style>
-</head>
-<body><a NAME="top" ID="top"></a>
-<h1>eric5.Helpviewer.DownloadDialog</h1>
-<p>
-Module implementing the download dialog.
-</p>
-<h3>Global Attributes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Classes</h3>
-<table>
-<tr>
-<td><a href="#DownloadDialog">DownloadDialog</a></td>
-<td>Class implementing the download dialog.</td>
-</tr>
-</table>
-<h3>Functions</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<hr /><hr />
-<a NAME="DownloadDialog" ID="DownloadDialog"></a>
-<h2>DownloadDialog</h2>
-<p>
-    Class implementing the download dialog.
-</p><h4>Signals</h4>
-<dl>
-<dt>done()</dt>
-<dd>
-emitted just before the dialog is closed
-</dd>
-</dl>
-<h3>Derived from</h3>
-QWidget, Ui_DownloadDialog
-<h3>Class Attributes</h3>
-<table>
-<tr><td>done</td></tr>
-</table>
-<h3>Methods</h3>
-<table>
-<tr>
-<td><a href="#DownloadDialog.__init__">DownloadDialog</a></td>
-<td>Constructor</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__dataString">__dataString</a></td>
-<td>Private method to generate a formatted data string.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__downloadProgress">__downloadProgress</a></td>
-<td>Private method show the download progress.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__downloading">__downloading</a></td>
-<td>Private method to determine, if a download is in progress.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__finished">__finished</a></td>
-<td>Private slot to handle the download finished.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__getFileName">__getFileName</a></td>
-<td>Private method to get the filename to save to from the user.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__metaDataChanged">__metaDataChanged</a></td>
-<td>Private slot to handle a change of the meta data.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__networkError">__networkError</a></td>
-<td>Private slot to handle a network error.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__open">__open</a></td>
-<td>Private slot to open the downloaded file.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__readyRead">__readyRead</a></td>
-<td>Private slot to read the available data.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__saveFileName">__saveFileName</a></td>
-<td>Private method to calculate a name for the file to download.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__stop">__stop</a></td>
-<td>Private slot to stop the download.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__tryAgain">__tryAgain</a></td>
-<td>Private slot to retry the download.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.__updateInfoLabel">__updateInfoLabel</a></td>
-<td>Private method to update the info label.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.closeEvent">closeEvent</a></td>
-<td>Protected method called when the dialog is closed.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.initialize">initialize</a></td>
-<td>Public method to (re)initialize the dialog.</td>
-</tr><tr>
-<td><a href="#DownloadDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
-<td>Private slot called by a button of the button box clicked.</td>
-</tr>
-</table>
-<a NAME="DownloadDialog.__init__" ID="DownloadDialog.__init__"></a>
-<h4>DownloadDialog (Constructor)</h4>
-<b>DownloadDialog</b>(<i>reply = None, requestFilename = False, webPage = None, download = False, parent = None</i>)
-<p>
-        Constructor
-</p><dl>
-<dt><i>reply</i></dt>
-<dd>
-reference to the network reply object (QNetworkReply)
-</dd><dt><i>requestFilename</i></dt>
-<dd>
-flag indicating to ask the user for a filename (boolean)
-</dd><dt><i>webPage</i></dt>
-<dd>
-reference to the web page object the download originated
-            from (QWebPage)
-</dd><dt><i>download</i></dt>
-<dd>
-flag indicating a download operation (boolean)
-</dd><dt><i>parent</i></dt>
-<dd>
-reference to the parent widget (QWidget)
-</dd>
-</dl><a NAME="DownloadDialog.__dataString" ID="DownloadDialog.__dataString"></a>
-<h4>DownloadDialog.__dataString</h4>
-<b>__dataString</b>(<i>size</i>)
-<p>
-        Private method to generate a formatted data string.
-</p><dl>
-<dt><i>size</i></dt>
-<dd>
-size to be formatted (integer)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-formatted data string (string)
-</dd>
-</dl><a NAME="DownloadDialog.__downloadProgress" ID="DownloadDialog.__downloadProgress"></a>
-<h4>DownloadDialog.__downloadProgress</h4>
-<b>__downloadProgress</b>(<i>received, total</i>)
-<p>
-        Private method show the download progress.
-</p><dl>
-<dt><i>received</i></dt>
-<dd>
-number of bytes received (integer)
-</dd><dt><i>total</i></dt>
-<dd>
-number of total bytes (integer)
-</dd>
-</dl><a NAME="DownloadDialog.__downloading" ID="DownloadDialog.__downloading"></a>
-<h4>DownloadDialog.__downloading</h4>
-<b>__downloading</b>(<i></i>)
-<p>
-        Private method to determine, if a download is in progress.
-</p><dl>
-<dt>Returns:</dt>
-<dd>
-flag indicating a download is in progress (boolean)
-</dd>
-</dl><a NAME="DownloadDialog.__finished" ID="DownloadDialog.__finished"></a>
-<h4>DownloadDialog.__finished</h4>
-<b>__finished</b>(<i></i>)
-<p>
-        Private slot to handle the download finished.
-</p><a NAME="DownloadDialog.__getFileName" ID="DownloadDialog.__getFileName"></a>
-<h4>DownloadDialog.__getFileName</h4>
-<b>__getFileName</b>(<i></i>)
-<p>
-        Private method to get the filename to save to from the user.
-</p><dl>
-<dt>Returns:</dt>
-<dd>
-flag indicating success (boolean)
-</dd>
-</dl><a NAME="DownloadDialog.__metaDataChanged" ID="DownloadDialog.__metaDataChanged"></a>
-<h4>DownloadDialog.__metaDataChanged</h4>
-<b>__metaDataChanged</b>(<i></i>)
-<p>
-        Private slot to handle a change of the meta data.
-</p><a NAME="DownloadDialog.__networkError" ID="DownloadDialog.__networkError"></a>
-<h4>DownloadDialog.__networkError</h4>
-<b>__networkError</b>(<i></i>)
-<p>
-        Private slot to handle a network error.
-</p><a NAME="DownloadDialog.__open" ID="DownloadDialog.__open"></a>
-<h4>DownloadDialog.__open</h4>
-<b>__open</b>(<i></i>)
-<p>
-        Private slot to open the downloaded file.
-</p><a NAME="DownloadDialog.__readyRead" ID="DownloadDialog.__readyRead"></a>
-<h4>DownloadDialog.__readyRead</h4>
-<b>__readyRead</b>(<i></i>)
-<p>
-        Private slot to read the available data.
-</p><a NAME="DownloadDialog.__saveFileName" ID="DownloadDialog.__saveFileName"></a>
-<h4>DownloadDialog.__saveFileName</h4>
-<b>__saveFileName</b>(<i>directory</i>)
-<p>
-        Private method to calculate a name for the file to download.
-</p><dl>
-<dt><i>directory</i></dt>
-<dd>
-name of the directory to store the file into (string)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-proposed filename (string)
-</dd>
-</dl><a NAME="DownloadDialog.__stop" ID="DownloadDialog.__stop"></a>
-<h4>DownloadDialog.__stop</h4>
-<b>__stop</b>(<i></i>)
-<p>
-        Private slot to stop the download.
-</p><a NAME="DownloadDialog.__tryAgain" ID="DownloadDialog.__tryAgain"></a>
-<h4>DownloadDialog.__tryAgain</h4>
-<b>__tryAgain</b>(<i></i>)
-<p>
-        Private slot to retry the download.
-</p><a NAME="DownloadDialog.__updateInfoLabel" ID="DownloadDialog.__updateInfoLabel"></a>
-<h4>DownloadDialog.__updateInfoLabel</h4>
-<b>__updateInfoLabel</b>(<i></i>)
-<p>
-        Private method to update the info label.
-</p><a NAME="DownloadDialog.closeEvent" ID="DownloadDialog.closeEvent"></a>
-<h4>DownloadDialog.closeEvent</h4>
-<b>closeEvent</b>(<i>evt</i>)
-<p>
-        Protected method called when the dialog is closed.
-</p><a NAME="DownloadDialog.initialize" ID="DownloadDialog.initialize"></a>
-<h4>DownloadDialog.initialize</h4>
-<b>initialize</b>(<i></i>)
-<p>
-        Public method to (re)initialize the dialog.
-</p><dl>
-<dt>Returns:</dt>
-<dd>
-flag indicating success (boolean)
-</dd>
-</dl><a NAME="DownloadDialog.on_buttonBox_clicked" ID="DownloadDialog.on_buttonBox_clicked"></a>
-<h4>DownloadDialog.on_buttonBox_clicked</h4>
-<b>on_buttonBox_clicked</b>(<i>button</i>)
-<p>
-        Private slot called by a button of the button box clicked.
-</p><dl>
-<dt><i>button</i></dt>
-<dd>
-button that was clicked (QAbstractButton)
-</dd>
-</dl>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-</body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.Helpviewer.HelpBrowserWV.html	Sun Oct 10 11:25:46 2010 +0200
+++ b/Documentation/Source/eric5.Helpviewer.HelpBrowserWV.html	Sun Oct 10 21:12:43 2010 +0200
@@ -123,9 +123,6 @@
 <td><a href="#HelpBrowser.__databaseQuotaExceeded">__databaseQuotaExceeded</a></td>
 <td>Private slot to handle the case, where the database quota is exceeded.</td>
 </tr><tr>
-<td><a href="#HelpBrowser.__downloadDone">__downloadDone</a></td>
-<td>Private slot to handle the done signal of the download dialogs.</td>
-</tr><tr>
 <td><a href="#HelpBrowser.__downloadImage">__downloadImage</a></td>
 <td>Private slot to download an image and save it to disk.</td>
 </tr><tr>
@@ -344,12 +341,7 @@
 <dd>
 name of the web database (string)
 </dd>
-</dl><a NAME="HelpBrowser.__downloadDone" ID="HelpBrowser.__downloadDone"></a>
-<h4>HelpBrowser.__downloadDone</h4>
-<b>__downloadDone</b>(<i></i>)
-<p>
-        Private slot to handle the done signal of the download dialogs.
-</p><a NAME="HelpBrowser.__downloadImage" ID="HelpBrowser.__downloadImage"></a>
+</dl><a NAME="HelpBrowser.__downloadImage" ID="HelpBrowser.__downloadImage"></a>
 <h4>HelpBrowser.__downloadImage</h4>
 <b>__downloadImage</b>(<i></i>)
 <p>
--- a/Documentation/Source/eric5.Helpviewer.HelpClearPrivateDataDialog.html	Sun Oct 10 11:25:46 2010 +0200
+++ b/Documentation/Source/eric5.Helpviewer.HelpClearPrivateDataDialog.html	Sun Oct 10 21:12:43 2010 +0200
@@ -81,7 +81,7 @@
 <dd>
 tuple of flags indicating which data to clear (browsing history,
             search history, favicons, disk cache, cookies, passwords, web 
-            databases) (list of boolean)
+            databases, downloads) (list of boolean)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric5.Helpviewer.HelpWindow.html	Sun Oct 10 11:25:46 2010 +0200
+++ b/Documentation/Source/eric5.Helpviewer.HelpWindow.html	Sun Oct 10 21:12:43 2010 +0200
@@ -59,7 +59,7 @@
 QMainWindow
 <h3>Class Attributes</h3>
 <table>
-<tr><td>_adblockManager</td></tr><tr><td>_bookmarksManager</td></tr><tr><td>_cookieJar</td></tr><tr><td>_helpEngine</td></tr><tr><td>_historyManager</td></tr><tr><td>_networkAccessManager</td></tr><tr><td>_passwordManager</td></tr><tr><td>helpClosed</td></tr><tr><td>helpwindows</td></tr><tr><td>maxMenuFilePathLen</td></tr><tr><td>privacyChanged</td></tr><tr><td>zoomTextOnlyChanged</td></tr>
+<tr><td>_adblockManager</td></tr><tr><td>_bookmarksManager</td></tr><tr><td>_cookieJar</td></tr><tr><td>_downloadManager</td></tr><tr><td>_helpEngine</td></tr><tr><td>_historyManager</td></tr><tr><td>_networkAccessManager</td></tr><tr><td>_passwordManager</td></tr><tr><td>helpClosed</td></tr><tr><td>helpwindows</td></tr><tr><td>maxMenuFilePathLen</td></tr><tr><td>privacyChanged</td></tr><tr><td>zoomTextOnlyChanged</td></tr>
 </table>
 <h3>Methods</h3>
 <table>
@@ -229,6 +229,9 @@
 <td><a href="#HelpWindow.__showCookiesConfiguration">__showCookiesConfiguration</a></td>
 <td>Private slot to configure the cookies handling.</td>
 </tr><tr>
+<td><a href="#HelpWindow.__showDownloadsWindow">__showDownloadsWindow</a></td>
+<td>Private slot to show the downloads dialog.</td>
+</tr><tr>
 <td><a href="#HelpWindow.__showEnginesConfigurationDialog">__showEnginesConfigurationDialog</a></td>
 <td>Private slot to show the search engines configuration dialog.</td>
 </tr><tr>
@@ -322,6 +325,9 @@
 <td><a href="#HelpWindow.currentBrowser">currentBrowser</a></td>
 <td>Public method to get a reference to the current help browser.</td>
 </tr><tr>
+<td><a href="#HelpWindow.downloadManager">downloadManager</a></td>
+<td>Class method to get a reference to the download manager.</td>
+</tr><tr>
 <td><a href="#HelpWindow.getActions">getActions</a></td>
 <td>Public method to get a list of all actions.</td>
 </tr><tr>
@@ -760,6 +766,11 @@
 <b>__showCookiesConfiguration</b>(<i></i>)
 <p>
         Private slot to configure the cookies handling.
+</p><a NAME="HelpWindow.__showDownloadsWindow" ID="HelpWindow.__showDownloadsWindow"></a>
+<h4>HelpWindow.__showDownloadsWindow</h4>
+<b>__showDownloadsWindow</b>(<i></i>)
+<p>
+        Private slot to show the downloads dialog.
 </p><a NAME="HelpWindow.__showEnginesConfigurationDialog" ID="HelpWindow.__showEnginesConfigurationDialog"></a>
 <h4>HelpWindow.__showEnginesConfigurationDialog</h4>
 <b>__showEnginesConfigurationDialog</b>(<i></i>)
@@ -977,6 +988,16 @@
 <dd>
 reference to the current help browser (HelpBrowser)
 </dd>
+</dl><a NAME="HelpWindow.downloadManager" ID="HelpWindow.downloadManager"></a>
+<h4>HelpWindow.downloadManager</h4>
+<b>downloadManager</b>(<i></i>)
+<p>
+        Class method to get a reference to the download manager.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+reference to the password manager (DownloadManager)
+</dd>
 </dl><a NAME="HelpWindow.getActions" ID="HelpWindow.getActions"></a>
 <h4>HelpWindow.getActions</h4>
 <b>getActions</b>(<i></i>)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/index-eric5.Helpviewer.Download.html	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.Helpviewer.Download</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<h1>eric5.Helpviewer.Download</h1>
+<p>
+Package implementing all download related modules.
+</p>
+
+
+<h3>Modules</h3>
+<table>
+<tr>
+<td><a href="eric5.Helpviewer.Download.DownloadItem.html">DownloadItem</a></td>
+<td>Module implementing a widget controlling a download.</td>
+</tr><tr>
+<td><a href="eric5.Helpviewer.Download.DownloadManager.html">DownloadManager</a></td>
+<td>Module implementing the download manager class.</td>
+</tr><tr>
+<td><a href="eric5.Helpviewer.Download.DownloadModel.html">DownloadModel</a></td>
+<td>Module implementing the download model.</td>
+</tr><tr>
+<td><a href="eric5.Helpviewer.Download.DownloadUtilities.html">DownloadUtilities</a></td>
+<td></td>
+</tr>
+</table>
+</body></html>
\ No newline at end of file
--- a/Documentation/Source/index-eric5.Helpviewer.html	Sun Oct 10 11:25:46 2010 +0200
+++ b/Documentation/Source/index-eric5.Helpviewer.html	Sun Oct 10 21:12:43 2010 +0200
@@ -42,6 +42,9 @@
 <td><a href="index-eric5.Helpviewer.CookieJar.html">CookieJar</a></td>
 <td>Package implementing a cookie jar and related dialogs with models.</td>
 </tr><tr>
+<td><a href="index-eric5.Helpviewer.Download.html">Download</a></td>
+<td>Package implementing all download related modules.</td>
+</tr><tr>
 <td><a href="index-eric5.Helpviewer.History.html">History</a></td>
 <td>Package implementing the history system.</td>
 </tr><tr>
@@ -68,9 +71,6 @@
 <h3>Modules</h3>
 <table>
 <tr>
-<td><a href="eric5.Helpviewer.DownloadDialog.html">DownloadDialog</a></td>
-<td>Module implementing the download dialog.</td>
-</tr><tr>
 <td><a href="eric5.Helpviewer.HTMLResources.html">HTMLResources</a></td>
 <td>Module containing some HTML resources.</td>
 </tr><tr>
--- a/Helpviewer/CookieJar/CookieExceptionsModel.py	Sun Oct 10 11:25:46 2010 +0200
+++ b/Helpviewer/CookieJar/CookieExceptionsModel.py	Sun Oct 10 21:12:43 2010 +0200
@@ -119,7 +119,7 @@
         Public method to get the number of rows of the model.
         
         @param parent parent index (QModelIndex)
-        @return number of columns (integer)
+        @return number of rows (integer)
         """
         if parent.isValid() or self.__cookieJar is None:
             return 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/Download/DownloadItem.py	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,541 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2010 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a widget controlling a download.
+"""
+
+from PyQt4.QtCore import pyqtSlot, pyqtSignal, Qt, QTime, QFile, QFileInfo, QUrl, \
+    QIODevice
+from PyQt4.QtGui import QWidget, QPalette, QStyle, QDesktopServices, QFileDialog
+from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply
+
+from E5Gui import E5MessageBox
+
+from .Ui_DownloadItem import Ui_DownloadItem
+
+import Helpviewer.HelpWindow
+
+from .DownloadUtilities import timeString, dataString
+
+import UI.PixmapCache
+import Preferences
+
+class DownloadItem(QWidget, Ui_DownloadItem):
+    """
+    Class implementing a widget controlling a download.
+    """
+    statusChanged = pyqtSignal()
+    progress = pyqtSignal(int, int)
+    
+    def __init__(self, reply = None, requestFilename = False, webPage = None, 
+                 download = False, parent = None):
+        """
+        Constructor
+        
+        @param reply reference to the network reply object (QNetworkReply)
+        @param requestFilename flag indicating to ask the user for a filename (boolean)
+        @param webPage reference to the web page object the download originated 
+            from (QWebPage)
+        @param download flag indicating a download operation (boolean)
+        @param parent reference to the parent widget (QWidget)
+        """
+        QWidget.__init__(self, parent)
+        self.setupUi(self)
+        
+        p = self.infoLabel.palette()
+        p.setColor(QPalette.Text, Qt.darkGray)
+        self.infoLabel.setPalette(p)
+        
+        self.progressBar.setMaximum(0)
+        
+        self.tryAgainButton.setIcon(UI.PixmapCache.getIcon("restart.png"))
+        self.tryAgainButton.setEnabled(False)
+        self.tryAgainButton.setVisible(False)
+        self.stopButton.setIcon(UI.PixmapCache.getIcon("stopLoading.png"))
+        self.openButton.setIcon(UI.PixmapCache.getIcon("open.png"))
+        self.openButton.setEnabled(False)
+        self.openButton.setVisible(False)
+        
+        icon = self.style().standardIcon(QStyle.SP_FileIcon)
+        self.fileIcon.setPixmap(icon.pixmap(48, 48))
+        
+        self.__reply = reply
+        self.__requestFilename = requestFilename
+        self.__page = webPage
+        self.__toDownload = download
+        self.__bytesReceived = 0
+        self.__downloadTime = QTime()
+        self.__output = QFile()
+        self.__startedSaving = False
+        self.__finishedDownloading = False
+        self.__gettingFileName = False
+        self.__canceledFileSelect = False
+        self.__autoOpen = False
+        
+        if not requestFilename:
+            self.__requestFilename = Preferences.getUI("RequestDownloadFilename")
+        
+        self.__initialize()
+    
+    def __initialize(self, tryAgain = False):
+        """
+        Private method to (re)initialize the widget.
+        
+        @param tryAgain flag indicating a retry (boolean)
+        """
+        if self.__reply is None:
+            return
+        
+        self.__startedSaving = False
+        self.__finishedDownloading = False
+        
+        self.openButton.setEnabled(False)
+        self.openButton.setVisible(False)
+        
+        # attach to the reply object
+        self.__url = self.__reply.url()
+        self.__reply.setParent(self)
+        self.__reply.readyRead[()].connect(self.__readyRead)
+        self.__reply.error.connect(self.__networkError)
+        self.__reply.downloadProgress.connect(self.__downloadProgress)
+        self.__reply.metaDataChanged.connect(self.__metaDataChanged)
+        self.__reply.finished[()].connect(self.__finished)
+        
+        # reset info
+        self.infoLabel.clear()
+        self.progressBar.setValue(0)
+        self.__getFileName()
+        
+        # start timer for the download estimation
+        self.__downloadTime.start()
+        
+        if self.__reply.error() != QNetworkReply.NoError:
+            self.__networkError()
+            self.__finished()
+    
+    def __getFileName(self):
+        """
+        Private method to get the filename to save to from the user.
+        
+        @return flag indicating success (boolean)
+        """
+        if self.__gettingFileName:
+            return
+        
+        downloadDirectory = Helpviewer.HelpWindow.HelpWindow\
+            .downloadManager().downloadDirectory()
+        
+        defaultFileName = self.__saveFileName(downloadDirectory)
+        fileName = defaultFileName
+        self.__autoOpen = False
+        if not self.__toDownload:
+            res = E5MessageBox.question(self,
+                self.trUtf8("Downloading"),
+                self.trUtf8("""<p>You are about to download the file <b>{0}</b>.</p>"""
+                            """<p>What do you want to do?</p>""").format(fileName),
+                E5MessageBox.StandardButtons(
+                    E5MessageBox.Open | \
+                    E5MessageBox.Save | \
+                    E5MessageBox.Cancel))
+            if res == E5MessageBox.Cancel:
+                self.progressBar.setVisible(False)
+                self.__reply.close()
+                self.on_stopButton_clicked()
+                self.filenameLabel.setText(self.trUtf8("Download canceled: {0}").format(
+                    QFileInfo(defaultFileName).fileName()))
+                self.__canceledFileSelect = True
+                return
+            
+            self.__autoOpen = res == E5MessageBox.Open
+            fileName = QDesktopServices.storageLocation(QDesktopServices.TempLocation) + \
+                        '/' + QFileInfo(fileName).completeBaseName()
+        
+        if not self.__autoOpen and self.__requestFilename:
+            self.__gettingFileName = True
+            fileName = QFileDialog.getSaveFileName(
+                None,
+                self.trUtf8("Save File"),
+                defaultFileName,
+                "")
+            self.__gettingFileName = False
+            if not fileName:
+                self.progressBar.setVisible(False)
+                self.__reply.close()
+                self.on_stopButton_clicked()
+                self.filenameLabel.setText(self.trUtf8("Download canceled: {0}")\
+                    .format(QFileInfo(defaultFileName).fileName()))
+                self.__canceledFileSelect = True
+                return
+            fileInfo = QFileInfo(fileName)
+            Helpviewer.HelpWindow.HelpWindow.downloadManager().setDownloadDirectory(
+                fileInfo.absoluteDir().absolutePath())
+            self.filenameLabel.setText(fileInfo.fileName())
+        
+        self.__output.setFileName(fileName)
+        
+        # check file path for saving
+        saveDirPath = QFileInfo(self.__output.fileName()).dir()
+        if not saveDirPath.exists():
+            if not saveDirPath.mkpath(saveDirPath.absolutePath()):
+                self.progressBar.setVisible(False)
+                self.on_stopButton_clicked()
+                self.infoLabel.setText(
+                    self.trUtf8("Download directory ({0}) couldn't be created.")\
+                    .format(saveDirPath.absolutePath()))
+                return
+        
+        self.filenameLabel.setText(QFileInfo(self.__output.fileName()).fileName())
+        if self.__requestFilename:
+            self.__readyRead()
+    
+    def __saveFileName(self, directory):
+        """
+        Private method to calculate a name for the file to download.
+        
+        @param directory name of the directory to store the file into (string)
+        @return proposed filename (string)
+        """
+        path = ""
+        if self.__reply.hasRawHeader("Content-Disposition"):
+            header = bytes(self.__reply.rawHeader("Content-Disposition")).decode()
+            if header:
+                pos = header.find("filename=")
+                if pos != -1:
+                    path = header[pos + 9:]
+                    if path.startswith('"') and path.endswith('"'):
+                        path = path[1:-1]
+        if not path:
+            path = self.__url.path()
+        
+        info = QFileInfo(path)
+        baseName = info.completeBaseName()
+        endName = info.suffix()
+        
+        if not baseName:
+            baseName = "unnamed_download"
+        
+        name = directory + baseName
+        if endName:
+           name += '.' + endName
+        i = 1
+        while QFile.exists(name):
+            # file exists already, don't overwrite
+            name = directory + baseName + ('-{0:d}'.format(i))
+            if endName:
+                name += '.' + endName
+            i += 1
+        return name
+    
+    @pyqtSlot()
+    def on_tryAgainButton_clicked(self):
+        """
+        Private slot to retry the download.
+        """
+        if not self.tryAgainButton.isEnabled():
+            return
+        
+        self.tryAgainButton.setEnabled(False)
+        self.tryAgainButton.setVisible(False)
+        self.openButton.setEnabled(False)
+        self.openButton.setVisible(False)
+        self.stopButton.setEnabled(True)
+        self.stopButton.setVisible(True)
+        self.progressBar.setVisible(True)
+        
+        if self.__page:
+            nam = self.__page.networkAccessManager()
+        else:
+            nam = Helpviewer.HelpWindow.HelpWindow.networkAccessManager()
+        reply = nam.get(QNetworkRequest(self.__url))
+        if self.__output.exists():
+            self.__output.remove()
+        self.__reply = reply
+        self.__initialize(tryAgain = True)
+        self.statusChanged.emit()
+    
+    @pyqtSlot()
+    def on_stopButton_clicked(self):
+        """
+        Private slot to stop the download.
+        """
+        self.setUpdatesEnabled(False)
+        self.stopButton.setEnabled(False)
+        self.stopButton.setVisible(False)
+        self.tryAgainButton.setEnabled(True)
+        self.tryAgainButton.setVisible(True)
+        self.openButton.setEnabled(False)
+        self.openButton.setVisible(False)
+        self.setUpdatesEnabled(True)
+        self.__reply.abort()
+    
+    @pyqtSlot()
+    def on_openButton_clicked(self):
+        """
+        Private slot to open the downloaded file.
+        """
+        info = QFileInfo(self.__output)
+        url = QUrl.fromLocalFile(info.absoluteFilePath())
+        QDesktopServices.openUrl(url)
+    
+    def __readyRead(self):
+        """
+        Private slot to read the available data.
+        """
+        if self.__requestFilename and not self.__output.fileName():
+            return
+        
+        if not self.__output.isOpen():
+            # in case someone else has already put a file there
+            if not self.__requestFilename:
+                self.__getFileName()
+            if not self.__output.open(QIODevice.WriteOnly):
+                self.infoLabel.setText(self.trUtf8("Error opening save file: {0}")\
+                    .format(self.__output.errorString()))
+                self.on_stopButton_clicked()
+                self.statusChanged.emit()
+                return
+            self.statusChanged.emit()
+        
+        bytesWritten = self.__output.write(self.__reply.readAll())
+        if bytesWritten == -1:
+            self.infoLabel.setText(self.trUtf8("Error saving: {0}")\
+                .format(self.__output.errorString()))
+            self.on_stopButton_clicked()
+        else:
+            self.__startedSaving = True
+            if self.__finishedDownloading:
+                self.__finished()
+    
+    def __networkError(self):
+        """
+        Private slot to handle a network error.
+        """
+        self.infoLabel.setText(self.trUtf8("Network Error: {0}")\
+            .format(self.__reply.errorString()))
+        self.tryAgainButton.setEnabled(True)
+        self.tryAgainButton.setVisible(True)
+    
+    def __metaDataChanged(self):
+        """
+        Private slot to handle a change of the meta data.
+        """
+        locationHeader = self.__reply.header(QNetworkRequest.LocationHeader)
+        if locationHeader and locationHeader.isValid():
+            self.__url = QUrl(locationHeader)
+            self.__reply = Helpviewer.HelpWindow.HelpWindow.networkAccessManager().get(
+                           QNetworkRequest(self.__url))
+            self.initialize()
+    
+    def __downloadProgress(self, bytesReceived, bytesTotal):
+        """
+        Private method to show the download progress.
+        
+        @param bytesReceived number of bytes received (integer)
+        @param bytesTotal number of total bytes (integer)
+        """
+        self.__bytesReceived = bytesReceived
+        currentValue = 0
+        totalValue = 0
+        if bytesTotal > 0:
+            currentValue = bytesReceived * 100 / bytesTotal
+            totalValue = 100
+        self.progressBar.setValue(currentValue)
+        self.progressBar.setMaximum(totalValue)
+        
+        self.progress.emit(currentValue, totalValue)
+        self.__updateInfoLabel()
+    
+    def bytesTotal(self):
+        """
+        Public method to get the total number of bytes of the download.
+        
+        @return total number of bytes (integer)
+        """
+        return self.__reply.header(QNetworkRequest.ContentLengthHeader)
+    
+    def bytesReceived(self):
+        """
+        Public method to get the number of bytes received.
+        
+        @return number of bytes received (integer)
+        """
+        return self.__bytesReceived
+    
+    def remainingTime(self):
+        """
+        Public method to get an estimation for the remaining time.
+        
+        @return estimation for the remaining time (float)
+        """
+        if not self.downloading():
+            return -1.0
+        
+        timeRemaining = (self.bytesTotal() - self.bytesReceived()) / self.currentSpeed()
+        
+        # ETA should never be 0
+        if timeRemaining == 0:
+            timeRemaining = 1
+        
+        return timeRemaining
+    
+    def currentSpeed(self):
+        """
+        Public method to get an estimation for the download speed.
+        
+        @return estimation for the download speed (float)
+        """
+        if not self.downloading():
+            return -1.0
+        
+        return self.__bytesReceived * 1000.0 / self.__downloadTime.elapsed()
+    
+    def __updateInfoLabel(self):
+        """
+        Private method to update the info label.
+        """
+        if self.__reply.error() != QNetworkReply.NoError:
+            return
+        
+        bytesTotal = self.__reply.header(QNetworkRequest.ContentLengthHeader)
+        running = not self.downloadedSuccessfully()
+        
+        speed = self.currentSpeed()
+        timeRemaining = self.remainingTime()
+        
+        info = ""
+        if running:
+            remaining = ""
+            
+            if bytesTotal != 0:
+                remaining = timeString(timeRemaining)
+            
+            info = self.trUtf8("{0} of {1} ({2}/sec) - {3}")\
+                .format(
+                    dataString(self.__bytesReceived), 
+                    bytesTotal == 0 and self.trUtf8("?") \
+                                     or dataString(bytesTotal), 
+                    dataString(int(speed)), 
+                    remaining)
+        else:
+            if self.__bytesReceived == bytesTotal:
+                info = self.trUtf8("{0} downloaded")\
+                    .format(dataString(self.__output.size()))
+            else:
+                info = self.trUtf8("{0} of {1} - Stopped")\
+                    .format(dataString(self.__bytesReceived), 
+                            dataString(bytesTotal))
+        self.infoLabel.setText(info)
+    
+    def downloading(self):
+        """
+        Public method to determine, if a download is in progress.
+        
+        @return flag indicating a download is in progress (boolean)
+        """
+        return self.stopButton.isEnabled()
+    
+    def downloadedSuccessfully(self):
+        """
+        Public method to check for a successful download.
+        
+        @return flag indicating a successful download (boolean)
+        """
+        return self.stopButton.isHidden() and self.tryAgainButton.isHidden()
+    
+    def __finished(self):
+        """
+        Private slot to handle the download finished.
+        """
+        self.__readyRead()
+        
+        self.__finishedDownloading = True
+        if not self.__startedSaving:
+            return
+        
+        noError = self.__reply.error() == QNetworkReply.NoError
+        
+        self.progressBar.setVisible(False)
+        self.stopButton.setEnabled(False)
+        self.stopButton.setVisible(False)
+        self.openButton.setEnabled(noError)
+        self.openButton.setVisible(noError)
+        self.__output.close()
+        self.__updateInfoLabel()
+        self.statusChanged.emit()
+        
+        if self.__autoOpen:
+            self.__open()
+    
+    def canceledFileSelect(self):
+        """
+        Public method to check, if the user canceled the file selection.
+        
+        @return flag indicating cancellation (boolean)
+        """
+        return self.__canceledFileSelect
+    
+    def setIcon(self, icon):
+        """
+        Public method to set the download icon.
+        
+        @param icon reference to the icon to be set (QIcon)
+        """
+        # TODO: adjust the size
+        self.fileIcon.setPixmap(icon.pixmap(48, 48))
+    
+    def fileName(self):
+        """
+        Public method to get the name of the output file.
+        
+        @return name of the output file (string)
+        """
+        return self.__output.fileName()
+    
+    def absoluteFilePath(self):
+        """
+        Public method to get the absolute path of the output file.
+        
+        @return absolute path of the output file (string)
+        """
+        return QFileInfo(self.__output).absoluteFilePath()
+    
+    def getData(self):
+        """
+        Public method to get the relevant download data.
+        
+        @return tuple of URL, save location and done flag
+            (QUrl, string, boolean)
+        """
+        return (self.__url, QFileInfo(self.__output).filePath(), 
+                self.downloadedSuccessfully())
+    
+    def setData(self, data):
+        """
+        Public method to set the relevant download data.
+        
+        @param data tuple of URL, save location and done flag
+            (QUrl, string, boolean)
+        """
+        self.__url = data[0]
+        self.__output.setFileName(data[1])
+        
+        self.filenameLabel.setText(QFileInfo(self.__output.fileName()).fileName())
+        
+        self.stopButton.setEnabled(False)
+        self.stopButton.setVisible(False)
+        self.openButton.setEnabled(data[2])
+        self.openButton.setVisible(data[2])
+        self.tryAgainButton.setEnabled(not data[2])
+        self.tryAgainButton.setVisible(not data[2])
+        self.progressBar.setVisible(False)
+    
+    def getInfoData(self):
+        """
+        Public method to get the text of the info label.
+        
+        @return text of the info label (string)
+        """
+        return self.infoLabel.text()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/Download/DownloadItem.ui	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DownloadItem</class>
+ <widget class="QWidget" name="DownloadItem">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>63</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string/>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QLabel" name="fileIcon">
+     <property name="text">
+      <string>Icon</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <widget class="QLabel" name="filenameLabel">
+       <property name="text">
+        <string>Filename</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QProgressBar" name="progressBar"/>
+     </item>
+     <item>
+      <widget class="QLabel" name="infoLabel">
+       <property name="text">
+        <string>Info</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QToolButton" name="tryAgainButton">
+     <property name="toolTip">
+      <string>Press to repeat the download</string>
+     </property>
+     <property name="text">
+      <string>...</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QToolButton" name="stopButton">
+     <property name="toolTip">
+      <string>Press to cancel the download</string>
+     </property>
+     <property name="text">
+      <string>...</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QToolButton" name="openButton">
+     <property name="toolTip">
+      <string>Press to open the downloaded file</string>
+     </property>
+     <property name="text">
+      <string>...</string>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <tabstops>
+  <tabstop>tryAgainButton</tabstop>
+  <tabstop>stopButton</tabstop>
+  <tabstop>openButton</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/Download/DownloadManager.py	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,335 @@
+# -*- coding: utf-8 -*-
+
+"""
+Module implementing the download manager class.
+"""
+
+from PyQt4.QtCore import pyqtSlot, QModelIndex, QFileInfo
+from PyQt4.QtGui import QDialog, QStyle, QFileIconProvider
+from PyQt4.QtNetwork import QNetworkRequest
+from PyQt4.QtWebKit import QWebSettings
+
+from E5Gui import E5MessageBox
+
+from .Ui_DownloadManager import Ui_DownloadManager
+
+from .DownloadItem import DownloadItem
+from .DownloadModel import DownloadModel
+
+import Helpviewer.HelpWindow
+
+from Utilities.AutoSaver import AutoSaver
+import Preferences
+
+class DownloadManager(QDialog, Ui_DownloadManager):
+    """
+    Class implementing the download manager
+    """
+    RemoveNever               = 0
+    RemoveExit                = 1
+    RemoveSuccessFullDownload = 2
+    
+    def __init__(self, parent = None):
+        """
+        Constructor
+        
+        @param parent reference to the parent widget (QWidget)
+        """
+        QDialog.__init__(self, parent)
+        self.setupUi(self)
+        
+        self.__saveTimer = AutoSaver(self, self.save)
+        
+        self.__model = DownloadModel(self)
+        self.__manager = Helpviewer.HelpWindow.HelpWindow.networkAccessManager()
+        
+        self.__iconProvider = None
+        self.__removePolicy = DownloadManager.RemoveNever
+        self.__downloads = []
+        self.__downloadDirectory = ""
+        self.__loaded = False
+        
+        self.setDownloadDirectory(Preferences.getUI("DownloadPath"))
+        
+        self.downloadsView.setShowGrid(False)
+        self.downloadsView.verticalHeader().hide()
+        self.downloadsView.horizontalHeader().hide()
+        self.downloadsView.setAlternatingRowColors(True)
+        self.downloadsView.horizontalHeader().setStretchLastSection(True)
+        self.downloadsView.setModel(self.__model)
+        
+        self.__load()
+    
+    def shutdown(self):
+        """
+        Public method to stop the download manager.
+        """
+        self.__saveTimer.changeOccurred()
+        self.__saveTimer.saveIfNeccessary()
+        self.close()
+    
+    def activeDownloads(self):
+        """
+        Public method to get the number of active downloads.
+        
+        @return number of active downloads (integer)
+        """
+        count = 0
+        
+        for download in self.__downloads:
+            if download.downloading():
+                count += 1
+        return count
+    
+    def allowQuit(self):
+        """
+        Public method to check, if it is ok to quit.
+        
+        @return flag indicating allowance to quit (boolean)
+        """
+        if self.activeDownloads() > 0:
+            res = E5MessageBox.yesNo(self,
+                self.trUtf8(""),
+                self.trUtf8("""There are %n downloads in progress.\n"""
+                            """Do you want to quit anyway?""", "", 
+                            self.activeDownloads()),
+                icon = E5MessageBox.Warning)
+            if not res:
+                self.show()
+                return False
+        return True
+    
+    def download(self, requestOrUrl, requestFileName = False):
+        """
+        Public method to download a file.
+        
+        @param requestOrUrl reference to a request object (QNetworkRequest)
+            or a URL to be downloaded (QUrl)
+        @keyparam requestFileName flag indicating to ask for the 
+            download file name (boolean)
+        """
+        request = QNetworkRequest(requestOrUrl)
+        if request.url().isEmpty():
+            return
+        self.handleUnsupportedContent(self.__manager.get(request), 
+            requestFileName = requestFileName, 
+            download = True)
+    
+    def handleUnsupportedContent(self, reply, requestFileName = False, 
+                                 webPage = None, download = False):
+        if reply is None or reply.url().isEmpty():
+            return
+        
+        size = reply.header(QNetworkRequest.ContentLengthHeader)
+        if size == 0:
+            return
+        
+        itm = DownloadItem(reply = reply, requestFilename = requestFileName, 
+            webPage = webPage, download = download, parent = self)
+        self.__addItem(itm)
+        
+        if itm.canceledFileSelect():
+            return
+        
+        if not self.isVisible():
+            self.show()
+        
+        self.activateWindow()
+        self.raise_()
+    
+    def __addItem(self, itm):
+        """
+        Private method to add a download to the list of downloads.
+        
+        @param itm reference to the download item (DownloadItem)
+        """
+        itm.statusChanged.connect(self.__updateRow)
+        
+        row = len(self.__downloads)
+        self.__model.beginInsertRows(QModelIndex(), row, row)
+        self.__downloads.append(itm)
+        self.__model.endInsertRows()
+        self.__updateItemCount()
+        
+        self.downloadsView.setIndexWidget(self.__model.index(row, 0), itm)
+        icon = self.style().standardIcon(QStyle.SP_FileIcon)
+        itm.setIcon(icon)
+        self.downloadsView.setRowHeight(row, itm.sizeHint().height())
+        # just in case the download finished before the constructor returned
+        self.__updateRow(itm)
+    
+    def __updateRow(self, itm = None):
+        """
+        Private slot to update a download item.
+        
+        @param itm reference to the download item (DownloadItem)
+        """
+        if itm is None:
+            itm = self.sender()
+        
+        if itm not in self.__downloads:
+            return
+        
+        row = self.__downloads.index(itm)
+        
+        if self.__iconProvider is None:
+            self.__iconProvider = QFileIconProvider()
+        
+        icon = self.__iconProvider.icon(QFileInfo(itm.fileName()))
+        if icon.isNull():
+            icon = self.style().standardIcon(QStyle.SP_FileIcon)
+        itm.setIcon(icon)
+        
+        oldHeight = self.downloadsView.rowHeight(row)
+        self.downloadsView.setRowHeight(row, 
+            max(oldHeight, itm.minimumSizeHint().height()))
+        
+        remove = False
+        globalSettings = QWebSettings.globalSettings()
+        if not itm.downloading() and \
+           globalSettings.testAttribute(QWebSettings.PrivateBrowsingEnabled):
+            remove = True
+        
+        if itm.downloadedSuccessfully() and \
+           self.removePolicy() == DownloadManager.RemoveSuccessFullDownload:
+            remove = True
+        
+        if remove:
+            self.__model.removeRow(row)
+        
+        self.cleanupButton.setEnabled(
+            (len(self.__downloads) - self.activeDownloads()) > 0)
+    
+    def removePolicy(self):
+        """
+        Public method to get the remove policy.
+        
+        @return remove policy (integer)
+        """
+        return self.__removePolicy
+    
+    def setRemovePolicy(self, policy):
+        """
+        Public method to set the remove policy.
+        
+        @param policy policy to be set 
+            (DownloadManager.RemoveExit, DownloadManager.RemoveNever, 
+             DownloadManager.RemoveSuccessFullDownload)
+        """
+        assert policy in (DownloadManager.RemoveExit, DownloadManager.RemoveNever, 
+                          DownloadManager.RemoveSuccessFullDownload)
+        
+        if policy == self.__removePolicy:
+            return
+        
+        self.__removePolicy = policy
+        self.__saveTimer.changeOccurred()
+    
+    def save(self):
+        """
+        Public method to save the download settings.
+        """
+        if not self.__loaded:
+            return
+        
+        Preferences.setHelp("DownloadManagerRemovePolicy", self.__removePolicy)
+        Preferences.setHelp("DownloadManagerSize", self.size())
+        if self.__removePolicy == DownloadManager.RemoveExit:
+            return
+        
+        downloads = []
+        for download in self.__downloads:
+            downloads.append(download.getData())
+        Preferences.setHelp("DownloadManagerDownloads", downloads)
+    
+    def __load(self):
+        """
+        Public method to load the download settings.
+        """
+        if self.__loaded:
+            return
+        
+        self.__removePolicy = Preferences.getHelp("DownloadManagerRemovePolicy")
+        size = Preferences.getHelp("DownloadManagerSize")
+        if size.isValid():
+            self.resize(size)
+        downloads = Preferences.getHelp("DownloadManagerDownloads")
+        for download in downloads:
+            if not download[0].isEmpty() and \
+               download[1] != "":
+                itm = DownloadItem(parent = self)
+                itm.setData(download)
+                self.__addItem(itm)
+        self.cleanupButton.setEnabled(
+            (len(self.__downloads) - self.activeDownloads()) > 0)
+        
+        self.__loaded = True
+    
+    def cleanup(self):
+        """
+        Public slot to cleanup the downloads.
+        """
+        self.on_cleanupButton_clicked()
+    
+    @pyqtSlot()
+    def on_cleanupButton_clicked(self):
+        """
+        Private slot cleanup the downloads.
+        """
+        if len(self.__downloads) == 0:
+            return
+        
+        self.__model.removeRows(0, len(self.__downloads))
+        self.__updateItemCount()
+        if len(self.__downloads) == 0 and \
+           self.__iconProvider is not None:
+               self.__iconProvider = None
+        
+        self.__saveTimer.changeOccurred()
+    
+    def __updateItemCount(self):
+        """
+        Private method to update the count label.
+        """
+        count = len(self.__downloads)
+        self.countLabel.setText(self.trUtf8("%n Download(s)", "", count))
+    
+    def setDownloadDirectory(self, directory):
+        """
+        Public method to set the current download directory.
+        
+        @param directory current download directory (string)
+        """
+        self.__downloadDirectory = directory
+        if self.__downloadDirectory != "":
+            self.__downloadDirectory += "/"
+    
+    def downloadDirectory(self):
+        """
+        Public method to get the current download directory.
+        
+        @return current download directory (string)
+        """
+        return self.__downloadDirectory
+    
+    def count(self):
+        """
+        Public method to get the number of downloads.
+        
+        @return number of downloads (integer)
+        """
+        return len(self.__downloads)
+    
+    def downloads(self):
+        """
+        Public method to get a reference to the downloads.
+        
+        @return reference to the downloads (list of DownloadItem)
+        """
+        return self.__downloads
+    
+    def changeOccurred(self):
+        """
+        Public method to signal a change.
+        """
+        self.__saveTimer.changeOccurred()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/Download/DownloadManager.ui	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DownloadManager</class>
+ <widget class="QDialog" name="DownloadManager">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Downloads</string>
+  </property>
+  <property name="sizeGripEnabled">
+   <bool>true</bool>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <item row="0" column="0" colspan="3">
+    <widget class="E5TableView" name="downloadsView"/>
+   </item>
+   <item row="1" column="0">
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <item>
+      <widget class="QPushButton" name="cleanupButton">
+       <property name="enabled">
+        <bool>false</bool>
+       </property>
+       <property name="toolTip">
+        <string>Press to clean up the list of downloads</string>
+       </property>
+       <property name="text">
+        <string>Clean up</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item row="1" column="1">
+    <widget class="QLabel" name="countLabel">
+     <property name="text">
+      <string>0 Items</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="2">
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QDialogButtonBox" name="buttonBox">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="standardButtons">
+        <set>QDialogButtonBox::Close</set>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>E5TableView</class>
+   <extends>QTableView</extends>
+   <header>E5Gui/E5TableView.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>downloadsView</tabstop>
+  <tabstop>cleanupButton</tabstop>
+  <tabstop>buttonBox</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>DownloadManager</receiver>
+   <slot>close()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>330</x>
+     <y>274</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>294</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/Download/DownloadModel.py	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,112 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2010 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the download model.
+"""
+
+from PyQt4.QtCore import Qt, QAbstractListModel, QModelIndex, QMimeData, QUrl
+
+class DownloadModel(QAbstractListModel):
+    """
+    Class implementing the download model.
+    """
+    def __init__(self, manager, parent = None):
+        """
+        Constructor
+        
+        @param manager reference to the download manager (DownloadManager)
+        @param parent reference to the parent object (QObject)
+        """
+        QAbstractListModel.__init__(self, parent)
+        
+        self.__manager = manager
+    
+    def data(self, index, role):
+        """
+        Public method to get data from the model.
+        
+        @param index index to get data for (QModelIndex)
+        @param role role of the data to retrieve (integer)
+        @return requested data
+        """
+        if index.row() < 0 or index.row() >= self.rowCount(index.parent()):
+            return None
+        
+        if role == Qt.ToolTipRole:
+            if self.__manager.downloads()[index.row()].downloadedSuccessfully():
+                return self.__manager.downloads()[index.row()].getInfoData()
+        
+        return None
+    
+    def rowCount(self, parent = QModelIndex()):
+        """
+        Public method to get the number of rows of the model.
+        
+        @param parent parent index (QModelIndex)
+        @return number of rows (integer)
+        """
+        if parent.isValid():
+            return 0
+        else:
+            return self.__manager.count()
+    
+    def removeRows(self, row, count, parent = QModelIndex()):
+        """
+        Public method to remove bookmarks from the model.
+        
+        @param row row of the first bookmark to remove (integer)
+        @param count number of bookmarks to remove (integer)
+        @param index of the parent bookmark node (QModelIndex)
+        @return flag indicating successful removal (boolean)
+        """
+        if parent.isValid():
+            return False
+        
+        if row < 0 or count <= 0 or row + count > self.rowCount(parent):
+            return False
+        
+        lastRow = row + count - 1
+        for i in range(lastRow, row - 1, -1):
+            if not self.__manager.downloads()[i].downloading():
+                self.beginRemoveRows(parent, i, i)
+                del self.__manager.downloads()[i]
+                self.endRemoveRows()
+        self.__manager.changeOccurred()
+        return True
+    
+    def flags(self, index):
+        """
+        Public method to get flags for an item.
+        
+        @param index index of the node cell (QModelIndex)
+        @return flags (Qt.ItemFlags)
+        """
+        if index.row() < 0 or index.row() >= self.rowCount(index.parent()):
+            return Qt.NoItemFlags
+        
+        defaultFlags = QAbstractListModel.flags(self, index)
+        
+        itm = self.__manager.downloads()[index.row()]
+        if itm.downloadedSuccessfully():
+            return defaultFlags | Qt.ItemIsDragEnabled
+        
+        return defaultFlags
+    
+    def mimeData(self, indexes):
+        """
+        Public method to return the mime data.
+        
+        @param indexes list of indexes (QModelIndexList)
+        @return mime data (QMimeData)
+        """
+        mimeData = QMimeData()
+        urls = []
+        for index in indexes:
+            if index.isValid():
+                itm = self.__manager.downloads()[index.row()]
+                urls.append(QUrl.fromLocalFile(itm.absoluteFilePath()))
+        mimeData.setUrls(urls)
+        return mimeData
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/Download/DownloadUtilities.py	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2010 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+from PyQt4.QtCore import QCoreApplication
+
+def timeString(timeRemaining):
+    """
+    Module function to format the given time.
+    
+    @param timeRemaining time to be formatted (float)
+    @return time string (string)
+    """
+    if timeRemaining > 60:
+        minutes = int(timeRemaining / 60)
+        seconds = int(timeRemaining % 60)
+        remaining = QCoreApplication.translate("DownloadUtilities",
+            "%n:{0:02} minutes remaining""", "", QCoreApplication.UnicodeUTF8, minutes)\
+            .format(seconds)
+    else:
+        seconds = int(timeRemaining)
+        remaining = QCoreApplication.translate("DownloadUtilities",
+            "%n seconds remaining", "", QCoreApplication.UnicodeUTF8, seconds)
+    
+    return remaining
+
+def dataString(size):
+    """
+    Module function to generate a formatted size string.
+    
+    @param size size to be formatted (integer)
+    @return formatted data string (string)
+    """
+    unit = ""
+    if size < 1024:
+        unit = QCoreApplication.translate("DownloadUtilities", "Bytes")
+    elif size < 1024 * 1024:
+        size /= 1024
+        unit = QCoreApplication.translate("DownloadUtilities", "KiB")
+    elif size < 1024 * 1024 * 1024:
+        size /= 1024 * 1024
+        unit = QCoreApplication.translate("DownloadUtilities", "MiB")
+    else:
+        size /= 1024 * 1024 * 1024
+        unit = QCoreApplication.translate("DownloadUtilities", "GiB")
+    return "{0:.1f} {1}".format(size, unit)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/Download/__init__.py	Sun Oct 10 21:12:43 2010 +0200
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2010 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Package implementing all download related modules.
+"""
--- a/Helpviewer/DownloadDialog.py	Sun Oct 10 11:25:46 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,440 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2008 - 2010 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing the download dialog.
-"""
-
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
-from PyQt4.QtNetwork import QNetworkReply, QNetworkAccessManager, QNetworkRequest
-
-from E5Gui import E5MessageBox
-
-import Preferences
-
-import Helpviewer.HelpWindow
-
-from .Ui_DownloadDialog import Ui_DownloadDialog
-
-class DownloadDialog(QWidget, Ui_DownloadDialog):
-    """
-    Class implementing the download dialog.
-    
-    @signal done() emitted just before the dialog is closed
-    """
-    done = pyqtSignal()
-    
-    def __init__(self, reply = None, requestFilename = False, webPage = None, 
-                 download = False, parent = None):
-        """
-        Constructor
-        
-        @param reply reference to the network reply object (QNetworkReply)
-        @param requestFilename flag indicating to ask the user for a filename (boolean)
-        @param webPage reference to the web page object the download originated 
-            from (QWebPage)
-        @param download flag indicating a download operation (boolean)
-        @param parent reference to the parent widget (QWidget)
-        """
-        QWidget.__init__(self, parent)
-        self.setupUi(self)
-        self.setAttribute(Qt.WA_DeleteOnClose)
-        
-        self.__windowTitleTemplate = self.trUtf8("Eric5 Download {0}")
-        self.setWindowTitle(self.__windowTitleTemplate.format(""))
-        
-        self.__tryAgainButton = \
-            self.buttonBox.addButton(self.trUtf8("Try Again"), 
-                                     QDialogButtonBox.ActionRole)
-        self.__stopButton = \
-            self.buttonBox.addButton(self.trUtf8("Stop"), QDialogButtonBox.ActionRole)
-        self.__openButton = self.buttonBox.button(QDialogButtonBox.Open)
-        self.__closeButton = self.buttonBox.button(QDialogButtonBox.Close)
-        
-        self.__tryAgainButton.setEnabled(False)
-        self.__closeButton.setEnabled(False)
-        self.__openButton.setEnabled(False)
-        self.keepOpenCheckBox.setChecked(True)
-        
-        icon = self.style().standardIcon(QStyle.SP_FileIcon)
-        self.fileIcon.setPixmap(icon.pixmap(48, 48))
-        
-        self.__reply = reply
-        self.__requestFilename = requestFilename
-        self.__page = webPage
-        self.__toDownload = download
-        self.__bytesReceived = 0
-        self.__downloadTime = QTime()
-        self.__output = QFile()
-        self.__initialized = False
-    
-    def initialize(self):
-        """
-        Public method to (re)initialize the dialog.
-        
-        @return flag indicating success (boolean)
-        """
-        if self.__reply is None:
-            return
-        
-        self.__startedSaving = False
-        self.__downloadFinished = False
-        
-        self.__url = self.__reply.url()
-        if not self.__getFileName():
-            return False
-        
-        self.__reply.setParent(self)
-        self.__reply.readyRead[()].connect(self.__readyRead)
-        self.__reply.error.connect(self.__networkError)
-        self.__reply.downloadProgress.connect(self.__downloadProgress)
-        self.__reply.metaDataChanged.connect(self.__metaDataChanged)
-        self.__reply.finished[()].connect(self.__finished)
-        
-        # reset info
-        self.infoLabel.clear()
-        self.progressBar.setValue(0)
-        
-        # start timer for the download estimation
-        self.__downloadTime.start()
-        
-        self.__initialized = True
-        
-        if self.__reply.error() != QNetworkReply.NoError:
-            self.__networkError()
-            self.__finished()
-            return False
-        
-        return True
-    
-    def __getFileName(self):
-        """
-        Private method to get the filename to save to from the user.
-        
-        @return flag indicating success (boolean)
-        """
-        downloadDirectory = Preferences.getUI("DownloadPath")
-        if not downloadDirectory:
-            downloadDirectory = \
-                QDesktopServices.storageLocation(QDesktopServices.DocumentsLocation)
-        if downloadDirectory:
-            downloadDirectory += '/'
-        
-        defaultFileName = self.__saveFileName(downloadDirectory)
-        fileName = defaultFileName
-        self.__autoOpen = False
-        if not self.__toDownload:
-            res = E5MessageBox.question(self,
-                self.trUtf8("Downloading"),
-                self.trUtf8("""<p>You are about to download the file <b>{0}</b>.</p>"""
-                            """<p>What do you want to do?</p>""").format(fileName),
-                E5MessageBox.StandardButtons(
-                    E5MessageBox.Open | \
-                    E5MessageBox.Save | \
-                    E5MessageBox.Cancel))
-            if res == E5MessageBox.Cancel:
-                self.__stop()
-                self.close()
-                return False
-            
-            self.__autoOpen = res == E5MessageBox.Open
-            fileName = QDesktopServices.storageLocation(QDesktopServices.TempLocation) + \
-                        '/' + QFileInfo(fileName).completeBaseName()
-        
-        if not self.__autoOpen and self.__requestFilename:
-            fileName = QFileDialog.getSaveFileName(
-                None,
-                self.trUtf8("Save File"),
-                defaultFileName,
-                "")
-            if not fileName:
-                self.__reply.close()
-                if not self.keepOpenCheckBox.isChecked():
-                    self.close()
-                    return False
-                else:
-                    self.filenameLabel.setText(self.trUtf8("Download canceled: {0}")\
-                        .format(QFileInfo(defaultFileName).fileName()))
-                    self.__stop()
-                    return True
-        
-        self.__output.setFileName(fileName)
-        self.filenameLabel.setText(QFileInfo(self.__output.fileName()).fileName())
-        if self.__requestFilename:
-            self.__readyRead()
-        
-        return True
-    
-    def __saveFileName(self, directory):
-        """
-        Private method to calculate a name for the file to download.
-        
-        @param directory name of the directory to store the file into (string)
-        @return proposed filename (string)
-        """
-        path = ""
-        if self.__reply.hasRawHeader("Content-Disposition"):
-            header = bytes(self.__reply.rawHeader("Content-Disposition")).decode()
-            if header:
-                pos = header.find("filename=")
-                if pos != -1:
-                    path = header[pos + 9:]
-                    if path.startswith('"') and path.endswith('"'):
-                        path = path[1:-1]
-        if not path:
-            path = self.__url.path()
-        
-        info = QFileInfo(path)
-        baseName = info.completeBaseName()
-        endName = info.suffix()
-        
-        if not baseName:
-            baseName = "unnamed_download"
-        
-        name = directory + baseName
-        if endName:
-           name += '.' + endName
-        i = 1
-        while QFile.exists(name):
-            # file exists already, don't overwrite
-            name = directory + baseName + ('-{0:d}'.format(i))
-            if endName:
-                name += '.' + endName
-            i += 1
-        return name
-    
-    @pyqtSlot(QAbstractButton)
-    def on_buttonBox_clicked(self, button):
-        """
-        Private slot called by a button of the button box clicked.
-        
-        @param button button that was clicked (QAbstractButton)
-        """
-        if button == self.__closeButton:
-            self.close()
-        elif button == self.__openButton:
-            self.__open()
-        elif button == self.__stopButton:
-            self.__stop()
-        elif button == self.__tryAgainButton:
-            self.__tryAgain()
-    
-    def __stop(self):
-        """
-        Private slot to stop the download.
-        """
-        self.__stopButton.setEnabled(False)
-        self.__closeButton.setEnabled(True)
-        self.__tryAgainButton.setEnabled(True)
-        self.__reply.abort()
-    
-    def __open(self):
-        """
-        Private slot to open the downloaded file.
-        """
-        info = QFileInfo(self.__output)
-        url = QUrl.fromLocalFile(info.absoluteFilePath())
-        QDesktopServices.openUrl(url)
-    
-    def __tryAgain(self):
-        """
-        Private slot to retry the download.
-        """
-        self.__tryAgainButton.setEnabled(False)
-        self.__closeButton.setEnabled(False)
-        self.__stopButton.setEnabled(True)
-        
-        if self.__page:
-            nam = self.__page.networkAccessManager()
-        else:
-            nam = QNetworkAccessManager()
-        reply = nam.get(QNetworkRequest(self.__url))
-        if self.__output.exists():
-            self.__output.remove()
-        self.__reply = reply
-        self.initialize()
-    
-    def __readyRead(self):
-        """
-        Private slot to read the available data.
-        """
-        if self.__requestFilename and not self.__output.fileName():
-            return
-        
-        if not self.__output.isOpen():
-            # in case someone else has already put a file there
-            if not self.__requestFilename:
-                self.__getFileName()
-            if not self.__output.open(QIODevice.WriteOnly):
-                self.infoLabel.setText(self.trUtf8("Error opening save file: {0}")\
-                    .format(self.__output.errorString()))
-                self.__stopButton.click()
-                return
-        
-        bytesWritten = self.__output.write(self.__reply.readAll())
-        if bytesWritten == -1:
-            self.infoLabel.setText(self.trUtf8("Error saving: {0}")\
-                .format(self.__output.errorString()))
-            self.__stopButton.click()
-        else:
-            size = self.__reply.header(QNetworkRequest.ContentLengthHeader)
-            if size == bytesWritten:
-                self.__downloadProgress(size, size)
-                self.__downloadFinished = True
-            self.__startedSaving = True
-            if self.__downloadFinished:
-                self.__finished()
-    
-    def __networkError(self):
-        """
-        Private slot to handle a network error.
-        """
-        if self.__reply.error() != QNetworkReply.OperationCanceledError:
-            self.infoLabel.setText(self.trUtf8("Network Error: {0}")\
-                .format(self.__reply.errorString()))
-            self.__tryAgainButton.setEnabled(True)
-            self.__closeButton.setEnabled(True)
-            self.__openButton.setEnabled(False)
-    
-    def __metaDataChanged(self):
-        """
-        Private slot to handle a change of the meta data.
-        """
-        locationHeader = self.__reply.header(QNetworkRequest.LocationHeader)
-        if locationHeader:
-            self.__url = locationHeader
-            self.__reply = Helpviewer.HelpWindow.HelpWindow.networkAccessManager().get(
-                           QNetworkRequest(self.__url))
-            self.initialize()
-    
-    def __downloadProgress(self, received, total):
-        """
-        Private method show the download progress.
-        
-        @param received number of bytes received (integer)
-        @param total number of total bytes (integer)
-        """
-        self.__bytesReceived = received
-        if total == -1:
-            self.progressBar.setMaximum(0)
-            self.progressBar.setValue(0)
-            self.setWindowTitle(self.__windowTitleTemplate.format(""))
-        else:
-            self.progressBar.setMaximum(total)
-            self.progressBar.setValue(received)
-            pc = "{0}%".format(received * 100 // total)
-            self.setWindowTitle(self.__windowTitleTemplate.format(pc))
-        self.__updateInfoLabel()
-    
-    def __updateInfoLabel(self):
-        """
-        Private method to update the info label.
-        """
-        if self.__reply.error() != QNetworkReply.NoError and \
-           self.__reply.error() != QNetworkReply.OperationCanceledError:
-            return
-        
-        bytesTotal = self.progressBar.maximum()
-        
-        info = ""
-        if self.__downloading():
-            remaining = ""
-            speed = self.__bytesReceived * 1000.0 / self.__downloadTime.elapsed()
-            if bytesTotal != 0:
-                timeRemaining = int((bytesTotal - self.__bytesReceived) / speed)
-                
-                if timeRemaining > 60:
-                    minutes = int(timeRemaining / 60)
-                    seconds = int(timeRemaining % 60)
-                    remaining = self.trUtf8("- {0}:{1:02} minutes remaining")\
-                            .format(minutes, seconds)
-                else:
-                    # when downloading, the eta should never be 0
-                    if timeRemaining == 0:
-                        timeRemaining = 1
-                    
-                    remaining = self.trUtf8("- {0} seconds remaining")\
-                            .format(timeRemaining)
-            info = self.trUtf8("{0} of {1} ({2}/sec) {3}")\
-                .format(
-                    self.__dataString(self.__bytesReceived), 
-                    bytesTotal == 0 and self.trUtf8("?") \
-                                     or self.__dataString(bytesTotal), 
-                    self.__dataString(int(speed)), 
-                    remaining)
-        else:
-            if self.__bytesReceived == bytesTotal:
-                info = self.trUtf8("{0} downloaded")\
-                    .format(self.__dataString(self.__output.size()))
-            else:
-                info = self.trUtf8("{0} of {1} - Stopped")\
-                    .format(self.__dataString(self.__bytesReceived), 
-                            self.__dataString(bytesTotal))
-        self.infoLabel.setText(info)
-    
-    def __dataString(self, size):
-        """
-        Private method to generate a formatted data string.
-        
-        @param size size to be formatted (integer)
-        @return formatted data string (string)
-        """
-        unit = ""
-        if size < 1024:
-            unit = self.trUtf8("bytes")
-        elif size < 1024 * 1024:
-            size /= 1024
-            unit = self.trUtf8("kB")
-        else:
-            size /= 1024 * 1024
-            unit = self.trUtf8("MB")
-        return "{0:.1f} {1}".format(size, unit)
-    
-    def __downloading(self):
-        """
-        Private method to determine, if a download is in progress.
-        
-        @return flag indicating a download is in progress (boolean)
-        """
-        return self.__stopButton.isEnabled()
-    
-    def __finished(self):
-        """
-        Private slot to handle the download finished.
-        """
-        self.__downloadFinished = True
-        if not self.__startedSaving:
-            return
-        
-        self.__stopButton.setEnabled(False)
-        self.__closeButton.setEnabled(True)
-        self.__openButton.setEnabled(True)
-        self.__output.close()
-        self.__updateInfoLabel()
-        
-        if not self.keepOpenCheckBox.isChecked() and \
-           self.__reply.error() == QNetworkReply.NoError:
-            self.close()
-        
-        if self.__autoOpen:
-            self.__open()
-    
-    def closeEvent(self, evt):
-        """
-        Protected method called when the dialog is closed.
-        """
-        if self.__initialized:
-            self.__output.close()
-            
-            self.__reply.readyRead[()].disconnect(self.__readyRead)
-            self.__reply.error[QNetworkReply.NetworkError].disconnect(self.__networkError)
-            self.__reply.downloadProgress.disconnect(self.__downloadProgress)
-            self.__reply.metaDataChanged[()].disconnect(self.__metaDataChanged)
-            self.__reply.finished[()].disconnect(self.__finished)
-            self.__reply.close()
-            self.__reply.deleteLater()
-            
-            self.done.emit()
--- a/Helpviewer/HelpBrowserWV.py	Sun Oct 10 11:25:46 2010 +0200
+++ b/Helpviewer/HelpBrowserWV.py	Sun Oct 10 21:12:43 2010 +0200
@@ -23,7 +23,6 @@
 
 import Preferences
 
-from .DownloadDialog import DownloadDialog
 from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
 from .JavaScriptResources import fetchLinks_js
 from .HTMLResources import notFoundPage_html
@@ -173,6 +172,7 @@
         @param type_ type of the navigation request (QWebPage.NavigationType)
         @return flag indicating acceptance (boolean)
         """
+        # TODO: extend with more functionality
         self.__lastRequest = request
         self.__lastRequestType = type_
         
@@ -381,7 +381,6 @@
         
         self.mw = mainWindow
         self.ctrlPressed = False
-        self.__downloadWindows = []
         self.__isLoading = False
         self.__progress = 0
         
@@ -1145,9 +1144,7 @@
         if url.isEmpty():
             return
         
-        req = QNetworkRequest(url)
-        reply = self.mw.networkAccessManager().get(req)
-        self.__unsupportedContent(reply, True, True)
+        self.mw.downloadManager().download(url, True)
     
     def __unsupportedContent(self, reply, requestFilename = None, download = False):
         """
@@ -1168,20 +1165,10 @@
             return
         
         if reply.error() == QNetworkReply.NoError:
-            if reply.url().isEmpty():
-                return
-            size = reply.header(QNetworkRequest.ContentLengthHeader)
-            if size == 0:
+            if reply.header(QNetworkRequest.ContentTypeHeader):
+                self.mw.downloadManager().handleUnsupportedContent(
+                    reply, webPage = self.page())
                 return
-            
-            if requestFilename is None:
-                requestFilename = Preferences.getUI("RequestDownloadFilename")
-            dlg = DownloadDialog(reply, requestFilename, self.page(), download)
-            if dlg.initialize():
-                dlg.done[()].connect(self.__downloadDone)
-                self.__downloadWindows.append(dlg)
-                dlg.show()
-##            self.setUrl(self.url())
         else:
             replyUrl = reply.url()
             if replyUrl.isEmpty():
@@ -1216,24 +1203,13 @@
             self.mw.historyManager().removeHistoryEntry(replyUrl, self.title())
             self.loadFinished.emit(False)
     
-    def __downloadDone(self):
-        """
-        Private slot to handle the done signal of the download dialogs.
-        """
-        dlg = self.sender()
-        if dlg in self.__downloadWindows:
-            dlg.done[()].disconnect(self.__downloadDone)
-    
     def __downloadRequested(self, request):
         """
         Private slot to handle a download request.
         
         @param request reference to the request object (QNetworkRequest)
         """
-        if request.url().isEmpty():
-            return
-        mgr = self.page().networkAccessManager()
-        self.__unsupportedContent(mgr.get(request), download = True)
+        self.mw.downloadManager().download(request)
     
     def __databaseQuotaExceeded(self, frame, databaseName):
         """
--- a/Helpviewer/HelpClearPrivateDataDialog.py	Sun Oct 10 11:25:46 2010 +0200
+++ b/Helpviewer/HelpClearPrivateDataDialog.py	Sun Oct 10 21:12:43 2010 +0200
@@ -30,7 +30,7 @@
         
         @return tuple of flags indicating which data to clear (browsing history,
             search history, favicons, disk cache, cookies, passwords, web 
-            databases) (list of boolean)
+            databases, downloads) (list of boolean)
         """
         return (self.historyCheckBox.isChecked(), 
                 self.searchCheckBox.isChecked(), 
@@ -38,4 +38,5 @@
                 self.cacheCheckBox.isChecked(), 
                 self.cookiesCheckBox.isChecked(), 
                 self.passwordsCheckBox.isChecked(), 
-                self.databasesCheckBox.isChecked())
+                self.databasesCheckBox.isChecked(), 
+                self.downloadsCheckBox.isChecked())
--- a/Helpviewer/HelpClearPrivateDataDialog.ui	Sun Oct 10 11:25:46 2010 +0200
+++ b/Helpviewer/HelpClearPrivateDataDialog.ui	Sun Oct 10 21:12:43 2010 +0200
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>305</width>
-    <height>200</height>
+    <height>221</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -44,6 +44,19 @@
     </widget>
    </item>
    <item>
+    <widget class="QCheckBox" name="downloadsCheckBox">
+     <property name="toolTip">
+      <string>Select to clear the download history</string>
+     </property>
+     <property name="text">
+      <string>Download History</string>
+     </property>
+     <property name="checked">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
     <widget class="QCheckBox" name="cookiesCheckBox">
      <property name="toolTip">
       <string>Select to clear the cookies</string>
@@ -120,6 +133,7 @@
  <tabstops>
   <tabstop>historyCheckBox</tabstop>
   <tabstop>searchCheckBox</tabstop>
+  <tabstop>downloadsCheckBox</tabstop>
   <tabstop>cookiesCheckBox</tabstop>
   <tabstop>cacheCheckBox</tabstop>
   <tabstop>iconsCheckBox</tabstop>
--- a/Helpviewer/HelpWindow.py	Sun Oct 10 11:25:46 2010 +0200
+++ b/Helpviewer/HelpWindow.py	Sun Oct 10 21:12:43 2010 +0200
@@ -41,6 +41,7 @@
 from .OfflineStorage.OfflineStorageConfigDialog import OfflineStorageConfigDialog
 from .UserAgent.UserAgentMenu import UserAgentMenu
 from .HelpTabWidget import HelpTabWidget
+from .Download.DownloadManager import DownloadManager
 
 from E5Gui.E5Action import E5Action
 from E5Gui import E5MessageBox
@@ -79,6 +80,7 @@
     _historyManager = None
     _passwordManager = None
     _adblockManager = None
+    _downloadManager = None
     
     def __init__(self, home, path, parent, name, fromEric = False, 
                  initShortcutsOnly = False, searchWord = None):
@@ -1075,6 +1077,19 @@
             self.toolsMonitorAct.triggered[()].connect(self.__showNetworkMonitor)
         self.__actions.append(self.toolsMonitorAct)
         
+        self.showDownloadManagerAct = E5Action(self.trUtf8('Downloads'), 
+            self.trUtf8('Downloads'), 
+            0, 0, self, 'help_show_downloads')
+        self.showDownloadManagerAct.setStatusTip(self.trUtf8(
+                'Shows the downloads window'))
+        self.showDownloadManagerAct.setWhatsThis(self.trUtf8(
+                """<b>Downloads</b>"""
+                """<p>Shows the downloads window.</p>"""
+        ))
+        if not self.initShortcutsOnly:
+            self.showDownloadManagerAct.triggered[()].connect(self.__showDownloadsWindow)
+        self.__actions.append(self.showDownloadManagerAct)
+        
         self.backAct.setEnabled(False)
         self.forwardAct.setEnabled(False)
         
@@ -1203,6 +1218,8 @@
         
         menu = mb.addMenu(self.trUtf8("&Window"))
         menu.setTearOffEnabled(True)
+        menu.addAction(self.showDownloadManagerAct)
+        menu.addSeparator()
         menu.addAction(self.showTocAct)
         menu.addAction(self.showIndexAct)
         menu.addAction(self.showSearchAct)
@@ -1583,6 +1600,12 @@
             e.ignore()
             return
         
+        if not self.downloadManager().allowQuit():
+            e.ignore()
+            return
+        
+        self.downloadManager().shutdown()
+        
         self.__closeNetworkMonitor()
         
         self.cookieJar().close()
@@ -2188,14 +2211,18 @@
         """
         dlg = HelpClearPrivateDataDialog(self)
         if dlg.exec_() == QDialog.Accepted:
-            history, searches, favicons, cache, cookies, passwords, databases = \
+            # browsing history, search history, favicons, disk cache, cookies, 
+            # passwords, web databases, downloads
+            history, searches, favicons, cache, cookies, 
+            passwords, databases, downloads = \
                 dlg.getData()
-            # browsing history, search history, favicons, disk cache, cookies, 
-            # passwords, web databases
             if history:
                 self.historyManager().clear()
             if searches:
                 self.searchEdit.clear()
+            if downloads:
+                self.downloadManager().cleanup()
+                self.downloadManager().hide()
             if favicons:
                 self.__clearIconsDatabase()
             if cache:
@@ -2254,6 +2281,12 @@
         monitor = E5NetworkMonitor.instance(self.networkAccessManager())
         monitor.show()
         
+    def __showDownloadsWindow(self):
+        """
+        Private slot to show the downloads dialog.
+        """
+        self.downloadManager().show()
+        
     def __closeNetworkMonitor(self):
         """
         Private slot to close the network monitor dialog.
@@ -2375,6 +2408,18 @@
         
         return cls._adblockManager
     
+    @classmethod
+    def downloadManager(cls):
+        """
+        Class method to get a reference to the download manager.
+        
+        @return reference to the password manager (DownloadManager)
+        """
+        if cls._downloadManager is None:
+            cls._downloadManager = DownloadManager()
+        
+        return cls._downloadManager
+        
     def openSearchManager(self):
         """
         Public method to get a reference to the opensearch manager object.
--- a/Preferences/ConfigurationPages/NetworkPage.py	Sun Oct 10 11:25:46 2010 +0200
+++ b/Preferences/ConfigurationPages/NetworkPage.py	Sun Oct 10 21:12:43 2010 +0200
@@ -17,6 +17,8 @@
 from .ConfigurationPageBase import ConfigurationPageBase
 from .Ui_NetworkPage import Ui_NetworkPage
 
+from Helpviewer.Download.DownloadManager import DownloadManager
+
 import Preferences
 import Utilities
 
@@ -38,6 +40,13 @@
         self.downloadDirEdit.setText(Preferences.getUI("DownloadPath"))
         self.requestFilenameCheckBox.setChecked(
             Preferences.getUI("RequestDownloadFilename"))
+        policy = Preferences.getHelp("DownloadManagerRemovePolicy")
+        if policy == DownloadManager.RemoveNever:
+            self.cleanupNeverButton.setChecked(True)
+        elif policy == DownloadManager.RemoveExit:
+            self.cleanupExitButton.setChecked(True)
+        else:
+            self.cleanupSuccessfulButton.setChecked(True)
         
         self.proxyGroup.setChecked(
             Preferences.getUI("UseProxy"))
@@ -68,6 +77,13 @@
             self.downloadDirEdit.text())
         Preferences.setUI("RequestDownloadFilename", 
             self.requestFilenameCheckBox.isChecked())
+        if self.cleanupNeverButton.isChecked():
+            policy = DownloadManager.RemoveNever
+        elif self.cleanupExitButton.isChecked():
+            policy = DownloadManager.RemoveExit
+        else:
+            policy = DownloadManager.RemoveSuccessFullDownload
+        Preferences.setHelp("DownloadManagerRemovePolicy", policy)
         
         Preferences.setUI("UseProxy",
             self.proxyGroup.isChecked())
@@ -112,4 +128,4 @@
     @param dlg reference to the configuration dialog
     """
     page = NetworkPage()
-    return page
\ No newline at end of file
+    return page
--- a/Preferences/ConfigurationPages/NetworkPage.ui	Sun Oct 10 11:25:46 2010 +0200
+++ b/Preferences/ConfigurationPages/NetworkPage.ui	Sun Oct 10 21:12:43 2010 +0200
@@ -7,10 +7,10 @@
     <x>0</x>
     <y>0</y>
     <width>589</width>
-    <height>563</height>
+    <height>554</height>
    </rect>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
+  <layout class="QVBoxLayout" name="verticalLayout_4">
    <item>
     <widget class="QLabel" name="headerLabel">
      <property name="text">
@@ -32,41 +32,89 @@
     </widget>
    </item>
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <item>
-      <widget class="QLabel" name="label_6">
-       <property name="text">
-        <string>Download directory:</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="downloadDirEdit">
-       <property name="toolTip">
-        <string>Enter the download directory (leave empty to use the default location)</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="downloadDirButton">
-       <property name="toolTip">
-        <string>Select the download directory via a directory selection dialog</string>
-       </property>
-       <property name="text">
-        <string>...</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="requestFilenameCheckBox">
-     <property name="toolTip">
-      <string>Select to ask the user for a download filename</string>
+    <widget class="QGroupBox" name="groupBox_2">
+     <property name="title">
+      <string>Downloads</string>
      </property>
-     <property name="text">
-      <string>Request name of downloaded file</string>
-     </property>
+     <layout class="QVBoxLayout" name="verticalLayout_3">
+      <item>
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <item>
+         <widget class="QLabel" name="label_6">
+          <property name="text">
+           <string>Download directory:</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="downloadDirEdit">
+          <property name="toolTip">
+           <string>Enter the download directory (leave empty to use the default location)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="downloadDirButton">
+          <property name="toolTip">
+           <string>Select the download directory via a directory selection dialog</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <widget class="QCheckBox" name="requestFilenameCheckBox">
+        <property name="toolTip">
+         <string>Select to ask the user for a download filename</string>
+        </property>
+        <property name="text">
+         <string>Request name of downloaded file</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QGroupBox" name="groupBox_3">
+        <property name="title">
+         <string>Download Manager Cleanup Policy</string>
+        </property>
+        <layout class="QVBoxLayout" name="verticalLayout_2">
+         <item>
+          <widget class="QRadioButton" name="cleanupNeverButton">
+           <property name="toolTip">
+            <string>Select to never cleanup automatically</string>
+           </property>
+           <property name="text">
+            <string>Never</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QRadioButton" name="cleanupExitButton">
+           <property name="toolTip">
+            <string>Select to cleanup upon exiting</string>
+           </property>
+           <property name="text">
+            <string>When exiting the application</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QRadioButton" name="cleanupSuccessfulButton">
+           <property name="toolTip">
+            <string>Select to cleanup after a successful download</string>
+           </property>
+           <property name="text">
+            <string>When download finished successfully</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </item>
+     </layout>
     </widget>
    </item>
    <item>
@@ -277,6 +325,9 @@
   <tabstop>downloadDirEdit</tabstop>
   <tabstop>downloadDirButton</tabstop>
   <tabstop>requestFilenameCheckBox</tabstop>
+  <tabstop>cleanupNeverButton</tabstop>
+  <tabstop>cleanupExitButton</tabstop>
+  <tabstop>cleanupSuccessfulButton</tabstop>
   <tabstop>proxyGroup</tabstop>
   <tabstop>systemProxyButton</tabstop>
   <tabstop>manualProxyButton</tabstop>
--- a/Preferences/__init__.py	Sun Oct 10 11:25:46 2010 +0200
+++ b/Preferences/__init__.py	Sun Oct 10 21:12:43 2010 +0200
@@ -584,6 +584,9 @@
         "OfflineStorageDatabaseQuota" : 50,     # 50 MB
         "UserAgent" : "", 
         "ShowPreview" : True, 
+        "DownloadManagerRemovePolicy" : 0,      # never delete downloads
+        "DownloadManagerSize" : QtCore.QSize(400, 300), 
+        "DownloadManagerDownloads" : [], 
     }
     
     websettings = QWebSettings.globalSettings()
@@ -865,7 +868,6 @@
     """
     prefClass.settings.setValue("General/Configured", True)
     prefClass.settings.sync()
-##    initPreferences()
     
 def exportPreferences(prefClass = Prefs):
     """
@@ -1770,7 +1772,7 @@
     elif key in ["WebSearchKeywords"]:
         # return a list of tuples of (keyword, engine name)
         keywords = []
-        size = prefClass.settings.beginReadArray("Help/" + key);
+        size = prefClass.settings.beginReadArray("Help/" + key)
         for index in range(size):
             prefClass.settings.setArrayIndex(index)
             keyword = prefClass.settings.value("Keyword")
@@ -1778,10 +1780,22 @@
             keywords.append((keyword, engineName))
         prefClass.settings.endArray()
         return keywords
+    elif key in ["DownloadManagerDownloads"]:
+        # return a list of tuples of (URL, save location, done flag)
+        downloads = []
+        length = prefClass.settings.beginReadArray("Help/" + key)
+        for index in range(length):
+            prefClass.settings.setArrayIndex(index)
+            url = prefClass.settings.value("URL")
+            location = prefClass.settings.value("Location")
+            done = toBool(prefClass.settings.value("Done"))
+            downloads.append((url, location, done))
+        prefClass.settings.endArray()
+        return downloads
     elif key in ["HelpViewerType", "DiskCacheSize", "AcceptCookies", 
                  "KeepCookiesUntil", "StartupBehavior", "HistoryLimit", 
                  "OfflineStorageDatabaseQuota", "OfflineWebApplicationCacheQuota", 
-                 "CachePolicy"]:
+                 "CachePolicy", "DownloadManagerRemovePolicy"]:
         return int(prefClass.settings.value("Help/" + key, 
             prefClass.helpDefaults[key]))
     elif key in ["SingleHelpWindow", "SaveGeometry", "WebSearchSuggestions", 
@@ -1796,6 +1810,8 @@
     elif key in ["AdBlockSubscriptions"]:
         return toList(prefClass.settings.value("Help/" + key, 
             prefClass.helpDefaults[key]))
+    elif key in ["DownloadManagerSize"]:
+        return prefClass.settings.value("Help/" + key, prefClass.helpDefaults[key])
     else:
         return prefClass.settings.value("Help/" + key, prefClass.helpDefaults[key])
     
@@ -1821,6 +1837,17 @@
             prefClass.settings.setValue("Engine", v[1])
             index += 1
         prefClass.settings.endArray()
+    elif key == "DownloadManagerDownloads":
+        # value is list of tuples of (URL, save location, done flag)
+        prefClass.settings.beginWriteArray("Help/" + key, len(value))
+        index = 0
+        for v in value:
+            prefClass.settings.setArrayIndex(index)
+            prefClass.settings.setValue("URL", v[0])
+            prefClass.settings.setValue("Location", v[1])
+            prefClass.settings.setValue("Done", v[2])
+            index += 1
+        prefClass.settings.endArray()
     else:
         prefClass.settings.setValue("Help/" + key, value)
     
--- a/changelog	Sun Oct 10 11:25:46 2010 +0200
+++ b/changelog	Sun Oct 10 21:12:43 2010 +0200
@@ -7,6 +7,7 @@
 - added a line widget with embeddable buttons
 - changed the web browser to give it a more modern look
 - added code to show certificate info for https URLs
+- added a download manager to the web browser
 
 Version 5.1-snapshot-20100918:
 - bug fixes
--- a/eric5.e4p	Sun Oct 10 11:25:46 2010 +0200
+++ b/eric5.e4p	Sun Oct 10 21:12:43 2010 +0200
@@ -409,7 +409,6 @@
     <Source>Preferences/ConfigurationPages/EditorSearchPage.py</Source>
     <Source>Plugins/VcsPlugins/vcsSubversion/SvnRelocateDialog.py</Source>
     <Source>Helpviewer/HelpBrowserWV.py</Source>
-    <Source>Helpviewer/DownloadDialog.py</Source>
     <Source>UI/AuthenticationDialog.py</Source>
     <Source>QScintilla/ShellHistoryDialog.py</Source>
     <Source>Preferences/ConfigurationPages/HelpAppearancePage.py</Source>
@@ -826,6 +825,11 @@
     <Source>Helpviewer/UrlBar/SslLabel.py</Source>
     <Source>Helpviewer/SslInfoDialog.py</Source>
     <Source>Helpviewer/UrlBar/BookmarkInfoDialog.py</Source>
+    <Source>Helpviewer/Download/__init__.py</Source>
+    <Source>Helpviewer/Download/DownloadItem.py</Source>
+    <Source>Helpviewer/Download/DownloadUtilities.py</Source>
+    <Source>Helpviewer/Download/DownloadManager.py</Source>
+    <Source>Helpviewer/Download/DownloadModel.py</Source>
   </Sources>
   <Forms>
     <Form>PyUnit/UnittestDialog.ui</Form>
@@ -1056,6 +1060,8 @@
     <Form>Plugins/WizardPlugins/E5MessageBoxWizard/E5MessageBoxWizardDialog.ui</Form>
     <Form>Helpviewer/SslInfoDialog.ui</Form>
     <Form>Helpviewer/UrlBar/BookmarkInfoDialog.ui</Form>
+    <Form>Helpviewer/Download/DownloadItem.ui</Form>
+    <Form>Helpviewer/Download/DownloadManager.ui</Form>
   </Forms>
   <Translations>
     <Translation>i18n/eric5_cs.qm</Translation>
--- a/i18n/eric5_cs.ts	Sun Oct 10 11:25:46 2010 +0200
+++ b/i18n/eric5_cs.ts	Sun Oct 10 21:12:43 2010 +0200
@@ -5353,42 +5353,42 @@
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="50"/>
         <source>Try Again</source>
-        <translation>Zkusit znova</translation>
+        <translation type="obsolete">Zkusit znova</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="53"/>
         <source>Stop</source>
-        <translation>Stop</translation>
+        <translation type="obsolete">Stop</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="148"/>
         <source>Save File</source>
-        <translation>Uložit soubor</translation>
+        <translation type="obsolete">Uložit soubor</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="362"/>
         <source>?</source>
-        <translation>?</translation>
+        <translation type="obsolete">?</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="387"/>
         <source>bytes</source>
-        <translation>bajtů</translation>
+        <translation type="obsolete">bajtů</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="390"/>
         <source>kB</source>
-        <translation>kB</translation>
+        <translation type="obsolete">kB</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="393"/>
         <source>MB</source>
-        <translation>MB</translation>
+        <translation type="obsolete">MB</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="130"/>
         <source>Downloading</source>
-        <translation>Stahování</translation>
+        <translation type="obsolete">Stahování</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.ui" line="14"/>
@@ -5398,57 +5398,233 @@
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="130"/>
         <source>&lt;p&gt;You are about to download the file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;What do you want to do?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Chystáte se stáhnout soubor &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Co chcete udělat?&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Chystáte se stáhnout soubor &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Co chcete udělat?&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="159"/>
         <source>Download canceled: {0}</source>
-        <translation>Download zrušen: {0}</translation>
+        <translation type="obsolete">Download zrušen: {0}</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="272"/>
         <source>Error opening save file: {0}</source>
-        <translation>Chyba při otvírání uloženého souboru: {0}</translation>
+        <translation type="obsolete">Chyba při otvírání uloženého souboru: {0}</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="279"/>
         <source>Error saving: {0}</source>
-        <translation>Chyba při ukládání: {0}</translation>
+        <translation type="obsolete">Chyba při ukládání: {0}</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="296"/>
         <source>Network Error: {0}</source>
-        <translation>Chyba sítě: {0}</translation>
+        <translation type="obsolete">Chyba sítě: {0}</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="352"/>
         <source>- {0}:{1:02} minutes remaining</source>
-        <translation>- {0}:{1:02} zbývá minut</translation>
+        <translation type="obsolete">- {0}:{1:02} zbývá minut</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="359"/>
         <source>- {0} seconds remaining</source>
-        <translation>- {0} zbývá vteřin</translation>
+        <translation type="obsolete">- {0} zbývá vteřin</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="361"/>
         <source>{0} of {1} ({2}/sec) {3}</source>
-        <translation>{0} of {1} ({2}/sek) {3}</translation>
+        <translation type="obsolete">{0} of {1} ({2}/sek) {3}</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="370"/>
         <source>{0} downloaded</source>
-        <translation>{0} staženo</translation>
+        <translation type="obsolete">{0} staženo</translation>
     </message>
     <message>
         <location filename="Helpviewer/DownloadDialog.py" line="373"/>
         <source>{0} of {1} - Stopped</source>
-        <translation>{0} z {1} - zastaveno</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="46"/>
-        <source>Eric5 Download {0}</source>
-        <translation></translation>
+        <translation type="obsolete">{0} z {1} - zastaveno</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="23"/>
+        <source>Icon</source>
+        <translation type="unfinished">Ikona</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="32"/>
+        <source>Filename</source>
+        <translation type="unfinished">Jméno souboru</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="42"/>
+        <source>Info</source>
+        <translation type="unfinished">Info</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="51"/>
+        <source>Press to repeat the download</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="74"/>
+        <source>...</source>
+        <translation type="unfinished">...</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="61"/>
+        <source>Press to cancel the download</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="71"/>
+        <source>Press to open the downloaded file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="135"/>
+        <source>Downloading</source>
+        <translation type="unfinished">Stahování</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="135"/>
+        <source>&lt;p&gt;You are about to download the file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;What do you want to do?&lt;/p&gt;</source>
+        <translation type="unfinished">&lt;p&gt;Chystáte se stáhnout soubor &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Co chcete udělat?&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="168"/>
+        <source>Download canceled: {0}</source>
+        <translation type="unfinished">Download zrušen: {0}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="158"/>
+        <source>Save File</source>
+        <translation type="unfinished">Uložit soubor</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="185"/>
+        <source>Download directory ({0}) couldn&apos;t be created.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="295"/>
+        <source>Error opening save file: {0}</source>
+        <translation type="unfinished">Chyba při otvírání uloženého souboru: {0}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="304"/>
+        <source>Error saving: {0}</source>
+        <translation type="unfinished">Chyba při ukládání: {0}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="316"/>
+        <source>Network Error: {0}</source>
+        <translation type="unfinished">Chyba sítě: {0}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="415"/>
+        <source>{0} of {1} ({2}/sec) - {3}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="416"/>
+        <source>?</source>
+        <translation type="unfinished">?</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="424"/>
+        <source>{0} downloaded</source>
+        <translation type="unfinished">{0} staženo</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="427"/>
+        <source>{0} of {1} - Stopped</source>
+        <translation type="unfinished">{0} z {1} - zastaveno</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="Helpviewer/Download/DownloadManager.ui" line="14"/>
+        <source>Downloads</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadManager.ui" line="31"/>
+        <source>Press to clean up the list of downloads</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadManager.ui" line="34"/>
+        <source>Clean up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadManager.ui" line="56"/>
+        <source>0 Items</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="Helpviewer/Download/DownloadManager.py" line="292"/>
+        <source>%n Download(s)</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <location filename="Helpviewer/Download/DownloadManager.py" line="91"/>
+        <source>There are %n downloads in progress.
+Do you want to quit anyway?</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>DownloadUtilities</name>
+    <message numerus="yes">
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="23"/>
+        <source>%n seconds remaining</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="37"/>
+        <source>Bytes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="40"/>
+        <source>KiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="43"/>
+        <source>MiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="46"/>
+        <source>GiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="18"/>
+        <source>%n:{0:02} minutes remaining</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
     </message>
 </context>
 <context>
@@ -11603,7 +11779,7 @@
 <context>
     <name>HelpBrowser</name>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="764"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="763"/>
         <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
         <translation>Otevřít odkaz v novém tab okně<byte value="x9"/>Ctrl+LMB</translation>
     </message>
@@ -11613,177 +11789,177 @@
         <translation>&lt;b&gt;Okno nápovědy&lt;/b&gt;&lt;p&gt;Toto okno zobrazí vybranou informaci nápovědy.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="833"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="832"/>
         <source>Web Inspector...</source>
         <translation>Web inspektor...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>Check the address for errors such as &lt;b&gt;ww&lt;/b&gt;.example.org instead of &lt;b&gt;www&lt;/b&gt;.example.org</source>
         <translation>Zkontrolujte adresu na chyby jako je &lt;b&gt;ww&lt;/b&gt;.example.org místo &lt;b&gt;www&lt;/b&gt;.example.org</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>If the address is correct, try checking the network connection.</source>
         <translation>Je-li adresa vpořádku, prověřte síťové spojení.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network.</source>
         <translation>Je-li vaše šíť chráněna firewallem nebo proxy, ujistěte se, že váš prohlížeč má na tuto síť povolen přístup.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="797"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="796"/>
         <source>Bookmark this Page</source>
         <translation>Záložka na tuto stranu</translation>
     </message>
     <message>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="767"/>
+        <source>Save Lin&amp;k</source>
+        <translation>Uložit lin&amp;k</translation>
+    </message>
+    <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="768"/>
-        <source>Save Lin&amp;k</source>
-        <translation>Uložit lin&amp;k</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="769"/>
         <source>Bookmark this Link</source>
         <translation>Záložka na tento link</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="772"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="771"/>
         <source>Copy Link to Clipboard</source>
         <translation>Kopírovat link do schránky</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="777"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="776"/>
         <source>Open Image in New Tab</source>
         <translation>Otevřít obrázek v novém tabu</translation>
     </message>
     <message>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="780"/>
+        <source>Save Image</source>
+        <translation>Uložit obrázek</translation>
+    </message>
+    <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="781"/>
-        <source>Save Image</source>
-        <translation>Uložit obrázek</translation>
+        <source>Copy Image to Clipboard</source>
+        <translation>Kopíroavt obrázek do schránky</translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="782"/>
-        <source>Copy Image to Clipboard</source>
-        <translation>Kopíroavt obrázek do schránky</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="783"/>
         <source>Copy Image Location to Clipboard</source>
         <translation>Kopírovat cestu obrázku do schránky</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="580"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="579"/>
         <source>Web Browser</source>
         <translation>Web prohlížeč</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="787"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="786"/>
         <source>Block Image</source>
         <translation>Blokovat obrázek</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="811"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="810"/>
         <source>Search with...</source>
         <translation>Hledat s...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="542"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="541"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; does not exist.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{}&lt;/b&gt; neexistuje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="580"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="579"/>
         <source>&lt;p&gt;Could not start a viewer for file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nelze spustit prohlížeč se souborem &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="562"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="561"/>
         <source>&lt;p&gt;Could not start an application for URL &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nelze spustit aplikaci pro URL &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1192"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1179"/>
         <source>Error loading page: {0}</source>
         <translation>Chyba při načítání strany: {0}</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>When connecting to: {0}.</source>
         <translation>Při připojení na: {0}.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1252"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1228"/>
         <source>Web Database Quota</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1252"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1228"/>
         <source>&lt;p&gt;The database quota of &lt;strong&gt;{0}&lt;/strong&gt; has been exceeded while accessing database &lt;strong&gt;{1}&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Shall it be changed?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1260"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1236"/>
         <source>New Web Database Quota</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1260"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1236"/>
         <source>Enter the new quota in MB (current = {0}, used = {1}; step size = 5 MB):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1280"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1256"/>
         <source>bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1283"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1259"/>
         <source>kB</source>
         <translation type="unfinished">kB</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1286"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1262"/>
         <source>MB</source>
         <translation type="unfinished">MB</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="828"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="827"/>
         <source>Add to web search toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="941"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="940"/>
         <source>Method not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="941"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="940"/>
         <source>{0} method is not supported.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="983"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="982"/>
         <source>Search engine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="983"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="982"/>
         <source>Choose the desired search engine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1000"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="999"/>
         <source>Engine name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1000"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="999"/>
         <source>Enter a name for the engine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>If your cache policy is set to offline browsing,only pages in the local cache are available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11816,53 +11992,63 @@
         <translation>Hi&amp;storie hledání</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="75"/>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="88"/>
         <source>Select to clear the website icons</source>
         <translation>Smazat ikony webstran</translation>
     </message>
     <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="91"/>
+        <source>Website &amp;Icons</source>
+        <translation>&amp;Ikony webstran</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="75"/>
+        <source>Select to clear the disk cache</source>
+        <translation>Vybrat pro smazání cache disku</translation>
+    </message>
+    <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="78"/>
-        <source>Website &amp;Icons</source>
-        <translation>&amp;Ikony webstran</translation>
+        <source>Cached &amp;Web Pages</source>
+        <translation>&amp;Web strany v cache</translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="62"/>
-        <source>Select to clear the disk cache</source>
-        <translation>Vybrat pro smazání cache disku</translation>
+        <source>Select to clear the cookies</source>
+        <translation>Vybrat pro smazání cookies</translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="65"/>
-        <source>Cached &amp;Web Pages</source>
-        <translation>&amp;Web strany v cache</translation>
+        <source>&amp;Cookies</source>
+        <translation>&amp;Cookies</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="101"/>
+        <source>Select to clear the saved passwords</source>
+        <translation>Vybrat pro vymazání uložených hesel</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="104"/>
+        <source>Saved &amp;Passwords</source>
+        <translation>Uložit &amp;hesla</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="114"/>
+        <source>Select to delete all web databases</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="117"/>
+        <source>Web &amp;Databases</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="49"/>
-        <source>Select to clear the cookies</source>
-        <translation>Vybrat pro smazání cookies</translation>
+        <source>Select to clear the download history</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="52"/>
-        <source>&amp;Cookies</source>
-        <translation>&amp;Cookies</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="88"/>
-        <source>Select to clear the saved passwords</source>
-        <translation>Vybrat pro vymazání uložených hesel</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="91"/>
-        <source>Saved &amp;Passwords</source>
-        <translation>Uložit &amp;hesla</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="101"/>
-        <source>Select to delete all web databases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="104"/>
-        <source>Web &amp;Databases</source>
+        <source>Download History</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -12715,360 +12901,360 @@
 <context>
     <name>HelpWindow</name>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="455"/>
+        <location filename="Helpviewer/HelpWindow.py" line="457"/>
         <source>Close the current help window</source>
         <translation>Zavřít aktuální okno nápovědy</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="311"/>
+        <location filename="Helpviewer/HelpWindow.py" line="313"/>
         <source>Open a new help window tab</source>
         <translation>Otevřít nový tab nápovědy</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="306"/>
+        <location filename="Helpviewer/HelpWindow.py" line="308"/>
         <source>&amp;New Tab</source>
         <translation>&amp;Nový tab</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="306"/>
+        <location filename="Helpviewer/HelpWindow.py" line="308"/>
         <source>Ctrl+T</source>
         <comment>File|New Tab</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="312"/>
+        <location filename="Helpviewer/HelpWindow.py" line="314"/>
         <source>&lt;b&gt;New Tab&lt;/b&gt;&lt;p&gt;This opens a new help window tab.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nový tab&lt;/b&gt;&lt;p&gt;Otevře nový tab v okně nápovědy.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="320"/>
+        <location filename="Helpviewer/HelpWindow.py" line="322"/>
         <source>Ctrl+N</source>
         <comment>File|New Window</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="325"/>
+        <location filename="Helpviewer/HelpWindow.py" line="327"/>
         <source>Open a new help browser window</source>
         <translation>Otevřít nové okno nápovědy</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="326"/>
+        <location filename="Helpviewer/HelpWindow.py" line="328"/>
         <source>&lt;b&gt;New Window&lt;/b&gt;&lt;p&gt;This opens a new help browser window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nové okno&lt;/b&gt;&lt;p&gt;Otevře nové okno nápovědy.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="334"/>
+        <location filename="Helpviewer/HelpWindow.py" line="336"/>
         <source>&amp;Open File</source>
         <translation>&amp;Otevřít soubor</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="334"/>
+        <location filename="Helpviewer/HelpWindow.py" line="336"/>
         <source>Ctrl+O</source>
         <comment>File|Open</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="339"/>
+        <location filename="Helpviewer/HelpWindow.py" line="341"/>
         <source>Open a help file for display</source>
         <translation>Otevřít soubor s nápovědou</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="340"/>
+        <location filename="Helpviewer/HelpWindow.py" line="342"/>
         <source>&lt;b&gt;Open File&lt;/b&gt;&lt;p&gt;This opens a new help file for display. It pops up a file selection dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Otevřít soubor&lt;/b&gt;&lt;p&gt;Zobrazí nové okno s nápovědou. Otevře dialog pro výběr souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="349"/>
+        <location filename="Helpviewer/HelpWindow.py" line="351"/>
         <source>Open File in New &amp;Tab</source>
         <translation>Otevřít soubor do nového &amp;tabu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="349"/>
+        <location filename="Helpviewer/HelpWindow.py" line="351"/>
         <source>Shift+Ctrl+O</source>
         <comment>File|Open in new tab</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="354"/>
-        <source>Open a help file for display in a new tab</source>
-        <translation>Otevřít nápovědu do nového tabu</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="356"/>
+        <source>Open a help file for display in a new tab</source>
+        <translation>Otevřít nápovědu do nového tabu</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="358"/>
         <source>&lt;b&gt;Open File in New Tab&lt;/b&gt;&lt;p&gt;This opens a new help file for display in a new tab. It pops up a file selection dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Otevřít soubor do nového tabu&lt;/b&gt;&lt;p&gt;Zobrazí se nápověda a zobrazí se v novém tabu. Otevře dialog pro výběr souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="409"/>
+        <location filename="Helpviewer/HelpWindow.py" line="411"/>
         <source>&amp;Print</source>
         <translation>&amp;Tisk</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="409"/>
+        <location filename="Helpviewer/HelpWindow.py" line="411"/>
         <source>Ctrl+P</source>
         <comment>File|Print</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="414"/>
+        <location filename="Helpviewer/HelpWindow.py" line="416"/>
         <source>Print the displayed help</source>
         <translation>Tisknout zobrazenou nápovědu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="415"/>
+        <location filename="Helpviewer/HelpWindow.py" line="417"/>
         <source>&lt;b&gt;Print&lt;/b&gt;&lt;p&gt;Print the displayed help text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Tisk&lt;/b&gt;&lt;p&gt;Tisknout zobrazenou nápovědu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="450"/>
+        <location filename="Helpviewer/HelpWindow.py" line="452"/>
         <source>&amp;Close</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="450"/>
+        <location filename="Helpviewer/HelpWindow.py" line="452"/>
         <source>Ctrl+W</source>
         <comment>File|Close</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="456"/>
+        <location filename="Helpviewer/HelpWindow.py" line="458"/>
         <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;Closes the current help window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zavřít&lt;/b&gt;&lt;p&gt;Zavře aktuální okno s nápovědou.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="464"/>
+        <location filename="Helpviewer/HelpWindow.py" line="466"/>
         <source>Close &amp;All</source>
         <translation>Z&amp;avřít vše</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="468"/>
+        <location filename="Helpviewer/HelpWindow.py" line="470"/>
         <source>&lt;b&gt;Close All&lt;/b&gt;&lt;p&gt;Closes all help windows except the first one.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zavřít vše&lt;/b&gt;&lt;p&gt;Zavřít všechna okna s nápovědou kromě prvního.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="491"/>
+        <location filename="Helpviewer/HelpWindow.py" line="493"/>
         <source>&amp;Quit</source>
         <translation>&amp;Konec</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="491"/>
+        <location filename="Helpviewer/HelpWindow.py" line="493"/>
         <source>Ctrl+Q</source>
         <comment>File|Quit</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="508"/>
+        <location filename="Helpviewer/HelpWindow.py" line="510"/>
         <source>&amp;Backward</source>
         <translation>&amp;Nazpět</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="514"/>
+        <location filename="Helpviewer/HelpWindow.py" line="516"/>
         <source>Move one help screen backward</source>
         <translation>Posun o jednu obrazovku nápovědy nazpět</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="515"/>
+        <location filename="Helpviewer/HelpWindow.py" line="517"/>
         <source>&lt;b&gt;Backward&lt;/b&gt;&lt;p&gt;Moves one help screen backward. If none is available, this action is disabled.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nazpět&lt;/b&gt;&lt;p&gt;Posun o jednu obrazovku nazpět. Pokud není taková k dispozici, je tato akce vypnuta.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="524"/>
+        <location filename="Helpviewer/HelpWindow.py" line="526"/>
         <source>&amp;Forward</source>
         <translation>&amp;Dopředu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="530"/>
+        <location filename="Helpviewer/HelpWindow.py" line="532"/>
         <source>Move one help screen forward</source>
         <translation>Posun o jednu obrazovku dopředu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="531"/>
+        <location filename="Helpviewer/HelpWindow.py" line="533"/>
         <source>&lt;b&gt;Forward&lt;/b&gt;&lt;p&gt;Moves one help screen forward. If none is available, this action is disabled.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Dopředu&lt;/b&gt;&lt;p&gt;Posun o jednu obrazovku dopředu. Pokud není taková k dispozici, je tato akce vypnuta.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="540"/>
+        <location filename="Helpviewer/HelpWindow.py" line="542"/>
         <source>&amp;Home</source>
         <translation>&amp;Hlavní strana</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="545"/>
+        <location filename="Helpviewer/HelpWindow.py" line="547"/>
         <source>Move to the initial help screen</source>
         <translation>Posun na hlavní stranu nápovědy</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="546"/>
+        <location filename="Helpviewer/HelpWindow.py" line="548"/>
         <source>&lt;b&gt;Home&lt;/b&gt;&lt;p&gt;Moves to the initial help screen.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Hlavní strana&lt;/b&gt;&lt;p&gt;Posun na hlavní stranu nápovědy.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="554"/>
+        <location filename="Helpviewer/HelpWindow.py" line="556"/>
         <source>&amp;Reload</source>
         <translation>&amp;Obnovit</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="560"/>
+        <location filename="Helpviewer/HelpWindow.py" line="562"/>
         <source>Reload the current help screen</source>
         <translation>Obsah aktuální nápovědy se obnoví</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="561"/>
+        <location filename="Helpviewer/HelpWindow.py" line="563"/>
         <source>&lt;b&gt;Reload&lt;/b&gt;&lt;p&gt;Reloads the current help screen.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Obnovit&lt;/b&gt;&lt;p&gt;Znovu načte aktuální obrazovku nápovědy.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="598"/>
+        <location filename="Helpviewer/HelpWindow.py" line="600"/>
         <source>&amp;Find...</source>
         <translation>&amp;Hledat...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="603"/>
+        <location filename="Helpviewer/HelpWindow.py" line="605"/>
         <source>Find text in page</source>
         <translation>Hledat text na stránce</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="604"/>
+        <location filename="Helpviewer/HelpWindow.py" line="606"/>
         <source>&lt;b&gt;Find&lt;/b&gt;&lt;p&gt;Find text in the current page.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Hledat&lt;/b&gt;&lt;p&gt;Hledá se text na aktuální straně.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="612"/>
+        <location filename="Helpviewer/HelpWindow.py" line="614"/>
         <source>Find &amp;next</source>
         <translation>Hledat &amp;následující</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="626"/>
+        <location filename="Helpviewer/HelpWindow.py" line="628"/>
         <source>Find &amp;previous</source>
         <translation>Hledat &amp;předchozí</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="697"/>
+        <location filename="Helpviewer/HelpWindow.py" line="699"/>
         <source>&amp;What&apos;s This?</source>
         <translation>&amp;Co je to?</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="702"/>
+        <location filename="Helpviewer/HelpWindow.py" line="704"/>
         <source>Context sensitive help</source>
         <translation>Kontextově senzitivní nápověda</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="703"/>
+        <location filename="Helpviewer/HelpWindow.py" line="705"/>
         <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What&apos;s This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit kontextově senzitivní nápovědu&lt;/b&gt;&lt;p&gt;V režimu &quot;Co je to?&quot; se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="715"/>
+        <location filename="Helpviewer/HelpWindow.py" line="717"/>
         <source>&amp;About</source>
         <translation>O &amp;aplikaci</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="718"/>
+        <location filename="Helpviewer/HelpWindow.py" line="720"/>
         <source>Display information about this software</source>
         <translation>Zobrazit informace a tomto software</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="719"/>
+        <location filename="Helpviewer/HelpWindow.py" line="721"/>
         <source>&lt;b&gt;About&lt;/b&gt;&lt;p&gt;Display some information about this software.&lt;/p&gt;</source>
         <translation>&lt;b&gt;O aplikaci&lt;/b&gt;&lt;p&gt;Zobrazí se informace o tomto software.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="727"/>
+        <location filename="Helpviewer/HelpWindow.py" line="729"/>
         <source>About &amp;Qt</source>
         <translation>O &amp;Qt</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="730"/>
-        <source>Display information about the Qt toolkit</source>
-        <translation>Zobrazit informace o Qt toolkitu</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="732"/>
+        <source>Display information about the Qt toolkit</source>
+        <translation>Zobrazit informace o Qt toolkitu</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="734"/>
         <source>&lt;b&gt;About Qt&lt;/b&gt;&lt;p&gt;Display some information about the Qt toolkit.&lt;/p&gt;</source>
         <translation>&lt;b&gt;A Qt&lt;/b&gt;&lt;p&gt;Zobrazit informace o Qt toolkitu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="740"/>
+        <location filename="Helpviewer/HelpWindow.py" line="742"/>
         <source>Zoom &amp;in</source>
         <translation>Př&amp;iblížit</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="745"/>
+        <location filename="Helpviewer/HelpWindow.py" line="747"/>
         <source>Zoom in on the text</source>
         <translation>Zvětšovací lupa</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="746"/>
+        <location filename="Helpviewer/HelpWindow.py" line="748"/>
         <source>&lt;b&gt;Zoom in&lt;/b&gt;&lt;p&gt;Zoom in on the text. This makes the text bigger.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přiblížit&lt;/b&gt;&lt;p&gt;Přiblížit text. Text bude větší.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="754"/>
+        <location filename="Helpviewer/HelpWindow.py" line="756"/>
         <source>Zoom &amp;out</source>
         <translation>&amp;Oddálit</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="759"/>
+        <location filename="Helpviewer/HelpWindow.py" line="761"/>
         <source>Zoom out on the text</source>
         <translation>Zmenšovací lupa</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="760"/>
+        <location filename="Helpviewer/HelpWindow.py" line="762"/>
         <source>&lt;b&gt;Zoom out&lt;/b&gt;&lt;p&gt;Zoom out on the text. This makes the text smaller.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Oddálit&lt;/b&gt;&lt;p&gt;Lupa na oddálení textu. Text bude menší.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="584"/>
+        <location filename="Helpviewer/HelpWindow.py" line="586"/>
         <source>&amp;Copy</source>
         <translation>&amp;Kopírovat</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="584"/>
+        <location filename="Helpviewer/HelpWindow.py" line="586"/>
         <source>Ctrl+C</source>
         <comment>Edit|Copy</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="589"/>
+        <location filename="Helpviewer/HelpWindow.py" line="591"/>
         <source>Copy the selected text</source>
         <translation>Kopírovat vybraný text</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="590"/>
+        <location filename="Helpviewer/HelpWindow.py" line="592"/>
         <source>&lt;b&gt;Copy&lt;/b&gt;&lt;p&gt;Copy the selected text to the clipboard.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Kopírovat&lt;/b&gt;&lt;p&gt;Kopírovat vybraný text do schránky.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1098"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1113"/>
         <source>&amp;File</source>
         <translation>S&amp;oubor</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1121"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1136"/>
         <source>&amp;Edit</source>
         <translation>&amp;Edit</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1129"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1144"/>
         <source>&amp;View</source>
         <translation>Poh&amp;led</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1145"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1160"/>
         <source>&amp;Go</source>
         <translation>&amp;Jít</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1158"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1173"/>
         <source>H&amp;istory</source>
         <translation>H&amp;istorie</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1165"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1180"/>
         <source>&amp;Bookmarks</source>
         <translation>&amp;Záložky</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1212"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1229"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
@@ -13083,42 +13269,42 @@
         <translation type="obsolete">Posun doprava</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="450"/>
+        <location filename="Helpviewer/HelpWindow.py" line="452"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="409"/>
+        <location filename="Helpviewer/HelpWindow.py" line="411"/>
         <source>Print</source>
         <translation>Tisk</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1223"/>
-        <source>File</source>
-        <translation>Soubor</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="1240"/>
+        <source>File</source>
+        <translation>Soubor</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1257"/>
         <source>Edit</source>
         <translation>Editovat</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1245"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1262"/>
         <source>View</source>
         <translation>Pohled</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1254"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1271"/>
         <source>Find</source>
         <translation>Hledat</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1280"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1297"/>
         <source>Help</source>
         <translation>Nápověda</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1287"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1304"/>
         <source>Go</source>
         <translation>Jít</translation>
     </message>
@@ -13128,12 +13314,12 @@
         <translation type="obsolete">&lt;p&gt;Zadání souboru s nápovědou, který se zobrazí přímo do tohoto editačního okna. Výběr předchozí zobrazené nápovědy z drop down seznamu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1444"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1461"/>
         <source>Open File</source>
         <translation>Otevřít soubor</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1444"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1461"/>
         <source>Help Files (*.html *.htm);;PDF Files (*.pdf);;CHM Files (*.chm);;All Files (*)</source>
         <translation>Help soubory (*.html *.htm);;PDF soubory (*.pdf);;CHM soubory (*.chm);;Všechny soubory (*)</translation>
     </message>
@@ -13143,204 +13329,204 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="306"/>
+        <location filename="Helpviewer/HelpWindow.py" line="308"/>
         <source>New Tab</source>
         <translation>Nový Tab</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="320"/>
+        <location filename="Helpviewer/HelpWindow.py" line="322"/>
         <source>New Window</source>
         <translation>Nové okno</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="349"/>
+        <location filename="Helpviewer/HelpWindow.py" line="351"/>
         <source>Open File in New Tab</source>
         <translation>Otevřít soubor v novém tabu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="464"/>
+        <location filename="Helpviewer/HelpWindow.py" line="466"/>
         <source>Close All</source>
         <translation>Zavřít vše</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="491"/>
+        <location filename="Helpviewer/HelpWindow.py" line="493"/>
         <source>Quit</source>
         <translation>Konec</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="508"/>
+        <location filename="Helpviewer/HelpWindow.py" line="510"/>
         <source>Backward</source>
         <translation>Nazpět</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="508"/>
+        <location filename="Helpviewer/HelpWindow.py" line="510"/>
         <source>Alt+Left</source>
         <comment>Go|Backward</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="508"/>
+        <location filename="Helpviewer/HelpWindow.py" line="510"/>
         <source>Backspace</source>
         <comment>Go|Backward</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="524"/>
+        <location filename="Helpviewer/HelpWindow.py" line="526"/>
         <source>Forward</source>
         <translation>Dopředu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="524"/>
+        <location filename="Helpviewer/HelpWindow.py" line="526"/>
         <source>Alt+Right</source>
         <comment>Go|Forward</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="524"/>
+        <location filename="Helpviewer/HelpWindow.py" line="526"/>
         <source>Shift+Backspace</source>
         <comment>Go|Forward</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="540"/>
+        <location filename="Helpviewer/HelpWindow.py" line="542"/>
         <source>Home</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="540"/>
+        <location filename="Helpviewer/HelpWindow.py" line="542"/>
         <source>Ctrl+Home</source>
         <comment>Go|Home</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="554"/>
+        <location filename="Helpviewer/HelpWindow.py" line="556"/>
         <source>Reload</source>
         <translation>Obnovit</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="554"/>
+        <location filename="Helpviewer/HelpWindow.py" line="556"/>
         <source>Ctrl+R</source>
         <comment>Go|Reload</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="584"/>
+        <location filename="Helpviewer/HelpWindow.py" line="586"/>
         <source>Copy</source>
         <translation>Kopírovat</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="598"/>
+        <location filename="Helpviewer/HelpWindow.py" line="600"/>
         <source>Find...</source>
         <translation>Hledat...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="598"/>
+        <location filename="Helpviewer/HelpWindow.py" line="600"/>
         <source>Ctrl+F</source>
         <comment>Edit|Find</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="612"/>
+        <location filename="Helpviewer/HelpWindow.py" line="614"/>
         <source>Find next</source>
         <translation>Najít další</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="612"/>
+        <location filename="Helpviewer/HelpWindow.py" line="614"/>
         <source>F3</source>
         <comment>Edit|Find next</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="626"/>
+        <location filename="Helpviewer/HelpWindow.py" line="628"/>
         <source>Find previous</source>
         <translation>Najít předchozí</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="626"/>
+        <location filename="Helpviewer/HelpWindow.py" line="628"/>
         <source>Shift+F3</source>
         <comment>Edit|Find previous</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="655"/>
+        <location filename="Helpviewer/HelpWindow.py" line="657"/>
         <source>Add Bookmark</source>
         <translation>Přidat záložku</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="697"/>
+        <location filename="Helpviewer/HelpWindow.py" line="699"/>
         <source>What&apos;s This?</source>
         <translation>Co je to?</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="697"/>
+        <location filename="Helpviewer/HelpWindow.py" line="699"/>
         <source>Shift+F1</source>
         <comment>Help|What&apos;s This?&apos;</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="715"/>
+        <location filename="Helpviewer/HelpWindow.py" line="717"/>
         <source>About</source>
         <translation>O aplikaci</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="727"/>
+        <location filename="Helpviewer/HelpWindow.py" line="729"/>
         <source>About Qt</source>
         <translation>O Qt</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="740"/>
+        <location filename="Helpviewer/HelpWindow.py" line="742"/>
         <source>Zoom in</source>
         <translation>Přiblížit</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="740"/>
+        <location filename="Helpviewer/HelpWindow.py" line="742"/>
         <source>Ctrl++</source>
         <comment>View|Zoom in</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="754"/>
+        <location filename="Helpviewer/HelpWindow.py" line="756"/>
         <source>Zoom out</source>
         <translation>Oddálit</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="754"/>
+        <location filename="Helpviewer/HelpWindow.py" line="756"/>
         <source>Ctrl+-</source>
         <comment>View|Zoom out</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="617"/>
+        <location filename="Helpviewer/HelpWindow.py" line="619"/>
         <source>Find next occurrence of text in page</source>
         <translation>Hledat následující výskyt textu na straně</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="618"/>
+        <location filename="Helpviewer/HelpWindow.py" line="620"/>
         <source>&lt;b&gt;Find next&lt;/b&gt;&lt;p&gt;Find the next occurrence of text in the current page.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Hledat následující&lt;/b&gt;&lt;p&gt;Vyhledá se následující výskyt textu na aktuální straně.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="631"/>
-        <source>Find previous occurrence of text in page</source>
-        <translation>Hledat předchozí výskyt textu na stránce</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="633"/>
+        <source>Find previous occurrence of text in page</source>
+        <translation>Hledat předchozí výskyt textu na stránce</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="635"/>
         <source>&lt;b&gt;Find previous&lt;/b&gt;&lt;p&gt;Find the previous occurrence of text in the current page.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Hledat předchozí&lt;/b&gt;&lt;p&gt;Vyhledá předchozí výskyt textu na aktuální straně.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="436"/>
+        <location filename="Helpviewer/HelpWindow.py" line="438"/>
         <source>Print Preview</source>
         <translation>Náhled tisku</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="440"/>
-        <source>Print preview of the displayed help</source>
-        <translation>Tisknout náhled zobrazené nápovědy</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="442"/>
+        <source>Print preview of the displayed help</source>
+        <translation>Tisknout náhled zobrazené nápovědy</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="444"/>
         <source>&lt;b&gt;Print Preview&lt;/b&gt;&lt;p&gt;Print preview of the displayed help text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vytisknout náhled&lt;/b&gt;&lt;p&gt;Tisknout náhled zobrazeného textu nápovědy.&lt;/p&gt;</translation>
     </message>
@@ -13350,222 +13536,222 @@
         <translation type="obsolete">&lt;p&gt;Tisk není dostupný kvůli bugu v PyQt4.Please upgrade.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="824"/>
+        <location filename="Helpviewer/HelpWindow.py" line="826"/>
         <source>Show next tab</source>
         <translation>Zobrazit následující tab</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="824"/>
+        <location filename="Helpviewer/HelpWindow.py" line="826"/>
         <source>Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="833"/>
+        <location filename="Helpviewer/HelpWindow.py" line="835"/>
         <source>Show previous tab</source>
         <translation>Zobrazit předchozí tab</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="833"/>
+        <location filename="Helpviewer/HelpWindow.py" line="835"/>
         <source>Shift+Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="842"/>
+        <location filename="Helpviewer/HelpWindow.py" line="844"/>
         <source>Switch between tabs</source>
         <translation>Přepnout mezi taby</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="842"/>
+        <location filename="Helpviewer/HelpWindow.py" line="844"/>
         <source>Ctrl+1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1010"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1012"/>
         <source>Clear icons database</source>
         <translation>Vyčistit ikony databáze</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1014"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1016"/>
         <source>Clear the database of favicons</source>
         <translation>Vyčistit databázi favicons</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1015"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1017"/>
         <source>&lt;b&gt;Clear icons database&lt;/b&gt;&lt;p&gt;Clears the database of favicons of previously visited URLs.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vyčistit databázi favicons&lt;/b&gt;&lt;p&gt;Vyčistit databázi favicons navštívených URL.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="851"/>
+        <location filename="Helpviewer/HelpWindow.py" line="853"/>
         <source>Preferences</source>
         <translation>Předvolby</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="851"/>
+        <location filename="Helpviewer/HelpWindow.py" line="853"/>
         <source>&amp;Preferences...</source>
         <translation>&amp;Předvolby...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="854"/>
+        <location filename="Helpviewer/HelpWindow.py" line="856"/>
         <source>Set the prefered configuration</source>
         <translation>Nastavit preferovanou konfiguraci</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="855"/>
+        <location filename="Helpviewer/HelpWindow.py" line="857"/>
         <source>&lt;b&gt;Preferences&lt;/b&gt;&lt;p&gt;Set the configuration items of the application with your prefered values.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Předvolby&lt;/b&gt;&lt;p&gt;Upravit položky konfigurace aplikace podle vašich předvoleb.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="136"/>
+        <location filename="Helpviewer/HelpWindow.py" line="138"/>
         <source>Contents</source>
         <translation>Obsah</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="467"/>
+        <location filename="Helpviewer/HelpWindow.py" line="469"/>
         <source>Close all help windows</source>
         <translation>Zavřít všechna okna s nápovědou</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="903"/>
+        <location filename="Helpviewer/HelpWindow.py" line="905"/>
         <source>Sync with Table of Contents</source>
         <translation>Sync obsahu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="907"/>
-        <source>Synchronizes the table of contents with current page</source>
-        <translation>Synchronizuje obsah s aktuální stranou</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="909"/>
+        <source>Synchronizes the table of contents with current page</source>
+        <translation>Synchronizuje obsah s aktuální stranou</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="911"/>
         <source>&lt;b&gt;Sync with Table of Contents&lt;/b&gt;&lt;p&gt;Synchronizes the table of contents with current page.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Sync obsah&lt;/b&gt;&lt;p&gt;Synchronizuje obsah s aktuální stranou.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="917"/>
+        <location filename="Helpviewer/HelpWindow.py" line="919"/>
         <source>Table of Contents</source>
         <translation>Obsah</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="920"/>
-        <source>Shows the table of contents window</source>
-        <translation>Zobrazit okno s obsahem</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="922"/>
+        <source>Shows the table of contents window</source>
+        <translation>Zobrazit okno s obsahem</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="924"/>
         <source>&lt;b&gt;Table of Contents&lt;/b&gt;&lt;p&gt;Shows the table of contents window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Obsah&lt;/b&gt;&lt;p&gt;Zobrazit okno s obsahem.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="956"/>
+        <location filename="Helpviewer/HelpWindow.py" line="958"/>
         <source>Manage QtHelp Documents</source>
         <translation>Uspořádat dokumenty QtNápovědy</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="959"/>
-        <source>Shows a dialog to manage the QtHelp documentation set</source>
-        <translation>Zobrazit dialog pro uspořádání QtNápovědy</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="961"/>
+        <source>Shows a dialog to manage the QtHelp documentation set</source>
+        <translation>Zobrazit dialog pro uspořádání QtNápovědy</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="963"/>
         <source>&lt;b&gt;Manage QtHelp Documents&lt;/b&gt;&lt;p&gt;Shows a dialog to manage the QtHelp documentation set.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uspořádat dokumenty QtNápovědy&lt;/b&gt;&lt;p&gt;Zobrazit dialog pro uspořádání QtNápovědy.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1204"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1219"/>
         <source>&amp;Window</source>
         <translation>O&amp;kno</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1261"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1278"/>
         <source>Filter</source>
         <translation>Filtr</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1266"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1283"/>
         <source>Filtered by: </source>
         <translation>Filtrováno: </translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1922"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1945"/>
         <source>Could not find an associated content.</source>
         <translation>Asociovaný obsah nelze nalézt.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="969"/>
+        <location filename="Helpviewer/HelpWindow.py" line="971"/>
         <source>Manage QtHelp Filters</source>
         <translation>Uspořádat filtry QtNápovědy</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="972"/>
-        <source>Shows a dialog to manage the QtHelp filters</source>
-        <translation>Zobrazit dialog pro uspořádání filtrů QtNápovědy</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="974"/>
+        <source>Shows a dialog to manage the QtHelp filters</source>
+        <translation>Zobrazit dialog pro uspořádání filtrů QtNápovědy</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="976"/>
         <source>&lt;b&gt;Manage QtHelp Filters&lt;/b&gt;&lt;p&gt;Shows a dialog to manage the QtHelp filters.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uspořádat filtry QtNápovědy&lt;/b&gt;&lt;p&gt;Zobrazit dialog pro uspořádání filtrů QtNápovědy.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="930"/>
+        <location filename="Helpviewer/HelpWindow.py" line="932"/>
         <source>Index</source>
         <translation>Index</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="933"/>
-        <source>Shows the index window</source>
-        <translation>Zobrazit index okna</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="935"/>
+        <source>Shows the index window</source>
+        <translation>Zobrazit index okna</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="937"/>
         <source>&lt;b&gt;Index&lt;/b&gt;&lt;p&gt;Shows the index window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Index&lt;/b&gt;&lt;p&gt;Zobrazit index okna.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="943"/>
+        <location filename="Helpviewer/HelpWindow.py" line="945"/>
         <source>Search</source>
         <translation>Hledat</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="946"/>
-        <source>Shows the search window</source>
-        <translation>Zobrazit okno hledání</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="948"/>
+        <source>Shows the search window</source>
+        <translation>Zobrazit okno hledání</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="950"/>
         <source>&lt;b&gt;Search&lt;/b&gt;&lt;p&gt;Shows the search window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Hledání&lt;/b&gt;&lt;p&gt;Zobrazit okno hledání.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="982"/>
+        <location filename="Helpviewer/HelpWindow.py" line="984"/>
         <source>Reindex Documentation</source>
         <translation>Znovu indexovat dokumentaci</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="985"/>
-        <source>Reindexes the documentation set</source>
-        <translation>Přeindexuje dokumentaci</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="987"/>
+        <source>Reindexes the documentation set</source>
+        <translation>Přeindexuje dokumentaci</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="989"/>
         <source>&lt;b&gt;Reindex Documentation&lt;/b&gt;&lt;p&gt;Reindexes the documentation set.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Znovu indexovat dokumentaci&lt;/b&gt;&lt;p&gt;Přeindexuje dokumentaci.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2031"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2054"/>
         <source>Updating search index</source>
         <translation>Aktualizovat index pro hledání</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2083"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2106"/>
         <source>Looking for Documentation...</source>
         <translation>Vyhledat dokumentaci...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2113"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2136"/>
         <source>Unfiltered</source>
         <translation>Nefiltrováno</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2132"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2155"/>
         <source>Help Engine</source>
         <translation>Engine nápovědy</translation>
     </message>
@@ -13575,17 +13761,17 @@
         <translation type="obsolete">Zobrazit menu navigace</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="480"/>
+        <location filename="Helpviewer/HelpWindow.py" line="482"/>
         <source>Private Browsing</source>
         <translation>Mód soukromí</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="476"/>
+        <location filename="Helpviewer/HelpWindow.py" line="478"/>
         <source>Private &amp;Browsing</source>
         <translation>Mód &amp;soukromí</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="481"/>
+        <location filename="Helpviewer/HelpWindow.py" line="483"/>
         <source>&lt;b&gt;Private Browsing&lt;/b&gt;&lt;p&gt;Enables private browsing. In this mode no history is recorded anymore.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Mód soukromí&lt;/b&gt;&lt;p&gt;Zapne mód soukromí. V tomto módu není zaznamenávána historie stran.&lt;/p&gt;</translation>
     </message>
@@ -13600,330 +13786,330 @@
         <translation type="obsolete">Načteno</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="814"/>
+        <location filename="Helpviewer/HelpWindow.py" line="816"/>
         <source>Full Screen</source>
         <translation>Celá obrazovka</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="814"/>
+        <location filename="Helpviewer/HelpWindow.py" line="816"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Celá obrazovka</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="814"/>
+        <location filename="Helpviewer/HelpWindow.py" line="816"/>
         <source>F11</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="956"/>
+        <location filename="Helpviewer/HelpWindow.py" line="958"/>
         <source>Manage QtHelp &amp;Documents</source>
         <translation>Uspořádat QtHelp &amp;dokumenty</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="969"/>
+        <location filename="Helpviewer/HelpWindow.py" line="971"/>
         <source>Manage QtHelp &amp;Filters</source>
         <translation>Uspořádat QtHelp &amp;filtry</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="982"/>
+        <location filename="Helpviewer/HelpWindow.py" line="984"/>
         <source>&amp;Reindex Documentation</source>
         <translation>Přeinde&amp;xovat dokumentaci</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1000"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1002"/>
         <source>Clear private data</source>
         <translation>Smazat soukromá data</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="996"/>
+        <location filename="Helpviewer/HelpWindow.py" line="998"/>
         <source>&amp;Clear private data</source>
         <translation>Smazat &amp;soukromá data</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1001"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1003"/>
         <source>&lt;b&gt;Clear private data&lt;/b&gt;&lt;p&gt;Clears the private data like browsing history, search history or the favicons database.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Smazat soukromá data&lt;/b&gt;&lt;p&gt;Smaže soukromá data jako je historie prohlížení, vyhledávání a databáze favicon.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1010"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1012"/>
         <source>Clear &amp;icons database</source>
         <translation>Smazat databázi &amp;ikon</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1065"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1067"/>
         <source>Show Network Monitor</source>
         <translation>Zobrazit monitor sítě</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1065"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1067"/>
         <source>Show &amp;Network Monitor</source>
         <translation>Zobrazit mo&amp;nitor sítě</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1069"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1071"/>
         <source>Show the network monitor dialog</source>
         <translation>Zobrazit dialog monitoru sítě</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1070"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1072"/>
         <source>&lt;b&gt;Show Network Monitor&lt;/b&gt;&lt;p&gt;Shows the network monitor dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit monitor sítě&lt;/b&gt;&lt;p&gt;Zobrazit dialog monitoru sítě.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1177"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1192"/>
         <source>&amp;Settings</source>
         <translation>Na&amp;stavení</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1200"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1215"/>
         <source>&amp;Tools</source>
         <translation>&amp;Nástroje</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="800"/>
+        <location filename="Helpviewer/HelpWindow.py" line="802"/>
         <source>Show page source</source>
         <translation>Zobrazit zdroj strany</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="800"/>
+        <location filename="Helpviewer/HelpWindow.py" line="802"/>
         <source>Ctrl+U</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="804"/>
+        <location filename="Helpviewer/HelpWindow.py" line="806"/>
         <source>Show the page source in an editor</source>
         <translation>Zobrazit zdroj strany v editoru</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="805"/>
+        <location filename="Helpviewer/HelpWindow.py" line="807"/>
         <source>&lt;b&gt;Show page source&lt;/b&gt;&lt;p&gt;Show the page source in an editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit zdroj strany&lt;/b&gt;&lt;p&gt;Zobrazit zdroj strany v editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="864"/>
+        <location filename="Helpviewer/HelpWindow.py" line="866"/>
         <source>&amp;Languages...</source>
         <translation>&amp;Jazyky...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="867"/>
-        <source>Configure the accepted languages for web pages</source>
-        <translation>Nastavit polovené jazyky pro web strany</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="869"/>
+        <source>Configure the accepted languages for web pages</source>
+        <translation>Nastavit polovené jazyky pro web strany</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="871"/>
         <source>&lt;b&gt;Languages&lt;/b&gt;&lt;p&gt;Configure the accepted languages for web pages.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Jazyky&lt;/b&gt;&lt;p&gt;Nastavit polovené jazyky pro web strany.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="864"/>
+        <location filename="Helpviewer/HelpWindow.py" line="866"/>
         <source>Languages</source>
         <translation>Jazyky</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="877"/>
+        <location filename="Helpviewer/HelpWindow.py" line="879"/>
         <source>Cookies</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="877"/>
+        <location filename="Helpviewer/HelpWindow.py" line="879"/>
         <source>C&amp;ookies...</source>
         <translation>C&amp;ookies...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="880"/>
-        <source>Configure cookies handling</source>
-        <translation>Nastavit ovládání cookies</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="882"/>
+        <source>Configure cookies handling</source>
+        <translation>Nastavit ovládání cookies</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="884"/>
         <source>&lt;b&gt;Cookies&lt;/b&gt;&lt;p&gt;Configure cookies handling.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Cookies&lt;/b&gt;&lt;p&gt;Nastavit ovládání cookies.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1272"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1289"/>
         <source>Settings</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="768"/>
+        <location filename="Helpviewer/HelpWindow.py" line="770"/>
         <source>Zoom reset</source>
         <translation>Resetovat lupu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="768"/>
+        <location filename="Helpviewer/HelpWindow.py" line="770"/>
         <source>Zoom &amp;reset</source>
         <translation>&amp;Resetovat lupu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="768"/>
+        <location filename="Helpviewer/HelpWindow.py" line="770"/>
         <source>Ctrl+0</source>
         <comment>View|Zoom reset</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="773"/>
+        <location filename="Helpviewer/HelpWindow.py" line="775"/>
         <source>Reset the zoom of the text</source>
         <translation>Resetovat lupu textu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="784"/>
+        <location filename="Helpviewer/HelpWindow.py" line="786"/>
         <source>Zoom text only</source>
         <translation>Jen lupa textu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="784"/>
+        <location filename="Helpviewer/HelpWindow.py" line="786"/>
         <source>Zoom &amp;text only</source>
         <translation>Jen lupa &amp;textu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="788"/>
-        <source>Zoom text only; pictures remain constant</source>
-        <translation>Jen lupa textu; obrázky zůstávají beze změn</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="790"/>
+        <source>Zoom text only; pictures remain constant</source>
+        <translation>Jen lupa textu; obrázky zůstávají beze změn</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="792"/>
         <source>&lt;b&gt;Zoom text only&lt;/b&gt;&lt;p&gt;Zoom text only; pictures remain constant.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Jen lupa textu&lt;/b&gt;&lt;p&gt;Jen lupa textu; Obrázky zůstávají beze změn.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="774"/>
+        <location filename="Helpviewer/HelpWindow.py" line="776"/>
         <source>&lt;b&gt;Zoom reset&lt;/b&gt;&lt;p&gt;Reset the zoom of the text. This sets the zoom factor to 100%.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Reset lupy&lt;/b&gt;&lt;p&gt;Reset lupy pro text. Nastaví se lupa na hodnotu 100%.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="320"/>
+        <location filename="Helpviewer/HelpWindow.py" line="322"/>
         <source>New &amp;Window</source>
         <translation>&amp;Nové okno</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="381"/>
+        <location filename="Helpviewer/HelpWindow.py" line="383"/>
         <source>Import Bookmarks</source>
         <translation>Importovat záložky</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="381"/>
+        <location filename="Helpviewer/HelpWindow.py" line="383"/>
         <source>&amp;Import Bookmarks...</source>
         <translation>&amp;Importovat záložky...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="384"/>
-        <source>Import bookmarks from other browsers</source>
-        <translation>Import záložek z jiných prohlížečů</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="386"/>
+        <source>Import bookmarks from other browsers</source>
+        <translation>Import záložek z jiných prohlížečů</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="388"/>
         <source>&lt;b&gt;Import Bookmarks&lt;/b&gt;&lt;p&gt;Import bookmarks from other browsers.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Import záložek&lt;/b&gt;&lt;p&gt;Import záložek z jiných prohlížečů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="395"/>
+        <location filename="Helpviewer/HelpWindow.py" line="397"/>
         <source>Export Bookmarks</source>
         <translation>Export záložek</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="395"/>
+        <location filename="Helpviewer/HelpWindow.py" line="397"/>
         <source>&amp;Export Bookmarks...</source>
         <translation>&amp;Exportovat záložky...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="398"/>
-        <source>Export the bookmarks into a file</source>
-        <translation>Export záložek do souboru</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="400"/>
+        <source>Export the bookmarks into a file</source>
+        <translation>Export záložek do souboru</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="402"/>
         <source>&lt;b&gt;Export Bookmarks&lt;/b&gt;&lt;p&gt;Export the bookmarks into a file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Export záložek&lt;/b&gt;&lt;p&gt;Export záložek do souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="641"/>
+        <location filename="Helpviewer/HelpWindow.py" line="643"/>
         <source>Manage Bookmarks</source>
         <translation>Správa záložek</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="641"/>
+        <location filename="Helpviewer/HelpWindow.py" line="643"/>
         <source>&amp;Manage Bookmarks...</source>
         <translation>&amp;Správa záložek...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="641"/>
+        <location filename="Helpviewer/HelpWindow.py" line="643"/>
         <source>Ctrl+Shift+B</source>
         <comment>Help|Manage bookmarks</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="645"/>
-        <source>Open a dialog to manage the bookmarks.</source>
-        <translation>Otevřít dialog pro správu záložek.</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="647"/>
+        <source>Open a dialog to manage the bookmarks.</source>
+        <translation>Otevřít dialog pro správu záložek.</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="649"/>
         <source>&lt;b&gt;Manage Bookmarks...&lt;/b&gt;&lt;p&gt;Open a dialog to manage the bookmarks.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Správa záložek&lt;/b&gt;&lt;p&gt;Otevřít dialog pro správu záložek.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="655"/>
+        <location filename="Helpviewer/HelpWindow.py" line="657"/>
         <source>Add &amp;Bookmark...</source>
         <translation>Přid&amp;at záložku...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="655"/>
+        <location filename="Helpviewer/HelpWindow.py" line="657"/>
         <source>Ctrl+D</source>
         <comment>Help|Add bookmark</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="661"/>
+        <location filename="Helpviewer/HelpWindow.py" line="663"/>
         <source>Open a dialog to add a bookmark.</source>
         <translation>Otevřít dialog pro přidání záložky.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="662"/>
+        <location filename="Helpviewer/HelpWindow.py" line="664"/>
         <source>&lt;b&gt;Add Bookmark&lt;/b&gt;&lt;p&gt;Open a dialog to add the current URL as a bookmark.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přidat záložku&lt;/b&gt;&lt;p&gt;Otevřít dialog pro přidání aktuální URL jako záložky.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="670"/>
+        <location filename="Helpviewer/HelpWindow.py" line="672"/>
         <source>Add Folder</source>
         <translation>Přidat složku</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="670"/>
+        <location filename="Helpviewer/HelpWindow.py" line="672"/>
         <source>Add &amp;Folder...</source>
         <translation>Přidat s&amp;ložku...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="673"/>
-        <source>Open a dialog to add a new bookmarks folder.</source>
-        <translation>Otevřít dialog pro přidání nové složky záložek.</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="675"/>
+        <source>Open a dialog to add a new bookmarks folder.</source>
+        <translation>Otevřít dialog pro přidání nové složky záložek.</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="677"/>
         <source>&lt;b&gt;Add Folder...&lt;/b&gt;&lt;p&gt;Open a dialog to add a new bookmarks folder.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přidat složku...&lt;/b&gt;&lt;p&gt;Otevřít dialog pro přidání nové složky záložek.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="683"/>
+        <location filename="Helpviewer/HelpWindow.py" line="685"/>
         <source>Bookmark All Tabs</source>
         <translation>Vytvořit záložky pro všechny taby</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="683"/>
+        <location filename="Helpviewer/HelpWindow.py" line="685"/>
         <source>Bookmark All Tabs...</source>
         <translation>Vytvořit záložky pro všechny taby...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="686"/>
-        <source>Bookmark all open tabs.</source>
-        <translation>Vytvořit záložky pro všechny otevřené taby.</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="688"/>
+        <source>Bookmark all open tabs.</source>
+        <translation>Vytvořit záložky pro všechny otevřené taby.</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="690"/>
         <source>&lt;b&gt;Bookmark All Tabs...&lt;/b&gt;&lt;p&gt;Open a dialog to add a new bookmarks folder for all open tabs.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vytvořit záložky pro všechny taby...&lt;/b&gt;&lt;p&gt;Otevřít dialog pro přidání nové složky záložek pro všechny otevřené taby.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1551"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1568"/>
         <source>Saved Tabs</source>
         <translation>Uložkt taby</translation>
     </message>
@@ -13933,40 +14119,40 @@
         <translation type="obsolete">Zavřít ostatní</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="554"/>
+        <location filename="Helpviewer/HelpWindow.py" line="556"/>
         <source>F5</source>
         <comment>Go|Reload</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="569"/>
+        <location filename="Helpviewer/HelpWindow.py" line="571"/>
         <source>Stop</source>
         <translation>Zastavit</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="569"/>
+        <location filename="Helpviewer/HelpWindow.py" line="571"/>
         <source>&amp;Stop</source>
         <translation>Za&amp;stavit</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="569"/>
+        <location filename="Helpviewer/HelpWindow.py" line="571"/>
         <source>Ctrl+.</source>
         <comment>Go|Stop</comment>
         <translation>Ctrl+.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="569"/>
+        <location filename="Helpviewer/HelpWindow.py" line="571"/>
         <source>Esc</source>
         <comment>Go|Stop</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="575"/>
+        <location filename="Helpviewer/HelpWindow.py" line="577"/>
         <source>Stop loading</source>
         <translation>Zastavit načítání</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="576"/>
+        <location filename="Helpviewer/HelpWindow.py" line="578"/>
         <source>&lt;b&gt;Stop&lt;/b&gt;&lt;p&gt;Stops loading of the current tab.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zastavit&lt;/b&gt;&lt;p&gt;Zastavit načítání aktuálního tabu.&lt;/p&gt;</translation>
     </message>
@@ -13976,108 +14162,108 @@
         <translation type="obsolete">Duplikovat stranu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="365"/>
+        <location filename="Helpviewer/HelpWindow.py" line="367"/>
         <source>Save As </source>
         <translation>Uložit jako </translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="365"/>
+        <location filename="Helpviewer/HelpWindow.py" line="367"/>
         <source>&amp;Save As...</source>
         <translation>Uložit j&amp;ako...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="365"/>
+        <location filename="Helpviewer/HelpWindow.py" line="367"/>
         <source>Shift+Ctrl+S</source>
         <comment>File|Save As</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="370"/>
-        <source>Save the current page to disk</source>
-        <translation>Uložit aktuální stranu na disk</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="372"/>
+        <source>Save the current page to disk</source>
+        <translation>Uložit aktuální stranu na disk</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="374"/>
         <source>&lt;b&gt;Save As...&lt;/b&gt;&lt;p&gt;Saves the current page to disk.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit jako...&lt;/b&gt;&lt;p&gt;Uložit aktuální stranu na disk.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1481"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1498"/>
         <source>Eric Web Browser</source>
         <translation>Eric web prohlížeč</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1472"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1489"/>
         <source>&lt;h3&gt;About Eric Web Browser&lt;/h3&gt;&lt;p&gt;The Eric Web Browser is a combined help file and HTML browser.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;O Eric web prohlížeči&lt;/h3&gt;&lt;p&gt;Eric web prohlížeč je kombinace souboru nápovědy a HTML prohlížeče.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="496"/>
+        <location filename="Helpviewer/HelpWindow.py" line="498"/>
         <source>Quit the web browser</source>
         <translation>Ukončit web prohlížeč</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="497"/>
+        <location filename="Helpviewer/HelpWindow.py" line="499"/>
         <source>&lt;b&gt;Quit&lt;/b&gt;&lt;p&gt;Quit the web browser.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ukončit&lt;/b&gt;&lt;p&gt;Ukončit web prohlížeč.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1023"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1025"/>
         <source>Configure Search Engines</source>
         <translation>Konfigurovat vyhledávací enginy</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1027"/>
-        <source>Configure the available search engines</source>
-        <translation>Konfigurovat dostupné vyhledávací enginy</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="1029"/>
+        <source>Configure the available search engines</source>
+        <translation>Konfigurovat dostupné vyhledávací enginy</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1031"/>
         <source>&lt;b&gt;Configure Search Engines...&lt;/b&gt;&lt;p&gt;Opens a dialog to configure the available search engines.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Konfigurivat vyhledávací enginy...&lt;/b&gt;&lt;p&gt;Otevře dialog pro konfiguraci dostupných vyhledávacích enginů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1037"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1039"/>
         <source>Manage Saved Passwords</source>
         <translation>Spravovat uložená hesla</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1037"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1039"/>
         <source>Manage Saved Passwords...</source>
         <translation>Spravovat uložená hesla...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1041"/>
-        <source>Manage the saved passwords</source>
-        <translation>Spravovat vaše uložená hesla</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="1043"/>
+        <source>Manage the saved passwords</source>
+        <translation>Spravovat vaše uložená hesla</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1045"/>
         <source>&lt;b&gt;Manage Saved Passwords...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved passwords.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Spravovat uložená hesla...&lt;/b&gt;&lt;p&gt;Otevře dialog pro spravování uložených hesel.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1051"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1053"/>
         <source>Ad Block</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1051"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1053"/>
         <source>&amp;Ad Block...</source>
         <translation>&amp;Ad Block...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1055"/>
-        <source>Configure AdBlock subscriptions and rules</source>
-        <translation>Konfigurovat AdBlock odebírání a pravidla</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="1057"/>
+        <source>Configure AdBlock subscriptions and rules</source>
+        <translation>Konfigurovat AdBlock odebírání a pravidla</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1059"/>
         <source>&lt;b&gt;Ad Block...&lt;/b&gt;&lt;p&gt;Opens a dialog to configure AdBlock subscriptions and rules.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ad Block...&lt;/b&gt;&lt;p&gt;Otevře dialog pro konfiguraci AdBlock odebírání a pravidel.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2092"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2115"/>
         <source>eric5 Web Browser</source>
         <translation>eric5 web prohlížeč</translation>
     </message>
@@ -14087,52 +14273,52 @@
         <translation type="obsolete">Načtení selhalo</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="423"/>
+        <location filename="Helpviewer/HelpWindow.py" line="425"/>
         <source>Print as PDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="427"/>
+        <location filename="Helpviewer/HelpWindow.py" line="429"/>
         <source>Print the displayed help as PDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="428"/>
+        <location filename="Helpviewer/HelpWindow.py" line="430"/>
         <source>&lt;b&gt;Print as PDF&lt;/b&gt;&lt;p&gt;Print the displayed help text as a PDF file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="890"/>
+        <location filename="Helpviewer/HelpWindow.py" line="892"/>
         <source>Offline Storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="890"/>
+        <location filename="Helpviewer/HelpWindow.py" line="892"/>
         <source>Offline &amp;Storage...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="893"/>
-        <source>Configure offline storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="895"/>
+        <source>Configure offline storage</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="897"/>
         <source>&lt;b&gt;Offline Storage&lt;/b&gt;&lt;p&gt;Opens a dialog to configure offline storage.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1023"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1025"/>
         <source>Configure Search &amp;Engines...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1721"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1744"/>
         <source>&lt;b&gt;Are you sure you want to turn on private browsing?&lt;/b&gt;&lt;p&gt;When private browsing is turned on, web pages are not added to the history, searches are not added to the list of recent searches and web site icons and cookies are not stored. HTML5 offline storage will be deactivated. Until you close the window, you can still click the Back and Forward buttons to return to the web pages you have opened.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1140"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1155"/>
         <source>Text Encoding</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14142,45 +14328,60 @@
         <translation type="obsolete">Výchozí</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1190"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1205"/>
         <source>User Agent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2404"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2449"/>
         <source>ISO</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2405"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2450"/>
         <source>Windows</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2406"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2451"/>
         <source>ISCII</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2407"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2452"/>
         <source>Unicode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2408"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2453"/>
         <source>Other</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2409"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2454"/>
         <source>IBM</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2431"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2476"/>
         <source>Default Encoding</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1080"/>
+        <source>Downloads</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1083"/>
+        <source>Shows the downloads window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1085"/>
+        <source>&lt;b&gt;Downloads&lt;/b&gt;&lt;p&gt;Shows the downloads window.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Hg</name>
@@ -19438,27 +19639,27 @@
 <context>
     <name>JavaScriptEricObject</name>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="85"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="84"/>
         <source>Welcome to Eric Web Browser!</source>
         <translation>Vítejte v Eric web prohlížeči!</translation>
     </message>
     <message>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="85"/>
+        <source>Eric Web Browser</source>
+        <translation>Eric web prohlížeč</translation>
+    </message>
+    <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="86"/>
-        <source>Eric Web Browser</source>
-        <translation>Eric web prohlížeč</translation>
+        <source>Search!</source>
+        <translation>Hledat!</translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="87"/>
-        <source>Search!</source>
-        <translation>Hledat!</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="88"/>
         <source>About Eric</source>
         <translation>O Erikovi</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="126"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="125"/>
         <source>Search results provided by {0}</source>
         <translation>Výsledek vyhledávání dodaný od {0}</translation>
     </message>
@@ -21838,47 +22039,47 @@
 <context>
     <name>NetworkAccessManager</name>
     <message>
-        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="213"/>
+        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="214"/>
         <source>SSL Errors</source>
         <translation>SSL chyby</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="226"/>
+        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="227"/>
         <source>Certificates</source>
         <translation>Certifikáty</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="165"/>
+        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="166"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;&lt;/b&gt;</source>
         <translation>&lt;b&gt;Zadejte uživatelské jméno a heslo pro &apos;{0}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="168"/>
+        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="169"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</source>
         <translation>&lt;b&gt;Zadejte uživatelské jméno a heslo pro {0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="213"/>
+        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="214"/>
         <source>&lt;p&gt;SSL Errors for &lt;br /&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Do you want to ignore these errors?&lt;/p&gt;</source>
         <translation>&lt;p&gt;SSL chyby pro &lt;br /&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Chcete tyto chyby ignorovat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="226"/>
+        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="227"/>
         <source>&lt;p&gt;Certificates:&lt;br/&gt;{0}&lt;br/&gt;Do you want to accept all these certificates?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Certifikáty:&lt;br/&gt;{0}&lt;br/&gt;Chcete akceptovat všechny certifikáty?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="261"/>
+        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="262"/>
         <source>&lt;br/&gt;Issuer: {0}</source>
         <translation>&lt;br/&gt;Vydatavel: {0}</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="264"/>
+        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="265"/>
         <source>&lt;br/&gt;Not valid before: {0}&lt;br/&gt;Valid Until: {1}</source>
         <translation>&lt;br/&gt;Neplatný před: {0}&lt;br/&gt;Platný do: {1}</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="271"/>
+        <location filename="Helpviewer/Network/NetworkAccessManager.py" line="272"/>
         <source>&lt;br/&gt;Alternate Names:&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;br/&gt;Alternativní jména:&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
@@ -21891,133 +22092,173 @@
         <translation>&lt;b&gt;Konfigurovat siť&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="39"/>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="45"/>
         <source>Download directory:</source>
         <translation>Download adresář:</translation>
     </message>
     <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="46"/>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="52"/>
         <source>Enter the download directory (leave empty to use the default location)</source>
         <translation>Zadejte download adresář (ponechte prázdné pro výchozí lokaci)</translation>
     </message>
     <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="53"/>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="59"/>
         <source>Select the download directory via a directory selection dialog</source>
         <translation>Vybrat adresář pro download přes dialog výběru adresáře</translation>
     </message>
     <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="56"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="75"/>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="62"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="123"/>
         <source>Select to use a web proxy</source>
         <translation>Výběr použití web proxy</translation>
     </message>
     <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="78"/>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="126"/>
         <source>Use network proxy</source>
         <translation>Použít síťovou proxy</translation>
     </message>
     <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.py" line="96"/>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.py" line="112"/>
         <source>Select download directory</source>
         <translation>Vybrat adresář pro download</translation>
     </message>
     <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="65"/>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="71"/>
         <source>Select to ask the user for a download filename</source>
         <translation>Vybrat pro požádání uživatele aby si stáhnul soubor s názvem</translation>
     </message>
     <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="68"/>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="74"/>
         <source>Request name of downloaded file</source>
         <translation>Požádat o jméno souboru ke stažení</translation>
     </message>
     <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="138"/>
+        <source>Select to use the system proxy configuration</source>
+        <translation>Zvolte, chccete-li použít systémovou proxy konfiguraci</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="141"/>
+        <source>Use system proxy configuration</source>
+        <translation>Použít systémouvou proxy konfiguraci</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="151"/>
+        <source>Select to use an application specific proxy configuration</source>
+        <translation>Zvolte pro použití proxy konfigurace konkrétní aplikace</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="154"/>
+        <source>Manual proxy configuration:</source>
+        <translation>Ruční proxy konfigurace:</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="167"/>
+        <source>Manual proxy settings</source>
+        <translation>Ruční proxy nastavení</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="176"/>
+        <source>Http-Proxy:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="183"/>
+        <source>Enter the name of the HTTP proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="280"/>
+        <source>Port:</source>
+        <translation type="unfinished">Port:</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="197"/>
+        <source>Enter the HTTP proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="216"/>
+        <source>Select to use the HTTP proxy for all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="219"/>
+        <source>Use this proxy for all protocols</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="226"/>
+        <source>Https-Proxy:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="233"/>
+        <source>Enter the name of the HTTPS proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="247"/>
+        <source>Enter the HTTPS proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="266"/>
+        <source>Ftp-Proxy:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="273"/>
+        <source>Enter the name of the FTP proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="287"/>
+        <source>Enter the FTP proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="37"/>
+        <source>Downloads</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="81"/>
+        <source>Download Manager Cleanup Policy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="87"/>
+        <source>Select to never cleanup automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="90"/>
-        <source>Select to use the system proxy configuration</source>
-        <translation>Zvolte, chccete-li použít systémovou proxy konfiguraci</translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="93"/>
-        <source>Use system proxy configuration</source>
-        <translation>Použít systémouvou proxy konfiguraci</translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="103"/>
-        <source>Select to use an application specific proxy configuration</source>
-        <translation>Zvolte pro použití proxy konfigurace konkrétní aplikace</translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="106"/>
-        <source>Manual proxy configuration:</source>
-        <translation>Ruční proxy konfigurace:</translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="119"/>
-        <source>Manual proxy settings</source>
-        <translation>Ruční proxy nastavení</translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="128"/>
-        <source>Http-Proxy:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="135"/>
-        <source>Enter the name of the HTTP proxy host</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="232"/>
-        <source>Port:</source>
-        <translation type="unfinished">Port:</translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="149"/>
-        <source>Enter the HTTP proxy port</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="168"/>
-        <source>Select to use the HTTP proxy for all</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="171"/>
-        <source>Use this proxy for all protocols</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="178"/>
-        <source>Https-Proxy:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="185"/>
-        <source>Enter the name of the HTTPS proxy host</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="199"/>
-        <source>Enter the HTTPS proxy port</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="218"/>
-        <source>Ftp-Proxy:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="225"/>
-        <source>Enter the name of the FTP proxy host</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="239"/>
-        <source>Enter the FTP proxy port</source>
+        <source>Never</source>
+        <translation type="unfinished">Nikdy</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="97"/>
+        <source>Select to cleanup upon exiting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="100"/>
+        <source>When exiting the application</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="107"/>
+        <source>Select to cleanup after a successful download</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/NetworkPage.ui" line="110"/>
+        <source>When download finished successfully</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -23376,12 +23617,12 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="876"/>
+        <location filename="Preferences/__init__.py" line="878"/>
         <source>Export Preferences</source>
         <translation>Předvolby exportu</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="895"/>
+        <location filename="Preferences/__init__.py" line="897"/>
         <source>Import Preferences</source>
         <translation>Předvolby importu</translation>
     </message>
Binary file i18n/eric5_de.qm has changed
--- a/i18n/eric5_de.ts	Sun Oct 10 11:25:46 2010 +0200
+++ b/i18n/eric5_de.ts	Sun Oct 10 21:12:43 2010 +0200
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="de">
+<!DOCTYPE TS><TS version="1.1" language="de">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -1578,8 +1577,8 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="139"/>
-        <source>Open in New &amp;Tab	Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
+        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="145"/>
@@ -1629,7 +1628,7 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksToolBar.py" line="72"/>
-        <source>Open in New &amp;Tab	Ctrl+LMB</source>
+        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
         <translation>In neuem &amp;Register öffnen\tStrg+LMK</translation>
     </message>
 </context>
@@ -5348,104 +5347,188 @@
         <translation>Offen lassen nach Fertigstellung</translation>
     </message>
     <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="50"/>
-        <source>Try Again</source>
-        <translation>Nochmals versuchen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="53"/>
-        <source>Stop</source>
-        <translation>Anhalten</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="148"/>
-        <source>Save File</source>
-        <translation>Datei speichern</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="159"/>
-        <source>Download canceled: {0}</source>
-        <translation>Download abgebrochen: {0}</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="272"/>
-        <source>Error opening save file: {0}</source>
-        <translation>Fehler beim Öffnen der zu speichernden Datei: {0}</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="279"/>
-        <source>Error saving: {0}</source>
-        <translation>Fehler beim Speichern: {0}</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="296"/>
-        <source>Network Error: {0}</source>
-        <translation>Netzwerkfehler: {0}</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="361"/>
-        <source>{0} of {1} ({2}/sec) {3}</source>
-        <translation>{0} von {1} ({2}/s) {3}</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="362"/>
-        <source>?</source>
-        <translation>?</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="370"/>
-        <source>{0} downloaded</source>
-        <translation>{0} heruntergeladen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="373"/>
-        <source>{0} of {1} - Stopped</source>
-        <translation>{0} von {1} - Angehalten</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="387"/>
-        <source>bytes</source>
-        <translation>Bytes</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="390"/>
-        <source>kB</source>
-        <translation>kB</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="393"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="130"/>
-        <source>Downloading</source>
-        <translation>Download</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="130"/>
-        <source>&lt;p&gt;You are about to download the file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;What do you want to do?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Sie sind dabei, die Datei &lt;b&gt;{0}&lt;/b&gt; herunterzuladen.&lt;/p&gt;&lt;p&gt;Was wollen sie tun?&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/DownloadDialog.ui" line="14"/>
         <source>Eric5 Download</source>
         <translation>Eric5 Download</translation>
     </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="352"/>
-        <source>- {0}:{1:02} minutes remaining</source>
-        <translation>- {0}:{1:02} Minuten verbleiben</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="359"/>
-        <source>- {0} seconds remaining</source>
-        <translation>- {0} Sekunden verbleiben</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/DownloadDialog.py" line="46"/>
-        <source>Eric5 Download {0}</source>
-        <translation>Eric5 Download {0}</translation>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="23"/>
+        <source>Icon</source>
+        <translation>Symbol</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="32"/>
+        <source>Filename</source>
+        <translation>Dateiname</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="42"/>
+        <source>Info</source>
+        <translation>Info</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="51"/>
+        <source>Press to repeat the download</source>
+        <translation>Drücken, um den Download zu wiederholen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="74"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="61"/>
+        <source>Press to cancel the download</source>
+        <translation>Drücken, um den Download abzubrechen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.ui" line="71"/>
+        <source>Press to open the downloaded file</source>
+        <translation>Drücken, um die geladenen Datei zu öffnen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="135"/>
+        <source>Downloading</source>
+        <translation>Download</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="135"/>
+        <source>&lt;p&gt;You are about to download the file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;What do you want to do?&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Sie sind dabei, die Datei &lt;b&gt;{0}&lt;/b&gt; herunterzuladen.&lt;/p&gt;&lt;p&gt;Was wollen sie tun?&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="168"/>
+        <source>Download canceled: {0}</source>
+        <translation>Download abgebrochen: {0}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="158"/>
+        <source>Save File</source>
+        <translation>Datei speichern</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="185"/>
+        <source>Download directory ({0}) couldn&apos;t be created.</source>
+        <translation>Das Downloadverzeichnis ({0}) konnte nicht erzeugt werden.</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="295"/>
+        <source>Error opening save file: {0}</source>
+        <translation>Fehler beim Öffnen der zu speichernden Datei: {0}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="304"/>
+        <source>Error saving: {0}</source>
+        <translation>Fehler beim Speichern: {0}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="316"/>
+        <source>Network Error: {0}</source>
+        <translation>Netzwerkfehler: {0}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="415"/>
+        <source>{0} of {1} ({2}/sec) - {3}</source>
+        <translation>{0} von {1} ({2}/s) - {3}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="416"/>
+        <source>?</source>
+        <translation>?</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="424"/>
+        <source>{0} downloaded</source>
+        <translation>{0} heruntergeladen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadItem.py" line="427"/>
+        <source>{0} of {1} - Stopped</source>
+        <translation>{0} von {1} - Angehalten</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="Helpviewer/Download/DownloadManager.ui" line="14"/>
+        <source>Downloads</source>
+        <translation>Downloads</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadManager.ui" line="31"/>
+        <source>Press to clean up the list of downloads</source>
+        <translation>Drücken, um die Liste der Downloads zu löschen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadManager.ui" line="34"/>
+        <source>Clean up</source>
+        <translation>Aufräumen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadManager.ui" line="56"/>
+        <source>0 Items</source>
+        <translation>0 Einträge</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="Helpviewer/Download/DownloadManager.py" line="292"/>
+        <source>%n Download(s)</source>
+        <translation>
+            <numerusform>1 Download</numerusform>
+            <numerusform>%n Downloads</numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <location filename="Helpviewer/Download/DownloadManager.py" line="91"/>
+        <source>There are %n downloads in progress.
+Do you want to quit anyway?</source>
+        <translation>
+            <numerusform>Es läuft ein Download.
+Wollen sie trotzdem abbrechen?</numerusform>
+            <numerusform>Es laufen %n Downloads.
+Wollen sie trotzdem abbrechen?</numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>DownloadUtilities</name>
+    <message numerus="yes">
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="23"/>
+        <source>%n seconds remaining</source>
+        <translation>
+            <numerusform>1 Sekunde verbleibt</numerusform>
+            <numerusform>%n Sekunden verbleiben</numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="37"/>
+        <source>Bytes</source>
+        <translation>Bytes</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="40"/>
+        <source>KiB</source>
+        <translation>KiB</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="43"/>
+        <source>MiB</source>
+        <translation>MiB</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="46"/>
+        <source>GiB</source>
+        <translation>GiB</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="Helpviewer/Download/DownloadUtilities.py" line="18"/>
+        <source>%n:{0:02} minutes remaining</source>
+        <translation>
+            <numerusform>%n:{0:02} Minute verbleibt</numerusform>
+            <numerusform>%n:{0:02} Minuten verbleiben</numerusform>
+        </translation>
     </message>
 </context>
 <context>
@@ -11587,17 +11670,17 @@
 <context>
     <name>HelpBrowser</name>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="580"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="579"/>
         <source>&lt;p&gt;Could not start a viewer for file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Es konnte kein Betrachter für die Datei &lt;b&gt;{0}&lt;/b&gt; gestartet werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="764"/>
-        <source>Open Link in New Tab	Ctrl+LMB</source>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="763"/>
+        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
         <translation>Link in neuem Fenster öffnen\tStrg+LMK</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="542"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="541"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; does not exist.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert nicht.&lt;/p&gt;</translation>
     </message>
@@ -11607,167 +11690,167 @@
         <translation>&lt;b&gt;Hilfe Fenster&lt;/b&gt;&lt;p&gt;Dieses Fenster zeigt die ausgewählte Hilfe an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="833"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="832"/>
         <source>Web Inspector...</source>
         <translation>Web Inspektor...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1192"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1179"/>
         <source>Error loading page: {0}</source>
         <translation>Fehler beim Laden von: {0}</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>When connecting to: {0}.</source>
         <translation>Beim Verbinden zu: {0}.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>Check the address for errors such as &lt;b&gt;ww&lt;/b&gt;.example.org instead of &lt;b&gt;www&lt;/b&gt;.example.org</source>
         <translation>Überprüfen Sie die Adresse auf Fehler wie &lt;b&gt;ww&lt;/b&gt;.example.org statt &lt;b&gt;www&lt;/b&gt;.example.org</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>If the address is correct, try checking the network connection.</source>
         <translation>Falls die Adresse stimmt, versuchen Sie, die Netzwerkverbindung zu überprüfen.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network.</source>
         <translation>Wenn Ihr Computer oder Ihr Netzwerk durch eine Firewall oder einen Proxy geschützt ist, stellen Sie sicher, dass der Browser auf das Netzwerk zugreifen darf.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="562"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="561"/>
         <source>&lt;p&gt;Could not start an application for URL &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Es konnte keine Anwendung für die URL &lt;b&gt;{0}&lt;/b&gt; gestartet werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="797"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="796"/>
         <source>Bookmark this Page</source>
         <translation>Lesezeichen für diese Seite hinzufügen</translation>
     </message>
     <message>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="767"/>
+        <source>Save Lin&amp;k</source>
+        <translation>Lin&amp;k speichern</translation>
+    </message>
+    <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="768"/>
-        <source>Save Lin&amp;k</source>
-        <translation>Lin&amp;k speichern</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="769"/>
         <source>Bookmark this Link</source>
         <translation>Lesezeichen für diesen Link hinzufügen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="772"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="771"/>
         <source>Copy Link to Clipboard</source>
         <translation>Link in die Zwischenablage kopieren</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="777"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="776"/>
         <source>Open Image in New Tab</source>
         <translation>Bild in neuem Register öffnen</translation>
     </message>
     <message>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="780"/>
+        <source>Save Image</source>
+        <translation>Bild speichern</translation>
+    </message>
+    <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="781"/>
-        <source>Save Image</source>
-        <translation>Bild speichern</translation>
+        <source>Copy Image to Clipboard</source>
+        <translation>Bild in die Zwischenablage kopieren</translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="782"/>
-        <source>Copy Image to Clipboard</source>
-        <translation>Bild in die Zwischenablage kopieren</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="783"/>
         <source>Copy Image Location to Clipboard</source>
         <translation>Bildadresse in die Zwischenablage kopieren</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="580"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="579"/>
         <source>Web Browser</source>
         <translation>Web-Browser</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="787"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="786"/>
         <source>Block Image</source>
         <translation>Bild blockieren</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="811"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="810"/>
         <source>Search with...</source>
         <translation>Suchen mit...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1252"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1228"/>
         <source>Web Database Quota</source>
         <translation>Webdatenbankquota</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1252"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1228"/>
         <source>&lt;p&gt;The database quota of &lt;strong&gt;{0}&lt;/strong&gt; has been exceeded while accessing database &lt;strong&gt;{1}&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Shall it be changed?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Datenbankquota von &lt;strong&gt;{0}&lt;/strong&gt; wurde beim Zugriff auf die Datenbank &lt;strong&gt;{1}&lt;/strong&gt; überschritten.&lt;/p&gt;&lt;p&gt;Soll es geändert werden?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1260"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1236"/>
         <source>New Web Database Quota</source>
         <translation>Neues Datenbankquota</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1280"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1256"/>
         <source>bytes</source>
         <translation>Bytes</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1283"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1259"/>
         <source>kB</source>
         <translation>kB</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1286"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1262"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1260"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1236"/>
         <source>Enter the new quota in MB (current = {0}, used = {1}; step size = 5 MB):</source>
         <translation>Gib das neue Quota in MB ein (aktuell = {0}, verbraucht = {1}; Schrittweite = 5 MB):</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="828"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="827"/>
         <source>Add to web search toolbar</source>
         <translation>Zur Websuchleiste hinzufügen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="941"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="940"/>
         <source>Method not supported</source>
         <translation>Methode nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="941"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="940"/>
         <source>{0} method is not supported.</source>
         <translation>{0} Methode wird nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="983"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="982"/>
         <source>Search engine</source>
         <translation>Suchmaschine</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="983"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="982"/>
         <source>Choose the desired search engine</source>
         <translation>Wähle die gewünschte Suchmaschine aus</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1000"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="999"/>
         <source>Engine name</source>
         <translation>Suchmaschinenname</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1000"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="999"/>
         <source>Enter a name for the engine</source>
         <translation>Gib einen Namen für die Suchmaschine ein</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpBrowserWV.py" line="1201"/>
+        <location filename="Helpviewer/HelpBrowserWV.py" line="1188"/>
         <source>If your cache policy is set to offline browsing,only pages in the local cache are available.</source>
         <translation>Wenn die Zwischenspeicher-Regelung auf Offline-Browsing steht, sind nur Seiten im lokalen Zwischenspeicher verfügbar.</translation>
     </message>
@@ -11800,54 +11883,64 @@
         <translation>&amp;Such-Chronik</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="75"/>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="88"/>
         <source>Select to clear the website icons</source>
         <translation>Auswählen, um die Website Icons zu löschen</translation>
     </message>
     <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="91"/>
+        <source>Website &amp;Icons</source>
+        <translation>Website &amp;Icons</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="75"/>
+        <source>Select to clear the disk cache</source>
+        <translation>Auswählen, um den Offline-Speicher zu löschen</translation>
+    </message>
+    <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="78"/>
-        <source>Website &amp;Icons</source>
-        <translation>Website &amp;Icons</translation>
+        <source>Cached &amp;Web Pages</source>
+        <translation>Ge&amp;pufferte Web-Seiten</translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="62"/>
-        <source>Select to clear the disk cache</source>
-        <translation>Auswählen, um den Offline-Speicher zu löschen</translation>
+        <source>Select to clear the cookies</source>
+        <translation>Auswählen, um die Cookies zu löschen</translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="65"/>
-        <source>Cached &amp;Web Pages</source>
-        <translation>Ge&amp;pufferte Web-Seiten</translation>
+        <source>&amp;Cookies</source>
+        <translation>&amp;Cookies</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="101"/>
+        <source>Select to clear the saved passwords</source>
+        <translation>Auswählen, um die gespeicherten Passwörter zu löschen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="104"/>
+        <source>Saved &amp;Passwords</source>
+        <translation>Gespeicherte &amp;Passwörter</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="114"/>
+        <source>Select to delete all web databases</source>
+        <translation>Auswählen, um alle Webdatenbanken zu löschen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="117"/>
+        <source>Web &amp;Databases</source>
+        <translation>&amp;Webdatenbanken</translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="49"/>
-        <source>Select to clear the cookies</source>
-        <translation>Auswählen, um die Cookies zu löschen</translation>
+        <source>Select to clear the download history</source>
+        <translation>Auswählen, um die Download-Chronik zu löschen</translation>
     </message>
     <message>
         <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="52"/>
-        <source>&amp;Cookies</source>
-        <translation>&amp;Cookies</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="88"/>
-        <source>Select to clear the saved passwords</source>
-        <translation>Auswählen, um die gespeicherten Passwörter zu löschen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="91"/>
-        <source>Saved &amp;Passwords</source>
-        <translation>Gespeicherte &amp;Passwörter</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="101"/>
-        <source>Select to delete all web databases</source>
-        <translation>Auswählen, um alle Webdatenbanken zu löschen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpClearPrivateDataDialog.ui" line="104"/>
-        <source>Web &amp;Databases</source>
-        <translation>&amp;Webdatenbanken</translation>
+        <source>Download History</source>
+        <translation>Download Chronik</translation>
     </message>
 </context>
 <context>
@@ -12700,1412 +12793,1427 @@
 <context>
     <name>HelpWindow</name>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1444"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1461"/>
         <source>Open File</source>
         <translation>Datei öffnen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="334"/>
+        <location filename="Helpviewer/HelpWindow.py" line="336"/>
         <source>&amp;Open File</source>
         <translation>Datei &amp;öffnen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="339"/>
+        <location filename="Helpviewer/HelpWindow.py" line="341"/>
         <source>Open a help file for display</source>
         <translation>Öffnet eine Hilfedatei zur Anzeige</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="340"/>
+        <location filename="Helpviewer/HelpWindow.py" line="342"/>
         <source>&lt;b&gt;Open File&lt;/b&gt;&lt;p&gt;This opens a new help file for display. It pops up a file selection dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Datei öffnen&lt;/b&gt;&lt;p&gt;Dies öffnet eine neue Hilfedatei zur Anzeige. Es wird zunächst ein Dateiauswahldialog angezeigt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="409"/>
+        <location filename="Helpviewer/HelpWindow.py" line="411"/>
         <source>&amp;Print</source>
         <translation>&amp;Drucken</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="414"/>
+        <location filename="Helpviewer/HelpWindow.py" line="416"/>
         <source>Print the displayed help</source>
         <translation>Druckt die angezeigte Hilfe</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="415"/>
+        <location filename="Helpviewer/HelpWindow.py" line="417"/>
         <source>&lt;b&gt;Print&lt;/b&gt;&lt;p&gt;Print the displayed help text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Drucken&lt;/b&gt;&lt;p&gt;Druckt den angezeigten Hilfetext.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="450"/>
+        <location filename="Helpviewer/HelpWindow.py" line="452"/>
         <source>&amp;Close</source>
         <translation>Schl&amp;ießen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="455"/>
+        <location filename="Helpviewer/HelpWindow.py" line="457"/>
         <source>Close the current help window</source>
         <translation>Schließt das aktuelle Fenster</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="508"/>
+        <location filename="Helpviewer/HelpWindow.py" line="510"/>
         <source>&amp;Backward</source>
         <translation>&amp;Zurück</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="515"/>
+        <location filename="Helpviewer/HelpWindow.py" line="517"/>
         <source>&lt;b&gt;Backward&lt;/b&gt;&lt;p&gt;Moves one help screen backward. If none is available, this action is disabled.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zurück&lt;/b&gt;&lt;p&gt;Bewegt die Hilfeanzeige rückwärts. Falls keine Anzeige möglich ist, ist diese Aktion inaktiv.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="524"/>
+        <location filename="Helpviewer/HelpWindow.py" line="526"/>
         <source>&amp;Forward</source>
         <translation>&amp;Vorwärts</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="530"/>
+        <location filename="Helpviewer/HelpWindow.py" line="532"/>
         <source>Move one help screen forward</source>
         <translation>Eine Hilfeseite vorwärts</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="531"/>
+        <location filename="Helpviewer/HelpWindow.py" line="533"/>
         <source>&lt;b&gt;Forward&lt;/b&gt;&lt;p&gt;Moves one help screen forward. If none is available, this action is disabled.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vorwärts&lt;/b&gt;&lt;p&gt;Bewegt die Hilfeanzeige vorwärts. Falls keine Anzeige möglich ist, ist diese Aktion inaktiv.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="540"/>
+        <location filename="Helpviewer/HelpWindow.py" line="542"/>
         <source>&amp;Home</source>
         <translation>&amp;Anfang</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="545"/>
+        <location filename="Helpviewer/HelpWindow.py" line="547"/>
         <source>Move to the initial help screen</source>
         <translation>Zur ersten Hilfeseite</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="546"/>
+        <location filename="Helpviewer/HelpWindow.py" line="548"/>
         <source>&lt;b&gt;Home&lt;/b&gt;&lt;p&gt;Moves to the initial help screen.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Anfang&lt;/b&gt;&lt;p&gt;Zeigt die erste Hilfeseite an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="702"/>
+        <location filename="Helpviewer/HelpWindow.py" line="704"/>
         <source>Context sensitive help</source>
         <translation>Kontextsensitive Hilfe</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="703"/>
+        <location filename="Helpviewer/HelpWindow.py" line="705"/>
         <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What&apos;s This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zeige kontextsensitive Hilfe an&lt;b&gt;&lt;/p&gt;Im &quot;Was ist das?&quot; Mode (der Mauszeiger stellt einen Pfeil mit Fragezeichen dar) wird auf einen Mausklick eine kurze Hilfebeschreibung zu dem ausgewählten MMI-Element angezeigt. In Dialogen kann diese Funktionalität durch den entsprechenden Knopf im Fensterkopf erreicht werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="715"/>
+        <location filename="Helpviewer/HelpWindow.py" line="717"/>
         <source>&amp;About</source>
         <translation>&amp;Über</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="718"/>
+        <location filename="Helpviewer/HelpWindow.py" line="720"/>
         <source>Display information about this software</source>
         <translation>Zeigt Informationen zu diesem Programm an</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="727"/>
+        <location filename="Helpviewer/HelpWindow.py" line="729"/>
         <source>About &amp;Qt</source>
         <translation>Über &amp;Qt</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="730"/>
-        <source>Display information about the Qt toolkit</source>
-        <translation>Zeige Informationen über das Qt Toolkit an</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1098"/>
-        <source>&amp;File</source>
-        <translation>&amp;Datei</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1145"/>
-        <source>&amp;Go</source>
-        <translation>&amp;Gehe zu</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1165"/>
-        <source>&amp;Bookmarks</source>
-        <translation>&amp;Lesezeichen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1212"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hilfe</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="514"/>
-        <source>Move one help screen backward</source>
-        <translation>Eine Hilfeseite zurück</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="719"/>
-        <source>&lt;b&gt;About&lt;/b&gt;&lt;p&gt;Display some information about this software.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Über&lt;/b&gt;&lt;p&gt;Zeigt einige Informationen über dieses Programm an.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="732"/>
+        <source>Display information about the Qt toolkit</source>
+        <translation>Zeige Informationen über das Qt Toolkit an</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1113"/>
+        <source>&amp;File</source>
+        <translation>&amp;Datei</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1160"/>
+        <source>&amp;Go</source>
+        <translation>&amp;Gehe zu</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1180"/>
+        <source>&amp;Bookmarks</source>
+        <translation>&amp;Lesezeichen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1229"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="516"/>
+        <source>Move one help screen backward</source>
+        <translation>Eine Hilfeseite zurück</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="721"/>
+        <source>&lt;b&gt;About&lt;/b&gt;&lt;p&gt;Display some information about this software.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Über&lt;/b&gt;&lt;p&gt;Zeigt einige Informationen über dieses Programm an.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="734"/>
         <source>&lt;b&gt;About Qt&lt;/b&gt;&lt;p&gt;Display some information about the Qt toolkit.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Über Qt&lt;/b&gt;&lt;p&gt;Zeige informationen über das Qt Toolkit an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="745"/>
+        <location filename="Helpviewer/HelpWindow.py" line="747"/>
         <source>Zoom in on the text</source>
         <translation>Text vergrößern</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="759"/>
+        <location filename="Helpviewer/HelpWindow.py" line="761"/>
         <source>Zoom out on the text</source>
         <translation>Text verkleinern</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="584"/>
+        <location filename="Helpviewer/HelpWindow.py" line="586"/>
         <source>&amp;Copy</source>
         <translation>&amp;Kopieren</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="589"/>
+        <location filename="Helpviewer/HelpWindow.py" line="591"/>
         <source>Copy the selected text</source>
         <translation>Kopiert den ausgewählten Text</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="590"/>
+        <location filename="Helpviewer/HelpWindow.py" line="592"/>
         <source>&lt;b&gt;Copy&lt;/b&gt;&lt;p&gt;Copy the selected text to the clipboard.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Kopieren&lt;/b&gt;&lt;p&gt;Kopiert den ausgewählten Text in die Zwischenablage.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1121"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1136"/>
         <source>&amp;Edit</source>
         <translation>&amp;Bearbeiten</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1129"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1144"/>
         <source>&amp;View</source>
         <translation>&amp;Ansicht</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="491"/>
+        <location filename="Helpviewer/HelpWindow.py" line="493"/>
         <source>&amp;Quit</source>
         <translation>B&amp;eenden</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="697"/>
+        <location filename="Helpviewer/HelpWindow.py" line="699"/>
         <source>&amp;What&apos;s This?</source>
         <translation>&amp;Was ist das?</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="740"/>
+        <location filename="Helpviewer/HelpWindow.py" line="742"/>
         <source>Zoom &amp;in</source>
         <translation>Ver&amp;größern</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="746"/>
+        <location filename="Helpviewer/HelpWindow.py" line="748"/>
         <source>&lt;b&gt;Zoom in&lt;/b&gt;&lt;p&gt;Zoom in on the text. This makes the text bigger.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vergrößern&lt;/b&gt;&lt;p&gt;Den angezeigten Text vergrößern.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="754"/>
+        <location filename="Helpviewer/HelpWindow.py" line="756"/>
         <source>Zoom &amp;out</source>
         <translation>Ver&amp;kleinern</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="760"/>
+        <location filename="Helpviewer/HelpWindow.py" line="762"/>
         <source>&lt;b&gt;Zoom out&lt;/b&gt;&lt;p&gt;Zoom out on the text. This makes the text smaller.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Verkleinern&lt;/b&gt;&lt;p&gt;Den angezeigten Text verkleinern.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1158"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1173"/>
         <source>H&amp;istory</source>
         <translation>H&amp;istory</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="554"/>
+        <location filename="Helpviewer/HelpWindow.py" line="556"/>
         <source>&amp;Reload</source>
         <translation>E&amp;rneut laden</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="560"/>
+        <location filename="Helpviewer/HelpWindow.py" line="562"/>
         <source>Reload the current help screen</source>
         <translation>Die aktuelle Hilfeseite ernaut laden</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="561"/>
+        <location filename="Helpviewer/HelpWindow.py" line="563"/>
         <source>&lt;b&gt;Reload&lt;/b&gt;&lt;p&gt;Reloads the current help screen.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Erneut laden&lt;/b&gt;&lt;p&gt;Lädt die aktuelle Hilfeseite erneut.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="320"/>
+        <location filename="Helpviewer/HelpWindow.py" line="322"/>
         <source>Ctrl+N</source>
         <comment>File|New Window</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="334"/>
+        <location filename="Helpviewer/HelpWindow.py" line="336"/>
         <source>Ctrl+O</source>
         <comment>File|Open</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="409"/>
+        <location filename="Helpviewer/HelpWindow.py" line="411"/>
         <source>Ctrl+P</source>
         <comment>File|Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="450"/>
+        <location filename="Helpviewer/HelpWindow.py" line="452"/>
         <source>Ctrl+W</source>
         <comment>File|Close</comment>
         <translation>Ctrl+W</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="491"/>
+        <location filename="Helpviewer/HelpWindow.py" line="493"/>
         <source>Ctrl+Q</source>
         <comment>File|Quit</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="598"/>
+        <location filename="Helpviewer/HelpWindow.py" line="600"/>
         <source>&amp;Find...</source>
         <translation>&amp;Suchen...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="603"/>
+        <location filename="Helpviewer/HelpWindow.py" line="605"/>
         <source>Find text in page</source>
         <translation>Text in Seite suchen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="604"/>
+        <location filename="Helpviewer/HelpWindow.py" line="606"/>
         <source>&lt;b&gt;Find&lt;/b&gt;&lt;p&gt;Find text in the current page.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Suchen&lt;/b&gt;&lt;p&gt;Text in der angezeigten Seite suchen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="612"/>
+        <location filename="Helpviewer/HelpWindow.py" line="614"/>
         <source>Find &amp;next</source>
         <translation>&amp;Weitersuchen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="626"/>
+        <location filename="Helpviewer/HelpWindow.py" line="628"/>
         <source>Find &amp;previous</source>
         <translation>&amp;Rückwärtssuchen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="584"/>
+        <location filename="Helpviewer/HelpWindow.py" line="586"/>
         <source>Ctrl+C</source>
         <comment>Edit|Copy</comment>
         <translation>Ctrl+C</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1223"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1240"/>
         <source>File</source>
         <translation>Datei</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1240"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1257"/>
         <source>Edit</source>
         <translation>Bearbeiten</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1245"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1262"/>
         <source>View</source>
         <translation>Ansicht</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1254"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1271"/>
         <source>Find</source>
         <translation>Suchen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1280"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1297"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1287"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1304"/>
         <source>Go</source>
         <translation>Gehe zu</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1444"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1461"/>
         <source>Help Files (*.html *.htm);;PDF Files (*.pdf);;CHM Files (*.chm);;All Files (*)</source>
         <translation>Hilfedateien (*.html *.htm);;PDF Dateien (*.pdf);;CHM Dateien (*.chm);;Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="306"/>
+        <location filename="Helpviewer/HelpWindow.py" line="308"/>
         <source>&amp;New Tab</source>
         <translation>&amp;Neues Register</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="306"/>
+        <location filename="Helpviewer/HelpWindow.py" line="308"/>
         <source>Ctrl+T</source>
         <comment>File|New Tab</comment>
         <translation>Ctrl+T</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="312"/>
+        <location filename="Helpviewer/HelpWindow.py" line="314"/>
         <source>&lt;b&gt;New Tab&lt;/b&gt;&lt;p&gt;This opens a new help window tab.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Neues Register&lt;/b&gt;&lt;p&gt;Dies öffnet ein neues Hilfe Register.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="326"/>
+        <location filename="Helpviewer/HelpWindow.py" line="328"/>
         <source>&lt;b&gt;New Window&lt;/b&gt;&lt;p&gt;This opens a new help browser window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Neues Fenster&lt;/b&gt;&lt;p&gt;Dies öffnet ein neues Hilfeanzeiger Fenster.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="456"/>
+        <location filename="Helpviewer/HelpWindow.py" line="458"/>
         <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;Closes the current help window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Schließen&lt;/b&gt;&lt;p&gt;Schließt das aktuelle Hilfefenster.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="464"/>
+        <location filename="Helpviewer/HelpWindow.py" line="466"/>
         <source>Close &amp;All</source>
         <translation>Alle &amp;schließen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="468"/>
+        <location filename="Helpviewer/HelpWindow.py" line="470"/>
         <source>&lt;b&gt;Close All&lt;/b&gt;&lt;p&gt;Closes all help windows except the first one.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Alle schließen&lt;/b&gt;&lt;p&gt;Schließt alle Hilfefenster mit Ausnahme des ersten.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="450"/>
+        <location filename="Helpviewer/HelpWindow.py" line="452"/>
         <source>Close</source>
         <translation>Schließen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="409"/>
+        <location filename="Helpviewer/HelpWindow.py" line="411"/>
         <source>Print</source>
         <translation>Drucken</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="311"/>
+        <location filename="Helpviewer/HelpWindow.py" line="313"/>
         <source>Open a new help window tab</source>
         <translation>Öffne ein neues Hilferegister</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="325"/>
+        <location filename="Helpviewer/HelpWindow.py" line="327"/>
         <source>Open a new help browser window</source>
         <translation>Öffne ein neues Hilfeanzeiger Fenster</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="349"/>
+        <location filename="Helpviewer/HelpWindow.py" line="351"/>
         <source>Open File in New &amp;Tab</source>
         <translation>Datei in neuem &amp;Register öffnen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="349"/>
+        <location filename="Helpviewer/HelpWindow.py" line="351"/>
         <source>Shift+Ctrl+O</source>
         <comment>File|Open in new tab</comment>
         <translation>Shift+Ctrl+O</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="354"/>
-        <source>Open a help file for display in a new tab</source>
-        <translation>Öffnet eine Hilfedatei zur Anzeige in einem neuen Register</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="356"/>
+        <source>Open a help file for display in a new tab</source>
+        <translation>Öffnet eine Hilfedatei zur Anzeige in einem neuen Register</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="358"/>
         <source>&lt;b&gt;Open File in New Tab&lt;/b&gt;&lt;p&gt;This opens a new help file for display in a new tab. It pops up a file selection dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Datei in neuem Register öffnen&lt;/b&gt;&lt;p&gt;Dies öffnet eine Hilfedatei zur Anzeige in einem neuen Register. Es wird zunächst ein Dateiauswahldialog angezeigt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="306"/>
+        <location filename="Helpviewer/HelpWindow.py" line="308"/>
         <source>New Tab</source>
         <translation>Neues Register</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="320"/>
+        <location filename="Helpviewer/HelpWindow.py" line="322"/>
         <source>New Window</source>
         <translation>Neues Fenster</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="349"/>
+        <location filename="Helpviewer/HelpWindow.py" line="351"/>
         <source>Open File in New Tab</source>
         <translation>Datei in neuem Register öffnen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="464"/>
+        <location filename="Helpviewer/HelpWindow.py" line="466"/>
         <source>Close All</source>
         <translation>Alle schließen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="491"/>
+        <location filename="Helpviewer/HelpWindow.py" line="493"/>
         <source>Quit</source>
         <translation>Beenden</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="508"/>
+        <location filename="Helpviewer/HelpWindow.py" line="510"/>
         <source>Backward</source>
         <translation>Zurück</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="508"/>
+        <location filename="Helpviewer/HelpWindow.py" line="510"/>
         <source>Alt+Left</source>
         <comment>Go|Backward</comment>
         <translation>Alt+Left</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="508"/>
+        <location filename="Helpviewer/HelpWindow.py" line="510"/>
         <source>Backspace</source>
         <comment>Go|Backward</comment>
         <translation>Backspace</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="524"/>
+        <location filename="Helpviewer/HelpWindow.py" line="526"/>
         <source>Forward</source>
         <translation>Vorwärts</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="524"/>
+        <location filename="Helpviewer/HelpWindow.py" line="526"/>
         <source>Alt+Right</source>
         <comment>Go|Forward</comment>
         <translation>Alt+Right</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="524"/>
+        <location filename="Helpviewer/HelpWindow.py" line="526"/>
         <source>Shift+Backspace</source>
         <comment>Go|Forward</comment>
         <translation>Shift+Backspace</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="540"/>
+        <location filename="Helpviewer/HelpWindow.py" line="542"/>
         <source>Home</source>
         <translation>Home</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="540"/>
+        <location filename="Helpviewer/HelpWindow.py" line="542"/>
         <source>Ctrl+Home</source>
         <comment>Go|Home</comment>
         <translation>Ctrl+Home</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="554"/>
+        <location filename="Helpviewer/HelpWindow.py" line="556"/>
         <source>Reload</source>
         <translation>Erneut laden</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="554"/>
+        <location filename="Helpviewer/HelpWindow.py" line="556"/>
         <source>Ctrl+R</source>
         <comment>Go|Reload</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="584"/>
+        <location filename="Helpviewer/HelpWindow.py" line="586"/>
         <source>Copy</source>
         <translation>Kopieren</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="598"/>
+        <location filename="Helpviewer/HelpWindow.py" line="600"/>
         <source>Find...</source>
         <translation>Suchen...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="598"/>
+        <location filename="Helpviewer/HelpWindow.py" line="600"/>
         <source>Ctrl+F</source>
         <comment>Edit|Find</comment>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="612"/>
+        <location filename="Helpviewer/HelpWindow.py" line="614"/>
         <source>Find next</source>
         <translation>Weitersuchen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="612"/>
+        <location filename="Helpviewer/HelpWindow.py" line="614"/>
         <source>F3</source>
         <comment>Edit|Find next</comment>
         <translation>F3</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="626"/>
+        <location filename="Helpviewer/HelpWindow.py" line="628"/>
         <source>Find previous</source>
         <translation>Rückwärtssuchen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="626"/>
+        <location filename="Helpviewer/HelpWindow.py" line="628"/>
         <source>Shift+F3</source>
         <comment>Edit|Find previous</comment>
         <translation>Shift+F3</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="655"/>
+        <location filename="Helpviewer/HelpWindow.py" line="657"/>
         <source>Add Bookmark</source>
         <translation>Lesezeichen hinzufügen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="697"/>
+        <location filename="Helpviewer/HelpWindow.py" line="699"/>
         <source>What&apos;s This?</source>
         <translation>Was ist das?</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="697"/>
+        <location filename="Helpviewer/HelpWindow.py" line="699"/>
         <source>Shift+F1</source>
         <comment>Help|What&apos;s This?&apos;</comment>
         <translation>Shift+F1</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="715"/>
+        <location filename="Helpviewer/HelpWindow.py" line="717"/>
         <source>About</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="727"/>
+        <location filename="Helpviewer/HelpWindow.py" line="729"/>
         <source>About Qt</source>
         <translation>Über Qt</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="740"/>
+        <location filename="Helpviewer/HelpWindow.py" line="742"/>
         <source>Zoom in</source>
         <translation>Vergrößern</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="740"/>
+        <location filename="Helpviewer/HelpWindow.py" line="742"/>
         <source>Ctrl++</source>
         <comment>View|Zoom in</comment>
         <translation>Ctrl++</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="754"/>
+        <location filename="Helpviewer/HelpWindow.py" line="756"/>
         <source>Zoom out</source>
         <translation>Verkleinern</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="754"/>
+        <location filename="Helpviewer/HelpWindow.py" line="756"/>
         <source>Ctrl+-</source>
         <comment>View|Zoom out</comment>
         <translation>Ctrl+-</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="617"/>
+        <location filename="Helpviewer/HelpWindow.py" line="619"/>
         <source>Find next occurrence of text in page</source>
         <translation>Das nächste Vorkommen des Textes in der Seite suchen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="618"/>
+        <location filename="Helpviewer/HelpWindow.py" line="620"/>
         <source>&lt;b&gt;Find next&lt;/b&gt;&lt;p&gt;Find the next occurrence of text in the current page.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Weitersuchen&lt;/b&gt;&lt;p&gt;Suche das nächste Vorkommen des Textes in der aktuellen Seite.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="631"/>
-        <source>Find previous occurrence of text in page</source>
-        <translation>Das vorherige Vorkommen des Textes in der Seite suchen</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="633"/>
+        <source>Find previous occurrence of text in page</source>
+        <translation>Das vorherige Vorkommen des Textes in der Seite suchen</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="635"/>
         <source>&lt;b&gt;Find previous&lt;/b&gt;&lt;p&gt;Find the previous occurrence of text in the current page.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Rückwärtssuchen&lt;/b&gt;&lt;p&gt;Suche das vorherige Vorkommen des Textes in der aktuellen Seite.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="436"/>
+        <location filename="Helpviewer/HelpWindow.py" line="438"/>
         <source>Print Preview</source>
         <translation>Seitenansicht</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="440"/>
-        <source>Print preview of the displayed help</source>
-        <translation>Seitenansicht der angezeigten Hilfe</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="442"/>
+        <source>Print preview of the displayed help</source>
+        <translation>Seitenansicht der angezeigten Hilfe</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="444"/>
         <source>&lt;b&gt;Print Preview&lt;/b&gt;&lt;p&gt;Print preview of the displayed help text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Seitenansicht&lt;/b&gt;&lt;p&gt;Zeigt eine Seitenansicht des angezeigten Hilfetextes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="824"/>
+        <location filename="Helpviewer/HelpWindow.py" line="826"/>
         <source>Show next tab</source>
         <translation>Zeige nächste Seite</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="824"/>
+        <location filename="Helpviewer/HelpWindow.py" line="826"/>
         <source>Ctrl+Alt+Tab</source>
         <translation>Ctrl+Alt+Tab</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="833"/>
+        <location filename="Helpviewer/HelpWindow.py" line="835"/>
         <source>Show previous tab</source>
         <translation>Zeige vorherige Seite</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="833"/>
+        <location filename="Helpviewer/HelpWindow.py" line="835"/>
         <source>Shift+Ctrl+Alt+Tab</source>
         <translation>Shift+Ctrl+Alt+Tab</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="842"/>
+        <location filename="Helpviewer/HelpWindow.py" line="844"/>
         <source>Switch between tabs</source>
         <translation>Zwischen Tabs umschalten</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="842"/>
+        <location filename="Helpviewer/HelpWindow.py" line="844"/>
         <source>Ctrl+1</source>
         <translation>Ctrl+1</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1010"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1012"/>
         <source>Clear icons database</source>
         <translation>Iconsdatenbank löschen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1014"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1016"/>
         <source>Clear the database of favicons</source>
         <translation>Löscht die Datenbank mit den Favicons</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1015"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1017"/>
         <source>&lt;b&gt;Clear icons database&lt;/b&gt;&lt;p&gt;Clears the database of favicons of previously visited URLs.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Iconsdatenbank löschen&lt;/b&gt;&lt;p&gt;Löscht die Datenbank mit den Favicons besuchter URLs.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="851"/>
+        <location filename="Helpviewer/HelpWindow.py" line="853"/>
         <source>Preferences</source>
         <translation>Optionen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="851"/>
+        <location filename="Helpviewer/HelpWindow.py" line="853"/>
         <source>&amp;Preferences...</source>
         <translation>&amp;Optionen...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="854"/>
+        <location filename="Helpviewer/HelpWindow.py" line="856"/>
         <source>Set the prefered configuration</source>
         <translation>Konfiguriert die Einstellungen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="855"/>
+        <location filename="Helpviewer/HelpWindow.py" line="857"/>
         <source>&lt;b&gt;Preferences&lt;/b&gt;&lt;p&gt;Set the configuration items of the application with your prefered values.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Optionen&lt;/b&gt;&lt;p&gt;Konfiguriert die einstellbaren Parameter der Applikation nach ihren Wünschen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="136"/>
+        <location filename="Helpviewer/HelpWindow.py" line="138"/>
         <source>Contents</source>
         <translation>Inhalt</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="467"/>
+        <location filename="Helpviewer/HelpWindow.py" line="469"/>
         <source>Close all help windows</source>
         <translation>Schließt alle Hilfefenster</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="903"/>
+        <location filename="Helpviewer/HelpWindow.py" line="905"/>
         <source>Sync with Table of Contents</source>
         <translation>Mit Inhalt synchronisieren</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="907"/>
-        <source>Synchronizes the table of contents with current page</source>
-        <translation>Synchronisiert das Inhaltsverzeichnis mit der aktuellen Seite</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="909"/>
+        <source>Synchronizes the table of contents with current page</source>
+        <translation>Synchronisiert das Inhaltsverzeichnis mit der aktuellen Seite</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="911"/>
         <source>&lt;b&gt;Sync with Table of Contents&lt;/b&gt;&lt;p&gt;Synchronizes the table of contents with current page.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Mit Inhalt synchronisieren&lt;/b&gt;&lt;p&gt;Synchronisiert das Inhaltsverzeichnis mit der aktuellen Seite.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="917"/>
+        <location filename="Helpviewer/HelpWindow.py" line="919"/>
         <source>Table of Contents</source>
         <translation>Inhaltsverzeichnis</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="920"/>
-        <source>Shows the table of contents window</source>
-        <translation>Zeigt das Fenster mit dem Inhaltsverzeichnis an</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="922"/>
+        <source>Shows the table of contents window</source>
+        <translation>Zeigt das Fenster mit dem Inhaltsverzeichnis an</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="924"/>
         <source>&lt;b&gt;Table of Contents&lt;/b&gt;&lt;p&gt;Shows the table of contents window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Inhaltsverzeichnis&lt;/b&gt;&lt;p&gt;Zeigt das Fenster mit dem Inhaltsverzeichnis an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="956"/>
+        <location filename="Helpviewer/HelpWindow.py" line="958"/>
         <source>Manage QtHelp Documents</source>
         <translation>QtHelp Dokumente verwalten</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="959"/>
-        <source>Shows a dialog to manage the QtHelp documentation set</source>
-        <translation>Zeigt einen Dialog zur Verwaltung der QtHelp Dokumente</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="961"/>
+        <source>Shows a dialog to manage the QtHelp documentation set</source>
+        <translation>Zeigt einen Dialog zur Verwaltung der QtHelp Dokumente</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="963"/>
         <source>&lt;b&gt;Manage QtHelp Documents&lt;/b&gt;&lt;p&gt;Shows a dialog to manage the QtHelp documentation set.&lt;/p&gt;</source>
         <translation>&lt;b&gt;QtHelp Dokumente verwalten&lt;/b&gt;&lt;p&gt;Zeigt einen Dialog zur Verwaltung der QtHelp Dokumente.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1204"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1219"/>
         <source>&amp;Window</source>
         <translation>&amp;Fenster</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1261"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1278"/>
         <source>Filter</source>
         <translation>Filter</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1266"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1283"/>
         <source>Filtered by: </source>
         <translation>Filter: </translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1922"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1945"/>
         <source>Could not find an associated content.</source>
         <translation>Konnte keinen zugehörigen Inhalt finden.</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="969"/>
+        <location filename="Helpviewer/HelpWindow.py" line="971"/>
         <source>Manage QtHelp Filters</source>
         <translation>QtHelp Filter verwalten</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="972"/>
-        <source>Shows a dialog to manage the QtHelp filters</source>
-        <translation>Zeigt einen Dialog zur Verwaltung der QtHelp Filter</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="974"/>
+        <source>Shows a dialog to manage the QtHelp filters</source>
+        <translation>Zeigt einen Dialog zur Verwaltung der QtHelp Filter</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="976"/>
         <source>&lt;b&gt;Manage QtHelp Filters&lt;/b&gt;&lt;p&gt;Shows a dialog to manage the QtHelp filters.&lt;/p&gt;</source>
         <translation>&lt;b&gt;QtHelp Filter verwalten&lt;/b&gt;&lt;p&gt;Zeigt einen Dialog zur Verwaltung der QtHelp Filter.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="930"/>
+        <location filename="Helpviewer/HelpWindow.py" line="932"/>
         <source>Index</source>
         <translation>Index</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="933"/>
-        <source>Shows the index window</source>
-        <translation>Zeigt das Indexfenster an</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="935"/>
+        <source>Shows the index window</source>
+        <translation>Zeigt das Indexfenster an</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="937"/>
         <source>&lt;b&gt;Index&lt;/b&gt;&lt;p&gt;Shows the index window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Index&lt;/b&gt;&lt;p&gt;Zeigt das Indexfenster an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="943"/>
+        <location filename="Helpviewer/HelpWindow.py" line="945"/>
         <source>Search</source>
         <translation>Suchen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="946"/>
-        <source>Shows the search window</source>
-        <translation>Zeigt das Suchfenster an</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="948"/>
+        <source>Shows the search window</source>
+        <translation>Zeigt das Suchfenster an</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="950"/>
         <source>&lt;b&gt;Search&lt;/b&gt;&lt;p&gt;Shows the search window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Suchen&lt;/b&gt;&lt;p&gt;Zeigt das Suchfenster an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="982"/>
+        <location filename="Helpviewer/HelpWindow.py" line="984"/>
         <source>Reindex Documentation</source>
         <translation>Dokumentation reindizieren</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="985"/>
-        <source>Reindexes the documentation set</source>
-        <translation>Reindiziert die Dokumentation</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="987"/>
+        <source>Reindexes the documentation set</source>
+        <translation>Reindiziert die Dokumentation</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="989"/>
         <source>&lt;b&gt;Reindex Documentation&lt;/b&gt;&lt;p&gt;Reindexes the documentation set.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Dokumentation reindizieren&lt;/b&gt;&lt;p&gt;Reindiziert die Dokumentation.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2031"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2054"/>
         <source>Updating search index</source>
         <translation>Aktualisiere Suchindex</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2083"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2106"/>
         <source>Looking for Documentation...</source>
         <translation>Suche nach Dokumentation...</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2113"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2136"/>
         <source>Unfiltered</source>
         <translation>Ungefiltert</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="2132"/>
+        <location filename="Helpviewer/HelpWindow.py" line="2155"/>
         <source>Help Engine</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="480"/>
+        <location filename="Helpviewer/HelpWindow.py" line="482"/>
         <source>Private Browsing</source>
         <translation>Privates Browsen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="476"/>
+        <location filename="Helpviewer/HelpWindow.py" line="478"/>
         <source>Private &amp;Browsing</source>
         <translation>Privates &amp;Browsen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="481"/>
+        <location filename="Helpviewer/HelpWindow.py" line="483"/>
         <source>&lt;b&gt;Private Browsing&lt;/b&gt;&lt;p&gt;Enables private browsing. In this mode no history is recorded anymore.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Privates Browsen&lt;/b&gt;&lt;p&gt;Schaltet das private Browsen ein. In diesem Modus wird keine Chronik mehr aufgezeichnet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="814"/>
+        <location filename="Helpviewer/HelpWindow.py" line="816"/>
         <source>Full Screen</source>
         <translation>Vollbild</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="814"/>
+        <location filename="Helpviewer/HelpWindow.py" line="816"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Vollbild</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="814"/>
+        <location filename="Helpviewer/HelpWindow.py" line="816"/>
         <source>F11</source>
         <translation>F11</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="956"/>
+        <location filename="Helpviewer/HelpWindow.py" line="958"/>
         <source>Manage QtHelp &amp;Documents</source>
         <translation>QtHelp &amp;Dokumente verwalten</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="969"/>
+        <location filename="Helpviewer/HelpWindow.py" line="971"/>
         <source>Manage QtHelp &amp;Filters</source>
         <translation>QtHelp &amp;Filter verwalten</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="982"/>
+        <location filename="Helpviewer/HelpWindow.py" line="984"/>
         <source>&amp;Reindex Documentation</source>
         <translation>Dokumentation &amp;reindizieren</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1000"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1002"/>
         <source>Clear private data</source>
         <translation>Private Daten löschen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="996"/>
+        <location filename="Helpviewer/HelpWindow.py" line="998"/>
         <source>&amp;Clear private data</source>
         <translation>&amp;Private Daten löschen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1001"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1003"/>
         <source>&lt;b&gt;Clear private data&lt;/b&gt;&lt;p&gt;Clears the private data like browsing history, search history or the favicons database.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Private Daten löschen&lt;/b&gt;&lt;p&gt;Löscht private Daten wie die Web-Chronik, Such-Chronik oder die Icons-Datenbank.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1010"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1012"/>
         <source>Clear &amp;icons database</source>
         <translation>Iconsdatenbank &amp;löschen</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1065"/>
+        <location filename="Helpviewer/HelpWindow.py" line="1067"