Thu, 07 Jul 2022 11:23:56 +0200
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
8881
54e42bc2437a
Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8663
diff
changeset
|
3 | # Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to install spell checking dictionaries. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
10 | import os |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
11 | import io |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
12 | import zipfile |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
13 | import glob |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
14 | import shutil |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
15 | import contextlib |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
16 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
17 | from PyQt6.QtCore import pyqtSlot, Qt, QUrl |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
18 | from PyQt6.QtWidgets import ( |
7269
0c63ea7f94bd
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
19 | QDialog, QDialogButtonBox, QAbstractButton, QListWidgetItem |
0c63ea7f94bd
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
20 | ) |
8580
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
21 | from PyQt6.QtNetwork import QNetworkRequest, QNetworkReply, QNetworkInformation |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
8358
144a6b854f70
Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8356
diff
changeset
|
23 | from EricWidgets import EricMessageBox |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
25 | from .Ui_ManageDictionariesDialog import Ui_ManageDictionariesDialog |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | from WebBrowser.WebBrowserWindow import WebBrowserWindow |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | import Preferences |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
32 | class ManageDictionariesDialog(QDialog, Ui_ManageDictionariesDialog): |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | Class implementing a dialog to install spell checking dictionaries. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
36 | FilenameRole = Qt.ItemDataRole.UserRole |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
37 | UrlRole = Qt.ItemDataRole.UserRole + 1 |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
38 | DocumentationDirRole = Qt.ItemDataRole.UserRole + 2 |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
39 | LocalesRole = Qt.ItemDataRole.UserRole + 3 |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | def __init__(self, writeableDirectories, parent=None): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | Constructor |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @param writeableDirectories list of writable directories |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | @type list of str |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | @param parent reference to the parent widget |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | @type QWidget |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
50 | super().__init__(parent) |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.setupUi(self) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.__refreshButton = self.buttonBox.addButton( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
54 | self.tr("Refresh"), QDialogButtonBox.ButtonRole.ActionRole) |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.__installButton = self.buttonBox.addButton( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
56 | self.tr("Install Selected"), |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
57 | QDialogButtonBox.ButtonRole.ActionRole) |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.__installButton.setEnabled(False) |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
59 | self.__uninstallButton = self.buttonBox.addButton( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
60 | self.tr("Uninstall Selected"), |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
61 | QDialogButtonBox.ButtonRole.ActionRole) |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
62 | self.__uninstallButton.setEnabled(False) |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | self.__cancelButton = self.buttonBox.addButton( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
64 | self.tr("Cancel"), QDialogButtonBox.ButtonRole.ActionRole) |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | self.__cancelButton.setEnabled(False) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | self.locationComboBox.addItems(writeableDirectories) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | self.dictionariesUrlEdit.setText( |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | Preferences.getWebBrowser("SpellCheckDictionariesUrl")) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | |
8580
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
72 | if ( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
73 | Preferences.getUI("DynamicOnlineCheck") and |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
74 | QNetworkInformation.load(QNetworkInformation.Feature.Reachability) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
75 | ): |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
76 | self.__reachabilityChanged( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
77 | QNetworkInformation.instance().reachability()) |
8663
a925267d1545
Adapted to the official PyQt6 6.2.0 release.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8586
diff
changeset
|
78 | QNetworkInformation.instance().reachabilityChanged.connect( |
a925267d1545
Adapted to the official PyQt6 6.2.0 release.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8586
diff
changeset
|
79 | self.__reachabilityChanged) |
8580
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
80 | else: |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
81 | # assume to be 'always online' if no backend could be loaded or |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
82 | # dynamic online check is switched of |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
83 | self.__reachabilityChanged(QNetworkInformation.Reachability.Online) |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | self.__replies = [] |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | self.__downloadCancelled = False |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | self.__dictionariesToDownload = [] |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | self.__populateList() |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | |
8580
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
91 | def __reachabilityChanged(self, reachability): |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
92 | """ |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
93 | Private slot handling reachability state changes. |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
94 | |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
95 | @param reachability new reachability state |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
96 | @type QNetworkInformation.Reachability |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
97 | """ |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
98 | online = reachability == QNetworkInformation.Reachability.Online |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
99 | self.__online = online |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
100 | |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
101 | self.__refreshButton.setEnabled(online) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
102 | |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
103 | msg = ( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
104 | self.tr("Internet Reachability Status: Reachable") |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
105 | if online else |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
106 | self.tr("Internet Reachability Status: Not Reachable") |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
107 | ) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
108 | self.statusLabel.setText(msg) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
109 | |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
110 | self.on_dictionariesList_itemSelectionChanged() |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
111 | |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | @pyqtSlot(QAbstractButton) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | def on_buttonBox_clicked(self, button): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | Private slot to handle the click of a button of the button box. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | @param button reference to the button pressed |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | @type QAbstractButton |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | if button == self.__refreshButton: |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | self.__populateList() |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | elif button == self.__cancelButton: |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | self.__downloadCancel() |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | elif button == self.__installButton: |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | self.__installSelected() |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
126 | elif button == self.__uninstallButton: |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
127 | self.__uninstallSelected() |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | @pyqtSlot() |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | def on_dictionariesList_itemSelectionChanged(self): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | Private slot to handle a change of the selection. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | self.__installButton.setEnabled( |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
135 | self.locationComboBox.count() > 0 and |
8580
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
136 | len(self.dictionariesList.selectedItems()) > 0 and |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
137 | self.__online |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
138 | ) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
139 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
140 | self.__uninstallButton.setEnabled( |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
141 | self.locationComboBox.count() > 0 and |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
142 | len([itm |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
143 | for itm in self.dictionariesList.selectedItems() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
144 | if itm.checkState() == Qt.CheckState.Checked |
5873
331a5ece2c32
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5872
diff
changeset
|
145 | ]) |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
146 | ) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
147 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
148 | @pyqtSlot(bool) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
149 | def on_dictionariesUrlEditButton_toggled(self, checked): |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
150 | """ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
151 | Private slot to set the read only status of the dictionaries URL line |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
152 | edit. |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
153 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
154 | @param checked state of the push button (boolean) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
155 | """ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
156 | self.dictionariesUrlEdit.setReadOnly(not checked) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
157 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
158 | @pyqtSlot(str) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
159 | def on_locationComboBox_currentTextChanged(self, txt): |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
160 | """ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
161 | Private slot to handle a change of the installation location. |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
162 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
163 | @param txt installation location |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
164 | @type str |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
165 | """ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
166 | self.__checkInstalledDictionaries() |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | def __populateList(self): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | Private method to populate the list of available plugins. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | self.dictionariesList.clear() |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | self.downloadProgress.setValue(0) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
175 | url = self.dictionariesUrlEdit.text() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
176 | |
8580
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
177 | if self.__online: |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
178 | self.__refreshButton.setEnabled(False) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
179 | self.__installButton.setEnabled(False) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
180 | self.__uninstallButton.setEnabled(False) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
181 | self.__cancelButton.setEnabled(True) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
182 | |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
183 | self.statusLabel.setText(url) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
184 | |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
185 | self.__downloadCancelled = False |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
186 | |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
187 | request = QNetworkRequest(QUrl(url)) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
188 | request.setAttribute( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
189 | QNetworkRequest.Attribute.CacheLoadControlAttribute, |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
190 | QNetworkRequest.CacheLoadControl.AlwaysNetwork) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
191 | reply = WebBrowserWindow.networkManager().get(request) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
192 | reply.finished.connect( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
193 | lambda: self.__listFileDownloaded(reply)) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
194 | reply.downloadProgress.connect(self.__downloadProgress) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
195 | self.__replies.append(reply) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
196 | else: |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
197 | EricMessageBox.warning( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
198 | self, |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
199 | self.tr("Error populating list of dictionaries"), |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
200 | self.tr( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
201 | """<p>Could not download the dictionaries list""" |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
202 | """ from {0}.</p><p>Error: {1}</p>""" |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
203 | ).format(url, self.tr("No connection to Internet."))) |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | |
6121
d3d64f3128b3
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
205 | def __listFileDownloaded(self, reply): |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | Private method called, after the dictionaries list file has been |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | downloaded from the Internet. |
6121
d3d64f3128b3
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
209 | |
d3d64f3128b3
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
210 | @param reply reference to the network reply |
d3d64f3128b3
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
211 | @type QNetworkReply |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | self.__refreshButton.setEnabled(True) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | self.__cancelButton.setEnabled(False) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
216 | self.downloadProgress.setValue(0) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
217 | |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | if reply in self.__replies: |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | self.__replies.remove(reply) |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
220 | reply.deleteLater() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
221 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
222 | if reply.error() != QNetworkReply.NetworkError.NoError: |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | if not self.__downloadCancelled: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
224 | EricMessageBox.warning( |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | self, |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | self.tr("Error downloading dictionaries list"), |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | self.tr( |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | """<p>Could not download the dictionaries list""" |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | """ from {0}.</p><p>Error: {1}</p>""" |
6469
70855c97dd09
ManageDictionariesDialog: fixed an issue referencing a non existing widget (silly copy&paste error).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6121
diff
changeset
|
230 | ).format(self.dictionariesUrlEdit.text(), |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | reply.errorString()) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | ) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | self.downloadProgress.setValue(0) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | return |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | listFileData = reply.readAll() |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | # extract the dictionaries |
8351
7d13e08ddb3f
Removed for writing old style XML files and renamed E5XML to EricXML.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
239 | from EricXML.SpellCheckDictionariesReader import ( |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | SpellCheckDictionariesReader |
7269
0c63ea7f94bd
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
241 | ) |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | reader = SpellCheckDictionariesReader(listFileData, self.addEntry) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | reader.readXML() |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | url = Preferences.getWebBrowser("SpellCheckDictionariesUrl") |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | if url != self.dictionariesUrlEdit.text(): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | self.dictionariesUrlEdit.setText(url) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
247 | EricMessageBox.warning( |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | self, |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | self.tr("Dictionaries URL Changed"), |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | self.tr( |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | """The URL of the spell check dictionaries has""" |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | """ changed. Select the "Refresh" button to get""" |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
253 | """ the new dictionaries list.""" |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
254 | ) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
255 | ) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
256 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
257 | if self.locationComboBox.count() == 0: |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
258 | # no writable locations available |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
259 | EricMessageBox.warning( |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
260 | self, |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
261 | self.tr("Error installing dictionaries"), |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
262 | self.tr( |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
263 | """<p>None of the dictionary locations is writable by""" |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
264 | """ you. Please download required dictionaries manually""" |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
265 | """ and install them as administrator.</p>""" |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
266 | ) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
267 | ) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
268 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
269 | self.__checkInstalledDictionaries() |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | def __downloadCancel(self): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | Private slot to cancel the current download. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | if self.__replies: |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | reply = self.__replies[0] |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | self.__downloadCancelled = True |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | self.__dictionariesToDownload = [] |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | reply.abort() |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | def __downloadProgress(self, done, total): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | Private slot to show the download progress. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | @param done number of bytes downloaded so far |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | @type int |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | @param total total bytes to be downloaded |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | @type int |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | if total: |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | self.downloadProgress.setMaximum(total) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | self.downloadProgress.setValue(done) |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
294 | def addEntry(self, short, filename, url, documentationDir, locales): |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | Public method to add an entry to the list. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | @param short data for the description field |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | @type str |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | @param filename data for the filename field |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | @type str |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
302 | @param url download URL for the dictionary entry |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
303 | @type str |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
304 | @param documentationDir name of the directory containing the |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
305 | dictionary documentation |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
306 | @type str |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
307 | @param locales list of locales |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
308 | @type list of str |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
309 | """ |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
310 | itm = QListWidgetItem( |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
311 | self.tr("{0} ({1})").format(short, " ".join(locales)), |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
312 | self.dictionariesList) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
313 | itm.setCheckState(Qt.CheckState.Unchecked) |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
314 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
315 | itm.setData(ManageDictionariesDialog.FilenameRole, filename) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
316 | itm.setData(ManageDictionariesDialog.UrlRole, url) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
317 | itm.setData(ManageDictionariesDialog.DocumentationDirRole, |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
318 | documentationDir) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
319 | itm.setData(ManageDictionariesDialog.LocalesRole, locales) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
320 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
321 | def __checkInstalledDictionaries(self): |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
322 | """ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
323 | Private method to check all installed dictionaries. |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
324 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
325 | Note: A dictionary is assumed to be installed, if at least one of its |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
326 | binary dictionaries (*.bdic) is found in the selected dictionaries |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
327 | location. |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
328 | """ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
329 | if self.locationComboBox.currentText(): |
5873
331a5ece2c32
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5872
diff
changeset
|
330 | installedLocales = { |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
331 | os.path.splitext(os.path.basename(dic))[0] |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
332 | for dic in glob.glob( |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
333 | os.path.join(self.locationComboBox.currentText(), "*.bdic") |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
334 | ) |
5873
331a5ece2c32
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5872
diff
changeset
|
335 | } |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
336 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
337 | for row in range(self.dictionariesList.count()): |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
338 | itm = self.dictionariesList.item(row) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
339 | locales = set(itm.data(ManageDictionariesDialog.LocalesRole)) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
340 | if locales.intersection(installedLocales): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
341 | itm.setCheckState(Qt.CheckState.Checked) |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
342 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
343 | itm.setCheckState(Qt.CheckState.Unchecked) |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
344 | else: |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
345 | for row in range(self.dictionariesList.count()): |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
346 | itm = self.dictionariesList.item(row) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
347 | itm.setCheckState(Qt.CheckState.Unchecked) |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | def __installSelected(self): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | Private method to install the selected dictionaries. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | """ |
8580
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
353 | if self.__online and bool(self.locationComboBox.currentText()): |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
354 | self.__dictionariesToDownload = [ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
355 | itm.data(ManageDictionariesDialog.UrlRole) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
356 | for itm in self.dictionariesList.selectedItems() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
357 | ] |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
358 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
359 | self.__refreshButton.setEnabled(False) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
360 | self.__installButton.setEnabled(False) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
361 | self.__uninstallButton.setEnabled(False) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
362 | self.__cancelButton.setEnabled(True) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
363 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
364 | self.__downloadCancelled = False |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
365 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
366 | self.__downloadDictionary() |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | def __downloadDictionary(self): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | Private slot to download a dictionary. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | """ |
8580
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
372 | if self.__online: |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
373 | if self.__dictionariesToDownload: |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
374 | url = self.__dictionariesToDownload.pop(0) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
375 | self.statusLabel.setText(url) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
376 | |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
377 | self.__downloadCancelled = False |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
378 | |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
379 | request = QNetworkRequest(QUrl(url)) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
380 | request.setAttribute( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
381 | QNetworkRequest.Attribute.CacheLoadControlAttribute, |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
382 | QNetworkRequest.CacheLoadControl.AlwaysNetwork) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
383 | reply = WebBrowserWindow.networkManager().get(request) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
384 | reply.finished.connect( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
385 | lambda: self.__installDictionary(reply)) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
386 | reply.downloadProgress.connect(self.__downloadProgress) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
387 | self.__replies.append(reply) |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
388 | else: |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
389 | self.__installationFinished() |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
390 | else: |
8580
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
391 | EricMessageBox.warning( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
392 | self, |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
393 | self.tr("Error downloading dictionary file"), |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
394 | self.tr( |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
395 | """<p>Could not download the requested dictionary file""" |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
396 | """ from {0}.</p><p>Error: {1}</p>""" |
e91b276e0771
Re-introduced the Internet reachability checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
397 | ).format(url, self.tr("No connection to Internet."))) |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
398 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
399 | self.__installationFinished() |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | |
6121
d3d64f3128b3
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
401 | def __installDictionary(self, reply): |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | Private slot to install the downloaded dictionary. |
6121
d3d64f3128b3
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
404 | |
d3d64f3128b3
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
405 | @param reply reference to the network reply |
d3d64f3128b3
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
406 | @type QNetworkReply |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | """ |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
408 | if reply in self.__replies: |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
409 | self.__replies.remove(reply) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
410 | reply.deleteLater() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
411 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
412 | if reply.error() != QNetworkReply.NetworkError.NoError: |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
413 | if not self.__downloadCancelled: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
414 | EricMessageBox.warning( |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
415 | self, |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
416 | self.tr("Error downloading dictionary file"), |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
417 | self.tr( |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
418 | """<p>Could not download the requested dictionary""" |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
419 | """ file from {0}.</p><p>Error: {1}</p>""" |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
420 | ).format(reply.url(), reply.errorString()) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
421 | ) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
422 | self.downloadProgress.setValue(0) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
423 | return |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
425 | archiveData = reply.readAll() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
426 | archiveFile = io.BytesIO(bytes(archiveData)) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
427 | archive = zipfile.ZipFile(archiveFile, "r") |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
428 | if archive.testzip() is not None: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
429 | EricMessageBox.critical( |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
430 | self, |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
431 | self.tr("Error downloading dictionary"), |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
432 | self.tr( |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
433 | """<p>The downloaded dictionary archive is invalid.""" |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
434 | """ Skipping it.</p>""") |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
435 | ) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
436 | else: |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
437 | installDir = self.locationComboBox.currentText() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
438 | archive.extractall(installDir) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
439 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
440 | if self.__dictionariesToDownload: |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
441 | self.__downloadDictionary() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
442 | else: |
5868
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | self.__installationFinished() |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | def __installationFinished(self): |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | """ |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | Private method called after all selected dictionaries have been |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | installed. |
c1a98c164cd3
Started implementing a downloader and installer for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | """ |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
450 | self.__refreshButton.setEnabled(True) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
451 | self.__cancelButton.setEnabled(False) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
452 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
453 | self.dictionariesList.clearSelection() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
454 | self.downloadProgress.setValue(0) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
455 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
456 | self.__checkInstalledDictionaries() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
457 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
458 | def __uninstallSelected(self): |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
459 | """ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
460 | Private method to uninstall the selected dictionaries. |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
461 | """ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
462 | installLocation = self.locationComboBox.currentText() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
463 | if not installLocation: |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
464 | return |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
465 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
466 | itemsToDelete = [ |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
467 | itm |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
468 | for itm in self.dictionariesList.selectedItems() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7946
diff
changeset
|
469 | if itm.checkState() == Qt.CheckState.Checked |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
470 | ] |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
471 | for itm in itemsToDelete: |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
472 | documentationDir = itm.data( |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
473 | ManageDictionariesDialog.DocumentationDirRole) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
474 | shutil.rmtree(os.path.join(installLocation, documentationDir), |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
475 | True) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
476 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
477 | locales = itm.data(ManageDictionariesDialog.LocalesRole) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
478 | for locale in locales: |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
479 | bdic = os.path.join(installLocation, locale + ".bdic") |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
480 | with contextlib.suppress(OSError): |
5870
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
481 | os.remove(bdic) |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
482 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
483 | self.dictionariesList.clearSelection() |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
484 | |
82e04c70f969
Finished implementing a downloader and installer/uninstaller for web browser spell check dictionaries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5868
diff
changeset
|
485 | self.__checkInstalledDictionaries() |