summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTapani Mattila <tapani.mattila@qt.io>2022-01-18 15:53:49 +0200
committerTapani Mattila <tapani.mattila@qt.io>2022-01-27 11:00:04 +0000
commita117a558fe77fe63377e063c1424e8a66399fde2 (patch)
tree021ad30e466c91085b7b3db46bd9b7d0d7543c3a
parentf9de2f2b23923201e3443c63b2ebe33b41ab0eb1 (diff)
downloadqt-creator-a117a558fe77fe63377e063c1424e8a66399fde2.tar.gz
CMake generation: Streamline confirmation dialog
Task-number: QDS-5991 Change-Id: I1cec8650703ca5de936739d1adbba77d0b64562e Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r--src/plugins/qmldesigner/cmakegeneratordialog.cpp46
-rw-r--r--src/plugins/qmldesigner/generatecmakelists.cpp2
2 files changed, 33 insertions, 15 deletions
diff --git a/src/plugins/qmldesigner/cmakegeneratordialog.cpp b/src/plugins/qmldesigner/cmakegeneratordialog.cpp
index a972147051..eb7a35f170 100644
--- a/src/plugins/qmldesigner/cmakegeneratordialog.cpp
+++ b/src/plugins/qmldesigner/cmakegeneratordialog.cpp
@@ -28,6 +28,7 @@
#include "generatecmakelistsconstants.h"
#include <utils/utilsicons.h>
+#include <utils/detailswidget.h>
#include <QDialogButtonBox>
#include <QPushButton>
@@ -50,17 +51,14 @@ CmakeGeneratorDialog::CmakeGeneratorDialog(const FilePath &rootDir, const FilePa
m_model = new CMakeGeneratorDialogTreeModel(rootDir, files, this);
- QVBoxLayout *layout = new QVBoxLayout(this);
- setLayout(layout);
+ QVBoxLayout *dialogLayout = new QVBoxLayout(this);
+ dialogLayout->setSizeConstraint(QLayout::SetFixedSize);
+ setLayout(dialogLayout);
- QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
-
- auto *okButton = buttons->button(QDialogButtonBox::Ok);
- okButton->setDefault(true);
-
- connect(buttons, &QDialogButtonBox::accepted, this, &QDialog::accept);
- connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject);
- connect(m_model, &CMakeGeneratorDialogTreeModel::checkedStateChanged, this, &CmakeGeneratorDialog::refreshNotificationText);
+ QWidget *advancedInnerWidget = new QWidget(this);
+ QVBoxLayout *advancedInnerLayout = new QVBoxLayout(advancedInnerWidget);
+ advancedInnerWidget->setLayout(advancedInnerLayout);
+ advancedInnerWidget->setMinimumHeight(640);
QTreeView *tree = new QTreeView(this);
tree->setModel(m_model);
@@ -72,9 +70,31 @@ CmakeGeneratorDialog::CmakeGeneratorDialog(const FilePath &rootDir, const FilePa
refreshNotificationText();
- layout->addWidget(tree, 2);
- layout->addWidget(m_notifications, 1);
- layout->addWidget(buttons);
+ advancedInnerLayout->addWidget(tree, 2);
+ advancedInnerLayout->addWidget(m_notifications, 1);
+
+ DetailsWidget *advancedWidget = new DetailsWidget(this);
+ advancedWidget->setMinimumWidth(600);
+ advancedWidget->setWidget(advancedInnerWidget);
+ advancedWidget->setSummaryText(QCoreApplication::translate("QmlDesigner::GenerateCmake",
+ "Advanced Options"));
+
+ QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
+ auto *okButton = buttons->button(QDialogButtonBox::Ok);
+ okButton->setDefault(true);
+
+ connect(buttons, &QDialogButtonBox::accepted, this, &QDialog::accept);
+ connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject);
+ connect(m_model, &CMakeGeneratorDialogTreeModel::checkedStateChanged, this, &CmakeGeneratorDialog::refreshNotificationText);
+
+ QLabel *mainLabel = new QLabel(QCoreApplication::translate("QmlDesigner::GenerateCmake",
+ "Start CMakeFiles.txt generation"),
+ this);
+ mainLabel->setMargin(50);
+
+ dialogLayout->addWidget(mainLabel);
+ dialogLayout->addWidget(advancedWidget);
+ dialogLayout->addWidget(buttons);
}
FilePaths CmakeGeneratorDialog::getFilePaths()
diff --git a/src/plugins/qmldesigner/generatecmakelists.cpp b/src/plugins/qmldesigner/generatecmakelists.cpp
index 7609a31c15..ed62fb7bb1 100644
--- a/src/plugins/qmldesigner/generatecmakelists.cpp
+++ b/src/plugins/qmldesigner/generatecmakelists.cpp
@@ -205,8 +205,6 @@ bool showConfirmationDialog(const Utils::FilePath &rootDir)
files.append(file.filePath);
CmakeGeneratorDialog dialog(rootDir, files);
- dialog.setMinimumWidth(600);
- dialog.setMinimumHeight(640);
if (dialog.exec()) {
Utils::FilePaths confirmedFiles = dialog.getFilePaths();
removeUnconfirmedQueuedFiles(confirmedFiles);