Beispiel #1
0
class PythonSelector(QWidget):

    def __init__(self, btn, parent=None):
        super().__init__(parent, Qt.FramelessWindowHint | Qt.Popup)
        self.btn_selector = btn
        self.setAttribute(Qt.WA_TranslucentBackground)
        box = QVBoxLayout(self)
        self.view = QQuickWidget()
        self.view.setClearColor(Qt.transparent)
        self.setFixedWidth(400)
        self.setFixedHeight(200)
        self.view.setResizeMode(QQuickWidget.SizeRootObjectToView)
        self.view.setSource(ui_tools.get_qml_resource("PythonChooser.qml"))

        self._root = self.view.rootObject()
        box.addWidget(self.view)

        self._model = []
        self._root.pythonSelected.connect(self.set_python_interpreter)

    def setVisible(self, visible):
        super().setVisible(visible)
        self.btn_selector.setChecked(visible)

    def showEvent(self, event):
        ide = IDE.get_service("ide")
        move_to = ide.mapToGlobal(QPoint(0, 0))
        move_to -= QPoint(
            -ide.width() + self.width() - 5,
            -ide.height() + self.height() + 20)
        self.move(move_to)
        self._root.setModel(self._model)
        super().showEvent(event)

    def set_python_interpreter(self, path):
        ide = IDE.get_service("ide")
        obj = ide.get_interpreter(path)
        ide.set_interpreter(path)

        self.btn_selector.setText(obj.display_name)
        self.btn_selector.setToolTip(obj.path)

    def add_model(self, interpreters):
        self._model.clear()
        model = []
        for interpreter in interpreters:
            model.append([
                interpreter.display_name,
                interpreter.path,
                interpreter.exec_path
            ])
        self._model = model
        locator = IDE.get_service("interpreter")
        self.btn_selector.setText(locator.current.display_name)
        self.btn_selector.setEnabled(True)

    def hideEvent(self, event):
        super().hideEvent(event)
        self._root.clearModel()
class PythonSelector(QWidget):
    def __init__(self, btn, parent=None):
        super().__init__(parent, Qt.FramelessWindowHint | Qt.Popup)
        self.btn_selector = btn
        self.setAttribute(Qt.WA_TranslucentBackground)
        box = QVBoxLayout(self)
        self.view = QQuickWidget()
        self.view.setClearColor(Qt.transparent)
        self.setFixedWidth(400)
        self.setFixedHeight(200)
        self.view.setResizeMode(QQuickWidget.SizeRootObjectToView)
        self.view.setSource(ui_tools.get_qml_resource("PythonChooser.qml"))

        self._root = self.view.rootObject()
        box.addWidget(self.view)

        self._model = []
        self._root.pythonSelected.connect(self.set_python_interpreter)

    def setVisible(self, visible):
        super().setVisible(visible)
        self.btn_selector.setChecked(visible)

    def showEvent(self, event):
        ide = IDE.get_service("ide")
        move_to = ide.mapToGlobal(QPoint(0, 0))
        move_to -= QPoint(-ide.width() + self.width() - 5,
                          -ide.height() + self.height() + 20)
        self.move(move_to)
        self._root.setModel(self._model)
        super().showEvent(event)

    def set_python_interpreter(self, path):
        ide = IDE.get_service("ide")
        obj = ide.get_interpreter(path)
        ide.set_interpreter(path)

        self.btn_selector.setText(obj.display_name)
        self.btn_selector.setToolTip(obj.path)

    def add_model(self, interpreters):
        self._model.clear()
        model = []
        for interpreter in interpreters:
            model.append([
                interpreter.display_name, interpreter.path,
                interpreter.exec_path
            ])
        self._model = model
        locator = IDE.get_service("interpreter")
        self.btn_selector.setText(locator.current.display_name)
        self.btn_selector.setEnabled(True)

    def hideEvent(self, event):
        super().hideEvent(event)
        self._root.clearModel()
