--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/Preferences/ConfigurationPages/EditorSearchPage.py Sun Apr 14 15:09:21 2019 +0200 @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2008 - 2019 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Editor Search configuration page. +""" + +from __future__ import unicode_literals + +from QScintilla.QsciScintillaCompat import QSCINTILLA_VERSION + +from .ConfigurationPageBase import ConfigurationPageBase +from .Ui_EditorSearchPage import Ui_EditorSearchPage + +import Preferences + + +class EditorSearchPage(ConfigurationPageBase, Ui_EditorSearchPage): + """ + Class implementing the Editor Search configuration page. + """ + def __init__(self): + """ + Constructor + """ + super(EditorSearchPage, self).__init__() + self.setupUi(self) + self.setObjectName("EditorSearchPage") + + self.editorColours = {} + + # set initial values + self.searchMarkersEnabledCheckBox.setChecked( + Preferences.getEditor("SearchMarkersEnabled")) + self.quicksearchMarkersEnabledCheckBox.setChecked( + Preferences.getEditor("QuickSearchMarkersEnabled")) + self.occurrencesMarkersEnabledCheckBox.setChecked( + Preferences.getEditor("MarkOccurrencesEnabled")) + + self.markOccurrencesTimeoutSpinBox.setValue( + Preferences.getEditor("MarkOccurrencesTimeout")) + + if QSCINTILLA_VERSION() < 0x020B00: + self.regexpModeBox.setEnabled(False) + else: + if Preferences.getEditor("SearchRegexpMode") == 0: + self.regexpPosixButton.setChecked(True) + else: + self.regexpCxx11Button.setChecked(True) + + self.initColour( + "SearchMarkers", self.searchMarkerButton, + Preferences.getEditorColour, hasAlpha=True) + + def save(self): + """ + Public slot to save the Editor Search configuration. + """ + Preferences.setEditor( + "SearchMarkersEnabled", + self.searchMarkersEnabledCheckBox.isChecked()) + Preferences.setEditor( + "QuickSearchMarkersEnabled", + self.quicksearchMarkersEnabledCheckBox.isChecked()) + Preferences.setEditor( + "MarkOccurrencesEnabled", + self.occurrencesMarkersEnabledCheckBox.isChecked()) + + Preferences.setEditor( + "MarkOccurrencesTimeout", + self.markOccurrencesTimeoutSpinBox.value()) + + if self.regexpPosixButton.isChecked(): + mode = 0 + else: + mode = 1 + Preferences.setEditor( + "SearchRegexpMode", mode) + + self.saveColours(Preferences.setEditorColour) + + +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 = EditorSearchPage() + return page