--- a/MqttMonitor/MqttConnectionProfilesDialog.ui Sat Sep 08 15:28:48 2018 +0200 +++ b/MqttMonitor/MqttConnectionProfilesDialog.ui Sat Sep 08 15:29:39 2018 +0200 @@ -53,6 +53,13 @@ </widget> </item> <item> + <widget class="QToolButton" name="copyButton"> + <property name="toolTip"> + <string>Press to copy the selected profile</string> + </property> + </widget> + </item> + <item> <widget class="QToolButton" name="minusButton"> <property name="toolTip"> <string>Press to delete the selected profile</string> @@ -94,9 +101,9 @@ </widget> </item> <item row="0" column="1"> - <widget class="E5ClearableLineEdit" name="profileEdit"> - <property name="toolTip"> - <string>Enter the name of the profile</string> + <widget class="QLineEdit" name="profileEdit"> + <property name="readOnly"> + <bool>true</bool> </property> </widget> </item> @@ -380,6 +387,243 @@ </item> </layout> </widget> + <widget class="QWidget" name="tlsTab"> + <attribute name="title"> + <string>SSL/TLS</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <widget class="QGroupBox" name="tlsGroupBox"> + <property name="toolTip"> + <string>Select to enable SSL/TLS connections</string> + </property> + <property name="title"> + <string>SSL/TLS Enabled</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>false</bool> + </property> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <widget class="QRadioButton" name="tlsDefaultCertsButton"> + <property name="toolTip"> + <string>Select to use the default certificate file of the client</string> + </property> + <property name="text"> + <string>CA signed server certificate</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QRadioButton" name="tlsCertsFileButton"> + <property name="toolTip"> + <string>Select to use a specific certificate file</string> + </property> + <property name="text"> + <string>CA certificate file</string> + </property> + </widget> + </item> + <item> + <widget class="QWidget" name="tlsCertsFileWidget" native="true"> + <property name="enabled"> + <bool>false</bool> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <spacer name="horizontalSpacer_4"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>25</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_8"> + <property name="text"> + <string>CA File:</string> + </property> + </widget> + </item> + <item> + <widget class="E5PathPicker" name="tlsCertsFilePicker" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + <property name="toolTip"> + <string>Enter the full path to the CA certificate file</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QRadioButton" name="tlsSelfSignedCertsButton"> + <property name="toolTip"> + <string>Select to use a self signed client certificate</string> + </property> + <property name="text"> + <string>Self signed certificates</string> + </property> + </widget> + </item> + <item> + <widget class="QWidget" name="tlsSelfSignedFilesWidget" native="true"> + <property name="enabled"> + <bool>false</bool> + </property> + <layout class="QGridLayout" name="gridLayout_5"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item row="0" column="0"> + <spacer name="horizontalSpacer_5"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>25</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="0" column="1"> + <widget class="QLabel" name="label_9"> + <property name="text"> + <string>CA File:</string> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="E5PathPicker" name="tlsSelfSignedCertsFilePicker" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + <property name="toolTip"> + <string>Enter the full path to the CA certificate file</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLabel" name="label_10"> + <property name="text"> + <string>Client Certificate File:</string> + </property> + </widget> + </item> + <item row="1" column="2"> + <widget class="E5PathPicker" name="tlsSelfSignedClientCertFilePicker" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + <property name="toolTip"> + <string>Enter the full path to the client certificate file</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLabel" name="label_11"> + <property name="text"> + <string>Client Key File:</string> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="E5PathPicker" name="tlsSelfSignedClientKeyFilePicker" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + <property name="toolTip"> + <string>Enter the full path to the client key file</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="verticalSpacer_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>128</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> </widget> </item> <item> @@ -411,10 +655,17 @@ <extends>QLineEdit</extends> <header>E5Gui/E5LineEdit.h</header> </customwidget> + <customwidget> + <class>E5PathPicker</class> + <extends>QWidget</extends> + <header>E5Gui/E5PathPicker.h</header> + <container>1</container> + </customwidget> </customwidgets> <tabstops> <tabstop>profilesList</tabstop> <tabstop>plusButton</tabstop> + <tabstop>copyButton</tabstop> <tabstop>minusButton</tabstop> <tabstop>profileEdit</tabstop> <tabstop>brokerAddressEdit</tabstop> @@ -430,6 +681,14 @@ <tabstop>willMessageEdit</tabstop> <tabstop>willQosSpinBox</tabstop> <tabstop>willRetainCheckBox</tabstop> + <tabstop>tlsGroupBox</tabstop> + <tabstop>tlsDefaultCertsButton</tabstop> + <tabstop>tlsCertsFileButton</tabstop> + <tabstop>tlsCertsFilePicker</tabstop> + <tabstop>tlsSelfSignedCertsButton</tabstop> + <tabstop>tlsSelfSignedCertsFilePicker</tabstop> + <tabstop>tlsSelfSignedClientCertFilePicker</tabstop> + <tabstop>tlsSelfSignedClientKeyFilePicker</tabstop> </tabstops> <resources/> <connections> @@ -465,5 +724,37 @@ </hint> </hints> </connection> + <connection> + <sender>tlsCertsFileButton</sender> + <signal>toggled(bool)</signal> + <receiver>tlsCertsFileWidget</receiver> + <slot>setEnabled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>367</x> + <y>238</y> + </hint> + <hint type="destinationlabel"> + <x>357</x> + <y>252</y> + </hint> + </hints> + </connection> + <connection> + <sender>tlsSelfSignedCertsButton</sender> + <signal>toggled(bool)</signal> + <receiver>tlsSelfSignedFilesWidget</receiver> + <slot>setEnabled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>387</x> + <y>287</y> + </hint> + <hint type="destinationlabel"> + <x>466</x> + <y>305</y> + </hint> + </hints> + </connection> </connections> </ui>