From f534624fce9a5f1f3d1573c6800cbec5dec8edbf Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 20 Nov 2020 16:08:08 +0100 Subject: [PATCH] Fix build with newest Qt 6 No implicit casts from QString to QFileInfo anymore, and a few more QChar(int) fixes. Task-number: QTCREATORBUG-24098 Change-Id: I3326fc0701a9259c7bdd2d8c3025de0a4774f8aa Reviewed-by: hjk --- src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp | 2 +- src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp | 2 +- src/plugins/coreplugin/dialogs/saveitemsdialog.cpp | 2 +- src/plugins/coreplugin/locator/locatorwidget.cpp | 2 +- src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp | 2 +- src/plugins/genericprojectmanager/genericproject.cpp | 2 +- src/plugins/mcusupport/mcusupportoptions.cpp | 2 +- src/plugins/mercurial/mercurialplugin.cpp | 2 +- src/plugins/projectexplorer/dependenciespanel.cpp | 2 +- src/plugins/projectexplorer/projectmodels.cpp | 2 +- .../designercore/metainfo/subcomponentmanager.cpp | 7 ++++--- src/plugins/resourceeditor/qrceditor/resourcefile.cpp | 2 +- src/plugins/resourceeditor/resourcenode.cpp | 2 +- src/plugins/updateinfo/updateinfoplugin.cpp | 2 +- tests/auto/debugger/tst_dumpers.cpp | 4 ++-- 15 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp index 4d3acb80a4d..59ce1084ef4 100644 --- a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp +++ b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp @@ -58,7 +58,7 @@ QVariant FilePathItem::data(int column, int role) const case Qt::DisplayRole: return m_filePath; case Qt::DecorationRole: - return Core::FileIconProvider::icon(m_filePath); + return Core::FileIconProvider::icon(QFileInfo(m_filePath)); case Debugger::DetailedErrorView::FullTextRole: return m_filePath; default: diff --git a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp index 30abcb3d38f..dd49e0bdb7b 100644 --- a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp +++ b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp @@ -422,7 +422,7 @@ void ReadOnlyFilesDialogPrivate::initDialog(const FilePaths &filePaths) auto item = new QTreeWidgetItem(ui.treeWidget); item->setText(FileName, visibleName); item->setIcon(FileName, FileIconProvider::icon(info)); - item->setText(Folder, Utils::FilePath::fromFileInfo(directory).shortNativePath()); + item->setText(Folder, Utils::FilePath::fromString(directory).shortNativePath()); auto radioButtonGroup = new QButtonGroup; // Add a button for opening the file with a version control system diff --git a/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp b/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp index efeca722731..b533182a995 100644 --- a/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp @@ -79,7 +79,7 @@ SaveItemsDialog::SaveItemsDialog(QWidget *parent, QTreeWidgetItem *item = new QTreeWidgetItem(m_ui.treeWidget, QStringList() << visibleName << QDir::toNativeSeparators(directory)); if (!fileName.isEmpty()) - item->setIcon(0, FileIconProvider::icon(fileName)); + item->setIcon(0, FileIconProvider::icon(QFileInfo(fileName))); item->setData(0, Qt::UserRole, QVariant::fromValue(document)); } diff --git a/src/plugins/coreplugin/locator/locatorwidget.cpp b/src/plugins/coreplugin/locator/locatorwidget.cpp index 39135013cbe..bff6f100cc5 100644 --- a/src/plugins/coreplugin/locator/locatorwidget.cpp +++ b/src/plugins/coreplugin/locator/locatorwidget.cpp @@ -204,7 +204,7 @@ QVariant LocatorModel::data(const QModelIndex &index, int role) const if (index.column() == DisplayNameColumn) { LocatorFilterEntry &entry = mEntries[index.row()]; if (!entry.displayIcon && !entry.fileName.isEmpty()) - entry.displayIcon = FileIconProvider::icon(entry.fileName); + entry.displayIcon = FileIconProvider::icon(QFileInfo(entry.fileName)); return entry.displayIcon ? entry.displayIcon.value() : QIcon(); } break; diff --git a/src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp b/src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp index e9121793e30..a4c4000cb76 100644 --- a/src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp +++ b/src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp @@ -47,7 +47,7 @@ QVariant FilePathItem::data(int column, int role) const case Qt::DisplayRole: return m_filePath; case Qt::DecorationRole: - return Core::FileIconProvider::icon(m_filePath); + return Core::FileIconProvider::icon(QFileInfo(m_filePath)); case Debugger::DetailedErrorView::FullTextRole: return m_filePath; default: diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index a6c6d6cfbf3..97095427ac0 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -442,7 +442,7 @@ void GenericBuildSystem::parse(RefreshOptions options) FilePath GenericBuildSystem::findCommonSourceRoot() { if (m_files.isEmpty()) - return FilePath::fromFileInfo(QFileInfo(m_filesFileName).absolutePath()); + return FilePath::fromFileInfo(QFileInfo(m_filesFileName)); QString root = m_files.front(); for (const QString &item : qAsConst(m_files)) { diff --git a/src/plugins/mcusupport/mcusupportoptions.cpp b/src/plugins/mcusupport/mcusupportoptions.cpp index efb4a6e0069..304e2c6e519 100644 --- a/src/plugins/mcusupport/mcusupportoptions.cpp +++ b/src/plugins/mcusupport/mcusupportoptions.cpp @@ -75,7 +75,7 @@ static QString packagePathFromSettings(const QString &settingsKey, const QString key = QLatin1String(Constants::SETTINGS_GROUP) + '/' + QLatin1String(Constants::SETTINGS_KEY_PACKAGE_PREFIX) + settingsKey; const QString path = settings->value(key, defaultPath).toString(); - return FilePath::fromFileInfo(path).toString(); + return FilePath::fromUserInput(path).toString(); } static bool automaticKitCreationFromSettings(QSettings::Scope scope = QSettings::UserScope) diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp index e6ac9f7f796..db5391b6742 100644 --- a/src/plugins/mercurial/mercurialplugin.cpp +++ b/src/plugins/mercurial/mercurialplugin.cpp @@ -661,7 +661,7 @@ void MercurialPluginPrivate::showCommitWidget(const QListdocument()->setPreferredDisplayName(msg); const QString branch = vcsTopic(m_submitRepository); - commitEditor->setFields(m_submitRepository, branch, + commitEditor->setFields(QFileInfo(m_submitRepository), branch, m_settings.stringValue(MercurialSettings::userNameKey), m_settings.stringValue(MercurialSettings::userEmailKey), status); } diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp index 6c25bbf7f04..f1d43c2b295 100644 --- a/src/plugins/projectexplorer/dependenciespanel.cpp +++ b/src/plugins/projectexplorer/dependenciespanel.cpp @@ -99,7 +99,7 @@ QVariant DependenciesModel::data(const QModelIndex &index, int role) const case Qt::CheckStateRole: return SessionManager::hasDependency(m_project, p) ? Qt::Checked : Qt::Unchecked; case Qt::DecorationRole: - return Core::FileIconProvider::icon(p->projectFilePath().toString()); + return Core::FileIconProvider::icon(p->projectFilePath().toFileInfo()); default: return QVariant(); } diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp index d65b80041cf..b846c2cd320 100644 --- a/src/plugins/projectexplorer/projectmodels.cpp +++ b/src/plugins/projectexplorer/projectmodels.cpp @@ -145,7 +145,7 @@ QVariant FlatModel::data(const QModelIndex &index, int role) const } case Qt::DecorationRole: { if (!folderNode) - return Core::FileIconProvider::icon(node->filePath().toString()); + return Core::FileIconProvider::icon(node->filePath().toFileInfo()); if (!project) return folderNode->icon(); static QIcon warnIcon = Utils::Icons::WARNING.icon(); diff --git a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp index f9515242683..cf2ce9ecc3c 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp @@ -277,11 +277,12 @@ void SubComponentManager::parseFile(const QString &canonicalFilePath, bool addTo if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return; - QString dir = QFileInfo(canonicalFilePath).path(); + const QFileInfo fi(canonicalFilePath); + const QString dir = fi.path(); foreach (const QString &qualifier, m_dirToQualifier.values(dir)) { - registerQmlFile(canonicalFilePath, qualifier, addToLibrary); + registerQmlFile(fi, qualifier, addToLibrary); } - registerQmlFile(canonicalFilePath, qualification, addToLibrary); + registerQmlFile(fi, qualification, addToLibrary); } void SubComponentManager::parseFile(const QString &canonicalFilePath) diff --git a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp index cff7443c7fd..85d9741e784 100644 --- a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp +++ b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp @@ -793,7 +793,7 @@ QVariant ResourceModel::data(const QModelIndex &index, int role) const if (iconFileExtension(path)) file->icon = QIcon(path); else - file->icon = Core::FileIconProvider::icon(path); + file->icon = Core::FileIconProvider::icon(QFileInfo(path)); } if (!file->icon.isNull()) result = file->icon; diff --git a/src/plugins/resourceeditor/resourcenode.cpp b/src/plugins/resourceeditor/resourcenode.cpp index 5a9e2aef6af..0792e84d4e6 100644 --- a/src/plugins/resourceeditor/resourcenode.cpp +++ b/src/plugins/resourceeditor/resourcenode.cpp @@ -244,7 +244,7 @@ ResourceTopLevelNode::ResourceTopLevelNode(const FilePath &filePath, const QString &contents) : FolderNode(filePath) { - setIcon(FileIconProvider::icon(filePath.toString())); + setIcon(FileIconProvider::icon(filePath.toFileInfo())); setPriority(Node::DefaultFilePriority); setListInProject(true); setAddFileFilter("*.png; *.jpg; *.gif; *.svg; *.ico; *.qml; *.qml.ui"); diff --git a/src/plugins/updateinfo/updateinfoplugin.cpp b/src/plugins/updateinfo/updateinfoplugin.cpp index 1ca096b07f8..814e0559f6e 100644 --- a/src/plugins/updateinfo/updateinfoplugin.cpp +++ b/src/plugins/updateinfo/updateinfoplugin.cpp @@ -130,7 +130,7 @@ void UpdateInfoPlugin::startCheckForUpdates() d->m_checkUpdatesCommand->setDisplayName(tr("Checking for Updates")); connect(d->m_checkUpdatesCommand, &ShellCommand::stdOutText, this, &UpdateInfoPlugin::collectCheckForUpdatesOutput); connect(d->m_checkUpdatesCommand, &ShellCommand::finished, this, &UpdateInfoPlugin::checkForUpdatesFinished); - d->m_checkUpdatesCommand->addJob({Utils::FilePath::fromFileInfo(d->m_maintenanceTool), {"--checkupdates"}}, + d->m_checkUpdatesCommand->addJob({Utils::FilePath::fromString(d->m_maintenanceTool), {"--checkupdates"}}, 60 * 3, // 3 minutes timeout /*workingDirectory=*/QString(), [](int /*exitCode*/) { return Utils::SynchronousProcessResponse::Finished; }); diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index 80febccf1f7..f1fc08f2856 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -3800,7 +3800,7 @@ void tst_Dumpers::dumper_data() expected1.append(QChar(1)); expected1.append("BBB\""); - QChar oUmlaut = 0xf6; + QChar oUmlaut = QChar(0xf6); QTest::newRow("QString") << Data("#include \n" @@ -5957,7 +5957,7 @@ void tst_Dumpers::dumper_data() + Check("a1.0.2", "[2]", FloatValue("20"), "double") + Check("a1.2", "[2]", Pointer(), "double[4]") - + Check("a2", Value("\"abcd" + QString(16, 0) + '"'), "char [20]") + + Check("a2", Value("\"abcd" + QString(16, QChar(0)) + '"'), "char [20]") + Check("a2.0", "[0]", "97", "char") + Check("a2.3", "[3]", "100", "char");