5#include <QtCore/qdebug.h>
9using namespace Qt::StringLiterals;
11template <
class Container>
14 const bool blocked = container->signalsBlocked();
15 container->blockSignals(
true);
16 container->setCurrentIndex(index);
17 container->blockSignals(blocked);
22 if (widget->parentWidget())
23 widget->setParent(
nullptr);
39 setCurrentContainerIndex(index, m_widget);
44 ensureNoParent(widget);
45 m_widget->addWidget(widget);
50 ensureNoParent(widget);
51 m_widget->insertWidget(index, widget);
56 m_widget->removeWidget(widget(index));
68 setCurrentContainerIndex(index, m_widget);
73 ensureNoParent(widget);
74 m_widget->addTab(widget, QString::fromUtf8(PageLabel));
79 ensureNoParent(widget);
80 m_widget->insertTab(index, widget, QString::fromUtf8(PageLabel));
85 m_widget->removeTab(index);
97 setCurrentContainerIndex(index, m_widget);
102 ensureNoParent(widget);
103 m_widget->addItem(widget, QString::fromUtf8(PageLabel));
108 ensureNoParent(widget);
109 m_widget->insertItem(index, widget, QString::fromUtf8(PageLabel));
114 m_widget->removeItem(index);
125 SingleChildContainer<QScrollArea>(widget, widget->widget() ==
nullptr)
131 SingleChildContainer<QDockWidget>(widget)
static void setCurrentContainerIndex(int index, Container *container)
static constexpr auto PageLabel
static void ensureNoParent(QWidget *widget)
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.