Fri, 25 Nov 2022 14:15:48 +0100
Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
# -*- coding: utf-8 -*- # Copyright (c) 2006 - 2022 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.setDefaultVisible(True) self.textMimeTypesList.setToDefault.connect(self.__setToDefault) # set initial values self.textMimeTypesList.setList(Preferences.getUI("TextMimeTypes")) self.loadUnknownCheckBox.setChecked( Preferences.getUI("LoadUnknownMimeTypeFiles") ) def save(self): """ Public slot to save the Interface configuration. """ Preferences.setUI("TextMimeTypes", self.textMimeTypesList.getList()) Preferences.setUI( "LoadUnknownMimeTypeFiles", self.loadUnknownCheckBox.isChecked(), ) @pyqtSlot() def __setToDefault(self): """ Private slot to set the message list to the default values. """ ok = ( True if self.textMimeTypesList.isListEmpty() else EricMessageBox.yesNo( self, self.tr("Reset Mime Types"), self.tr( """Do you really want to reset the configured list of""" """ mime types?""" ), ) ) if ok: self.textMimeTypesList.setList( Preferences.Prefs.uiDefaults["TextMimeTypes"] ) 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 = MimeTypesPage() return page