summaryrefslogtreecommitdiffstats
path: root/src/designer/src/designer/qdesigner_workbench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/designer/src/designer/qdesigner_workbench.cpp')
-rw-r--r--src/designer/src/designer/qdesigner_workbench.cpp246
1 files changed, 119 insertions, 127 deletions
diff --git a/src/designer/src/designer/qdesigner_workbench.cpp b/src/designer/src/designer/qdesigner_workbench.cpp
index f94aa98bd..ff1b37030 100644
--- a/src/designer/src/designer/qdesigner_workbench.cpp
+++ b/src/designer/src/designer/qdesigner_workbench.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Designer of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "qdesigner_workbench.h"
#include "qdesigner.h"
@@ -59,8 +34,10 @@
#include <QtWidgets/qlayout.h>
#include <QtGui/qactiongroup.h>
+#include <QtGui/qcursor.h>
#include <QtGui/qevent.h>
#include <QtGui/qscreen.h>
+#include <QtGui/qwindow.h>
#include <QtCore/qdir.h>
#include <QtCore/qfile.h>
@@ -71,13 +48,15 @@
QT_BEGIN_NAMESPACE
-static const char *appFontPrefixC = "AppFonts";
+using namespace Qt::StringLiterals;
+
+static constexpr auto appFontPrefixC = "AppFonts"_L1;
using ActionList = QList<QAction *>;
static QMdiSubWindow *mdiSubWindowOf(const QWidget *w)
{
- QMdiSubWindow *rc = qobject_cast<QMdiSubWindow *>(w->parentWidget());
+ auto *rc = qobject_cast<QMdiSubWindow *>(w->parentWidget());
Q_ASSERT(rc);
return rc;
}
@@ -85,7 +64,7 @@ static QMdiSubWindow *mdiSubWindowOf(const QWidget *w)
static QDockWidget *dockWidgetOf(const QWidget *w)
{
for (QWidget *parentWidget = w->parentWidget(); parentWidget ; parentWidget = parentWidget->parentWidget()) {
- if (QDockWidget *dw = qobject_cast<QDockWidget *>(parentWidget)) {
+ if (auto *dw = qobject_cast<QDockWidget *>(parentWidget)) {
return dw;
}
}
@@ -94,9 +73,9 @@ static QDockWidget *dockWidgetOf(const QWidget *w)
}
// ------------ QDesignerWorkbench::Position
-QDesignerWorkbench::Position::Position(const QMdiSubWindow *mdiSubWindow, const QPoint &mdiAreaOffset) :
+QDesignerWorkbench::Position::Position(const QMdiSubWindow *mdiSubWindow) :
m_minimized(mdiSubWindow->isShaded()),
- m_position(mdiSubWindow->pos() + mdiAreaOffset)
+ m_position(mdiSubWindow->pos() + mdiSubWindow->mdiArea()->pos())
{
}
@@ -106,12 +85,12 @@ QDesignerWorkbench::Position::Position(const QDockWidget *dockWidget) :
{
}
-QDesignerWorkbench::Position::Position(const QWidget *topLevelWindow, const QPoint &desktopTopLeft)
+QDesignerWorkbench::Position::Position(const QWidget *topLevelWindow)
{
- const QWidget *window =topLevelWindow->window ();
+ const QWidget *window = topLevelWindow->window();
Q_ASSERT(window);
m_minimized = window->isMinimized();
- m_position = window->pos() - desktopTopLeft;
+ m_position = window->pos() - window->screen()->availableGeometry().topLeft();
}
void QDesignerWorkbench::Position::applyTo(QMdiSubWindow *mdiSubWindow,
@@ -150,9 +129,8 @@ void QDesignerWorkbench::Position::applyTo(QDockWidget *dockWidget) const
static inline void addActionsToMenu(QMenu *m, const ActionList &al)
{
- const ActionList::const_iterator cend = al.constEnd();
- for (ActionList::const_iterator it = al.constBegin(); it != cend; ++it)
- m->addAction(*it);
+ for (auto *a : al)
+ m->addAction(a);
}
static inline QMenu *addMenu(QMenuBar *mb, const QString &title, const ActionList &al)
@@ -164,8 +142,8 @@ static inline QMenu *addMenu(QMenuBar *mb, const QString &title, const ActionLis
// -------- QDesignerWorkbench
-QDesignerWorkbench::QDesignerWorkbench() :
- m_core(QDesignerComponents::createFormEditor(this)),
+QDesignerWorkbench::QDesignerWorkbench(const QStringList &pluginPaths) :
+ m_core(QDesignerComponents::createFormEditorWithPluginPaths(pluginPaths, this)),
m_windowActions(new QActionGroup(this)),
m_globalMenuBar(new QMenuBar)
{
@@ -189,7 +167,7 @@ QDesignerWorkbench::QDesignerWorkbench() :
addActionsToMenu(editMenu, m_actionManager->toolActions()->actions());
QMenu *formMenu = addMenu(m_globalMenuBar, tr("F&orm"), m_actionManager->formActions()->actions());
- QMenu *previewSubMenu = new QMenu(tr("Preview in"), formMenu);
+ auto *previewSubMenu = new QMenu(tr("Preview in"), formMenu);
formMenu->insertMenu(m_actionManager->previewFormAction(), previewSubMenu);
addActionsToMenu(previewSubMenu, m_actionManager->styleActions()->actions());
@@ -202,7 +180,7 @@ QDesignerWorkbench::QDesignerWorkbench() :
addMenu(m_globalMenuBar, tr("&Help"), m_actionManager->helpActions()->actions());
// Add the tools in view menu order
- QActionGroup *viewActions = new QActionGroup(this);
+ auto *viewActions = new QActionGroup(this);
viewActions->setExclusive(false);
for (int i = 0; i < QDesignerToolWindow::StandardToolWindowCount; i++) {
@@ -242,7 +220,7 @@ QDesignerWorkbench::QDesignerWorkbench() :
}
restoreUISettings();
- AppFontWidget::restore(m_core->settingsManager(), QLatin1String(appFontPrefixC));
+ AppFontWidget::restore(m_core->settingsManager(), appFontPrefixC);
m_state = StateUp;
}
@@ -257,6 +235,9 @@ QDesignerWorkbench::~QDesignerWorkbench()
delete widgetBoxToolWindow();
break;
}
+ delete m_globalMenuBar;
+ m_windowMenu = nullptr;
+ delete m_dockedMainWindow;
}
void QDesignerWorkbench::saveGeometriesForModeChange()
@@ -266,19 +247,17 @@ void QDesignerWorkbench::saveGeometriesForModeChange()
case NeutralMode:
break;
case TopLevelMode: {
- const QPoint desktopOffset = QGuiApplication::primaryScreen()->availableGeometry().topLeft();
- for (QDesignerToolWindow *tw : qAsConst(m_toolWindows))
- m_Positions.insert(tw, Position(tw, desktopOffset));
- for (QDesignerFormWindow *fw : qAsConst(m_formWindows))
- m_Positions.insert(fw, Position(fw, desktopOffset));
+ for (QDesignerToolWindow *tw : std::as_const(m_toolWindows))
+ m_Positions.insert(tw, Position(tw));
+ for (QDesignerFormWindow *fw : std::as_const(m_formWindows))
+ m_Positions.insert(fw, Position(fw));
}
break;
case DockedMode: {
- const QPoint mdiAreaOffset = m_dockedMainWindow->mdiArea()->pos();
- for (QDesignerToolWindow *tw : qAsConst(m_toolWindows))
+ for (QDesignerToolWindow *tw : std::as_const(m_toolWindows))
m_Positions.insert(tw, Position(dockWidgetOf(tw)));
- for (QDesignerFormWindow *fw : qAsConst(m_formWindows))
- m_Positions.insert(fw, Position(mdiSubWindowOf(fw), mdiAreaOffset));
+ for (QDesignerFormWindow *fw : std::as_const(m_formWindows))
+ m_Positions.insert(fw, Position(mdiSubWindowOf(fw)));
}
break;
}
@@ -346,11 +325,12 @@ QWidget *QDesignerWorkbench::magicalParent(const QWidget *w) const
case DockedMode:
return m_dockedMainWindow->mdiArea();
case NeutralMode:
- return nullptr;
+ break;
default:
- Q_ASSERT(0);
- return 0;
+ Q_ASSERT(false);
+ break;
}
+ return nullptr;
}
void QDesignerWorkbench::switchToNeutralMode()
@@ -368,14 +348,23 @@ void QDesignerWorkbench::switchToNeutralMode()
m_mode = NeutralMode;
- for (QDesignerToolWindow *tw : qAsConst(m_toolWindows)) {
+ for (QDesignerToolWindow *tw : std::as_const(m_toolWindows)) {
tw->setCloseEventPolicy(MainWindowBase::AcceptCloseEvents);
tw->setParent(nullptr);
+ // Prevent unneeded native children when switching to docked
+ if (auto *handle = tw->windowHandle())
+ handle->destroy();
}
- for (QDesignerFormWindow *fw : qAsConst(m_formWindows)) {
+ if (m_dockedMainWindow != nullptr) // Prevent assert
+ m_dockedMainWindow->mdiArea()->setActiveSubWindow(nullptr);
+
+ for (QDesignerFormWindow *fw : std::as_const(m_formWindows)) {
fw->setParent(nullptr);
fw->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
+ // Prevent unneeded native children when switching to docked
+ if (auto *handle = fw->windowHandle())
+ handle->destroy();
}
#ifndef Q_OS_MACOS
@@ -386,7 +375,6 @@ void QDesignerWorkbench::switchToNeutralMode()
qDesigner->setMainWindow(nullptr);
delete m_dockedMainWindow;
- m_dockedMainWindow = nullptr;
}
void QDesignerWorkbench::switchToDockedMode()
@@ -416,7 +404,9 @@ void QDesignerWorkbench::switchToDockedMode()
this, &QDesignerWorkbench::slotFileDropped);
connect(m_dockedMainWindow, &DockedMainWindow::formWindowActivated,
this, &QDesignerWorkbench::slotFormWindowActivated);
- m_dockedMainWindow->restoreSettings(settings, m_dockedMainWindow->addToolWindows(m_toolWindows), desktopGeometry());
+ m_dockedMainWindow->restoreSettings(settings,
+ m_dockedMainWindow->addToolWindows(m_toolWindows),
+ screen()->availableGeometry());
m_core->setTopLevel(m_dockedMainWindow);
@@ -426,7 +416,7 @@ void QDesignerWorkbench::switchToDockedMode()
#endif
qDesigner->setMainWindow(m_dockedMainWindow);
- for (QDesignerFormWindow *fw : qAsConst(m_formWindows)) {
+ for (QDesignerFormWindow *fw : std::as_const(m_formWindows)) {
QMdiSubWindow *subwin = m_dockedMainWindow->createMdiSubWindow(fw, magicalWindowFlags(fw),
m_actionManager->closeFormAction()->shortcut());
subwin->hide();
@@ -446,13 +436,22 @@ void QDesignerWorkbench::adjustMDIFormPositions()
{
const QPoint mdiAreaOffset = m_dockedMainWindow->mdiArea()->pos();
- for (QDesignerFormWindow *fw : qAsConst(m_formWindows)) {
- const PositionMap::const_iterator pit = m_Positions.constFind(fw);
+ for (QDesignerFormWindow *fw : std::as_const(m_formWindows)) {
+ const auto pit = m_Positions.constFind(fw);
if (pit != m_Positions.constEnd())
pit->applyTo(mdiSubWindowOf(fw), mdiAreaOffset);
}
}
+static QScreen *screenUnderMouse()
+{
+ const auto &screens = QGuiApplication::screens();
+ const auto pos = QCursor::pos();
+ auto pred = [pos](const QScreen *s) { return s->geometry().contains(pos); };
+ auto it = std::find_if(screens.cbegin(), screens.cend(), pred);
+ return it != screens.cend() ? *it : QGuiApplication::primaryScreen();
+}
+
void QDesignerWorkbench::switchToTopLevelMode()
{
if (m_mode == TopLevelMode)
@@ -463,8 +462,13 @@ void QDesignerWorkbench::switchToTopLevelMode()
Q_ASSERT(widgetBoxWrapper);
switchToNeutralMode();
- const QPoint desktopOffset = desktopGeometry().topLeft();
- m_mode = TopLevelMode;
+ m_mode = TopLevelMode; // Set new mode before calling screen()
+ const QDesignerSettings settings(m_core);
+ const QByteArray mainWindowState = settings.mainWindowState(m_mode);
+ // Open on screen where the mouse is when no settings exist
+ const auto *currentScreen = mainWindowState.isEmpty() ? screenUnderMouse() : screen();
+ const QRect availableGeometry = currentScreen->availableGeometry();
+ const QPoint desktopOffset = availableGeometry.topLeft();
// The widget box is special, it gets the menubar and gets to be the main widget.
@@ -485,37 +489,36 @@ void QDesignerWorkbench::switchToTopLevelMode()
widgetBoxWrapper->setWindowTitle(MainWindowBase::mainWindowTitle());
#endif // !Q_OS_MACOS
- const QDesignerSettings settings(m_core);
m_topLevelData.toolbars = MainWindowBase::createToolBars(m_actionManager, false);
m_topLevelData.toolbarManager = new ToolBarManager(widgetBoxWrapper, widgetBoxWrapper,
m_toolbarMenu, m_actionManager,
m_topLevelData.toolbars, m_toolWindows);
- const int toolBarCount = m_topLevelData.toolbars.size();
- for (int i = 0; i < toolBarCount; i++) {
+ const qsizetype toolBarCount = m_topLevelData.toolbars.size();
+ for (qsizetype i = 0; i < toolBarCount; ++i) {
widgetBoxWrapper->addToolBar(m_topLevelData.toolbars.at(i));
if (i == 3)
widgetBoxWrapper->insertToolBarBreak(m_topLevelData.toolbars.at(i));
}
m_topLevelData.toolbarManager->restoreState(settings.toolBarsState(m_mode), MainWindowBase::settingsVersion());
- widgetBoxWrapper->restoreState(settings.mainWindowState(m_mode), MainWindowBase::settingsVersion());
+ widgetBoxWrapper->restoreState(mainWindowState, MainWindowBase::settingsVersion());
bool found_visible_window = false;
- for (QDesignerToolWindow *tw : qAsConst(m_toolWindows)) {
+ for (QDesignerToolWindow *tw : std::as_const(m_toolWindows)) {
tw->setParent(magicalParent(tw), magicalWindowFlags(tw));
- settings.restoreGeometry(tw, tw->geometryHint());
+ settings.restoreGeometry(tw, tw->geometryHint(availableGeometry));
tw->action()->setChecked(tw->isVisible());
found_visible_window |= tw->isVisible();
}
if (!m_toolWindows.isEmpty() && !found_visible_window)
- m_toolWindows.first()->show();
+ m_toolWindows.constFirst()->show();
m_actionManager->setBringAllToFrontVisible(true);
- for (QDesignerFormWindow *fw : qAsConst(m_formWindows)) {
+ for (QDesignerFormWindow *fw : std::as_const(m_formWindows)) {
fw->setParent(magicalParent(fw), magicalWindowFlags(fw));
fw->setAttribute(Qt::WA_DeleteOnClose, true);
- const PositionMap::const_iterator pit = m_Positions.constFind(fw);
+ const auto pit = m_Positions.constFind(fw);
if (pit != m_Positions.constEnd()) pit->applyTo(fw, desktopOffset);
// Force an activate in order to refresh minimumSize, otherwise it will not be respected
if (QLayout *layout = fw->layout())
@@ -537,7 +540,7 @@ QDesignerFormEditorInterface *QDesignerWorkbench::core() const
int QDesignerWorkbench::toolWindowCount() const
{
- return m_toolWindows.count();
+ return m_toolWindows.size();
}
QDesignerToolWindow *QDesignerWorkbench::toolWindow(int index) const
@@ -547,7 +550,7 @@ QDesignerToolWindow *QDesignerWorkbench::toolWindow(int index) const
int QDesignerWorkbench::formWindowCount() const
{
- return m_formWindows.count();
+ return m_formWindows.size();
}
QDesignerFormWindow *QDesignerWorkbench::formWindow(int index) const
@@ -555,36 +558,20 @@ QDesignerFormWindow *QDesignerWorkbench::formWindow(int index) const
return m_formWindows.at(index);
}
-QRect QDesignerWorkbench::desktopGeometry() const
+QScreen *QDesignerWorkbench::screen() const
{
- // Return geometry of the desktop designer is running in.
- QWidget *widget = nullptr;
- switch (m_mode) {
- case DockedMode:
- widget = m_dockedMainWindow;
- break;
- case TopLevelMode:
- widget = widgetBoxToolWindow();
- break;
- case NeutralMode:
- break;
- }
- const auto screen = widget ? widget->screen() : QGuiApplication::primaryScreen();
- return screen ? screen->availableGeometry()
- : QGuiApplication::primaryScreen()->availableGeometry();
+ auto *widget = m_mode == DockedMode
+ ? static_cast<QWidget *>(m_dockedMainWindow.data())
+ : static_cast<QWidget *>(widgetBoxToolWindow());
+ return widget != nullptr
+ ? widget->screen() : QGuiApplication::primaryScreen();
}
-QRect QDesignerWorkbench::availableGeometry() const
+QRect QDesignerWorkbench::availableFormGeometry() const
{
- if (m_mode == DockedMode)
- return m_dockedMainWindow->mdiArea()->geometry();
-
- const auto screen = widgetBoxToolWindow()->screen();
- return screen ? screen->availableGeometry() : QGuiApplication::primaryScreen()->availableGeometry() ;
-}
-
-int QDesignerWorkbench::marginHint() const
-{ return 20;
+ // Return available geometry for forms
+ return m_mode == DockedMode
+ ? m_dockedMainWindow->mdiArea()->geometry() : screen()->availableGeometry();
}
void QDesignerWorkbench::slotFormWindowActivated(QDesignerFormWindow* fw)
@@ -604,25 +591,30 @@ void QDesignerWorkbench::removeFormWindow(QDesignerFormWindow *formWindow)
if (QAction *action = formWindow->action()) {
m_windowActions->removeAction(action);
- m_windowMenu->removeAction(action);
+ if (m_windowMenu)
+ m_windowMenu->removeAction(action);
}
if (m_formWindows.isEmpty()) {
m_actionManager->setWindowListSeparatorVisible(false);
// Show up new form dialog unless closing
- if (loadOk && m_state == StateUp
- && QDesignerSettings(m_core).showNewFormOnStartup()) {
- QTimer::singleShot(200, m_actionManager, &QDesignerActions::createForm);
- }
+ if (loadOk && m_state == StateUp)
+ showNewForm();
}
}
+void QDesignerWorkbench::showNewForm()
+{
+ if (!m_suppressNewFormShow && QDesignerSettings(m_core).showNewFormOnStartup())
+ QTimer::singleShot(100, m_actionManager, &QDesignerActions::createForm);
+}
+
void QDesignerWorkbench::initializeCorePlugins()
{
QObjectList plugins = QPluginLoader::staticInstances();
plugins += core()->pluginManager()->instances();
- for (QObject *plugin : qAsConst(plugins)) {
+ for (QObject *plugin : std::as_const(plugins)) {
if (QDesignerFormEditorPluginInterface *formEditorPlugin = qobject_cast<QDesignerFormEditorPluginInterface*>(plugin)) {
if (!formEditorPlugin->isInitialized())
formEditorPlugin->initialize(core());
@@ -635,7 +627,7 @@ void QDesignerWorkbench::saveSettings() const
QDesignerSettings settings(m_core);
settings.clearBackup();
saveGeometries(settings);
- AppFontWidget::save(m_core->settingsManager(), QLatin1String(appFontPrefixC));
+ AppFontWidget::save(m_core->settingsManager(), appFontPrefixC);
}
void QDesignerWorkbench::saveGeometries(QDesignerSettings &settings) const
@@ -689,12 +681,12 @@ bool QDesignerWorkbench::handleClose()
{
m_state = StateClosing;
QList<QDesignerFormWindow *> dirtyForms;
- for (QDesignerFormWindow *w : qAsConst(m_formWindows)) {
+ for (QDesignerFormWindow *w : std::as_const(m_formWindows)) {
if (w->editor()->isDirty())
dirtyForms << w;
}
- const int count = dirtyForms.size();
+ const auto count = dirtyForms.size();
if (count == 1) {
if (!dirtyForms.at(0)->close()) {
m_state = StateUp;
@@ -707,7 +699,7 @@ bool QDesignerWorkbench::handleClose()
QMessageBox::Cancel | QMessageBox::Discard | QMessageBox::Save);
box.setInformativeText(tr("If you do not review your documents, all your changes will be lost."));
box.button(QMessageBox::Discard)->setText(tr("Discard Changes"));
- QPushButton *save = static_cast<QPushButton *>(box.button(QMessageBox::Save));
+ auto *save = static_cast<QPushButton *>(box.button(QMessageBox::Save));
save->setText(tr("Review Changes"));
box.setDefaultButton(save);
switch (box.exec()) {
@@ -715,7 +707,7 @@ bool QDesignerWorkbench::handleClose()
m_state = StateUp;
return false;
case QMessageBox::Save:
- for (QDesignerFormWindow *fw : qAsConst(dirtyForms)) {
+ for (QDesignerFormWindow *fw : std::as_const(dirtyForms)) {
fw->show();
fw->raise();
if (!fw->close()) {
@@ -725,7 +717,7 @@ bool QDesignerWorkbench::handleClose()
}
break;
case QMessageBox::Discard:
- for (QDesignerFormWindow *fw : qAsConst(dirtyForms)) {
+ for (QDesignerFormWindow *fw : std::as_const(dirtyForms)) {
fw->editor()->setDirty(false);
fw->setWindowModified(false);
}
@@ -733,7 +725,7 @@ bool QDesignerWorkbench::handleClose()
}
}
- for (QDesignerFormWindow *fw : qAsConst(m_formWindows))
+ for (QDesignerFormWindow *fw : std::as_const(m_formWindows))
fw->close();
saveSettings();
@@ -764,20 +756,20 @@ void QDesignerWorkbench::updateWindowMenu(QDesignerFormWindowInterface *fwi)
m_actionManager->minimizeAction()->setEnabled(minimizeEnabled);
m_actionManager->minimizeAction()->setChecked(minimizeChecked);
- for (QDesignerFormWindow *fw : qAsConst(m_formWindows))
+ for (QDesignerFormWindow *fw : std::as_const(m_formWindows))
fw->action()->setChecked(fw == activeFormWindow);
}
void QDesignerWorkbench::formWindowActionTriggered(QAction *a)
{
- QDesignerFormWindow *fw = qobject_cast<QDesignerFormWindow *>(a->parentWidget());
+ auto *fw = qobject_cast<QDesignerFormWindow *>(a->parent());
Q_ASSERT(fw);
if (isFormWindowMinimized(fw))
setFormWindowMinimized(fw, false);
if (m_mode == DockedMode) {
- if (QMdiSubWindow *subWindow = qobject_cast<QMdiSubWindow *>(fw->parent())) {
+ if (auto *subWindow = qobject_cast<QMdiSubWindow *>(fw->parent())) {
m_dockedMainWindow->mdiArea()->setActiveSubWindow(subWindow);
}
} else {
@@ -788,7 +780,7 @@ void QDesignerWorkbench::formWindowActionTriggered(QAction *a)
void QDesignerWorkbench::closeAllToolWindows()
{
- for (QDesignerToolWindow *tw : qAsConst(m_toolWindows))
+ for (QDesignerToolWindow *tw : std::as_const(m_toolWindows))
tw->hide();
}
@@ -806,7 +798,7 @@ bool QDesignerWorkbench::readInBackup()
if (answer == QMessageBox::No)
return false;
- const QString modifiedPlaceHolder = QStringLiteral("[*]");
+ const auto modifiedPlaceHolder = "[*]"_L1;
for (auto it = backupFileMap.cbegin(), end = backupFileMap.cend(); it != end; ++it) {
QString fileName = it.key();
fileName.remove(modifiedPlaceHolder);
@@ -842,9 +834,9 @@ void QDesignerWorkbench::bringAllToFront()
{
if (m_mode != TopLevelMode)
return;
- for (QDesignerToolWindow *tw : qAsConst(m_toolWindows))
+ for (QDesignerToolWindow *tw : std::as_const(m_toolWindows))
raiseWindow(tw);
- for (QDesignerFormWindow *dfw : qAsConst(m_formWindows))
+ for (QDesignerFormWindow *dfw : std::as_const(m_formWindows))
raiseWindow(dfw);
}
@@ -863,7 +855,7 @@ void QDesignerWorkbench::resizeForm(QDesignerFormWindow *fw, const QWidget *main
return;
}
// get decorations and resize MDI
- QMdiSubWindow *mdiSubWindow = qobject_cast<QMdiSubWindow *>(fw->parent());
+ auto *mdiSubWindow = qobject_cast<QMdiSubWindow *>(fw->parent());
Q_ASSERT(mdiSubWindow);
const QSize decorationSize = mdiSubWindow->geometry().size() - mdiSubWindow->contentsRect().size();
mdiSubWindow->resize(containerSize + decorationSize);
@@ -896,8 +888,8 @@ QDesignerFormWindow * QDesignerWorkbench::loadForm(const QString &fileName,
const QString text = QString::fromUtf8(file.readLine());
file.close();
- const int lf = text.indexOf(QLatin1Char('\n'));
- if (lf > 0 && text.at(lf-1) == QLatin1Char('\r')) {
+ const auto lf = text.indexOf(u'\n');
+ if (lf > 0 && text.at(lf - 1) == u'\r') {
mode = qdesigner_internal::FormWindowBase::CRLFLineTerminator;
} else if (lf >= 0) {
mode = qdesigner_internal::FormWindowBase::LFLineTerminator;
@@ -913,7 +905,7 @@ QDesignerFormWindow * QDesignerWorkbench::loadForm(const QString &fileName,
// Create a form
QDesignerFormWindowManagerInterface *formWindowManager = m_core->formWindowManager();
- QDesignerFormWindow *formWindow = new QDesignerFormWindow(/*formWindow=*/ nullptr, this);
+ auto *formWindow = new QDesignerFormWindow(/*formWindow=*/ nullptr, this);
addFormWindow(formWindow);
QDesignerFormWindowInterface *editor = formWindow->editor();
Q_ASSERT(editor);
@@ -946,7 +938,7 @@ QDesignerFormWindow * QDesignerWorkbench::loadForm(const QString &fileName,
formWindow->setAttribute(Qt::WA_DeleteOnClose, true);
formWindow->setParent(magicalParent(formWindow), magicalWindowFlags(formWindow));
formWindow->resize(formWindowGeometryHint.size());
- formWindow->move(availableGeometry().center() - formWindowGeometryHint.center());
+ formWindow->move(availableFormGeometry().center() - formWindowGeometryHint.center());
}
break;
case NeutralMode:
@@ -1081,7 +1073,7 @@ void QDesignerWorkbench::restoreUISettings()
if (font == m_toolWindows.constFirst()->font())
return;
- for (QDesignerToolWindow *tw : qAsConst(m_toolWindows))
+ for (QDesignerToolWindow *tw : std::as_const(m_toolWindows))
tw->setFont(font);
}