13 import shutil |
13 import shutil |
14 |
14 |
15 from PyQt4.QtGui import * |
15 from PyQt4.QtGui import * |
16 from PyQt4.QtCore import * |
16 from PyQt4.QtCore import * |
17 |
17 |
18 from PluginManager import PluginManager |
18 from .PluginManager import PluginManager |
19 from Ui_PluginUninstallDialog import Ui_PluginUninstallDialog |
19 from .Ui_PluginUninstallDialog import Ui_PluginUninstallDialog |
20 |
20 |
21 class PluginUninstallWidget(QWidget, Ui_PluginUninstallDialog): |
21 class PluginUninstallWidget(QWidget, Ui_PluginUninstallDialog): |
22 """ |
22 """ |
23 Class implementing a dialog for plugin deinstallation. |
23 Class implementing a dialog for plugin deinstallation. |
24 """ |
24 """ |
56 |
56 |
57 @param index index of the selected item (integer) |
57 @param index index of the selected item (integer) |
58 """ |
58 """ |
59 pluginDirectory = self.pluginDirectoryCombo\ |
59 pluginDirectory = self.pluginDirectoryCombo\ |
60 .itemData(index) |
60 .itemData(index) |
61 pluginNames = self.__pluginManager.getPluginModules(pluginDirectory) |
61 pluginNames = sorted(self.__pluginManager.getPluginModules(pluginDirectory)) |
62 pluginNames.sort() |
|
63 self.pluginNameCombo.clear() |
62 self.pluginNameCombo.clear() |
64 for pluginName in pluginNames: |
63 for pluginName in pluginNames: |
65 fname = "%s.py" % os.path.join(pluginDirectory, pluginName) |
64 fname = "%s.py" % os.path.join(pluginDirectory, pluginName) |
66 self.pluginNameCombo.addItem(pluginName, fname) |
65 self.pluginNameCombo.addItem(pluginName, fname) |
67 self.buttonBox.button(QDialogButtonBox.Ok)\ |
66 self.buttonBox.button(QDialogButtonBox.Ok)\ |
137 fnamec = "%sc" % pluginFile |
136 fnamec = "%sc" % pluginFile |
138 if os.path.exists(fnamec): |
137 if os.path.exists(fnamec): |
139 os.remove(fnamec) |
138 os.remove(fnamec) |
140 |
139 |
141 os.remove(pluginFile) |
140 os.remove(pluginFile) |
142 except OSError, err: |
141 except OSError as err: |
143 QMessageBox.critical(None, |
142 QMessageBox.critical(None, |
144 self.trUtf8("Plugin Uninstallation"), |
143 self.trUtf8("Plugin Uninstallation"), |
145 self.trUtf8("""<p>The plugin package <b>{0}</b> could not be""" |
144 self.trUtf8("""<p>The plugin package <b>{0}</b> could not be""" |
146 """ removed. Aborting...</p>""" |
145 """ removed. Aborting...</p>""" |
147 """<p>Reason: {1}</p>""").format(packageDir, unicode(err)), |
146 """<p>Reason: {1}</p>""").format(packageDir, str(err)), |
148 QMessageBox.StandardButtons(\ |
147 QMessageBox.StandardButtons(\ |
149 QMessageBox.Ok)) |
148 QMessageBox.Ok)) |
150 return False |
149 return False |
151 |
150 |
152 QMessageBox.information(None, |
151 QMessageBox.information(None, |