summaryrefslogtreecommitdiffstats
path: root/examples/sql/sqlbrowser/qsqlconnectiondialog.ui
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2024-12-31 10:03:41 +0100
committerMarc Mutz <marc.mutz@qt.io>2025-01-02 07:50:45 +0100
commit3419c299369ac1da94ba5710aaf5f5f65c38c33c (patch)
tree768f67760f53df52044a71aa1d1ace03c93ce0a5 /examples/sql/sqlbrowser/qsqlconnectiondialog.ui
parent53826d1cde26f825d1983476c6697f72130e351f (diff)
sqlbrowser example: use idiomatic Qt [2/3]: use button-box / override accept()
- The old code used two QPushButtons in a QHBoxLayout to provide Ok/Cancel buttons. This hard-codes the positions and text (and icons) of these buttons, instead of adapting to the platform style. The new code simply uses QDialogButtonBox, which is designed for this purpose. - Also, the old code connected the Ok button's clicked() signal to a custom slot that then called QDialog::accept(). This means that the code in the custom slot is not executed when the dialog is accepted by other means (e.g. return press in one of the line edits ("auto-default"), though I'm not sure here). The new code uses the idiomatic Qt way of overriding QDialog::accept() instead, and connects the button-box's accepted() signal to it. This is done in the .ui file, so it already works in Designer preview. - Finally, the old code made a manual connection from the Cancel button to QDialog::reject(). The new code uses the Qt idiom of connecting in the .ui file directly, using QDialogButtonBox::rejected() as the signal. Amends 2690822428deec4f0c08f4d118d69a7c6036369e, which, however, inherited all of the above from even older code. Pick-to: 6.9 6.8 Change-Id: I83afd6156a0811e0c0f99f2480625ea6b69ff78b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'examples/sql/sqlbrowser/qsqlconnectiondialog.ui')
-rw-r--r--examples/sql/sqlbrowser/qsqlconnectiondialog.ui78
1 files changed, 36 insertions, 42 deletions
diff --git a/examples/sql/sqlbrowser/qsqlconnectiondialog.ui b/examples/sql/sqlbrowser/qsqlconnectiondialog.ui
index b99897aa3ba..ae562316f3c 100644
--- a/examples/sql/sqlbrowser/qsqlconnectiondialog.ui
+++ b/examples/sql/sqlbrowser/qsqlconnectiondialog.ui
@@ -163,47 +163,11 @@
</layout>
</item>
<item>
- <layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>6</number>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="standardButtons">
+ <set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
</property>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType" >
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="okButton" >
- <property name="text" >
- <string>&amp;OK</string>
- </property>
- <property name="default" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="cancelButton" >
- <property name="text" >
- <string>&amp;Cancel</string>
- </property>
- </widget>
- </item>
- </layout>
+ </widget>
</item>
</layout>
</widget>
@@ -216,8 +180,6 @@
<tabstop>editHostname</tabstop>
<tabstop>portSpinBox</tabstop>
<tabstop>dbCheckBox</tabstop>
- <tabstop>okButton</tabstop>
- <tabstop>cancelButton</tabstop>
</tabstops>
<resources/>
<connections>
@@ -237,5 +199,37 @@
</hint>
</hints>
</connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>QSqlConnectionDialogUi</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>19</x>
+ <y>278</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>244</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>QSqlConnectionDialogUi</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>58</x>
+ <y>276</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>58</x>
+ <y>258</y>
+ </hint>
+ </hints>
+ </connection>
</connections>
</ui>