From 11da92ba94570e5eec01597fe09f0a9a48acc677 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Tue, 16 May 2023 14:17:35 +0200 Subject: [PATCH] Convert "extension" dialog example into snippets Pick-to: 6.5 Task-number: QTBUG-108751 Change-Id: I8ca4e058b832674dc0c8b84024cb70a667ee8db4 Reviewed-by: Axel Spoerl --- doc/src/images/extension-example.png | Bin 9929 -> 0 bytes doc/src/images/extension_more.png | Bin 13523 -> 0 bytes examples/widgets/dialogs/CMakeLists.txt | 1 - examples/widgets/dialogs/dialogs.pro | 1 - examples/widgets/doc/src/extension.qdoc | 121 ------------------ src/widgets/dialogs/qdialog.cpp | 14 +- src/widgets/doc/snippets/dialogs/dialogs.cpp | 27 ++++ src/widgets/widgets/qdialogbuttonbox.cpp | 2 +- .../widgets/dialogs/extension/CMakeLists.txt | 0 .../widgets/dialogs/extension/extension.pro | 0 .../widgets/dialogs/extension/finddialog.cpp | 0 .../widgets/dialogs/extension/finddialog.h | 0 .../widgets/dialogs/extension/main.cpp | 0 13 files changed, 37 insertions(+), 129 deletions(-) delete mode 100644 doc/src/images/extension-example.png delete mode 100644 doc/src/images/extension_more.png delete mode 100644 examples/widgets/doc/src/extension.qdoc rename {examples => tests/manual/examples}/widgets/dialogs/extension/CMakeLists.txt (100%) rename {examples => tests/manual/examples}/widgets/dialogs/extension/extension.pro (100%) rename {examples => tests/manual/examples}/widgets/dialogs/extension/finddialog.cpp (100%) rename {examples => tests/manual/examples}/widgets/dialogs/extension/finddialog.h (100%) rename {examples => tests/manual/examples}/widgets/dialogs/extension/main.cpp (100%) diff --git a/doc/src/images/extension-example.png b/doc/src/images/extension-example.png deleted file mode 100644 index 18fab52825a83239221e36c4e2a1ea09e7cdb313..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9929 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 diff --git a/examples/widgets/dialogs/CMakeLists.txt b/examples/widgets/dialogs/CMakeLists.txt index a4031a68071..c40dc94ccb6 100644 --- a/examples/widgets/dialogs/CMakeLists.txt +++ b/examples/widgets/dialogs/CMakeLists.txt @@ -5,7 +5,6 @@ if(QT_FEATURE_wizard) qt_internal_add_example(classwizard) qt_internal_add_example(trivialwizard) endif() -qt_internal_add_example(extension) qt_internal_add_example(standarddialogs) qt_internal_add_example(tabdialog) if(QT_FEATURE_wizard AND TARGET Qt6::PrintSupport) diff --git a/examples/widgets/dialogs/dialogs.pro b/examples/widgets/dialogs/dialogs.pro index 1983c854a1d..14dbec67b6a 100644 --- a/examples/widgets/dialogs/dialogs.pro +++ b/examples/widgets/dialogs/dialogs.pro @@ -2,7 +2,6 @@ QT_FOR_CONFIG += widgets TEMPLATE = subdirs SUBDIRS = classwizard \ - extension \ licensewizard \ standarddialogs \ tabdialog \ diff --git a/examples/widgets/doc/src/extension.qdoc b/examples/widgets/doc/src/extension.qdoc deleted file mode 100644 index 8f35e0e196c..00000000000 --- a/examples/widgets/doc/src/extension.qdoc +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only - -/*! - \example dialogs/extension - \title Extension Example - \ingroup examples-dialogs - - \brief The Extension example shows how to add an extension to a QDialog - using the QAbstractButton::toggled() signal and the - QWidget::setVisible() slot. - - \image extension-example.png Screenshot of the Extension example - - The Extension application lets the user add search parameters in - a dialog and launch a simple or advanced search. - - The simple search has two options: \uicontrol {Match case} and \uicontrol - {Search from start}. The advanced search offers search for \uicontrol {Whole words}, - \uicontrol {Search backward}, and \uicontrol {Search selection}. The - application starts with simple search as the default. Click the \uicontrol More button - to show the advanced search options: - - \image extension_more.png Screenshot of the Extension example - - \section1 FindDialog Class Definition - - The \c FindDialog class inherits QDialog. QDialog is the - base class for dialog windows. A dialog window is a top-level - window mostly used for short-term tasks and brief communications - with the user. - - \snippet dialogs/extension/finddialog.h 0 - - The \c FindDialog widget is the main application widget, and - displays the application's search options and controlling - buttons. - - In addition to the constructor, there are several child widgets: - - \list - \li A QLineEdit with an associated QLabel to let the - user type a word to search for. - \li Several \l {QCheckBox}{QCheckBox}es to facilitate the search options. - \li Three \l {QPushButton}{QPushButton}s: - \list - \li the \uicontrol Find button to start a search - \li the \uicontrol More button to enable an advanced search - \li a QWidget representing the application's extension part - \endlist - \endlist - - \section1 FindDialog Class Implementation - - Create the standard child widgets for the simple search in the constructor: - the QLineEdit with the associated QLabel, two {QCheckBox}es and all the - \l {QPushButton}{QPushButton}s. - - \snippet dialogs/extension/finddialog.cpp 0 - - This snippet illustrates how you can define a shortcut key - for a widget. A shortcut should be defined by putting the ampersand - character (\c &) in front of the letter that should - become the shortcut. - For example, for \uicontrol {Find what}, pressing \uicontrol Alt - and \uicontrol w transfers focus to the QLineEdit widget. - Shortcuts can also be used for checking on or off a checkmark. - For example, pressing \uicontrol Alt and \uicontrol c puts the check mark - on \uicontrol {Match Case} if it was unchecked and vice versa. - It is the QLabel::setBuddy() method that links a widget to the shortcut - character if it has been defined. - - Set the \uicontrol Find button's default property to true, using the - QPushButton::setDefault() function. Then the push button will be - pressed if the user presses the Enter (or Return) key. Note that a - QDialog can only have one default button. - - \snippet dialogs/extension/finddialog.cpp 2 - - Create the extension widget, and the \l {QCheckBox}{QCheckBox}es associated - with the advanced search options. - - \snippet dialogs/extension/finddialog.cpp 3 - - Now that the extension widget is created, connect the \uicontrol - More button's \l{QAbstractButton::toggled()}{toggled()} signal to - the extension widget's \l{QWidget::setVisible()}{setVisible()} slot. - - The QAbstractButton::toggled() signal is emitted whenever a - checkable button changes its state. The signal's argument is true - if the button is checked, or false if the button is unchecked. The - QWidget::setVisible() slot sets the widget's visible status. If - the status is true the widget is shown, otherwise the widget is - hidden. - - Since the \uicontrol More button is checkable, the connection makes - sure that the extension widget is shown depending on the state of - the \uicontrol More button. - - Create checkboxes associated with the advanced search options in - a layout installed on the extension widget. - - \snippet dialogs/extension/finddialog.cpp 4 - - Before creating the main layout, create several child layouts - for the widgets. First align the QLabel and its buddy, the - QLineEdit, using a QHBoxLayout. Then align the QLabel and the QLineEdit - vertically with the checkboxes associated with the simple search, - using a QVBoxLayout. Create also a QVBoxLayout for the buttons. - Finally, lay out the two latter layouts and the extension widget - using a QGridLayout. - - \snippet dialogs/extension/finddialog.cpp 5 - - Hide the extension widget using the QWidget::hide() - function, making the application only show the simple search - options when it starts. When the user wants to access the advanced - search options, the dialog only needs to change the visibility of - the extension widget. Qt's layout management takes care of the - dialog's appearance. -*/ diff --git a/src/widgets/dialogs/qdialog.cpp b/src/widgets/dialogs/qdialog.cpp index f29f1dfded5..aa5e5f6d543 100644 --- a/src/widgets/dialogs/qdialog.cpp +++ b/src/widgets/dialogs/qdialog.cpp @@ -299,7 +299,8 @@ QVariant QDialogPrivate::styleHint(QPlatformDialogHelper::StyleHint hint) const \section1 Escape Key If the user presses the Esc key in a dialog, QDialog::reject() - will be called. This will cause the window to close: The \l{QCloseEvent}{close event} cannot be \l{QEvent::ignore()}{ignored}. + will be called. This will cause the window to close: + The \l{QCloseEvent}{close event} cannot be \l{QEvent::ignore()}{ignored}. \section1 Extensibility @@ -307,9 +308,8 @@ QVariant QDialogPrivate::styleHint(QPlatformDialogHelper::StyleHint hint) const partial dialog that shows the most commonly used options, and a full dialog that shows all the options. Typically an extensible dialog will initially appear as a partial dialog, but with a - \uicontrol More toggle button. If the user presses the \uicontrol More button down, - the dialog is expanded. The \l{Extension Example} shows how to achieve - extensible dialogs using Qt. + \uicontrol More toggle button. If the user presses the + \uicontrol More button down, the dialog is expanded. \target return \section1 Return Value (Modal Dialogs) @@ -339,7 +339,11 @@ QVariant QDialogPrivate::styleHint(QPlatformDialogHelper::StyleHint hint) const \snippet dialogs/dialogs.cpp 0 - \sa QDialogButtonBox, QTabWidget, QWidget, QProgressDialog, {Extension Example}, + A dialog with an extension: + + \snippet dialogs/dialogs.cpp extension + + \sa QDialogButtonBox, QTabWidget, QWidget, QProgressDialog, {Standard Dialogs Example} */ diff --git a/src/widgets/doc/snippets/dialogs/dialogs.cpp b/src/widgets/doc/snippets/dialogs/dialogs.cpp index 441ca8f795b..16b136df4b8 100644 --- a/src/widgets/doc/snippets/dialogs/dialogs.cpp +++ b/src/widgets/doc/snippets/dialogs/dialogs.cpp @@ -227,6 +227,33 @@ void Operation::cancel() } //! [6] +void extension() +{ + using ExtendedControls = QWidget; + QPushButton *findButton; + QPushButton *moreButton; + QWidget *extension; + QVBoxLayout *mainLayout; + +//! [extension] + findButton = new QPushButton(tr("&Find")); + moreButton = new QPushButton(tr("&More...")); + moreButton->setCheckable(true); + + extension = new ExtendedControls; + mainLayout->addWidget(extension); + extension->hide(); + + connect(moreButton, &QAbstractButton::toggled, extension, &QWidget::setVisible); +//! [extension] + +//! [buttonbox] + QDialogButtonBox *buttonBox = new QDialogButtonBox(Qt::Vertical); + buttonBox->addButton(findButton, QDialogButtonBox::ActionRole); + buttonBox->addButton(moreButton, QDialogButtonBox::ActionRole); +//! [buttonbox] +} + int main() { } diff --git a/src/widgets/widgets/qdialogbuttonbox.cpp b/src/widgets/widgets/qdialogbuttonbox.cpp index 1f8bdc0f942..5afecc8d0a7 100644 --- a/src/widgets/widgets/qdialogbuttonbox.cpp +++ b/src/widgets/widgets/qdialogbuttonbox.cpp @@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE the buttons (or button texts) yourself and add them to the button box, specifying their role. - \snippet dialogs/extension/finddialog.cpp 1 + \snippet dialogs/dialogs.cpp buttonbox Alternatively, QDialogButtonBox provides several standard buttons (e.g. OK, Cancel, Save) that you can use. They exist as flags so you can OR them together in the constructor. diff --git a/examples/widgets/dialogs/extension/CMakeLists.txt b/tests/manual/examples/widgets/dialogs/extension/CMakeLists.txt similarity index 100% rename from examples/widgets/dialogs/extension/CMakeLists.txt rename to tests/manual/examples/widgets/dialogs/extension/CMakeLists.txt diff --git a/examples/widgets/dialogs/extension/extension.pro b/tests/manual/examples/widgets/dialogs/extension/extension.pro similarity index 100% rename from examples/widgets/dialogs/extension/extension.pro rename to tests/manual/examples/widgets/dialogs/extension/extension.pro diff --git a/examples/widgets/dialogs/extension/finddialog.cpp b/tests/manual/examples/widgets/dialogs/extension/finddialog.cpp similarity index 100% rename from examples/widgets/dialogs/extension/finddialog.cpp rename to tests/manual/examples/widgets/dialogs/extension/finddialog.cpp diff --git a/examples/widgets/dialogs/extension/finddialog.h b/tests/manual/examples/widgets/dialogs/extension/finddialog.h similarity index 100% rename from examples/widgets/dialogs/extension/finddialog.h rename to tests/manual/examples/widgets/dialogs/extension/finddialog.h diff --git a/examples/widgets/dialogs/extension/main.cpp b/tests/manual/examples/widgets/dialogs/extension/main.cpp similarity index 100% rename from examples/widgets/dialogs/extension/main.cpp rename to tests/manual/examples/widgets/dialogs/extension/main.cpp