docker: Improve Docker Device Wizard

* Added Sorting of Images
* Added "Double-click to accept"
* Added "disable list until sucessful"
* Added "Show unnamed Images" option
* Added Loading indicator

Change-Id: I9bb822753ffc8af1d2e54f5279a6884cb5c4f1b0
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Marcus Tillmanns
2022-09-01 11:20:58 +02:00
parent 6adca44116
commit 9eef925133
6 changed files with 131 additions and 6 deletions

View File

@@ -10,6 +10,7 @@
#include <QGridLayout>
#include <QGroupBox>
#include <QPushButton>
#include <QStackedLayout>
#include <QStyle>
#include <QWidget>
@@ -109,6 +110,11 @@ QLayout *LayoutBuilder::createLayout() const
layout = vboxLayout;
break;
}
case LayoutBuilder::StackLayout: {
auto stackLayout = new QStackedLayout;
layout = stackLayout;
break;
}
}
QTC_ASSERT(layout, return nullptr);
if (m_spacing)
@@ -216,6 +222,7 @@ static void doLayoutHelper(QLayout *layout,
auto formLayout = qobject_cast<QFormLayout *>(layout);
auto gridLayout = qobject_cast<QGridLayout *>(layout);
auto boxLayout = qobject_cast<QBoxLayout *>(layout);
auto stackLayout = qobject_cast<QStackedLayout *>(layout);
for (const LayoutBuilder::LayoutItem &item : items) {
if (item.specialType == LayoutBuilder::SpecialType::Break) {
@@ -245,6 +252,8 @@ static void doLayoutHelper(QLayout *layout,
currentGridColumn += item.span;
} else if (boxLayout) {
addItemToBoxLayout(boxLayout, item);
} else if (stackLayout) {
stackLayout->addWidget(item.widget);
} else {
pendingFormItems.append(item);
}