Tue, 04 Sep 2018 19:42:24 +0200
MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
# -*- coding: utf-8 -*- # Copyright (c) 2018 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing a dialog to edit the MQTT connection profiles. """ from __future__ import unicode_literals import collections from PyQt5.QtCore import pyqtSlot from PyQt5.QtWidgets import QDialog, QAbstractButton, QListWidgetItem from .Ui_MqttConnectionProfilesDialog import Ui_MqttConnectionProfilesDialog class MqttConnectionProfilesDialog(QDialog, Ui_MqttConnectionProfilesDialog): """ Class implementing a dialog to edit the MQTT connection profiles. """ def __init__(self, client, profiles, parent=None): """ Constructor @param client reference to the MQTT client object @type MqttClient @param profiles dictionary containing dictionaries containing the connection parameters. Each entry must have the keys "BrokerAddress", "BrokerPort", "ClientId", "Keepalive", "CleanSession", "Username", "Password", "WillTopic", "WillMessage", "WillQos", "WillRetain". @type dict @param parent reference to the parent widget @type QWidget """ super(MqttConnectionProfilesDialog, self).__init__(parent) self.setupUi(self) self.__profiles = collections.defaultdict(self.__defaultProfile) self.__profiles.update(profiles) @pyqtSlot(str) def on_profileEdit_textChanged(self, p0): """ Slot documentation goes here. @param p0 DESCRIPTION @type str """ # TODO: not implemented yet raise NotImplementedError @pyqtSlot(QAbstractButton) def on_profileButtonBox_clicked(self, button): """ Slot documentation goes here. @param button DESCRIPTION @type QAbstractButton """ # TODO: not implemented yet raise NotImplementedError @pyqtSlot(QListWidgetItem, QListWidgetItem) def on_profilesList_currentItemChanged(self, current, previous): """ Slot documentation goes here. @param current DESCRIPTION @type QListWidgetItem @param previous DESCRIPTION @type QListWidgetItem """ # TODO: not implemented yet raise NotImplementedError @pyqtSlot() def on_plusButton_clicked(self): """ Slot documentation goes here. """ # TODO: not implemented yet raise NotImplementedError @pyqtSlot() def on_minusButton_clicked(self): """ Slot documentation goes here. """ # TODO: not implemented yet raise NotImplementedError def getProfiles(self): """ Public method to return a dictionary of profiles. @return dictionary containing the defined connection profiles @rtype dict """ return {} def __defaultProfile(self): """ Private method to populate non-existing profile items. @return default dictionary entry @rtype dict """ defaultProfile = self.__client.defaultConnectionOptions() defaultProfile["BrokerAddress"] = "" defaultProfile["BrokerPort"] = 1883 return defaultProfile