diff -r c55270946c9a -r cb6af351310b OllamaInterface/ConfigurationPage/OllamaPage.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/OllamaInterface/ConfigurationPage/OllamaPage.py Thu Aug 29 13:11:59 2024 +0200 @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2024 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the 'ollama' interface configuration page. +""" + +from eric7.Preferences.ConfigurationPages.ConfigurationPageBase import ( + ConfigurationPageBase, +) + +from .Ui_OllamaPage import Ui_OllamaPage + + +class OllamaPage(ConfigurationPageBase, Ui_OllamaPage): + """ + Class implementing the 'ollama' interface configuration page. + """ + + def __init__(self, plugin): + """ + Constructor + + @param plugin reference to the plugin object + @type PluginOllamaInterface + """ + super().__init__() + self.setupUi(self) + self.setObjectName("OllamaPage") + + self.__plugin = plugin + + # set initial values + self.serverSchemeComboBox.setCurrentText( + self.__plugin.getPreferences("OllamaScheme") + ) + self.serverHostEdit.setText(self.__plugin.getPreferences("OllamaHost")) + self.serverPortSpinBox.setValue(self.__plugin.getPreferences("OllamaPort")) + + self.localServerPortSpinBox.setValue( + self.__plugin.getPreferences("OllamaLocalPort") + ) + + self.modelLibraryUrlEdit.setText( + self.__plugin.getPreferences("OllamaModelLibraryUrl") + ) + + self.heartbeatSpinBox.setValue( + self.__plugin.getPreferences("OllamaHeartbeatInterval") + ) + self.streamingChatCheckBox.setChecked( + self.__plugin.getPreferences("StreamingChatResponse") + ) + + def save(self): + """ + Public slot to save the 'ollama' interface configuration. + """ + self.__plugin.setPreferences( + "OllamaScheme", self.serverSchemeComboBox.currentText() + ) + self.__plugin.setPreferences( + "OllamaHost", self.serverHostEdit.text() + ) + self.__plugin.setPreferences( + "OllamaPort", self.serverPortSpinBox.value() + ) + + self.__plugin.setPreferences( + "OllamaLocalPort", self.localServerPortSpinBox.value() + ) + + self.__plugin.setPreferences( + "OllamaModelLibraryUrl", self.modelLibraryUrlEdit.text() + ) + + self.__plugin.setPreferences( + "OllamaHeartbeatInterval", self.heartbeatSpinBox.value() + ) + self.__plugin.setPreferences( + "StreamingChatResponse", self.streamingChatCheckBox.isChecked() + )