Utils: Return a const list for FancyMainWindow::dockWidgets

Makes s/foreach/for straight forward on the user code side.

Change-Id: I78aa0d06f538ebda491cd238ce81cc155b8d0beb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
hjk
2018-09-26 09:35:47 +02:00
parent e28eb85e8a
commit 1e8ae60dce
3 changed files with 9 additions and 9 deletions

View File

@@ -366,7 +366,7 @@ FancyMainWindowPrivate::FancyMainWindowPrivate(FancyMainWindow *parent) :
m_autoHideTitleBars.setChecked(true); m_autoHideTitleBars.setChecked(true);
QObject::connect(&m_autoHideTitleBars, &QAction::toggled, q, [this](bool) { QObject::connect(&m_autoHideTitleBars, &QAction::toggled, q, [this](bool) {
foreach (QDockWidget *dock, q->dockWidgets()) { for (QDockWidget *dock : q->dockWidgets()) {
if (auto titleBar = dynamic_cast<TitleBarWidget *>(dock->titleBarWidget())) if (auto titleBar = dynamic_cast<TitleBarWidget *>(dock->titleBarWidget()))
titleBar->updateChildren(); titleBar->updateChildren();
} }
@@ -427,7 +427,7 @@ void FancyMainWindow::setTrackingEnabled(bool enabled)
{ {
if (enabled) { if (enabled) {
d->m_handleDockVisibilityChanges = true; d->m_handleDockVisibilityChanges = true;
foreach (QDockWidget *dockWidget, dockWidgets()) for (QDockWidget *dockWidget : dockWidgets())
dockWidget->setProperty(dockWidgetActiveState, dockWidget->isVisible()); dockWidget->setProperty(dockWidgetActiveState, dockWidget->isVisible());
} else { } else {
d->m_handleDockVisibilityChanges = false; d->m_handleDockVisibilityChanges = false;
@@ -456,7 +456,7 @@ void FancyMainWindow::contextMenuEvent(QContextMenuEvent *event)
void FancyMainWindow::handleVisibilityChanged(bool visible) void FancyMainWindow::handleVisibilityChanged(bool visible)
{ {
d->m_handleDockVisibilityChanges = false; d->m_handleDockVisibilityChanges = false;
foreach (QDockWidget *dockWidget, dockWidgets()) { for (QDockWidget *dockWidget : dockWidgets()) {
if (dockWidget->isFloating()) { if (dockWidget->isFloating()) {
dockWidget->setVisible(visible dockWidget->setVisible(visible
&& dockWidget->property(dockWidgetActiveState).toBool()); && dockWidget->property(dockWidgetActiveState).toBool());
@@ -492,7 +492,7 @@ QHash<QString, QVariant> FancyMainWindow::saveSettings() const
settings.insert(QLatin1String(AutoHideTitleBarsKey), settings.insert(QLatin1String(AutoHideTitleBarsKey),
d->m_autoHideTitleBars.isChecked()); d->m_autoHideTitleBars.isChecked());
settings.insert(ShowCentralWidgetKey, d->m_showCentralWidget.isChecked()); settings.insert(ShowCentralWidgetKey, d->m_showCentralWidget.isChecked());
foreach (QDockWidget *dockWidget, dockWidgets()) { for (QDockWidget *dockWidget : dockWidgets()) {
settings.insert(dockWidget->objectName(), settings.insert(dockWidget->objectName(),
dockWidget->property(dockWidgetActiveState)); dockWidget->property(dockWidgetActiveState));
} }
@@ -507,13 +507,13 @@ void FancyMainWindow::restoreSettings(const QHash<QString, QVariant> &settings)
bool on = settings.value(QLatin1String(AutoHideTitleBarsKey), true).toBool(); bool on = settings.value(QLatin1String(AutoHideTitleBarsKey), true).toBool();
d->m_autoHideTitleBars.setChecked(on); d->m_autoHideTitleBars.setChecked(on);
d->m_showCentralWidget.setChecked(settings.value(ShowCentralWidgetKey, true).toBool()); d->m_showCentralWidget.setChecked(settings.value(ShowCentralWidgetKey, true).toBool());
foreach (QDockWidget *widget, dockWidgets()) { for (QDockWidget *widget : dockWidgets()) {
widget->setProperty(dockWidgetActiveState, widget->setProperty(dockWidgetActiveState,
settings.value(widget->objectName(), false)); settings.value(widget->objectName(), false));
} }
} }
QList<QDockWidget *> FancyMainWindow::dockWidgets() const const QList<QDockWidget *> FancyMainWindow::dockWidgets() const
{ {
return findChildren<QDockWidget *>(); return findChildren<QDockWidget *>();
} }
@@ -577,7 +577,7 @@ QAction *FancyMainWindow::showCentralWidgetAction() const
void FancyMainWindow::setDockActionsVisible(bool v) void FancyMainWindow::setDockActionsVisible(bool v)
{ {
foreach (const QDockWidget *dockWidget, dockWidgets()) for (const QDockWidget *dockWidget : dockWidgets())
dockWidget->toggleViewAction()->setVisible(v); dockWidget->toggleViewAction()->setVisible(v);
d->m_showCentralWidget.setVisible(v); d->m_showCentralWidget.setVisible(v);
d->m_autoHideTitleBars.setVisible(v); d->m_autoHideTitleBars.setVisible(v);

View File

@@ -48,7 +48,7 @@ public:
/* The widget passed in should have an objectname set /* The widget passed in should have an objectname set
* which will then be used as key for QSettings. */ * which will then be used as key for QSettings. */
QDockWidget *addDockForWidget(QWidget *widget, bool immutable = false); QDockWidget *addDockForWidget(QWidget *widget, bool immutable = false);
QList<QDockWidget *> dockWidgets() const; const QList<QDockWidget *> dockWidgets() const;
void setTrackingEnabled(bool enabled); void setTrackingEnabled(bool enabled);

View File

@@ -318,7 +318,7 @@ void DebuggerMainWindow::onModeChanged(Core::Id mode)
theMainWindow->setDockActionsVisible(false); theMainWindow->setDockActionsVisible(false);
// Hide dock widgets manually in case they are floating. // Hide dock widgets manually in case they are floating.
foreach (QDockWidget *dockWidget, theMainWindow->dockWidgets()) { for (QDockWidget *dockWidget : theMainWindow->dockWidgets()) {
if (dockWidget->isFloating()) if (dockWidget->isFloating())
dockWidget->hide(); dockWidget->hide();
} }