eric6/Helpviewer/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationDialog.py

changeset 7220
5cf645f6daab
parent 7218
eaf2cf171f3a
parent 7211
1c97f3142fa8
child 7221
0485ccdf7877
diff -r eaf2cf171f3a -r 5cf645f6daab eric6/Helpviewer/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationDialog.py
--- a/eric6/Helpviewer/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationDialog.py	Sat Sep 07 14:45:27 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2012 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing the GreaseMonkey scripts configuration dialog.
-"""
-
-from __future__ import unicode_literals
-
-from PyQt5.QtCore import pyqtSlot, Qt, QUrl
-from PyQt5.QtGui import QDesktopServices
-from PyQt5.QtWidgets import QDialog, QListWidgetItem
-
-from E5Gui import E5MessageBox
-
-from .Ui_GreaseMonkeyConfigurationDialog import \
-    Ui_GreaseMonkeyConfigurationDialog
-
-import UI.PixmapCache
-
-
-class GreaseMonkeyConfigurationDialog(
-        QDialog, Ui_GreaseMonkeyConfigurationDialog):
-    """
-    Class implementing the GreaseMonkey scripts configuration dialog.
-    """
-    ScriptVersionRole = Qt.UserRole
-    ScriptDescriptionRole = Qt.UserRole + 1
-    ScriptRole = Qt.UserRole + 2
-    
-    def __init__(self, manager, parent=None):
-        """
-        Constructor
-        
-        @param manager reference to the manager object (GreaseMonkeyManager)
-        @param parent reference to the parent widget (QWidget)
-        """
-        super(GreaseMonkeyConfigurationDialog, self).__init__(parent)
-        self.setupUi(self)
-        self.setWindowFlags(Qt.Window)
-        
-        self.iconLabel.setPixmap(
-            UI.PixmapCache.getPixmap("greaseMonkey48.png"))
-        
-        self.__manager = manager
-        
-        self.__loadScripts()
-        
-        self.scriptsList.removeItemRequested.connect(self.__removeItem)
-        self.scriptsList.itemChanged.connect(self.__itemChanged)
-    
-    @pyqtSlot()
-    def on_openDirectoryButton_clicked(self):
-        """
-        Private slot to open the GreaseMonkey scripts directory.
-        """
-        QDesktopServices.openUrl(
-            QUrl.fromLocalFile(self.__manager.scriptsDirectory()))
-    
-    @pyqtSlot(str)
-    def on_downloadLabel_linkActivated(self, link):
-        """
-        Private slot to open the greasyfork.org web site.
-        
-        @param link URL (string)
-        """
-        import Helpviewer.HelpWindow
-        if not link or "userscript.org" in link:
-            # userscript.org is down, default to Greasy Fork.
-            link = "https://greasyfork.org/"
-        Helpviewer.HelpWindow.HelpWindow.mainWindow().newTab(
-            QUrl(link))
-        self.close()
-    
-    @pyqtSlot(QListWidgetItem)
-    def on_scriptsList_itemDoubleClicked(self, item):
-        """
-        Private slot to show information about the selected script.
-        
-        @param item reference to the double clicked item (QListWidgetItem)
-        """
-        script = self.__getScript(item)
-        if script is not None:
-            from .GreaseMonkeyConfigurationScriptInfoDialog import \
-                GreaseMonkeyConfigurationScriptInfoDialog
-            infoDlg = GreaseMonkeyConfigurationScriptInfoDialog(script, self)
-            infoDlg.exec_()
-    
-    def __loadScripts(self):
-        """
-        Private method to load all the available scripts.
-        """
-        for script in self.__manager.allScripts():
-            itm = QListWidgetItem(
-                UI.PixmapCache.getIcon("greaseMonkeyScript.png"),
-                script.name(), self.scriptsList)
-            itm.setData(
-                GreaseMonkeyConfigurationDialog.ScriptVersionRole,
-                script.version())
-            itm.setData(
-                GreaseMonkeyConfigurationDialog.ScriptDescriptionRole,
-                script.description())
-            itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable)
-            if script.isEnabled():
-                itm.setCheckState(Qt.Checked)
-            else:
-                itm.setCheckState(Qt.Unchecked)
-            itm.setData(GreaseMonkeyConfigurationDialog.ScriptRole, script)
-            self.scriptsList.addItem(itm)
-        
-        self.scriptsList.sortItems()
-        
-        itemMoved = True
-        while itemMoved:
-            itemMoved = False
-            for row in range(self.scriptsList.count()):
-                topItem = self.scriptsList.item(row)
-                bottomItem = self.scriptsList.item(row + 1)
-                if topItem is None or bottomItem is None:
-                    continue
-                
-                if topItem.checkState() == Qt.Unchecked and \
-                   bottomItem.checkState == Qt.Checked:
-                    itm = self.scriptsList.takeItem(row + 1)
-                    self.scriptsList.insertItem(row, itm)
-                    itemMoved = True
-    
-    def __getScript(self, itm):
-        """
-        Private method to get the script for the given item.
-        
-        @param itm item to get script for (QListWidgetItem)
-        @return reference to the script object (GreaseMonkeyScript)
-        """
-        if itm is None:
-            return None
-        
-        script = itm.data(GreaseMonkeyConfigurationDialog.ScriptRole)
-        return script
-    
-    def __removeItem(self, itm):
-        """
-        Private slot to remove a script item.
-        
-        @param itm item to be removed (QListWidgetItem)
-        """
-        script = self.__getScript(itm)
-        if script is None:
-            return
-        
-        removeIt = E5MessageBox.yesNo(
-            self,
-            self.tr("Remove Script"),
-            self.tr(
-                """<p>Are you sure you want to remove <b>{0}</b>?</p>""")
-            .format(script.name()))
-        if removeIt and self.__manager.removeScript(script):
-            self.scriptsList.takeItem(self.scriptsList.row(itm))
-            del itm
-    
-    def __itemChanged(self, itm):
-        """
-        Private slot to handle changes of a script item.
-        
-        @param itm changed item (QListWidgetItem)
-        """
-        script = self.__getScript(itm)
-        if script is None:
-            return
-        
-        if itm.checkState() == Qt.Checked:
-            self.__manager.enableScript(script)
-        else:
-            self.__manager.disableScript(script)

eric ide

mercurial