--- a/src/eric7/WebBrowser/Download/DownloadManager.py Sun Jan 07 11:42:41 2024 +0100 +++ b/src/eric7/WebBrowser/Download/DownloadManager.py Sun Jan 07 12:40:00 2024 +0100 @@ -7,6 +7,8 @@ Module implementing the download manager class. """ +import enum + from PyQt6.QtCore import ( QBasicTimer, QFileInfo, @@ -33,6 +35,19 @@ from .Ui_DownloadManager import Ui_DownloadManager +class DownloadManagerRemovePolicy(enum.Enum): + """ + Class defining the remove policies. + """ + + Never = 0 + Exit = 1 + SuccessfullDownload = 2 + + +DownloadManagerDefaultRemovePolicy = DownloadManagerRemovePolicy.Never + + class DownloadManager(QDialog, Ui_DownloadManager): """ Class implementing the download manager. @@ -41,11 +56,6 @@ count of download items """ - # TODO: change this to an enum - RemoveNever = 0 - RemoveExit = 1 - RemoveSuccessFullDownload = 2 - UpdateTimerTimeout = 1000 downloadsCountChanged = pyqtSignal() @@ -366,7 +376,7 @@ if ( itm.downloadedSuccessfully() - and self.removePolicy() == DownloadManager.RemoveSuccessFullDownload + and self.removePolicy() == DownloadManagerRemovePolicy.SuccessfullDownload ): remove = True @@ -385,28 +395,27 @@ Public method to get the remove policy. @return remove policy - @rtype int + @rtype DownloadManagerRemovePolicy """ - return Preferences.getWebBrowser("DownloadManagerRemovePolicy") + try: + return DownloadManagerRemovePolicy( + Preferences.getWebBrowser("DownloadManagerRemovePolicy") + ) + except ValueError: + # default value + return DownloadManagerDefaultRemovePolicy def setRemovePolicy(self, policy): """ Public method to set the remove policy. - @param policy policy to be set - (DownloadManager.RemoveExit, DownloadManager.RemoveNever, - DownloadManager.RemoveSuccessFullDownload) - @type int + @param policy remove policy to be set + @type DownloadManagerRemovePolicy """ - if policy in ( - DownloadManager.RemoveExit, - DownloadManager.RemoveNever, - DownloadManager.RemoveSuccessFullDownload, - ): - if policy == self.removePolicy(): - return + if policy == self.removePolicy(): + return - Preferences.setWebBrowser("DownloadManagerRemovePolicy", self.policy) + Preferences.setWebBrowser("DownloadManagerRemovePolicy", self.policy.value) def save(self): """ @@ -417,7 +426,7 @@ Preferences.setWebBrowser("DownloadManagerSize", self.size()) Preferences.setWebBrowser("DownloadManagerPosition", self.pos()) - if self.removePolicy() == DownloadManager.RemoveExit: + if self.removePolicy() == DownloadManagerRemovePolicy.Exit: return if WebBrowserWindow.isPrivate():