9 |
9 |
10 import compileall |
10 import compileall |
11 import contextlib |
11 import contextlib |
12 import glob |
12 import glob |
13 import os |
13 import os |
|
14 import pathlib |
14 import shutil |
15 import shutil |
15 import sys |
16 import sys |
16 import time |
17 import time |
17 import urllib.parse |
18 import urllib.parse |
18 import zipfile |
19 import zipfile |
19 |
20 |
20 from PyQt6.QtCore import pyqtSlot, Qt, QDir, QFileInfo |
21 from PyQt6.QtCore import pyqtSlot, Qt |
21 from PyQt6.QtWidgets import ( |
22 from PyQt6.QtWidgets import ( |
22 QWidget, QDialogButtonBox, QAbstractButton, QApplication, QDialog, |
23 QWidget, QDialogButtonBox, QAbstractButton, QApplication, QDialog, |
23 QVBoxLayout |
24 QVBoxLayout |
24 ) |
25 ) |
25 |
26 |
86 self.__installedDirs = [] |
87 self.__installedDirs = [] |
87 self.__installedFiles = [] |
88 self.__installedFiles = [] |
88 |
89 |
89 self.__restartNeeded = False |
90 self.__restartNeeded = False |
90 |
91 |
91 downloadDir = QDir(Preferences.getPluginManager("DownloadPath")) |
92 downloadDir = Preferences.getPluginManager("DownloadPath") |
92 for pluginFileName in pluginFileNames: |
93 for pluginFileName in pluginFileNames: |
93 fi = QFileInfo(pluginFileName) |
94 pluginFilePath = pathlib.Path(pluginFileName) |
94 if fi.isRelative(): |
95 if not pluginFilePath.is_absolute(): |
95 pluginFileName = QFileInfo( |
96 pluginFilePath = downloadDir / pluginFilePath |
96 downloadDir, fi.fileName()).absoluteFilePath() |
97 self.archivesList.addItem(str(pluginFilePath)) |
97 self.archivesList.addItem(pluginFileName) |
|
98 self.archivesList.sortItems() |
98 self.archivesList.sortItems() |
99 |
99 |
100 self.__currentIndex = 0 |
100 self.__currentIndex = 0 |
101 self.__selectPage() |
101 self.__selectPage() |
102 |
102 |