Beispiel #3
0
 def __init__(self, parent=None):
     super(MainSelector, self).__init__(parent)
     self.setAttribute(Qt.WA_TranslucentBackground)
     self.setAttribute(Qt.WA_ShowWithoutActivating)
     # Create the QML user interface.
     view = QQuickWidget()
     view.setClearColor(Qt.transparent)
     view.setResizeMode(QQuickWidget.SizeRootObjectToView)
     view.setSource(ui_tools.get_qml_resource("MainSelector.qml"))
     self._root = view.rootObject()
     vbox = QVBoxLayout(self)
     vbox.setContentsMargins(0, 0, 0, 0)
     vbox.setSpacing(0)
     vbox.addWidget(view)
Beispiel #4
0
    def __init__(self, parent=None):
        super(Notification, self).__init__(None, Qt.ToolTip)
        self._parent = parent
        self._duration = 3000
        self.setAttribute(Qt.WA_TranslucentBackground, True)
        self.setAttribute(Qt.WA_TransparentForMouseEvents)
        self.setAttribute(Qt.WA_ShowWithoutActivating)
        self.setFixedHeight(30)
        # Create the QML user interface.
        view = QQuickWidget()
        view.setClearColor(Qt.transparent)
        view.setResizeMode(QQuickWidget.SizeRootObjectToView)
        view.setSource(ui_tools.get_qml_resource("Notification.qml"))
        self._root = view.rootObject()
        vbox = QVBoxLayout(self)
        vbox.setContentsMargins(0, 0, 0, 0)
        vbox.setSpacing(0)
        vbox.addWidget(view)

        self._root.close.connect(self.close)
        self._parent.goingDown.connect(self.close)
Beispiel #5
0
    def __init__(self, parent=None):
        super(Notification, self).__init__(None, Qt.ToolTip)
        self._parent = parent
        self._duration = 1800
        self._text = ""
        self._running = False
        self.setAttribute(Qt.WA_TranslucentBackground, True)
        self.setAttribute(Qt.WA_TransparentForMouseEvents)
        self.setAttribute(Qt.WA_ShowWithoutActivating)
        self.setFixedHeight(30)
        # Create the QML user interface.
        view = QQuickWidget()
        view.setClearColor(Qt.transparent)
        view.setResizeMode(QQuickWidget.SizeRootObjectToView)
        view.setSource(ui_tools.get_qml_resource("Notification.qml"))
        self._root = view.rootObject()
        vbox = QVBoxLayout(self)
        vbox.setContentsMargins(0, 0, 0, 0)
        vbox.setSpacing(0)
        vbox.addWidget(view)

        self._root.close.connect(self.close)
        self._parent.goingDown.connect(self.close)
    def __init__(self, parent=None):
        super().__init__(parent, Qt.Dialog | Qt.FramelessWindowHint)
        self._operations = {'row': False, 'col': True}
        self.setModal(True)
        self.setAttribute(Qt.WA_TranslucentBackground)
        self.setStyleSheet("background:transparent;")
        self.setFixedHeight(150)
        self.setFixedWidth(290)
        # Create the QML user interface.
        view = QQuickWidget()
        view.setClearColor(Qt.transparent)
        view.rootContext().setContextProperty("theme", resources.QML_COLORS)
        view.setResizeMode(QQuickWidget.SizeRootObjectToView)
        view.setSource(ui_tools.get_qml_resource("SplitOrientation.qml"))
        self._root = view.rootObject()
        vbox = QVBoxLayout(self)
        vbox.setContentsMargins(0, 0, 0, 0)
        vbox.setSpacing(0)
        vbox.addWidget(view)
        view.setFocusPolicy(Qt.StrongFocus)

        short_esc = QShortcut(QKeySequence(Qt.Key_Escape), self)
        short_esc.activated.connect(self.hide)
        self._root.selected['QString'].connect(self._split_operation)