src/eric7/Preferences/ConfigurationPages/EditorMouseClickHandlerJediPage.py

Fri, 04 Nov 2022 13:52:26 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 04 Nov 2022 13:52:26 +0100
branch
eric7
changeset 9473
3f23dbf37dbe
parent 9413
80c06d472826
child 9653
e67609152c5e
permissions
-rw-r--r--

Resorted the import statements using isort.

# -*- coding: utf-8 -*-

# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
Module implementing the Jedi Mouse Click Handler configuration page.
"""

from PyQt6.QtCore import pyqtSlot
from PyQt6.QtWidgets import QDialog

from eric7 import Preferences
from eric7.Preferences.ConfigurationPages.ConfigurationPageBase import (
    ConfigurationPageBase,
)
from eric7.Preferences.MouseClickDialog import MouseClickDialog
from eric7.Utilities import MouseUtilities

from .Ui_EditorMouseClickHandlerJediPage import Ui_EditorMouseClickHandlerJediPage


class EditorMouseClickHandlerJediPage(
    ConfigurationPageBase, Ui_EditorMouseClickHandlerJediPage
):
    """
    Class implementing the Jedi Mouse Click Handler configuration page.
    """

    def __init__(self):
        """
        Constructor
        """
        super().__init__()
        self.setupUi(self)
        self.setObjectName("MouseClickHandlerJediPage")

        # set initial values
        self.__modifiers = {
            "goto": (
                Preferences.getJedi("MouseClickGotoModifiers"),
                Preferences.getJedi("MouseClickGotoButton"),
            )
        }

        self.jediClickHandlerCheckBox.setChecked(
            Preferences.getJedi("MouseClickEnabled")
        )
        self.gotoClickEdit.setText(
            MouseUtilities.MouseButtonModifier2String(*self.__modifiers["goto"])
        )

    def save(self):
        """
        Public slot to save the Jedi Mouse Click Handler configuration.
        """
        Preferences.setJedi(
            "MouseClickEnabled", self.jediClickHandlerCheckBox.isChecked()
        )
        Preferences.setJedi("MouseClickGotoModifiers", self.__modifiers["goto"][0])
        Preferences.setJedi("MouseClickGotoButton", self.__modifiers["goto"][1])

    @pyqtSlot()
    def on_changeGotoButton_clicked(self):
        """
        Private slot to change the 'goto' mouse click sequence.
        """
        dlg = MouseClickDialog(*self.__modifiers["goto"])
        if dlg.exec() == QDialog.DialogCode.Accepted:
            self.__modifiers["goto"] = dlg.getClick()
            self.gotoClickEdit.setText(
                MouseUtilities.MouseButtonModifier2String(*self.__modifiers["goto"])
            )


def create(dlg):
    """
    Module function to create the configuration page.

    @param dlg reference to the configuration dialog
    @return reference to the instantiated page (ConfigurationPageBase)
    """
    page = EditorMouseClickHandlerJediPage()
    return page

eric ide

mercurial