6#include <QtCore/qdebug.h>
10using namespace Qt::StringLiterals;
12template <
class Container>
15 const bool blocked = container->signalsBlocked();
16 container->blockSignals(
true);
17 container->setCurrentIndex(index);
18 container->blockSignals(blocked);
23 if (widget->parentWidget())
24 widget->setParent(
nullptr);
40 setCurrentContainerIndex(index, m_widget);
45 ensureNoParent(widget);
46 m_widget->addWidget(widget);
51 ensureNoParent(widget);
52 m_widget->insertWidget(index, widget);
57 m_widget->removeWidget(widget(index));
69 setCurrentContainerIndex(index, m_widget);
74 ensureNoParent(widget);
75 m_widget->addTab(widget, QString::fromUtf8(PageLabel));
80 ensureNoParent(widget);
81 m_widget->insertTab(index, widget, QString::fromUtf8(PageLabel));
86 m_widget->removeTab(index);
98 setCurrentContainerIndex(index, m_widget);
103 ensureNoParent(widget);
104 m_widget->addItem(widget, QString::fromUtf8(PageLabel));
109 ensureNoParent(widget);
110 m_widget->insertItem(index, widget, QString::fromUtf8(PageLabel));
115 m_widget->removeItem(index);
126 SingleChildContainer<QScrollArea>(widget, widget->widget() ==
nullptr)
132 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.