MqttMonitor/ConfigurationPage/MqttPage.py

Thu, 01 Aug 2024 11:14:29 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 01 Aug 2024 11:14:29 +0200
branch
eric7
changeset 145
3f8e91170c37
parent 139
b7ca79939cc7
child 154
b66cfd856e93
permissions
-rw-r--r--

Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.

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

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

"""
Module implementing the MQTT Monitor configuration page.
"""

from eric7.Preferences.ConfigurationPages.ConfigurationPageBase import (
    ConfigurationPageBase,
)

from ..MqttProtocols import MqttProtocols
from .Ui_MqttPage import Ui_MqttPage


class MqttPage(ConfigurationPageBase, Ui_MqttPage):
    """
    Class implementing the MQTT Monitor configuration page.
    """

    def __init__(self, plugin):
        """
        Constructor

        @param plugin reference to the plugin object
        @type MqttMonitorPlugin
        """
        ConfigurationPageBase.__init__(self)
        self.setupUi(self)
        self.setObjectName("MqttPage")

        self.__plugin = plugin

        # set initial values
        protocol = self.__plugin.getPreferences("DefaultProtocol")
        self.mqttv31Button.setChecked(protocol == MqttProtocols.MQTTv31)
        self.mqttv311Button.setChecked(protocol == MqttProtocols.MQTTv311)
        self.mqttv5Button.setChecked(protocol == MqttProtocols.MQTTv5)
        self.recentBrokersSpinBox.setValue(
            self.__plugin.getPreferences("RecentBrokersNumber")
        )
        self.recentTopicsSpinBox.setValue(
            self.__plugin.getPreferences("RecentTopicsNumber")
        )

    def save(self):
        """
        Public slot to save the MQTT Monitor configuration.
        """
        if self.mqttv31Button.isChecked():
            protocol = MqttProtocols.MQTTv31
        elif self.mqttv311Button.isChecked():
            protocol = MqttProtocols.MQTTv311
        elif self.mqttv5Button.isChecked():
            protocol = MqttProtocols.MQTTv5
        else:
            # should never happen
            protocol = MqttProtocols.MQTTv311

        self.__plugin.setPreferences("DefaultProtocol", protocol)
        self.__plugin.setPreferences(
            "RecentBrokersNumber", self.recentBrokersSpinBox.value()
        )
        self.__plugin.setPreferences(
            "RecentTopicsNumber", self.recentTopicsSpinBox.value()
        )

eric ide

mercurial