diff -r 610af455ef9a -r fb361b396c68 ProjectKivy/CompleterKivyConfigWidget.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectKivy/CompleterKivyConfigWidget.py Sat Sep 09 17:43:15 2023 +0200 @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the configuration widget for the Kivy typing completer. +""" + +from PyQt6.QtWidgets import QWidget + +from .Ui_CompleterKivyConfigWidget import Ui_CompleterKivyConfigWidget + + +class CompleterKivyConfigWidget(QWidget, Ui_CompleterKivyConfigWidget): + """ + Class documentation goes here. + """ + + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object + @type ProjectKivyPlugin + @param parent reference to the parent widget (defaults to None) + @type QWidget (optional) + """ + super().__init__(parent) + self.setupUi(self) + + self.__plugin = plugin + + # set initial values + self.kivyGroup.setChecked( + self.__plugin.getTypingPreferences("EnabledTypingAids") + ) + self.kivyInsertClosingBraceCheckBox.setChecked( + self.__plugin.getTypingPreferences("InsertClosingBrace") + ) + self.kivySkipBraceCheckBox.setChecked( + self.__plugin.getTypingPreferences("SkipBrace") + ) + self.kivyColonDetectionCheckBox.setChecked( + self.__plugin.getTypingPreferences("ColonDetection") + ) + self.kivyAutoIndentationCheckBox.setChecked( + self.__plugin.getTypingPreferences("AutoIndentation") + ) + self.kivyInsertQuoteCheckBox.setChecked( + self.__plugin.getTypingPreferences("InsertQuote") + ) + self.kivyInsertBlankColonCheckBox.setChecked( + self.__plugin.getTypingPreferences("InsertBlankColon") + ) + self.kivyInsertBlankCommaCheckBox.setChecked( + self.__plugin.getTypingPreferences("InsertBlankComma") + ) + + def save(self): + """ + Public method to save the Kivy Typing Completer configuration. + """ + self.__plugin.setTypingPreferences( + "EnabledTypingAids", self.kivyGroup.isChecked() + ) + self.__plugin.setTypingPreferences( + "InsertClosingBrace", self.kivyInsertClosingBraceCheckBox.isChecked() + ) + self.__plugin.setTypingPreferences( + "SkipBrace", self.kivySkipBraceCheckBox.isChecked() + ) + self.__plugin.setTypingPreferences( + "ColonDetection", self.kivyColonDetectionCheckBox.isChecked() + ) + self.__plugin.setTypingPreferences( + "AutoIndentation", self.kivyAutoIndentationCheckBox.isChecked() + ) + self.__plugin.setTypingPreferences( + "InsertQuote", self.kivyInsertQuoteCheckBox.isChecked() + ) + self.__plugin.setTypingPreferences( + "InsertBlankColon", self.kivyInsertBlankColonCheckBox.isChecked() + ) + self.__plugin.setTypingPreferences( + "InsertBlankComma", self.kivyInsertBlankCommaCheckBox.isChecked() + )