diff options
author | Eike Ziller <eike.ziller@qt.io> | 2020-06-02 09:10:40 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2020-06-02 11:44:53 +0000 |
commit | 5b364de1685e5bee5953e23da2552b5db4455a74 (patch) | |
tree | 13f505553880048143feea6678dbd09e31558599 /src | |
parent | 26d46fc19dccb3b599dcd24f2a3701b7c4e25d2b (diff) |
Use dialogParent() instead of mainWindow()
There are very few reasons to use mainWindow() directly.
Especially for modal dialogs, using dialogParent() is important, since
that guarantees the stacking order in case of other dialogs currently
being open.
Change-Id: I7ad2c23c5034b43195eb35cfe405932a7ea003e6
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src')
82 files changed, 239 insertions, 211 deletions
diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp index 7bb6bbc464..2d8051c8d5 100644 --- a/src/plugins/android/androidbuildapkstep.cpp +++ b/src/plugins/android/androidbuildapkstep.cpp @@ -290,7 +290,7 @@ void AndroidBuildApkStep::setupOutputFormatter(OutputFormatter *formatter) void AndroidBuildApkStep::showInGraphicalShell() { - Core::FileUtils::showInGraphicalShell(Core::ICore::mainWindow(), m_packagePath); + Core::FileUtils::showInGraphicalShell(Core::ICore::dialogParent(), m_packagePath); } ProjectExplorer::BuildStepConfigWidget *AndroidBuildApkStep::createConfigWidget() diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 4ea7fc6bd8..63bc3d1555 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -1114,7 +1114,7 @@ AndroidDeviceInfo AndroidConfigurations::showDeviceDialog(Project *project, if (!serialNumber.isEmpty()) break; } - AndroidDeviceDialog dialog(apiLevel, abis, serialNumber, Core::ICore::mainWindow()); + AndroidDeviceDialog dialog(apiLevel, abis, serialNumber, Core::ICore::dialogParent()); AndroidDeviceInfo info = dialog.device(); if (dialog.saveDeviceSelection() && info.isValid()) { const QString serialNumber = info.type == AndroidDeviceInfo::Hardware ? diff --git a/src/plugins/baremetal/debugserverprovidermanager.cpp b/src/plugins/baremetal/debugserverprovidermanager.cpp index 52969600fb..5081588783 100644 --- a/src/plugins/baremetal/debugserverprovidermanager.cpp +++ b/src/plugins/baremetal/debugserverprovidermanager.cpp @@ -152,7 +152,7 @@ void DebugServerProviderManager::saveProviders() } } data.insert(countKeyC, count); - m_writer->save(data, Core::ICore::mainWindow()); + m_writer->save(data, Core::ICore::dialogParent()); } QList<IDebugServerProvider *> DebugServerProviderManager::providers() diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index c25d36d1a1..8fc74e4f22 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -261,7 +261,7 @@ public: if (errorString) *errorString = msg; else - QMessageBox::critical(ICore::mainWindow(), tr("File Error"), msg); + QMessageBox::critical(ICore::dialogParent(), tr("File Error"), msg); return OpenResult::CannotHandle; } if (size / 16 >= qint64(1) << 31) { @@ -270,7 +270,7 @@ public: if (errorString) *errorString = msg; else - QMessageBox::critical(ICore::mainWindow(), tr("File Error"), msg); + QMessageBox::critical(ICore::dialogParent(), tr("File Error"), msg); return OpenResult::CannotHandle; } if (offset >= size) @@ -284,7 +284,7 @@ public: if (errorString) *errorString = errStr; else - QMessageBox::critical(ICore::mainWindow(), tr("File Error"), errStr); + QMessageBox::critical(ICore::dialogParent(), tr("File Error"), errStr); return OpenResult::ReadError; } @@ -304,7 +304,7 @@ public: data += QByteArray(blockSize - dataSize, 0); m_widget->addData(address, data); } else { - QMessageBox::critical(ICore::mainWindow(), tr("File Error"), + QMessageBox::critical(ICore::dialogParent(), tr("File Error"), tr("Cannot open %1: %2").arg( fn.toUserOutput(), file.errorString())); } diff --git a/src/plugins/boot2qt/qdbdevice.cpp b/src/plugins/boot2qt/qdbdevice.cpp index 9a52ca1f0e..5f424234cd 100644 --- a/src/plugins/boot2qt/qdbdevice.cpp +++ b/src/plugins/boot2qt/qdbdevice.cpp @@ -291,7 +291,7 @@ QdbLinuxDeviceFactory::QdbLinuxDeviceFactory() IDevice::Ptr QdbLinuxDeviceFactory::create() const { - QdbDeviceWizard wizard(Core::ICore::mainWindow()); + QdbDeviceWizard wizard(Core::ICore::dialogParent()); if (wizard.exec() != QDialog::Accepted) return IDevice::Ptr(); diff --git a/src/plugins/clangtools/clangtool.cpp b/src/plugins/clangtools/clangtool.cpp index d96bdfd40f..6cc636dd87 100644 --- a/src/plugins/clangtools/clangtool.cpp +++ b/src/plugins/clangtools/clangtool.cpp @@ -639,7 +639,7 @@ static bool continueDespiteReleaseBuild(const QString &toolName) "<p>%2</p>" "</body></html>") .arg(problem, question); - return CheckableMessageBox::doNotAskAgainQuestion(ICore::mainWindow(), + return CheckableMessageBox::doNotAskAgainQuestion(ICore::dialogParent(), title, message, ICore::settings(), @@ -791,7 +791,7 @@ void ClangTool::loadDiagnosticsFromFiles() { // Ask user for files const QStringList filePaths - = QFileDialog::getOpenFileNames(Core::ICore::mainWindow(), + = QFileDialog::getOpenFileNames(Core::ICore::dialogParent(), tr("Select YAML Files with Diagnostics"), QDir::homePath(), tr("YAML Files (*.yml *.yaml);;All Files (*)")); diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index 58b0c11ba9..5b89209e0e 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -949,7 +949,7 @@ bool CMakeBuildSystem::checkConfiguration() } table += QLatin1String("\n</table>"); - QPointer<QMessageBox> box = new QMessageBox(Core::ICore::mainWindow()); + QPointer<QMessageBox> box = new QMessageBox(Core::ICore::dialogParent()); box->setText(tr("The project has been changed outside of %1.") .arg(Core::Constants::IDE_DISPLAY_NAME)); box->setInformativeText(table); diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 1ec3a0cf93..aecf55986e 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -609,7 +609,7 @@ bool EditorManagerPrivate::skipOpeningBigTextFile(const QString &filePath) .arg(fileInfo.fileName()) .arg(fileSizeInMB, 0, 'f', 2); - CheckableMessageBox messageBox(ICore::mainWindow()); + CheckableMessageBox messageBox(ICore::dialogParent()); messageBox.setWindowTitle(title); messageBox.setText(text); messageBox.setStandardButtons(QDialogButtonBox::Yes|QDialogButtonBox::No); @@ -738,7 +738,11 @@ IEditor *EditorManagerPrivate::openEditor(EditorView *view, const QString &fileN .arg(FilePath::fromString(realFn).toUserOutput()); } - QMessageBox msgbox(QMessageBox::Critical, EditorManager::tr("File Error"), errorString, QMessageBox::Open | QMessageBox::Cancel, ICore::mainWindow()); + QMessageBox msgbox(QMessageBox::Critical, + EditorManager::tr("File Error"), + errorString, + QMessageBox::Open | QMessageBox::Cancel, + ICore::dialogParent()); IEditorFactory *selectedFactory = nullptr; if (!factories.isEmpty()) { @@ -872,8 +876,7 @@ MakeWritableResult EditorManagerPrivate::makeFileWritable(IDocument *document) { if (!document) return Failed; - // TODO: dialog parent is wrong - ReadOnlyFilesDialog roDialog(document, ICore::mainWindow(), document->isSaveAsAllowed()); + ReadOnlyFilesDialog roDialog(document, ICore::dialogParent(), document->isSaveAsAllowed()); switch (roDialog.exec()) { case ReadOnlyFilesDialog::RO_MakeWritable: case ReadOnlyFilesDialog::RO_OpenVCS: @@ -1039,7 +1042,7 @@ Id EditorManagerPrivate::getOpenWithEditorId(const QString &fileName, bool *isEx return Id(); QTC_ASSERT(allEditorIds.size() == allEditorDisplayNames.size(), return Id()); // Run dialog. - OpenWithDialog dialog(fileName, ICore::mainWindow()); + OpenWithDialog dialog(fileName, ICore::dialogParent()); dialog.setEditors(allEditorDisplayNames); dialog.setCurrentEditor(0); if (dialog.exec() != QDialog::Accepted) @@ -2082,7 +2085,7 @@ void EditorManagerPrivate::vcsOpenCurrentEditor() if (!versionControl->vcsOpen(document->filePath().toString())) { // TODO: wrong dialog parent - QMessageBox::warning(ICore::mainWindow(), tr("Cannot Open File"), + QMessageBox::warning(ICore::dialogParent(), tr("Cannot Open File"), tr("Cannot open the file for editing with VCS.")); } } @@ -2156,7 +2159,8 @@ void EditorManagerPrivate::autoSave() errors << errorString; } if (!errors.isEmpty()) - QMessageBox::critical(ICore::mainWindow(), tr("File Error"), + QMessageBox::critical(ICore::dialogParent(), + tr("File Error"), errors.join(QLatin1Char('\n'))); emit m_instance->autoSaved(); } @@ -2343,10 +2347,12 @@ void EditorManagerPrivate::revertToSaved(IDocument *document) if (fileName.isEmpty()) return; if (document->isModified()) { - // TODO: wrong dialog parent - QMessageBox msgBox(QMessageBox::Question, tr("Revert to Saved"), - tr("You will lose your current changes if you proceed reverting %1.").arg(QDir::toNativeSeparators(fileName)), - QMessageBox::Yes|QMessageBox::No, ICore::mainWindow()); + QMessageBox msgBox(QMessageBox::Question, + tr("Revert to Saved"), + tr("You will lose your current changes if you proceed reverting %1.") + .arg(QDir::toNativeSeparators(fileName)), + QMessageBox::Yes | QMessageBox::No, + ICore::dialogParent()); msgBox.button(QMessageBox::Yes)->setText(tr("Proceed")); msgBox.button(QMessageBox::No)->setText(tr("Cancel")); @@ -2367,7 +2373,7 @@ void EditorManagerPrivate::revertToSaved(IDocument *document) } QString errorString; if (!document->reload(&errorString, IDocument::FlagReload, IDocument::TypeContents)) - QMessageBox::critical(ICore::mainWindow(), tr("File Error"), errorString); + QMessageBox::critical(ICore::dialogParent(), tr("File Error"), errorString); } void EditorManagerPrivate::autoSuspendDocuments() @@ -2397,7 +2403,8 @@ void EditorManagerPrivate::showInGraphicalShell() { if (!d->m_contextMenuEntry || d->m_contextMenuEntry->fileName().isEmpty()) return; - FileUtils::showInGraphicalShell(ICore::mainWindow(), d->m_contextMenuEntry->fileName().toString()); + FileUtils::showInGraphicalShell(ICore::dialogParent(), + d->m_contextMenuEntry->fileName().toString()); } void EditorManagerPrivate::openTerminal() @@ -2983,7 +2990,7 @@ bool EditorManager::openExternalEditor(const QString &fileName, Id editorId) const bool ok = ee->startEditor(fileName, &errorMessage); QApplication::restoreOverrideCursor(); if (!ok) - QMessageBox::critical(ICore::mainWindow(), tr("Opening File"), errorMessage); + QMessageBox::critical(ICore::dialogParent(), tr("Opening File"), errorMessage); return ok; } diff --git a/src/plugins/coreplugin/fileutils.cpp b/src/plugins/coreplugin/fileutils.cpp index 2b16f45104..53f2e7c7b3 100644 --- a/src/plugins/coreplugin/fileutils.cpp +++ b/src/plugins/coreplugin/fileutils.cpp @@ -163,7 +163,7 @@ void FileUtils::removeFile(const QString &filePath, bool deleteFromFS) if (file.exists()) { // could have been deleted by vc if (!file.remove()) - QMessageBox::warning(ICore::mainWindow(), + QMessageBox::warning(ICore::dialogParent(), QApplication::translate("Core::Internal", "Deleting File Failed"), QApplication::translate("Core::Internal", "Could not delete file %1.").arg(filePath)); } diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp index 1b58e05eb8..13cb825917 100644 --- a/src/plugins/coreplugin/generalsettings.cpp +++ b/src/plugins/coreplugin/generalsettings.cpp @@ -98,7 +98,8 @@ GeneralSettingsWidget::GeneralSettingsWidget(GeneralSettings *q) m_ui.dpiCheckbox->setChecked(ICore::settings()->value(settingsKeyDPI, defaultValue).toBool()); connect(m_ui.dpiCheckbox, &QCheckBox::toggled, this, [](bool checked) { ICore::settings()->setValue(settingsKeyDPI, checked); - QMessageBox::information(ICore::mainWindow(), tr("Restart Required"), + QMessageBox::information(ICore::dialogParent(), + tr("Restart Required"), tr("The high DPI settings will take effect after restart.")); }); } diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index 6b82d89caf..d8668363ad 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -404,7 +404,7 @@ void VcsManager::promptToAdd(const QString &directory, const QStringList &fileNa if (unmanagedFiles.isEmpty()) return; - Internal::AddToVcsDialog dlg(ICore::mainWindow(), VcsManager::msgAddToVcsTitle(), + Internal::AddToVcsDialog dlg(ICore::dialogParent(), VcsManager::msgAddToVcsTitle(), unmanagedFiles, vc->displayName()); if (dlg.exec() == QDialog::Accepted) { QStringList notAddedToVc; @@ -414,7 +414,8 @@ void VcsManager::promptToAdd(const QString &directory, const QStringList &fileNa } if (!notAddedToVc.isEmpty()) { - QMessageBox::warning(ICore::mainWindow(), VcsManager::msgAddToVcsFailedTitle(), + QMessageBox::warning(ICore::dialogParent(), + VcsManager::msgAddToVcsFailedTitle(), VcsManager::msgToAddToVcsFailed(notAddedToVc, vc)); } } diff --git a/src/plugins/cpaster/protocol.cpp b/src/plugins/cpaster/protocol.cpp index b2b1e73792..b2ffc75b46 100644 --- a/src/plugins/cpaster/protocol.cpp +++ b/src/plugins/cpaster/protocol.cpp @@ -159,7 +159,7 @@ bool Protocol::showConfigurationError(const Protocol *p, showConfig = false; if (!parent) - parent = Core::ICore::mainWindow(); + parent = Core::ICore::dialogParent(); const QString title = tr("%1 - Configuration Error").arg(p->name()); QMessageBox mb(QMessageBox::Warning, title, message, QMessageBox::Cancel, parent); QPushButton *settingsButton = nullptr; @@ -220,7 +220,7 @@ bool NetworkProtocol::httpStatus(QString url, QString *errorMessage, bool useHtt tr("Checking connection"), tr("Connecting to %1...").arg(url), QMessageBox::Cancel, - Core::ICore::mainWindow()); + Core::ICore::dialogParent()); connect(reply.data(), &QNetworkReply::finished, &box, &QWidget::close); QApplication::setOverrideCursor(Qt::WaitCursor); box.exec(); diff --git a/src/plugins/cppeditor/cppeditorplugin.cpp b/src/plugins/cppeditor/cppeditorplugin.cpp index 8eae62faa4..b4789cf313 100644 --- a/src/plugins/cppeditor/cppeditorplugin.cpp +++ b/src/plugins/cppeditor/cppeditorplugin.cpp @@ -357,7 +357,7 @@ void CppEditorPluginPrivate::inspectCppCodeModel() if (m_cppCodeModelInspectorDialog) { ICore::raiseWindow(m_cppCodeModelInspectorDialog); } else { - m_cppCodeModelInspectorDialog = new CppCodeModelInspectorDialog(ICore::mainWindow()); + m_cppCodeModelInspectorDialog = new CppCodeModelInspectorDialog(ICore::dialogParent()); m_cppCodeModelInspectorDialog->show(); } } diff --git a/src/plugins/ctfvisualizer/ctftracemanager.cpp b/src/plugins/ctfvisualizer/ctftracemanager.cpp index 157c565a32..ba0976dbec 100644 --- a/src/plugins/ctfvisualizer/ctftracemanager.cpp +++ b/src/plugins/ctfvisualizer/ctftracemanager.cpp @@ -159,7 +159,7 @@ void CtfTraceManager::load(const QString &filename) std::ifstream file(filename.toStdString()); if (!file.is_open()) { - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("CTF Visualizer"), tr("Cannot read the CTF file.")); return; @@ -179,10 +179,13 @@ void CtfTraceManager::finalize() for (qint64 tid: m_threadModels.keys()) { if (m_threadModels[tid]->m_maxStackSize > 512) { if (!userConsentToIgnoreDeepTraces) { - QMessageBox::StandardButton answer = QMessageBox::question(Core::ICore::mainWindow(), - tr("CTF Visualizer"), - tr("The trace contains threads with stack depth > 512.\nDo you want to display them anyway?"), - QMessageBox::Yes | QMessageBox::No, QMessageBox::No); + QMessageBox::StandardButton answer + = QMessageBox::question(Core::ICore::dialogParent(), + tr("CTF Visualizer"), + tr("The trace contains threads with stack depth > " + "512.\nDo you want to display them anyway?"), + QMessageBox::Yes | QMessageBox::No, + QMessageBox::No); if (answer == QMessageBox::No) { userConsentToIgnoreDeepTraces = true; } else { diff --git a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp index c3fac0bceb..cbc317dedb 100644 --- a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp +++ b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp @@ -171,7 +171,7 @@ void CtfVisualizerTool::loadJson() m_isLoading = true; QString filename = QFileDialog::getOpenFileName( - ICore::mainWindow(), tr("Load Chrome Trace Format File"), + ICore::dialogParent(), tr("Load Chrome Trace Format File"), "", tr("JSON File (*.json)")); if (filename.isEmpty()) { m_isLoading = false; @@ -192,7 +192,7 @@ void CtfVisualizerTool::loadJson() connect(thread, &QThread::finished, this, [this, thread, task, futureInterface]() { // in main thread: if (m_traceManager->isEmpty()) { - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("CTF Visualizer"), tr("The file does not contain any trace data.")); } else { diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index bda6442e6b..0c604841ab 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -1513,7 +1513,7 @@ void DebuggerEnginePrivate::updateState() m_detachAction.setEnabled(detachable); if (stopped) - QApplication::alert(ICore::mainWindow(), 3000); + QApplication::alert(ICore::dialogParent(), 3000); updateReverseActions(); diff --git a/src/plugins/debugger/debuggeritemmanager.cpp b/src/plugins/debugger/debuggeritemmanager.cpp index 4be3de93a9..96225ac651 100644 --- a/src/plugins/debugger/debuggeritemmanager.cpp +++ b/src/plugins/debugger/debuggeritemmanager.cpp @@ -955,7 +955,7 @@ void DebuggerItemManagerPrivate::saveDebuggers() } }); data.insert(DEBUGGER_COUNT_KEY, count); - m_writer.save(data, ICore::mainWindow()); + m_writer.save(data, ICore::dialogParent()); // Do not save default debuggers as they are set by the SDK. } diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index cc7c1fba25..0606743911 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1749,7 +1749,7 @@ void DebuggerPlugin::getEnginesState(QByteArray *json) const void DebuggerPluginPrivate::attachToQmlPort() { - AttachToQmlPortDialog dlg(ICore::mainWindow()); + AttachToQmlPortDialog dlg(ICore::dialogParent()); const QVariant qmlServerPort = configValue("LastQmlServerPort"); if (qmlServerPort.isValid()) @@ -1954,7 +1954,7 @@ void DebuggerPluginPrivate::dumpLog() LogWindow *logWindow = engine->logWindow(); QTC_ASSERT(logWindow, return); - QString fileName = QFileDialog::getSaveFileName(ICore::mainWindow(), + QString fileName = QFileDialog::getSaveFileName(ICore::dialogParent(), tr("Save Debugger Log"), Utils::TemporaryDirectory::masterDirectoryPath()); if (fileName.isEmpty()) return; @@ -1966,7 +1966,7 @@ void DebuggerPluginPrivate::dumpLog() ts << logWindow->combinedContents(); saver.setResult(&ts); } - saver.finalize(ICore::mainWindow()); + saver.finalize(ICore::dialogParent()); } void DebuggerPluginPrivate::aboutToShutdown() @@ -2186,7 +2186,7 @@ static BuildConfiguration::BuildType startupBuildType() void showCannotStartDialog(const QString &text) { - auto errorDialog = new QMessageBox(ICore::mainWindow()); + auto errorDialog = new QMessageBox(ICore::dialogParent()); errorDialog->setAttribute(Qt::WA_DeleteOnClose); errorDialog->setIcon(QMessageBox::Warning); errorDialog->setWindowTitle(text); @@ -2251,7 +2251,7 @@ bool wantRunTool(ToolMode toolMode, const QString &toolName) "or otherwise insufficient output.</p><p>" "Do you want to continue and run the tool in %2 mode?</p></body></html>") .arg(toolName).arg(currentMode).arg(toolModeString); - if (Utils::CheckableMessageBox::doNotAskAgainQuestion(ICore::mainWindow(), + if (Utils::CheckableMessageBox::doNotAskAgainQuestion(ICore::dialogParent(), title, message, ICore::settings(), "AnalyzerCorrectModeWarning") != QDialogButtonBox::Yes) return false; diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index ee7c5dab36..299383f188 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -709,7 +709,7 @@ void DebuggerRunTool::start() static bool checked = true; if (checked) - CheckableMessageBox::information(Core::ICore::mainWindow(), + CheckableMessageBox::information(Core::ICore::dialogParent(), tr("Debugger"), warningMessage, tr("&Show this message again."), diff --git a/src/plugins/debugger/debuggertooltipmanager.cpp b/src/plugins/debugger/debuggertooltipmanager.cpp index 58ec3663ab..3989104129 100644 --- a/src/plugins/debugger/debuggertooltipmanager.cpp +++ b/src/plugins/debugger/debuggertooltipmanager.cpp @@ -483,7 +483,11 @@ public: if (parentWidget()) { // We are currently within a text editor tooltip: // Rip out of parent widget and re-show as a tooltip - ToolTip::pinToolTip(this, ICore::mainWindow()); + // Find parent with different window than the tooltip itself: + QWidget *top = parentWidget(); + while (top->window() == window() && top->parentWidget()) + top = top->parentWidget(); + ToolTip::pinToolTip(this, top->window()); } else { // We have just be restored from session data. setWindowFlags(Qt::ToolTip); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index c1cb8c7bad..14565da586 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -107,7 +107,7 @@ static QMessageBox *showMessageBox(QMessageBox::Icon icon, const QString &title, const QString &text, QMessageBox::StandardButtons buttons) { - auto mb = new QMessageBox(icon, title, text, buttons, ICore::mainWindow()); + auto mb = new QMessageBox(icon, title, text, buttons, ICore::dialogParent()); mb->setAttribute(Qt::WA_DeleteOnClose); mb->setTextInteractionFlags(Qt::TextSelectableByMouse); mb->show(); diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index 064170fe32..e4faf22abd 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -404,7 +404,7 @@ void QmlEngine::connectionStartupFailed() return; } - auto infoBox = new QMessageBox(ICore::mainWindow()); + auto infoBox = new QMessageBox(ICore::dialogParent()); infoBox->setIcon(QMessageBox::Critical); infoBox->setWindowTitle(Core::Constants::IDE_DISPLAY_NAME); infoBox->setText(tr("Could not connect to the in-process QML debugger." @@ -425,7 +425,7 @@ void QmlEngine::appStartupFailed(const QString &errorMessage) QString error = tr("Could not connect to the in-process QML debugger. %1").arg(errorMessage); if (companionEngine()) { - auto infoBox = new QMessageBox(ICore::mainWindow()); + auto infoBox = new QMessageBox(ICore::dialogParent()); infoBox->setIcon(QMessageBox::Critical); infoBox->setWindowTitle(Core::Constants::IDE_DISPLAY_NAME); infoBox->setText(error); diff --git a/src/plugins/designer/formeditorw.cpp b/src/plugins/designer/formeditorw.cpp index 2e673033ae..0076d62134 100644 --- a/src/plugins/designer/formeditorw.cpp +++ b/src/plugins/designer/formeditorw.cpp @@ -706,7 +706,7 @@ void FormEditorData::saveSettings(QSettings *s) void FormEditorData::critical(const QString &errorMessage) { - QMessageBox::critical(ICore::mainWindow(), tr("Designer"), errorMessage); + QMessageBox::critical(ICore::dialogParent(), tr("Designer"), errorMessage); } // Apply the command shortcut to the action and connects to the command's keySequenceChanged signal diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 3289564e25..a6c6d6cfbf 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -302,7 +302,7 @@ bool GenericBuildSystem::saveRawList(const QStringList &rawList, const QString & stream << filePath << '\n'; saver.setResult(&stream); } - bool result = saver.finalize(ICore::mainWindow()); + bool result = saver.finalize(ICore::dialogParent()); return result; } @@ -655,7 +655,7 @@ void GenericProject::editFilesTriggered() { SelectableFilesDialogEditFiles sfd(projectDirectory(), files(Project::AllFiles), - ICore::mainWindow()); + ICore::dialogParent()); if (sfd.exec() == QDialog::Accepted) { if (Target *t = activeTarget()) { auto bs = static_cast<GenericBuildSystem *>(t->buildSystem()); diff --git a/src/plugins/help/helpviewer.cpp b/src/plugins/help/helpviewer.cpp index 27de81390b..e4eeffd5cd 100644 --- a/src/plugins/help/helpviewer.cpp +++ b/src/plugins/help/helpviewer.cpp @@ -157,7 +157,7 @@ bool HelpViewer::launchWithExternalApp(const QUrl &url) saver.setAutoRemove(false); if (!saver.hasError()) saver.write(helpEngine.fileData(resolvedUrl)); - if (saver.finalize(Core::ICore::mainWindow())) + if (saver.finalize(Core::ICore::dialogParent())) QDesktopServices::openUrl(QUrl(saver.fileName())); return true; } diff --git a/src/plugins/macros/macromanager.cpp b/src/plugins/macros/macromanager.cpp index 08aa7b087f..c221eb3512 100644 --- a/src/plugins/macros/macromanager.cpp +++ b/src/plugins/macros/macromanager.cpp @@ -187,7 +187,7 @@ void MacroManagerPrivate::changeMacroDescription(Macro *macro, const QString &de if (!macro->load()) return; macro->setDescription(description); - macro->save(macro->fileName(), Core::ICore::mainWindow()); + macro->save(macro->fileName(), Core::ICore::dialogParent()); QAction *action = actions[macro->displayName()]; QTC_ASSERT(action, return); @@ -210,9 +210,10 @@ bool MacroManagerPrivate::executeMacro(Macro *macro) } if (error) { - QMessageBox::warning(Core::ICore::mainWindow(), - MacroManager::tr("Playing Macro"), - MacroManager::tr("An error occurred while replaying the macro, execution stopped.")); + QMessageBox::warning( + Core::ICore::dialogParent(), + MacroManager::tr("Playing Macro"), + MacroManager::tr("An error occurred while replaying the macro, execution stopped.")); } // Set the focus back to the editor @@ -225,8 +226,7 @@ bool MacroManagerPrivate::executeMacro(Macro *macro) void MacroManagerPrivate::showSaveDialog() { - QWidget *mainWindow = Core::ICore::mainWindow(); - SaveDialog dialog(mainWindow); + SaveDialog dialog(Core::ICore::dialogParent()); if (dialog.exec()) { if (dialog.name().isEmpty()) return; @@ -235,7 +235,7 @@ void MacroManagerPrivate::showSaveDialog() QString fileName = q->macrosDirectory() + QLatin1Char('/') + dialog.name() + QLatin1Char('.') + QLatin1String(Constants::M_EXTENSION); currentMacro->setDescription(dialog.description()); - currentMacro->save(fileName, mainWindow); + currentMacro->save(fileName, Core::ICore::dialogParent()); addMacro(currentMacro); } } diff --git a/src/plugins/mcusupport/mcusupportoptionspage.cpp b/src/plugins/mcusupport/mcusupportoptionspage.cpp index 0eac2b096c..4a6947a029 100644 --- a/src/plugins/mcusupport/mcusupportoptionspage.cpp +++ b/src/plugins/mcusupport/mcusupportoptionspage.cpp @@ -91,10 +91,8 @@ McuSupportOptionsWidget::McuSupportOptionsWidget() m_statusInfoLabel->setElideMode(Qt::ElideNone); m_statusInfoLabel->setOpenExternalLinks(false); mainLayout->addWidget(m_statusInfoLabel); - connect(m_statusInfoLabel, &QLabel::linkActivated, this, []{ - Core::ICore::showOptionsDialog( - CMakeProjectManager::Constants::CMAKE_SETTINGS_PAGE_ID, - Core::ICore::mainWindow()); + connect(m_statusInfoLabel, &QLabel::linkActivated, this, [] { + Core::ICore::showOptionsDialog(CMakeProjectManager::Constants::CMAKE_SETTINGS_PAGE_ID); }); } diff --git a/src/plugins/modeleditor/actionhandler.cpp b/src/plugins/modeleditor/actionhandler.cpp index 837914be32..7a92dcde60 100644 --- a/src/plugins/modeleditor/actionhandler.cpp +++ b/src/plugins/modeleditor/actionhandler.cpp @@ -189,13 +189,14 @@ void ActionHandler::createActions() Utils::Icons::LINK_TOOLBAR.icon())->action(); d->synchronizeBrowserAction->setCheckable(true); - auto editPropertiesAction = new QAction(tr("Edit Element Properties"), Core::ICore::mainWindow()); + auto editPropertiesAction = new QAction(tr("Edit Element Properties"), + Core::ICore::dialogParent()); Core::Command *editPropertiesCommand = Core::ActionManager::registerAction( editPropertiesAction, Constants::SHORTCUT_MODEL_EDITOR_EDIT_PROPERTIES, d->context); editPropertiesCommand->setDefaultKeySequence(QKeySequence(tr("Shift+Return"))); connect(editPropertiesAction, &QAction::triggered, this, &ActionHandler::onEditProperties); - auto editItemAction = new QAction(tr("Edit Item on Diagram"), Core::ICore::mainWindow()); + auto editItemAction = new QAction(tr("Edit Item on Diagram"), Core::ICore::dialogParent()); Core::Command *editItemCommand = Core::ActionManager::registerAction( editItemAction, Constants::SHORTCUT_MODEL_EDITOR_EDIT_ITEM, d->context); editItemCommand->setDefaultKeySequence(QKeySequence(tr("Return"))); diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index e2c6e97245..b6734134d6 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -812,7 +812,7 @@ IEditor *PerforcePluginPrivate::openPerforceSubmitEditor(const QString &fileName void PerforcePluginPrivate::printPendingChanges() { QGuiApplication::setOverrideCursor(Qt::WaitCursor); - PendingChangesDialog dia(pendingChangesData(), ICore::mainWindow()); + PendingChangesDialog dia(pendingChangesData(), ICore::dialogParent()); QGuiApplication::restoreOverrideCursor(); if (dia.exec() == QDialog::Accepted) { const int i = dia.changeNumber(); diff --git a/src/plugins/perfprofiler/perfdatareader.cpp b/src/plugins/perfprofiler/perfdatareader.cpp index 48dcaf645f..dfdbbb0342 100644 --- a/src/plugins/perfprofiler/perfdatareader.cpp +++ b/src/plugins/perfprofiler/perfdatareader.cpp @@ -79,7 +79,7 @@ PerfDataReader::PerfDataReader(QObject *parent) : emit finished(); } if (exitCode != 0) { - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("Perf Data Parser Failed"), tr("The Perf data parser failed to process all the samples. " "Your trace is incomplete. The exit code was %1.") @@ -107,7 +107,7 @@ PerfDataReader::PerfDataReader(QObject *parent) : switch (e) { case QProcess::FailedToStart: emit processFailed(tr("perfparser failed to start.")); - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("Perf Data Parser Failed"), tr("Could not start the perfparser utility program. " "Make sure a working Perf parser is available at the location " @@ -115,7 +115,7 @@ PerfDataReader::PerfDataReader(QObject *parent) : "variable.")); break; case QProcess::Crashed: - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("Perf Data Parser Crashed"), tr("This is a bug. Please report it.")); break; @@ -347,7 +347,7 @@ void PerfDataReader::writeChunk() m_input.disconnect(); m_input.kill(); emit finished(); - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("Cannot Send Data to Perf Data Parser"), tr("The Perf data parser does not accept further input. " "Your trace is incomplete.")); diff --git a/src/plugins/perfprofiler/perfprofilerruncontrol.cpp b/src/plugins/perfprofiler/perfprofilerruncontrol.cpp index b39509cbbe..bdf2c7670c 100644 --- a/src/plugins/perfprofiler/perfprofilerruncontrol.cpp +++ b/src/plugins/perfprofiler/perfprofilerruncontrol.cpp @@ -138,7 +138,7 @@ public: // in that. FailedToStart is the only actual failure. if (e == QProcess::FailedToStart) { QString msg = tr("Perf Process Failed to Start"); - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), msg, tr("Make sure that you are running a recent Linux kernel and " "that the \"perf\" utility is available.")); reportFailure(msg); diff --git a/src/plugins/perfprofiler/perfprofilertool.cpp b/src/plugins/perfprofiler/perfprofilertool.cpp index 4cd4256096..4695005367 100644 --- a/src/plugins/perfprofiler/perfprofilertool.cpp +++ b/src/plugins/perfprofiler/perfprofilertool.cpp @@ -281,7 +281,7 @@ void PerfProfilerTool::createViews() m_delayLabel->setIndent(10); connect(m_traceManager, &PerfProfilerTraceManager::error, this, [](const QString &message) { - QMessageBox *errorDialog = new QMessageBox(ICore::mainWindow()); + QMessageBox *errorDialog = new QMessageBox(ICore::dialogParent()); errorDialog->setIcon(QMessageBox::Warning); errorDialog->setWindowTitle(tr("Performance Analyzer")); errorDialog->setText(message); @@ -416,7 +416,7 @@ void PerfProfilerTool::onReaderFinished() { m_readerRunning = false; if (m_traceManager->traceDuration() <= 0) { - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("No Data Loaded"), tr("The profiler did not produce any samples. " "Make sure that you are running a recent Linux kernel and that " @@ -602,7 +602,7 @@ void PerfProfilerTool::showLoadPerfDialog() { m_perspective.select(); - PerfLoadDialog dlg(Core::ICore::mainWindow()); + PerfLoadDialog dlg(Core::ICore::dialogParent()); if (dlg.exec() != PerfLoadDialog::Accepted) return; @@ -620,7 +620,7 @@ void PerfProfilerTool::showLoadTraceDialog() m_perspective.select(); QString filename = QFileDialog::getOpenFileName( - ICore::mainWindow(), tr("Load Trace File"), + ICore::dialogParent(), tr("Load Trace File"), "", tr("Trace File (*.ptq)")); if (filename.isEmpty()) return; @@ -640,7 +640,7 @@ void PerfProfilerTool::showSaveTraceDialog() m_perspective.select(); QString filename = QFileDialog::getSaveFileName( - ICore::mainWindow(), tr("Save Trace File"), + ICore::dialogParent(), tr("Save Trace File"), "", tr("Trace File (*.ptq)")); if (filename.isEmpty()) return; diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index ce39023c7a..f312648540 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -141,7 +141,7 @@ static int queue(const QList<Project *> &projects, const QList<Id> &stepIds, bool stopThem = true; if (settings.prompToStopRunControl) { QStringList names = Utils::transform(toStop, &RunControl::displayName); - if (QMessageBox::question(ICore::mainWindow(), + if (QMessageBox::question(ICore::dialogParent(), BuildManager::tr("Stop Applications"), BuildManager::tr("Stop these applications before building?") + "\n\n" + names.join('\n')) @@ -477,7 +477,7 @@ void BuildManager::finish() const QString elapsedTime = Utils::formatElapsedTime(d->m_elapsed.elapsed()); m_instance->addToOutputWindow(elapsedTime, BuildStep::OutputFormat::NormalMessage); - QApplication::alert(ICore::mainWindow(), 3000); + QApplication::alert(ICore::dialogParent(), 3000); } void BuildManager::emitCancelMessage() diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index b0f4ce758a..efe73d5e49 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -222,11 +222,13 @@ void BuildSettingsWidget::createConfiguration(const BuildInfo &info_) BuildInfo info = info_; if (info.displayName.isEmpty()) { bool ok = false; - info.displayName = QInputDialog::getText(Core::ICore::mainWindow(), - tr("New Configuration"), - tr("New configuration name:"), - QLineEdit::Normal, - QString(), &ok).trimmed(); + info.displayName = QInputDialog::getText(Core::ICore::dialogParent(), + tr("New Configuration"), + tr("New configuration name:"), + QLineEdit::Normal, + QString(), + &ok) + .trimmed(); if (!ok || info.displayName.isEmpty()) return; } diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp index ea795fec1a..7877e0e968 100644 --- a/src/plugins/projectexplorer/buildstepspage.cpp +++ b/src/plugins/projectexplorer/buildstepspage.cpp @@ -381,10 +381,11 @@ void BuildStepListWidget::updateBuildStepButtonsState() connect(s->toolWidget, &ToolWidget::removeClicked, this, [this, i] { if (!m_buildStepList->removeStep(i)) { - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("Removing Step failed"), tr("Cannot remove build step while building"), - QMessageBox::Ok, QMessageBox::Ok); + QMessageBox::Ok, + QMessageBox::Ok); } }); diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp index 4ed4a337b4..6b274f2a55 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp @@ -133,7 +133,7 @@ void DeviceManager::save() return; QVariantMap data; data.insert(QLatin1String(DeviceManagerKey), toMap()); - d->writer->save(data, Core::ICore::mainWindow()); + d->writer->save(data, Core::ICore::dialogParent()); } void DeviceManager::load() diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index 1eab4633f5..79f4654caa 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -437,7 +437,7 @@ void KitManager::saveKits() d->m_defaultKit ? QString::fromLatin1(d->m_defaultKit->id().name()) : QString()); data.insert(KIT_IRRELEVANT_ASPECTS_KEY, transform<QVariantList>(d->m_irrelevantAspects, &Id::toSetting)); - d->m_writer->save(data, ICore::mainWindow()); + d->m_writer->save(data, ICore::dialogParent()); } bool KitManager::isLoaded() diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index 7376ecd6ea..7601fb0742 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -471,11 +471,11 @@ bool Project::copySteps(Target *sourceTarget, Target *newTarget) if (fatalError) { // That could be a more granular error message - QMessageBox::critical(Core::ICore::mainWindow(), + QMessageBox::critical(Core::ICore::dialogParent(), tr("Incompatible Kit"), tr("Kit %1 is incompatible with kit %2.") - .arg(sourceTarget->kit()->displayName()) - .arg(newTarget->kit()->displayName())); + .arg(sourceTarget->kit()->displayName()) + .arg(newTarget->kit()->displayName())); } else if (!buildconfigurationError.isEmpty() || !deployconfigurationError.isEmpty() || ! runconfigurationError.isEmpty()) { @@ -499,7 +499,7 @@ bool Project::copySteps(Target *sourceTarget, Target *newTarget) + runconfigurationError.join(QLatin1Char('\n')); } - QMessageBox msgBox(Core::ICore::mainWindow()); + QMessageBox msgBox(Core::ICore::dialogParent()); msgBox.setIcon(QMessageBox::Warning); msgBox.setWindowTitle(tr("Partially Incompatible Kit")); msgBox.setText(tr("Some configurations could not be copied.")); @@ -579,14 +579,14 @@ void Project::saveSettings() if (!d->m_accessor) d->m_accessor = std::make_unique<Internal::UserFileAccessor>(this); if (!targets().isEmpty()) - d->m_accessor->saveSettings(toMap(), Core::ICore::mainWindow()); + d->m_accessor->saveSettings(toMap(), Core::ICore::dialogParent()); } Project::RestoreResult Project::restoreSettings(QString *errorMessage) { if (!d->m_accessor) d->m_accessor = std::make_unique<Internal::UserFileAccessor>(this); - QVariantMap map(d->m_accessor->restoreSettings(Core::ICore::mainWindow())); + QVariantMap map(d->m_accessor->restoreSettings(Core::ICore::dialogParent())); RestoreResult result = fromMap(map, errorMessage); if (result == RestoreResult::Ok) emit settingsLoaded(); diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 5ece973a05..1ff8f6d230 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1452,8 +1452,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er dd->m_projectSelectorAction->setObjectName("KitSelector"); // used for UI introduction dd->m_projectSelectorAction->setCheckable(true); dd->m_projectSelectorAction->setEnabled(false); - QWidget *mainWindow = ICore::mainWindow(); - dd->m_targetSelector = new MiniProjectTargetSelector(dd->m_projectSelectorAction, mainWindow); + dd->m_targetSelector = new MiniProjectTargetSelector(dd->m_projectSelectorAction, ICore::dialogParent()); connect(dd->m_projectSelectorAction, &QAction::triggered, dd->m_targetSelector, &QWidget::show); ModeManager::addProjectSelector(dd->m_projectSelectorAction); @@ -2032,7 +2031,7 @@ void ProjectExplorerPlugin::extensionsInitialized() Command * const cmd = ActionManager::registerAction(parseIssuesAction, "ProjectExplorer.ParseIssuesAction"); connect(parseIssuesAction, &QAction::triggered, this, [] { - ParseIssuesDialog dlg(ICore::mainWindow()); + ParseIssuesDialog dlg(ICore::dialogParent()); dlg.exec(); }); mtools->addAction(cmd); @@ -2096,7 +2095,7 @@ void ProjectExplorerPlugin::openNewProjectDialog() void ProjectExplorerPluginPrivate::showSessionManager() { SessionManager::save(); - SessionDialog sessionDialog(ICore::mainWindow()); + SessionDialog sessionDialog(ICore::dialogParent()); sessionDialog.setAutoLoadSession(dd->m_projectExplorerSettings.autorestoreLastSession); sessionDialog.exec(); dd->m_projectExplorerSettings.autorestoreLastSession = sessionDialog.autoLoadSession(); @@ -2243,7 +2242,7 @@ void ProjectExplorerPlugin::showOpenProjectError(const OpenProjectResult &result QString errorMessage = result.errorMessage(); if (!errorMessage.isEmpty()) { // ignore alreadyOpen - QMessageBox::critical(ICore::mainWindow(), tr("Failed to Open Project"), errorMessage); + QMessageBox::critical(ICore::dialogParent(), tr("Failed to Open Project"), errorMessage); } else { // ignore multiple alreadyOpen Project *alreadyOpen = result.alreadyOpen().constFirst(); @@ -3456,7 +3455,7 @@ void ProjectExplorerPluginPrivate::addExistingProjects() QTC_ASSERT(projectNode, return); const QString dir = currentNode->directory(); QStringList subProjectFilePaths = QFileDialog::getOpenFileNames( - ICore::mainWindow(), tr("Choose Project File"), dir, + ICore::dialogParent(), tr("Choose Project File"), dir, projectNode->subProjectFileNamePatterns().join(";;")); if (!ProjectTree::hasNode(projectNode)) return; @@ -3479,7 +3478,7 @@ void ProjectExplorerPluginPrivate::addExistingProjects() if (!failedProjects.empty()) { const QString message = tr("The following subprojects could not be added to project " "\"%1\":").arg(projectNode->managingProject()->displayName()); - QMessageBox::warning(ICore::mainWindow(), tr("Adding Subproject Failed"), + QMessageBox::warning(ICore::dialogParent(), tr("Adding Subproject Failed"), message + "\n " + failedProjects.join("\n ")); return; } @@ -3493,7 +3492,7 @@ void ProjectExplorerPluginPrivate::handleAddExistingFiles() QTC_ASSERT(folderNode, return); - QStringList fileNames = QFileDialog::getOpenFileNames(ICore::mainWindow(), + QStringList fileNames = QFileDialog::getOpenFileNames(ICore::dialogParent(), tr("Add Existing Files"), node->directory()); if (fileNames.isEmpty()) return; @@ -3509,7 +3508,7 @@ void ProjectExplorerPluginPrivate::addExistingDirectory() QTC_ASSERT(folderNode, return); SelectableFilesDialogAddDirectory dialog(Utils::FilePath::fromString(node->directory()), - Utils::FilePaths(), ICore::mainWindow()); + Utils::FilePaths(), ICore::dialogParent()); dialog.setAddFileFilter({}); if (dialog.exec() == QDialog::Accepted) @@ -3532,7 +3531,7 @@ void ProjectExplorerPlugin::addExistingFiles(FolderNode *folderNode, const QStri .arg(folderNode->managingProject()->displayName()) + QLatin1Char('\n'); const QStringList nativeFiles = Utils::transform(notAdded, &QDir::toNativeSeparators); - QMessageBox::warning(ICore::mainWindow(), tr("Adding Files to Project Failed"), + QMessageBox::warning(ICore::dialogParent(), tr("Adding Files to Project Failed"), message + nativeFiles.join(QLatin1Char('\n'))); fileNames = Utils::filtered(fileNames, [¬Added](const QString &f) { return !notAdded.contains(f); }); @@ -3548,7 +3547,7 @@ void ProjectExplorerPluginPrivate::removeProject() return; ProjectNode *projectNode = node->managingProject(); if (projectNode) { - Utils::RemoveFileDialog removeFileDialog(node->filePath().toString(), ICore::mainWindow()); + Utils::RemoveFileDialog removeFileDialog(node->filePath().toString(), ICore::dialogParent()); removeFileDialog.setDeleteFileVisible(false); if (removeFileDialog.exec() == QDialog::Accepted) projectNode->removeSubProject(node->filePath().toString()); @@ -3573,7 +3572,7 @@ void ProjectExplorerPluginPrivate::showInGraphicalShell() { Node *currentNode = ProjectTree::currentNode(); QTC_ASSERT(currentNode, return); - FileUtils::showInGraphicalShell(ICore::mainWindow(), currentNode->path()); + FileUtils::showInGraphicalShell(ICore::dialogParent(), currentNode->path()); } void ProjectExplorerPluginPrivate::openTerminalHere(const EnvironmentGetter &env) @@ -3622,14 +3621,14 @@ void ProjectExplorerPluginPrivate::removeFile() for (const Node * const n : ProjectTree::siblingsWithSameBaseName(currentNode)) siblings << qMakePair(n, n->filePath()); - Utils::RemoveFileDialog removeFileDialog(filePath.toString(), ICore::mainWindow()); + Utils::RemoveFileDialog removeFileDialog(filePath.toString(), ICore::dialogParent()); if (removeFileDialog.exec() != QDialog::Accepted) return; const bool deleteFile = removeFileDialog.isDeleteFileChecked(); const QMessageBox::StandardButton reply = QMessageBox::question( - Core::ICore::mainWindow(), tr("Remove More Files?"), + Core::ICore::dialogParent(), tr("Remove More Files?"), tr("Would you like to remove these files as well?\n %1") .arg(Utils::transform<QStringList>(siblings, [](const NodeAndPath &np) { return np.second.toFileInfo().fileName(); @@ -3640,7 +3639,7 @@ void ProjectExplorerPluginPrivate::removeFile() for (const NodeAndPath &file : filesToRemove) { // Nodes can become invalid if the project was re-parsed while the dialog was open if (!ProjectTree::hasNode(file.first)) { - QMessageBox::warning(ICore::mainWindow(), tr("Removing File Failed"), + QMessageBox::warning(ICore::dialogParent(), tr("Removing File Failed"), tr("File \"%1\" was not removed, because the project has changed " "in the meantime.\nPlease try again.") .arg(file.second.toUserOutput())); @@ -3684,7 +3683,7 @@ void ProjectExplorerPluginPrivate::duplicateFile() newFileName.insert(copyTokenIndex, tr("_copy")); bool okPressed; - newFileName = QInputDialog::getText(ICore::mainWindow(), tr("Choose File Name"), + newFileName = QInputDialog::getText(ICore::dialogParent(), tr("Choose File Name"), tr("New file name:"), QLineEdit::Normal, newFileName, &okPressed); if (!okPressed) return; @@ -3696,14 +3695,14 @@ void ProjectExplorerPluginPrivate::duplicateFile() QTC_ASSERT(folderNode, return); QFile sourceFile(filePath); if (!sourceFile.copy(newFilePath)) { - QMessageBox::critical(ICore::mainWindow(), tr("Duplicating File Failed"), + QMessageBox::critical(ICore::dialogParent(), tr("Duplicating File Failed"), tr("Failed to copy file \"%1\" to \"%2\": %3.") .arg(QDir::toNativeSeparators(filePath), QDir::toNativeSeparators(newFilePath), sourceFile.errorString())); return; } if (!folderNode->addFiles(QStringList(newFilePath))) { - QMessageBox::critical(ICore::mainWindow(), tr("Duplicating File Failed"), + QMessageBox::critical(ICore::dialogParent(), tr("Duplicating File Failed"), tr("Failed to add new file \"%1\" to the project.") .arg(QDir::toNativeSeparators(newFilePath))); } @@ -3718,7 +3717,7 @@ void ProjectExplorerPluginPrivate::deleteFile() QString filePath = currentNode->filePath().toString(); QMessageBox::StandardButton button = - QMessageBox::question(ICore::mainWindow(), + QMessageBox::question(ICore::dialogParent(), tr("Delete File"), tr("Delete %1 from file system?") .arg(QDir::toNativeSeparators(filePath)), @@ -3739,7 +3738,7 @@ void ProjectExplorerPluginPrivate::deleteFile() QFile file(filePath); if (file.exists()) { if (!file.remove()) - QMessageBox::warning(ICore::mainWindow(), tr("Deleting File Failed"), + QMessageBox::warning(ICore::dialogParent(), tr("Deleting File Failed"), tr("Could not delete file %1.") .arg(QDir::toNativeSeparators(filePath))); } @@ -3770,7 +3769,7 @@ void ProjectExplorerPlugin::renameFile(Node *node, const QString &newFilePath) if (!folderNode->canRenameFile(oldFilePath, newFilePath)) { QTimer::singleShot(0, [oldFilePath, newFilePath, projectFileName] { - int res = QMessageBox::question(ICore::mainWindow(), + int res = QMessageBox::question(ICore::dialogParent(), tr("Project Editing Failed"), tr("The project file %1 cannot be automatically changed.\n\n" "Rename %2 to %3 anyway?") @@ -3780,7 +3779,6 @@ void ProjectExplorerPlugin::renameFile(Node *node, const QString &newFilePath) if (res == QMessageBox::Yes) { QTC_CHECK(FileUtils::renameFile(oldFilePath, newFilePath)); } - }); return; } @@ -3795,7 +3793,7 @@ void ProjectExplorerPlugin::renameFile(Node *node, const QString &newFilePath) .arg(projectFileName); QTimer::singleShot(0, [renameFileError]() { - QMessageBox::warning(ICore::mainWindow(), + QMessageBox::warning(ICore::dialogParent(), tr("Project Editing Failed"), renameFileError); }); @@ -3806,9 +3804,7 @@ void ProjectExplorerPlugin::renameFile(Node *node, const QString &newFilePath) .arg(QDir::toNativeSeparators(newFilePath)); QTimer::singleShot(0, [renameFileError]() { - QMessageBox::warning(ICore::mainWindow(), - tr("Cannot Rename File"), - renameFileError); + QMessageBox::warning(ICore::dialogParent(), tr("Cannot Rename File"), renameFileError); }); } } diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp index ff58e14308..1edde713de 100644 --- a/src/plugins/projectexplorer/projectfilewizardextension.cpp +++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp @@ -189,7 +189,7 @@ bool ProjectFileWizardExtension::processFiles( errorMessage->clear(); } message.append(tr("Open project anyway?")); - if (QMessageBox::question(ICore::mainWindow(), tr("Version Control Failure"), message, + if (QMessageBox::question(ICore::dialogParent(), tr("Version Control Failure"), message, QMessageBox::Yes, QMessageBox::No) == QMessageBox::No) return false; } diff --git a/src/plugins/projectexplorer/projectimporter.cpp b/src/plugins/projectexplorer/projectimporter.cpp index d420758599..d2c065585d 100644 --- a/src/plugins/projectexplorer/projectimporter.cpp +++ b/src/plugins/projectexplorer/projectimporter.cpp @@ -102,9 +102,10 @@ const QList<BuildInfo> ProjectImporter::import(const Utils::FilePath &importPath const auto handleFailure = [this, importPath, silent] { if (silent) return; - QMessageBox::critical(Core::ICore::mainWindow(), tr("No Build Found"), + QMessageBox::critical(Core::ICore::dialogParent(), + tr("No Build Found"), tr("No build found in %1 matching project %2.") - .arg(importPath.toUserOutput(), projectFilePath().toUserOutput())); + .arg(importPath.toUserOutput(), projectFilePath().toUserOutput())); }; qCDebug(log) << "Examining directory" << absoluteImportPath.toString(); QList<void *> dataList = examineDirectory(absoluteImportPath); diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp index 1939674d4e..fb2734db8e 100644 --- a/src/plugins/projectexplorer/projectmodels.cpp +++ b/src/plugins/projectexplorer/projectmodels.cpp @@ -217,7 +217,7 @@ bool FlatModel::setData(const QModelIndex &index, const QVariant &value, int rol const QList<Node *> candidateNodes = ProjectTree::siblingsWithSameBaseName(node); if (!candidateNodes.isEmpty()) { const QMessageBox::StandardButton reply = QMessageBox::question( - Core::ICore::mainWindow(), tr("Rename More Files?"), + Core::ICore::dialogParent(), tr("Rename More Files?"), tr("Would you like to rename these files as well?\n %1") .arg(transform<QStringList>(candidateNodes, [](const Node *n) { return n->filePath().toFileInfo().fileName(); @@ -748,8 +748,7 @@ bool FlatModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int r "files. Please check your repository.")) .append("\n ").append(makeUserFileList(failedVcsOp)); } - QMessageBox::warning(Core::ICore::mainWindow(), tr("Failure Updating Project"), - message); + QMessageBox::warning(Core::ICore::dialogParent(), tr("Failure Updating Project"), message); } return true; diff --git a/src/plugins/projectexplorer/projectwelcomepage.cpp b/src/plugins/projectexplorer/projectwelcomepage.cpp index 125d445631..5c9d6a1815 100644 --- a/src/plugins/projectexplorer/projectwelcomepage.cpp +++ b/src/plugins/projectexplorer/projectwelcomepage.cpp @@ -397,9 +397,9 @@ public: if (m_activeSwitchToRect.contains(pos)) sessionModel->switchToSession(sessionName); else if (m_activeActionRects[0].contains(pos)) - sessionModel->cloneSession(ICore::mainWindow(), sessionName); + sessionModel->cloneSession(ICore::dialogParent(), sessionName); else if (m_activeActionRects[1].contains(pos)) - sessionModel->renameSession(ICore::mainWindow(), sessionName); + sessionModel->renameSession(ICore::dialogParent(), sessionName); else if (m_activeActionRects[2].contains(pos)) sessionModel->deleteSessions(QStringList(sessionName)); return true; diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index f358200c5d..41c719c9f7 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -559,7 +559,7 @@ public: if (auto kitPage = KitOptionsPage::instance()) kitPage->showKit(KitManager::kit(Id::fromSetting(projectItem->data(0, KitIdRole)))); } - ICore::showOptionsDialog(Constants::KITS_SETTINGS_PAGE_ID, ICore::mainWindow()); + ICore::showOptionsDialog(Constants::KITS_SETTINGS_PAGE_ID); } void handleImportBuild() @@ -570,7 +570,7 @@ public: QTC_ASSERT(projectImporter, return); QString dir = project->projectDirectory().toString(); - QString importDir = QFileDialog::getExistingDirectory(ICore::mainWindow(), + QString importDir = QFileDialog::getExistingDirectory(ICore::dialogParent(), ProjectWindow::tr("Import Directory"), dir); FilePath path = FilePath::fromString(importDir); diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index a545b972de..c5c57e7011 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -1038,7 +1038,7 @@ bool RunControl::showPromptToStopDialog(const QString &title, { // Show a question message box where user can uncheck this // question for this class. - Utils::CheckableMessageBox messageBox(Core::ICore::mainWindow()); + Utils::CheckableMessageBox messageBox(Core::ICore::dialogParent()); messageBox.setWindowTitle(title); messageBox.setText(text); messageBox.setStandardButtons(QDialogButtonBox::Yes|QDialogButtonBox::Cancel); diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index f76d15531e..542912e1de 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -527,7 +527,7 @@ bool SessionManager::save() delete d->m_writer; d->m_writer = new PersistentSettingsWriter(filePath, "QtCreatorSession"); } - const bool result = d->m_writer->save(data, ICore::mainWindow()); + const bool result = d->m_writer->save(data, ICore::dialogParent()); if (result) { if (!isDefaultVirgin()) d->m_sessionDateTimes.insert(activeSession(), QDateTime::currentDateTime()); @@ -823,7 +823,7 @@ bool SessionManager::confirmSessionDelete(const QStringList &sessions) const QString question = sessions.size() == 1 ? tr("Delete session %1?").arg(sessions.first()) : tr("Delete these sessions?\n %1").arg(sessions.join("\n ")); - return QMessageBox::question(ICore::mainWindow(), + return QMessageBox::question(ICore::dialogParent(), title, question, QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes; diff --git a/src/plugins/python/pythonproject.cpp b/src/plugins/python/pythonproject.cpp index d74bedea0e..3c3b225de9 100644 --- a/src/plugins/python/pythonproject.cpp +++ b/src/plugins/python/pythonproject.cpp @@ -257,12 +257,12 @@ bool PythonBuildSystem::saveRawList(const QStringList &rawList, const QString &f FileSaver saver(fileName, QIODevice::ReadOnly | QIODevice::Text); if (!saver.hasError()) { QString content = QTextStream(saver.file()).readAll(); - if (saver.finalize(ICore::mainWindow())) { + if (saver.finalize(ICore::dialogParent())) { QString errorMessage; result = writePyProjectFile(fileName, content, rawList, &errorMessage); if (!errorMessage.isEmpty()) MessageManager::write(errorMessage); - } + } } } else { // Old project file FileSaver saver(fileName, QIODevice::WriteOnly | QIODevice::Text); @@ -271,7 +271,7 @@ bool PythonBuildSystem::saveRawList(const QStringList &rawList, const QString &f for (const QString &filePath : rawList) stream << filePath << '\n'; saver.setResult(&stream); - result = saver.finalize(ICore::mainWindow()); + result = saver.finalize(ICore::dialogParent()); } } diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 26d3e7eef0..4e46e43c68 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -345,7 +345,7 @@ bool QbsBuildSystem::ensureWriteableQbsFile(const QString &file) if (!versionControl || !versionControl->vcsOpen(file)) { bool makeWritable = QFile::setPermissions(file, fi.permissions() | QFile::WriteUser); if (!makeWritable) { - QMessageBox::warning(ICore::mainWindow(), + QMessageBox::warning(ICore::dialogParent(), tr("Failed"), tr("Could not write project file %1.").arg(file)); return false; diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp index 7c3f8ee915..cb1f54e41f 100644 --- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp @@ -783,9 +783,11 @@ bool QmakePriFile::ensureWriteableProFile(const QString &file) if (!versionControl || !versionControl->vcsOpen(file)) { bool makeWritable = QFile::setPermissions(file, fi.permissions() | QFile::WriteUser); if (!makeWritable) { - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), QCoreApplication::translate("QmakePriFile", "Failed"), - QCoreApplication::translate("QmakePriFile", "Could not write project file %1.").arg(file)); + QCoreApplication::translate("QmakePriFile", + "Could not write project file %1.") + .arg(file)); return false; } } @@ -963,7 +965,7 @@ void QmakePriFile::save(const QStringList &lines) FileChangeBlocker changeGuard(filePath().toString()); QString errorMsg; if (!m_textFormat.writeFile(filePath().toString(), lines.join('\n'), &errorMsg)) { - QMessageBox::critical(Core::ICore::mainWindow(), QCoreApplication::translate( + QMessageBox::critical(Core::ICore::dialogParent(), QCoreApplication::translate( "QmakePriFile", "File Error"), errorMsg); } } @@ -981,7 +983,8 @@ void QmakePriFile::save(const QStringList &lines) errorStrings << errorString; } if (!errorStrings.isEmpty()) - QMessageBox::warning(Core::ICore::mainWindow(), QCoreApplication::translate("QmakePriFile", "File Error"), + QMessageBox::warning(Core::ICore::dialogParent(), + QCoreApplication::translate("QmakePriFile", "File Error"), errorStrings.join(QLatin1Char('\n'))); } diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index 424e12f543..769499b06d 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -703,7 +703,7 @@ void QMakeStepConfigWidget::buildConfigurationSelected() void QMakeStepConfigWidget::askForRebuild(const QString &title) { - auto *question = new QMessageBox(Core::ICore::mainWindow()); + auto *question = new QMessageBox(Core::ICore::dialogParent()); question->setWindowTitle(title); question->setText(tr("The option will only take effect if the project is recompiled. Do you want to recompile now?")); question->setStandardButtons(QMessageBox::Yes | QMessageBox::No); diff --git a/src/plugins/qmldesigner/components/connectioneditor/backendmodel.cpp b/src/plugins/qmldesigner/components/connectioneditor/backendmodel.cpp index 4a004ca575..e17f827025 100644 --- a/src/plugins/qmldesigner/components/connectioneditor/backendmodel.cpp +++ b/src/plugins/qmldesigner/components/connectioneditor/backendmodel.cpp @@ -207,7 +207,7 @@ void BackendModel::addNewBackend() if (!model) return; - AddNewBackendDialog dialog(Core::ICore::mainWindow()); + AddNewBackendDialog dialog(Core::ICore::dialogParent()); RewriterView *rewriterView = model->rewriterView(); diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index caf0663dce..db54315ca1 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -518,11 +518,10 @@ void ItemLibraryWidget::addResources() static QString lastDir; const QString currentDir = lastDir.isEmpty() ? document->fileName().parentDir().toString() : lastDir; - const auto fileNames = QFileDialog::getOpenFileNames(Core::ICore::mainWindow(), - tr("Add Assets"), - currentDir, - filters.join(";;")); - + const auto fileNames = QFileDialog::getOpenFileNames(Core::ICore::dialogParent(), + tr("Add Assets"), + currentDir, + filters.join(";;")); if (!fileNames.isEmpty()) lastDir = QFileInfo(fileNames.first()).absolutePath(); diff --git a/src/plugins/qmldesigner/componentsplugin/addtabdesigneraction.cpp b/src/plugins/qmldesigner/componentsplugin/addtabdesigneraction.cpp index 2076525c5f..4f08a6eb83 100644 --- a/src/plugins/qmldesigner/componentsplugin/addtabdesigneraction.cpp +++ b/src/plugins/qmldesigner/componentsplugin/addtabdesigneraction.cpp @@ -105,7 +105,8 @@ static ModelNode findTabViewModelNode(const ModelNode ¤tModelNode) void AddTabDesignerAction::addNewTab() { - QString tabName = AddTabToTabViewDialog::create(QStringLiteral("Tab"), Core::ICore::mainWindow()); + QString tabName = AddTabToTabViewDialog::create(QStringLiteral("Tab"), + Core::ICore::dialogParent()); if (!tabName.isEmpty()) { QString directoryPath = QFileInfo(selectionContext().view()->model()->fileUrl().toLocalFile()).absolutePath(); diff --git a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp index 0688ebde6e..27b80b8025 100644 --- a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp +++ b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp @@ -270,7 +270,7 @@ static QString idealProcessCount() bool PuppetCreator::build(const QString &qmlPuppetProjectFilePath) const { PuppetBuildProgressDialog progressDialog; - progressDialog.setParent(Core::ICore::mainWindow()); + progressDialog.setParent(Core::ICore::dialogParent()); m_compileLog.clear(); diff --git a/src/plugins/qmldesigner/documentmanager.cpp b/src/plugins/qmldesigner/documentmanager.cpp index 0e657f777c..e1ebfc0a3f 100644 --- a/src/plugins/qmldesigner/documentmanager.cpp +++ b/src/plugins/qmldesigner/documentmanager.cpp @@ -304,11 +304,12 @@ void DocumentManager::addFileToVersionControl(const QString &directoryPath, cons { Core::IVersionControl *versionControl = Core::VcsManager::findVersionControlForDirectory(directoryPath); if (versionControl && versionControl->supportsOperation(Core::IVersionControl::AddOperation)) { - const QMessageBox::StandardButton button = - QMessageBox::question(Core::ICore::mainWindow(), - Core::VcsManager::msgAddToVcsTitle(), - Core::VcsManager::msgPromptToAddToVcs(QStringList(newFilePath), versionControl), - QMessageBox::Yes | QMessageBox::No); + const QMessageBox::StandardButton button + = QMessageBox::question(Core::ICore::dialogParent(), + Core::VcsManager::msgAddToVcsTitle(), + Core::VcsManager::msgPromptToAddToVcs(QStringList(newFilePath), + versionControl), + QMessageBox::Yes | QMessageBox::No); if (button == QMessageBox::Yes && !versionControl->vcsAdd(newFilePath)) { Core::AsynchronousMessageBox::warning(Core::VcsManager::msgAddToVcsFailedTitle(), Core::VcsManager::msgToAddToVcsFailed(QStringList(newFilePath), versionControl)); diff --git a/src/plugins/qmldesigner/settingspage.cpp b/src/plugins/qmldesigner/settingspage.cpp index 8a876980dd..dd638e7348 100644 --- a/src/plugins/qmldesigner/settingspage.cpp +++ b/src/plugins/qmldesigner/settingspage.cpp @@ -273,7 +273,7 @@ void SettingsPageWidget::apply() for (const QByteArray &key : restartNecessaryKeys) { if (currentSettings.value(key) != newSettings.value(key)) { - QMessageBox::information(Core::ICore::mainWindow(), tr("Restart Required"), + QMessageBox::information(Core::ICore::dialogParent(), tr("Restart Required"), tr("The made changes will take effect after a " "restart of the QML Emulation layer or %1.") .arg(Core::Constants::IDE_DISPLAY_NAME)); diff --git a/src/plugins/qmljseditor/qmljscomponentfromobjectdef.cpp b/src/plugins/qmljseditor/qmljscomponentfromobjectdef.cpp index 9ed886246b..34931e037d 100644 --- a/src/plugins/qmljseditor/qmljscomponentfromobjectdef.cpp +++ b/src/plugins/qmljseditor/qmljscomponentfromobjectdef.cpp @@ -217,15 +217,16 @@ public: Core::IVersionControl *versionControl = Core::VcsManager::findVersionControlForDirectory(path); if (versionControl && versionControl->supportsOperation(Core::IVersionControl::AddOperation)) { - const QMessageBox::StandardButton button = - QMessageBox::question(Core::ICore::mainWindow(), - Core::VcsManager::msgAddToVcsTitle(), - Core::VcsManager::msgPromptToAddToVcs(QStringList(newFileName), versionControl), - QMessageBox::Yes | QMessageBox::No); + const QMessageBox::StandardButton button = QMessageBox::question( + Core::ICore::dialogParent(), + Core::VcsManager::msgAddToVcsTitle(), + Core::VcsManager::msgPromptToAddToVcs(QStringList(newFileName), versionControl), + QMessageBox::Yes | QMessageBox::No); if (button == QMessageBox::Yes && !versionControl->vcsAdd(newFileName)) { - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), Core::VcsManager::msgAddToVcsFailedTitle(), - Core::VcsManager::msgToAddToVcsFailed(QStringList(newFileName), versionControl)); + Core::VcsManager::msgToAddToVcsFailed(QStringList(newFileName), + versionControl)); } } } diff --git a/src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp b/src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp index 8a4f3bc205..8d0d7b0344 100644 --- a/src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp +++ b/src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp @@ -181,9 +181,8 @@ void QmlPreviewConnectionManager::createClients() } }); - QObject::connect(m_clientPlugin.data(), &QmlPreviewClient::debugServiceUnavailable, - this, []() { - QMessageBox::warning(Core::ICore::mainWindow(), "Error loading QML Live Preview", + QObject::connect(m_clientPlugin.data(), &QmlPreviewClient::debugServiceUnavailable, this, []() { + QMessageBox::warning(Core::ICore::dialogParent(), "Error loading QML Live Preview", "QML Live Preview is not available for this version of Qt."); }, Qt::QueuedConnection); // Queue it, so that it interfere with the connection timer diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index 274935b8a4..bbd77dae27 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -351,7 +351,7 @@ void QmlProfilerTool::finalizeRunControl(QmlProfilerRunner *runWorker) connect(d->m_profilerConnections, &QmlProfilerClientManager::connectionFailed, runWorker, [this, runWorker]() { - auto infoBox = new QMessageBox(ICore::mainWindow()); + auto infoBox = new QMessageBox(ICore::dialogParent()); infoBox->setIcon(QMessageBox::Critical); infoBox->setWindowTitle(Core::Constants::IDE_DISPLAY_NAME); @@ -580,7 +580,7 @@ void QmlProfilerTool::logError(const QString &msg) void QmlProfilerTool::showErrorDialog(const QString &error) { - auto errorDialog = new QMessageBox(ICore::mainWindow()); + auto errorDialog = new QMessageBox(ICore::dialogParent()); errorDialog->setIcon(QMessageBox::Warning); errorDialog->setWindowTitle(tr("QML Profiler")); errorDialog->setText(error); @@ -604,7 +604,7 @@ void QmlProfilerTool::showSaveDialog() QLatin1String tFile(QtdFileExtension); QLatin1String zFile(QztFileExtension); QString filename = QFileDialog::getSaveFileName( - ICore::mainWindow(), tr("Save QML Trace"), + ICore::dialogParent(), tr("Save QML Trace"), QmlProfilerPlugin::globalSettings()->lastTraceFile(), tr("QML traces (*%1 *%2)").arg(zFile).arg(tFile)); if (!filename.isEmpty()) { @@ -628,7 +628,7 @@ void QmlProfilerTool::showLoadDialog() QLatin1String tFile(QtdFileExtension); QLatin1String zFile(QztFileExtension); QString filename = QFileDialog::getOpenFileName( - ICore::mainWindow(), tr("Load QML Trace"), + ICore::dialogParent(), tr("Load QML Trace"), QmlProfilerPlugin::globalSettings()->lastTraceFile(), tr("QML traces (*%1 *%2)").arg(zFile).arg(tFile)); @@ -773,7 +773,7 @@ QList <QAction *> QmlProfilerTool::profilerContextMenuActions() void QmlProfilerTool::showNonmodalWarning(const QString &warningMsg) { - auto noExecWarning = new QMessageBox(ICore::mainWindow()); + auto noExecWarning = new QMessageBox(ICore::dialogParent()); noExecWarning->setIcon(QMessageBox::Warning); noExecWarning->setWindowTitle(tr("QML Profiler")); noExecWarning->setText(warningMsg); diff --git a/src/plugins/qnx/qnxconfiguration.cpp b/src/plugins/qnx/qnxconfiguration.cpp index bdfef8b380..35454e5d09 100644 --- a/src/plugins/qnx/qnxconfiguration.cpp +++ b/src/plugins/qnx/qnxconfiguration.cpp @@ -147,10 +147,11 @@ bool QnxConfiguration::activate() foreach (const QString &error, validationErrors()) errorMessage += QLatin1String("\n") + error; - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), QCoreApplication::translate("Qnx::Internal::QnxConfiguration", "Cannot Set Up QNX Configuration"), - errorMessage, QMessageBox::Ok); + errorMessage, + QMessageBox::Ok); return false; } diff --git a/src/plugins/qnx/qnxconfigurationmanager.cpp b/src/plugins/qnx/qnxconfigurationmanager.cpp index f44313d233..f01a6d4cfe 100644 --- a/src/plugins/qnx/qnxconfigurationmanager.cpp +++ b/src/plugins/qnx/qnxconfigurationmanager.cpp @@ -121,7 +121,7 @@ void QnxConfigurationManager::saveConfigs() data.insert(QLatin1String(QNXConfigCountKey), count); - m_writer->save(data, Core::ICore::mainWindow()); + m_writer->save(data, Core::ICore::dialogParent()); } void QnxConfigurationManager::restoreConfigurations() diff --git a/src/plugins/qnx/qnxsettingspage.cpp b/src/plugins/qnx/qnxsettingspage.cpp index 24c161adea..f3368e2497 100644 --- a/src/plugins/qnx/qnxsettingspage.cpp +++ b/src/plugins/qnx/qnxsettingspage.cpp @@ -119,7 +119,8 @@ void QnxSettingsWidget::addConfiguration() QnxConfiguration *config = new QnxConfiguration(Utils::FilePath::fromString(envFile)); if (m_qnxConfigManager->configurations().contains(config) || !config->isValid()) { - QMessageBox::warning(Core::ICore::mainWindow(), tr("Warning"), + QMessageBox::warning(Core::ICore::dialogParent(), + tr("Warning"), tr("Configuration already exists or is invalid.")); delete config; return; @@ -140,7 +141,7 @@ void QnxSettingsWidget::removeConfiguration() return; QMessageBox::StandardButton button = - QMessageBox::question(Core::ICore::mainWindow(), + QMessageBox::question(Core::ICore::dialogParent(), tr("Remove QNX Configuration"), tr("Are you sure you want to remove:\n %1?").arg(config->displayName()), QMessageBox::Yes | QMessageBox::No); diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp index cfd675158d..7a048dfa3e 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp @@ -85,7 +85,7 @@ Id ExamplesWelcomePage::id() const QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileInfo, QStringList &filesToOpen, const QStringList& dependencies) { const QString projectDir = proFileInfo.canonicalPath(); - QDialog d(ICore::mainWindow()); + QDialog d(ICore::dialogParent()); auto lay = new QGridLayout(&d); auto descrLbl = new QLabel; d.setWindowTitle(tr("Copy Project to writable Location?")); @@ -130,10 +130,12 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI QDir toDirWithExamplesDir(destBaseDir); if (toDirWithExamplesDir.cd(exampleDirName)) { toDirWithExamplesDir.cdUp(); // step out, just to not be in the way - QMessageBox::warning(ICore::mainWindow(), tr("Cannot Use Location"), + QMessageBox::warning(ICore::dialogParent(), + tr("Cannot Use Location"), tr("The specified location already exists. " "Please specify a valid location."), - QMessageBox::Ok, QMessageBox::NoButton); + QMessageBox::Ok, + QMessageBox::NoButton); return QString(); } else { QString error; @@ -150,7 +152,9 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI .pathAppended(QDir(dependency).dirName()); if (!FileUtils::copyRecursively(FilePath::fromString(dependency), targetFile, &error)) { - QMessageBox::warning(ICore::mainWindow(), tr("Cannot Copy Project"), error); + QMessageBox::warning(ICore::dialogParent(), + tr("Cannot Copy Project"), + error); // do not fail, just warn; } } @@ -158,7 +162,7 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI return targetDir + QLatin1Char('/') + proFileInfo.fileName(); } else { - QMessageBox::warning(ICore::mainWindow(), tr("Cannot Copy Project"), error); + QMessageBox::warning(ICore::dialogParent(), tr("Cannot Copy Project"), error); } } diff --git a/src/plugins/qtsupport/qtsupportplugin.cpp b/src/plugins/qtsupport/qtsupportplugin.cpp index 7a8466f81f..b389e8cf29 100644 --- a/src/plugins/qtsupport/qtsupportplugin.cpp +++ b/src/plugins/qtsupport/qtsupportplugin.cpp @@ -135,7 +135,7 @@ static void askAboutQtInstallation() info.setCustomButtonInfo(QtSupportPlugin::tr("Link with Qt"), [] { ICore::infoBar()->removeInfo(kLinkWithQtInstallationSetting); ICore::infoBar()->globallySuppressInfo(kLinkWithQtInstallationSetting); - QTimer::singleShot(0, ICore::mainWindow(), &QtOptionsPage::linkWithQt); + QTimer::singleShot(0, ICore::dialogParent(), &QtOptionsPage::linkWithQt); }); ICore::infoBar()->addInfo(info); } diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index 4616ec9e51..504a4961d2 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -386,7 +386,7 @@ static void saveQtVersions() data.insert(QString::fromLatin1(QTVERSION_DATA_KEY) + QString::number(count), tmp); ++count; } - m_writer->save(data, Core::ICore::mainWindow()); + m_writer->save(data, Core::ICore::dialogParent()); } // Executes qtchooser with arguments in a process and returns its output diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index 7fcfe9f22c..6aab9e47ad 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -295,7 +295,7 @@ LinuxDeviceFactory::LinuxDeviceFactory() IDevice::Ptr LinuxDeviceFactory::create() const { - GenericLinuxDeviceConfigurationWizard wizard(Core::ICore::mainWindow()); + GenericLinuxDeviceConfigurationWizard wizard(Core::ICore::dialogParent()); if (wizard.exec() != QDialog::Accepted) return IDevice::Ptr(); return wizard.device(); diff --git a/src/plugins/remotelinux/publickeydeploymentdialog.cpp b/src/plugins/remotelinux/publickeydeploymentdialog.cpp index 6cf31ed16a..c3cdcddc6e 100644 --- a/src/plugins/remotelinux/publickeydeploymentdialog.cpp +++ b/src/plugins/remotelinux/publickeydeploymentdialog.cpp @@ -52,7 +52,7 @@ PublicKeyDeploymentDialog *PublicKeyDeploymentDialog::createDialog( { const QString &dir = QFileInfo(deviceConfig->sshParameters().privateKeyFile).path(); const QString publicKeyFileName = QFileDialog::getOpenFileName(parent - ? parent : Core::ICore::mainWindow(), + ? parent : Core::ICore::dialogParent(), tr("Choose Public Key File"), dir, tr("Public Key Files (*.pub);;All Files (*)")); if (publicKeyFileName.isEmpty()) diff --git a/src/plugins/remotelinux/remotelinuxenvironmentaspectwidget.cpp b/src/plugins/remotelinux/remotelinuxenvironmentaspectwidget.cpp index 82343b973f..de913de5c4 100644 --- a/src/plugins/remotelinux/remotelinuxenvironmentaspectwidget.cpp +++ b/src/plugins/remotelinux/remotelinuxenvironmentaspectwidget.cpp @@ -72,7 +72,8 @@ RemoteLinuxEnvironmentAspectWidget::RemoteLinuxEnvironmentAspectWidget = [target](const Utils::Environment &env) { IDevice::ConstPtr device = DeviceKitAspect::device(target->kit()); if (!device) { - QMessageBox::critical(Core::ICore::mainWindow(), tr("Cannot Open Terminal"), + QMessageBox::critical(Core::ICore::dialogParent(), + tr("Cannot Open Terminal"), tr("Cannot open remote terminal: Current kit has no device.")); return; } diff --git a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp index 71f5fb05c4..cff7443c7f 100644 --- a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp +++ b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp @@ -1251,7 +1251,7 @@ EntryBackup * RelativeResourceModel::removeEntry(const QModelIndex &index) deleteItem(index); return new FileEntryBackup(*this, prefixIndex.row(), index.row(), fileNameBackup, aliasBackup); } - Utils::RemoveFileDialog removeFileDialog(fileNameBackup, Core::ICore::mainWindow()); + Utils::RemoveFileDialog removeFileDialog(fileNameBackup, Core::ICore::dialogParent()); if (removeFileDialog.exec() == QDialog::Accepted) { deleteItem(index); Core::FileUtils::removeFile(fileNameBackup, removeFileDialog.isDeleteFileChecked()); diff --git a/src/plugins/resourceeditor/resourceeditorplugin.cpp b/src/plugins/resourceeditor/resourceeditorplugin.cpp index b6d35956da..eb5fb48edb 100644 --- a/src/plugins/resourceeditor/resourceeditorplugin.cpp +++ b/src/plugins/resourceeditor/resourceeditorplugin.cpp @@ -284,7 +284,7 @@ void ResourceEditorPluginPrivate::addPrefixContextMenu() { auto topLevel = dynamic_cast<ResourceTopLevelNode *>(ProjectTree::currentNode()); QTC_ASSERT(topLevel, return); - PrefixLangDialog dialog(tr("Add Prefix"), QString(), QString(), Core::ICore::mainWindow()); + PrefixLangDialog dialog(tr("Add Prefix"), QString(), QString(), Core::ICore::dialogParent()); if (dialog.exec() != QDialog::Accepted) return; QString prefix = dialog.prefix(); @@ -297,7 +297,7 @@ void ResourceEditorPluginPrivate::removePrefixContextMenu() { auto rfn = dynamic_cast<ResourceFolderNode *>(ProjectTree::currentNode()); QTC_ASSERT(rfn, return); - if (QMessageBox::question(Core::ICore::mainWindow(), + if (QMessageBox::question(Core::ICore::dialogParent(), tr("Remove Prefix"), tr("Remove prefix %1 and all its files?").arg(rfn->displayName())) == QMessageBox::Yes) { @@ -326,7 +326,7 @@ void ResourceEditorPluginPrivate::removeFileContextMenu() FolderNode *parent = rfn->parentFolderNode(); QTC_ASSERT(parent, return); if (parent->removeFiles(QStringList() << path) != RemovedFilesFromProject::Ok) - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("File Removal Failed"), tr("Removing file %1 from the project failed.").arg(path)); } @@ -355,7 +355,10 @@ void ResourceEditorPluginPrivate::renamePrefixContextMenu() auto node = dynamic_cast<ResourceFolderNode *>(ProjectTree::currentNode()); QTC_ASSERT(node, return); - PrefixLangDialog dialog(tr("Rename Prefix"), node->prefix(), node->lang(), Core::ICore::mainWindow()); + PrefixLangDialog dialog(tr("Rename Prefix"), + node->prefix(), + node->lang(), + Core::ICore::dialogParent()); if (dialog.exec() != QDialog::Accepted) return; QString prefix = dialog.prefix(); diff --git a/src/plugins/resourceeditor/resourceeditorw.cpp b/src/plugins/resourceeditor/resourceeditorw.cpp index 8467b8bf13..77ae771aed 100644 --- a/src/plugins/resourceeditor/resourceeditorw.cpp +++ b/src/plugins/resourceeditor/resourceeditorw.cpp @@ -195,7 +195,7 @@ bool ResourceEditorDocument::setContents(const QByteArray &contents) { TempFileSaver saver; saver.write(contents); - if (!saver.finalize(Core::ICore::mainWindow())) + if (!saver.finalize(Core::ICore::dialogParent())) return false; const QString originalFileName = m_model->fileName(); diff --git a/src/plugins/tasklist/tasklistplugin.cpp b/src/plugins/tasklist/tasklistplugin.cpp index bffdf1f0e6..46c3ba50e8 100644 --- a/src/plugins/tasklist/tasklistplugin.cpp +++ b/src/plugins/tasklist/tasklistplugin.cpp @@ -174,7 +174,7 @@ IDocument *TaskListPlugin::openTasks(const FilePath &fileName) QString errorString; if (!file->load(&errorString, fileName)) { - QMessageBox::critical(ICore::mainWindow(), tr("File Error"), errorString); + QMessageBox::critical(ICore::dialogParent(), tr("File Error"), errorString); delete file; return nullptr; } diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp index 8354e83f50..db0866d4c1 100644 --- a/src/plugins/texteditor/basefilefind.cpp +++ b/src/plugins/texteditor/basefilefind.cpp @@ -345,7 +345,7 @@ void BaseFileFind::doReplace(const QString &text, { const QStringList files = replaceAll(text, items, preserveCase); if (!files.isEmpty()) { - Utils::FadingIndicator::showText(ICore::mainWindow(), + Utils::FadingIndicator::showText(ICore::dialogParent(), tr("%n occurrences replaced.", nullptr, items.size()), Utils::FadingIndicator::SmallText); DocumentManager::notifyFilesChangedInternally(files); @@ -505,7 +505,7 @@ QStringList BaseFileFind::replaceAll(const QString &text, // Query the user for permissions if (!roFiles.isEmpty()) { - ReadOnlyFilesDialog roDialog(Utils::toList(roFiles), ICore::mainWindow()); + ReadOnlyFilesDialog roDialog(Utils::toList(roFiles), ICore::dialogParent()); roDialog.setShowFailWarning(true, tr("Aborting replace.")); if (roDialog.exec() == ReadOnlyFilesDialog::RO_Cancel) return QStringList(); diff --git a/src/plugins/texteditor/codestylepool.cpp b/src/plugins/texteditor/codestylepool.cpp index 7696fe0623..9523364dfd 100644 --- a/src/plugins/texteditor/codestylepool.cpp +++ b/src/plugins/texteditor/codestylepool.cpp @@ -289,6 +289,6 @@ void CodeStylePool::exportCodeStyle(const Utils::FilePath &fileName, ICodeStyleP tmp.insert(QLatin1String(displayNameKey), codeStyle->displayName()); tmp.insert(QLatin1String(codeStyleDataKey), map); Utils::PersistentSettingsWriter writer(fileName, QLatin1String(codeStyleDocKey)); - writer.save(tmp, Core::ICore::mainWindow()); + writer.save(tmp, Core::ICore::dialogParent()); } diff --git a/src/plugins/texteditor/fontsettings.cpp b/src/plugins/texteditor/fontsettings.cpp index faac8d9ceb..9e8b39c72d 100644 --- a/src/plugins/texteditor/fontsettings.cpp +++ b/src/plugins/texteditor/fontsettings.cpp @@ -440,7 +440,7 @@ bool FontSettings::loadColorScheme(const QString &fileName, bool FontSettings::saveColorScheme(const QString &fileName) { - const bool saved = m_scheme.save(fileName, Core::ICore::mainWindow()); + const bool saved = m_scheme.save(fileName, Core::ICore::dialogParent()); if (saved) m_schemeFileName = fileName; return saved; diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp index 5609c6f3b9..603f0217eb 100644 --- a/src/plugins/texteditor/fontsettingspage.cpp +++ b/src/plugins/texteditor/fontsettingspage.cpp @@ -473,7 +473,7 @@ void FontSettingsPageWidget::copyColorScheme(const QString &name) ColorScheme scheme = m_value.colorScheme(); scheme.setDisplayName(name); - if (scheme.save(fileName, Core::ICore::mainWindow())) + if (scheme.save(fileName, Core::ICore::dialogParent())) m_value.setColorSchemeFileName(fileName); refreshColorSchemeList(); @@ -540,7 +540,7 @@ void FontSettingsPageWidget::maybeSaveColorScheme() if (messageBox.exec() == QMessageBox::Save) { const ColorScheme &scheme = m_ui.schemeEdit->colorScheme(); - scheme.save(m_value.colorSchemeFileName(), Core::ICore::mainWindow()); + scheme.save(m_value.colorSchemeFileName(), Core::ICore::dialogParent()); } } @@ -590,7 +590,7 @@ void FontSettingsPageWidget::apply() // Update the scheme and save it under the name it already has m_value.setColorScheme(m_ui.schemeEdit->colorScheme()); const ColorScheme &scheme = m_value.colorScheme(); - scheme.save(m_value.colorSchemeFileName(), Core::ICore::mainWindow()); + scheme.save(m_value.colorSchemeFileName(), Core::ICore::dialogParent()); } bool ok; diff --git a/src/plugins/texteditor/refactoringchanges.cpp b/src/plugins/texteditor/refactoringchanges.cpp index 9e91463349..cc8166e0fe 100644 --- a/src/plugins/texteditor/refactoringchanges.cpp +++ b/src/plugins/texteditor/refactoringchanges.cpp @@ -312,7 +312,7 @@ bool RefactoringFile::apply() { // test file permissions if (!QFileInfo(fileName()).isWritable()) { - ReadOnlyFilesDialog roDialog(FilePath::fromString(fileName()), ICore::mainWindow()); + ReadOnlyFilesDialog roDialog(FilePath::fromString(fileName()), ICore::dialogParent()); const QString &failDetailText = QApplication::translate("RefactoringFile::apply", "Refactoring cannot be applied."); roDialog.setShowFailWarning(true, failDetailText); diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp index 867b77f49e..f7454306fa 100644 --- a/src/plugins/valgrind/callgrindtool.cpp +++ b/src/plugins/valgrind/callgrindtool.cpp @@ -908,7 +908,7 @@ void CallgrindToolPrivate::slotRequestDump() void CallgrindToolPrivate::loadExternalLogFile() { const QString filePath = QFileDialog::getOpenFileName( - ICore::mainWindow(), + ICore::dialogParent(), CallgrindTool::tr("Open Callgrind Log File"), QString(), CallgrindTool::tr("Callgrind Output (callgrind.out*);;All Files (*)")); diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp index ec58ea86ed..afaa82590c 100644 --- a/src/plugins/valgrind/memchecktool.cpp +++ b/src/plugins/valgrind/memchecktool.cpp @@ -776,7 +776,7 @@ void MemcheckToolPrivate::heobAction() executable.remove(0, wdSlashed.size()); // heob arguments - HeobDialog dialog(Core::ICore::mainWindow()); + HeobDialog dialog(Core::ICore::dialogParent()); if (!dialog.exec()) return; const QString heobArguments = dialog.arguments(); @@ -786,7 +786,7 @@ void MemcheckToolPrivate::heobAction() const QString heobPath = dialog.path() + '/' + heob; if (!QFile::exists(heobPath)) { QMessageBox::critical( - Core::ICore::mainWindow(), + Core::ICore::dialogParent(), MemcheckTool::tr("Heob"), MemcheckTool::tr("The %1 executables must be in the appropriate location.") .arg("<a href=\"https://github.com/ssbssa/heob/releases\">Heob</a>")); @@ -799,7 +799,7 @@ void MemcheckToolPrivate::heobAction() const QString dwarfstackPath = dialog.path() + '/' + dwarfstack; if (!QFile::exists(dwarfstackPath) && CheckableMessageBox::doNotShowAgainInformation( - Core::ICore::mainWindow(), + Core::ICore::dialogParent(), MemcheckTool::tr("Heob"), MemcheckTool::tr("Heob used with MinGW projects needs the %1 DLLs for proper " "stacktrace resolution.") @@ -1015,7 +1015,7 @@ void MemcheckToolPrivate::loadShowXmlLogFile(const QString &filePath, const QStr void MemcheckToolPrivate::loadExternalXmlLogFile() { const QString filePath = QFileDialog::getOpenFileName( - ICore::mainWindow(), + ICore::dialogParent(), MemcheckTool::tr("Open Memcheck XML Log File"), QString(), MemcheckTool::tr("XML Files (*.xml);;All Files (*)")); diff --git a/src/plugins/valgrind/valgrindengine.cpp b/src/plugins/valgrind/valgrindengine.cpp index 486bbae244..ff0a2928ac 100644 --- a/src/plugins/valgrind/valgrindengine.cpp +++ b/src/plugins/valgrind/valgrindengine.cpp @@ -149,7 +149,7 @@ void ValgrindToolRunner::handleProgressCanceled() void ValgrindToolRunner::handleProgressFinished() { - QApplication::alert(ICore::mainWindow(), 3000); + QApplication::alert(ICore::dialogParent(), 3000); } void ValgrindToolRunner::runnerFinished() diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp index d46febc0a3..5a64985678 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.cpp +++ b/src/plugins/vcsbase/vcsbaseplugin.cpp @@ -643,7 +643,7 @@ void VcsBasePluginPrivate::createRepository() if (const Project *currentProject = ProjectTree::currentProject()) directory = currentProject->projectFilePath().toString(); // Prompt for a directory that is not under version control yet - QWidget *mw = ICore::mainWindow(); + QWidget *mw = ICore::dialogParent(); do { directory = QFileDialog::getExistingDirectory(mw, tr("Choose Repository Directory"), directory); if (directory.isEmpty()) diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index fa0e19928d..e4feb29ca0 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -272,7 +272,7 @@ static inline QStringList fieldTexts(const QString &fileContents) void VcsBaseSubmitEditor::createUserFields(const QString &fieldConfigFile) { FileReader reader; - if (!reader.fetch(fieldConfigFile, QIODevice::Text, Core::ICore::mainWindow())) + if (!reader.fetch(fieldConfigFile, QIODevice::Text, Core::ICore::dialogParent())) return; // Parse into fields const QStringList fields = fieldTexts(QString::fromUtf8(reader.data())); |