src/eric7/Preferences/ConfigurationPages/MimeTypesPage.py

Wed, 20 Dec 2023 14:58:58 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 20 Dec 2023 14:58:58 +0100
branch
eric7
changeset 10428
a071d4065202
parent 10069
435cc5875135
child 10439
21c28b0f9e41
permissions
-rw-r--r--

Converted some source code documentation to the new style.

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

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

"""
Module implementing the Text Mime Types configuration page.
"""

from PyQt6.QtCore import pyqtSlot

from eric7 import Preferences
from eric7.EricWidgets import EricMessageBox

from .ConfigurationPageBase import ConfigurationPageBase
from .Ui_MimeTypesPage import Ui_MimeTypesPage


class MimeTypesPage(ConfigurationPageBase, Ui_MimeTypesPage):
    """
    Class implementing the Text Mime Types configuration page.
    """

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

        self.textMimeTypesList.setResetVisible(True)
        self.textMimeTypesList.setDefaultVisible(True)
        self.textMimeTypesList.setToDefault.connect(self.__setMimeTypesToDefault)

        self.textFilePatternsList.setResetVisible(True)
        self.textFilePatternsList.setDefaultVisible(True)
        self.textFilePatternsList.setToDefault.connect(self.__setFilePatternsToDefault)

        # set initial values
        self.textMimeTypesList.setList(Preferences.getUI("TextMimeTypes"))
        self.textFilePatternsList.setList(Preferences.getUI("TextFilePatterns"))
        self.loadUnknownCheckBox.setChecked(
            Preferences.getUI("LoadUnknownMimeTypeFiles")
        )

    def save(self):
        """
        Public slot to save the Interface configuration.
        """
        Preferences.setUI("TextMimeTypes", self.textMimeTypesList.getList())
        Preferences.setUI("TextFilePatterns", self.textFilePatternsList.getList())
        Preferences.setUI(
            "LoadUnknownMimeTypeFiles",
            self.loadUnknownCheckBox.isChecked(),
        )

    @pyqtSlot()
    def __setMimeTypesToDefault(self):
        """
        Private slot to set the mimetypes list to the default values.
        """
        ok = (
            True
            if self.textMimeTypesList.isListEmpty()
            else EricMessageBox.yesNo(
                self,
                self.tr("Set Mime Types To Default"),
                self.tr(
                    """Do you really want to set the configured list of"""
                    """ mime types to the default value?"""
                ),
            )
        )

        if ok:
            self.textMimeTypesList.setList(
                Preferences.Prefs.uiDefaults["TextMimeTypes"]
            )

    @pyqtSlot()
    def __setFilePatternsToDefault(self):
        """
        Private slot to set the file patterns list to the default values.
        """
        ok = (
            True
            if self.textFilePatternsList.isListEmpty()
            else EricMessageBox.yesNo(
                self,
                self.tr("Set File Patterns To Default"),
                self.tr(
                    """Do you really want to set the configured list of"""
                    """ text file patterns to the default value?"""
                ),
            )
        )

        if ok:
            self.textFilePatternsList.setList(
                Preferences.Prefs.uiDefaults["TextFilePatterns"]
            )


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

    @param dlg reference to the configuration dialog
    @type ConfigurationDialog
    @return reference to the instantiated page
    @rtype ConfigurationPageBase
    """
    page = MimeTypesPage()
    return page

eric ide

mercurial