Preferences/ConfigurationPages/EditorCalltipsPage.py

Sun, 31 Dec 2017 16:52:09 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 31 Dec 2017 16:52:09 +0100
changeset 6048
82ad8ec9548c
parent 5389
9b1c800daff3
child 6645
ad476851d7e0
permissions
-rw-r--r--

Updated copyright for 2018.

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

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

"""
Module implementing the Editor Calltips configuration page.
"""

from __future__ import unicode_literals

from PyQt5.Qsci import QsciScintilla

from QScintilla.QsciScintillaCompat import QSCINTILLA_VERSION

from .ConfigurationPageBase import ConfigurationPageBase
from .Ui_EditorCalltipsPage import Ui_EditorCalltipsPage

import Preferences


class EditorCalltipsPage(ConfigurationPageBase, Ui_EditorCalltipsPage):
    """
    Class implementing the Editor Calltips configuration page.
    """
    def __init__(self):
        """
        Constructor
        """
        super(EditorCalltipsPage, self).__init__()
        self.setupUi(self)
        self.setObjectName("EditorCalltipsPage")
        
        if QSCINTILLA_VERSION() >= 0x020700:
            self.positionComboBox.addItem(
                self.tr("Below Text"),
                QsciScintilla.CallTipsBelowText)
            self.positionComboBox.addItem(
                self.tr("Above Text"),
                QsciScintilla.CallTipsAboveText)
        else:
            self.calltipsPositionBox.hide()
        
        # set initial values
        self.ctEnabledCheckBox.setChecked(
            Preferences.getEditor("CallTipsEnabled"))
        
        self.ctVisibleSlider.setValue(
            Preferences.getEditor("CallTipsVisible"))
        self.initColour("CallTipsBackground", self.calltipsBackgroundButton,
                        Preferences.getEditorColour)
        
        self.ctScintillaCheckBox.setChecked(
            Preferences.getEditor("CallTipsScintillaOnFail"))
        
        if QSCINTILLA_VERSION() >= 0x020700:
            self.positionComboBox.setCurrentIndex(
                self.positionComboBox.findData(
                    Preferences.getEditor("CallTipsPosition")))
        
    def save(self):
        """
        Public slot to save the EditorCalltips configuration.
        """
        Preferences.setEditor(
            "CallTipsEnabled",
            self.ctEnabledCheckBox.isChecked())
        
        Preferences.setEditor(
            "CallTipsVisible",
            self.ctVisibleSlider.value())
        self.saveColours(Preferences.setEditorColour)
        
        Preferences.setEditor(
            "CallTipsScintillaOnFail",
            self.ctScintillaCheckBox.isChecked())
        
        if QSCINTILLA_VERSION() >= 0x020700:
            Preferences.setEditor(
                "CallTipsPosition",
                self.positionComboBox.itemData(
                    self.positionComboBox.currentIndex()))


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 = EditorCalltipsPage()
    return page

eric ide

mercurial