From 7e64a97986537fab1105385be8ce70f174ca5118 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@qt.io>
Date: Tue, 31 Jul 2018 12:30:13 +0200
Subject: [PATCH] Qt Designer: Refactor
 FormWindowManager::getUnsortedLayoutsToBeBroken()

Change the return type from a QMap<QWidget *,bool> to a QSet<QWidget *>
to fix a clang-tidy warning that a QHash should be used. The bool is
redundant, though.

Change-Id: Ib0bced9166cb6050e48195851abd6cb2b5109537
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
---
 .../src/components/formeditor/formwindowmanager.cpp  | 12 +++++-------
 .../src/components/formeditor/formwindowmanager.h    |  3 ++-
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/designer/src/components/formeditor/formwindowmanager.cpp b/src/designer/src/components/formeditor/formwindowmanager.cpp
index 68c467407..ecb348ade 100644
--- a/src/designer/src/components/formeditor/formwindowmanager.cpp
+++ b/src/designer/src/components/formeditor/formwindowmanager.cpp
@@ -742,10 +742,10 @@ QWidgetList FormWindowManager::layoutsToBeBroken(QWidget *w) const
 
 }
 
-QMap<QWidget *, bool> FormWindowManager::getUnsortedLayoutsToBeBroken(bool firstOnly) const
+QSet<QWidget *> FormWindowManager::getUnsortedLayoutsToBeBroken(bool firstOnly) const
 {
     // Return a set of layouts to be broken.
-    QMap<QWidget *, bool> layouts;
+    QSet<QWidget *> layouts;
 
     QWidgetList selection = m_activeFormWindow->selectedWidgets();
     if (selection.isEmpty() && m_activeFormWindow->mainContainer())
@@ -756,7 +756,7 @@ QMap<QWidget *, bool> FormWindowManager::getUnsortedLayoutsToBeBroken(bool first
         const QWidgetList &list = layoutsToBeBroken(selectedWidget);
         if (!list.empty()) {
             for (QWidget *widget : list)
-                layouts.insert(widget, true);
+                layouts.insert(widget);
             if (firstOnly)
                 return layouts;
         }
@@ -774,12 +774,10 @@ QWidgetList FormWindowManager::layoutsToBeBroken() const
 {
     // Get all layouts. This is a list of all 'red' layouts (QLayoutWidgets)
     // up to the first 'real' widget with a layout in hierarchy order.
-    QMap<QWidget *, bool> unsortedLayouts = getUnsortedLayoutsToBeBroken(false);
+    const QSet<QWidget *> unsortedLayouts = getUnsortedLayoutsToBeBroken(false);
     // Sort in order of hierarchy
     QWidgetList orderedLayoutList;
-    const QMap<QWidget *, bool>::const_iterator lscend  = unsortedLayouts.constEnd();
-    for (QMap<QWidget *, bool>::const_iterator itLay = unsortedLayouts.constBegin(); itLay != lscend; ++itLay) {
-        QWidget *wToBeInserted = itLay.key();
+    for (QWidget *wToBeInserted : unsortedLayouts) {
         if (!orderedLayoutList.contains(wToBeInserted)) {
             // try to find first child, use as insertion position, else append
             const QWidgetList::iterator firstChildPos = findFirstChildOf(orderedLayoutList.begin(), orderedLayoutList.end(), wToBeInserted);
diff --git a/src/designer/src/components/formeditor/formwindowmanager.h b/src/designer/src/components/formeditor/formwindowmanager.h
index c6f19d210..fb8d58bd9 100644
--- a/src/designer/src/components/formeditor/formwindowmanager.h
+++ b/src/designer/src/components/formeditor/formwindowmanager.h
@@ -37,6 +37,7 @@
 #include <QtCore/qlist.h>
 #include <QtCore/qpointer.h>
 #include <QtCore/qmap.h>
+#include <QtCore/qset.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -158,7 +159,7 @@ private:
     QAction *m_actionUndo;
     QAction *m_actionRedo;
 
-    QMap<QWidget *,bool> getUnsortedLayoutsToBeBroken(bool firstOnly) const;
+    QSet<QWidget *> getUnsortedLayoutsToBeBroken(bool firstOnly) const;
     bool hasLayoutsToBeBroken() const;
     QWidgetList layoutsToBeBroken(QWidget *w) const;
     QWidgetList layoutsToBeBroken() const;
-- 
GitLab