Merge remote-tracking branch 'origin/12.0' into 13.0

Conflicts:
	src/plugins/ios/iosdevice.cpp
	src/plugins/texteditor/bookmarkmanager.cpp

Change-Id: I92931f29c3992054dac84dbfa2dfc0c1bfb31430
This commit is contained in:
Eike Ziller
2024-02-05 10:52:42 +01:00
7 changed files with 58 additions and 36 deletions

View File

@@ -11,6 +11,7 @@
#include "iostr.h"
#include <coreplugin/helpmanager.h>
#include <coreplugin/icore.h>
#include <projectexplorer/devicesupport/devicemanager.h>
#include <projectexplorer/devicesupport/idevicefactory.h>
@@ -372,26 +373,33 @@ void IosDeviceManager::deviceInfo(const QString &uid,
bool shouldIgnore = newDev->m_ignoreDevice;
newDev->m_ignoreDevice = true;
if (devStatus == vOff) {
if (!shouldIgnore && !IosConfigurations::ignoreAllDevices()) {
QMessageBox mBox;
mBox.setText(Tr::tr("An iOS device in user mode has been detected."));
mBox.setInformativeText(Tr::tr("Do you want to see how to set it up for development?"));
mBox.setStandardButtons(QMessageBox::NoAll | QMessageBox::No | QMessageBox::Yes);
mBox.setDefaultButton(QMessageBox::Yes);
int ret = mBox.exec();
switch (ret) {
case QMessageBox::Yes:
Core::HelpManager::showHelpUrl(
QLatin1String("qthelp://org.qt-project.qtcreator/doc/creator-developing-ios.html"));
break;
case QMessageBox::No:
break;
case QMessageBox::NoAll:
IosConfigurations::setIgnoreAllDevices(true);
break;
default:
break;
}
if (!m_devModeDialog && !shouldIgnore && !IosConfigurations::ignoreAllDevices()) {
m_devModeDialog = new QMessageBox(Core::ICore::dialogParent());
m_devModeDialog->setText(
Tr::tr("An iOS device in user mode has been detected."));
m_devModeDialog->setInformativeText(
Tr::tr("Do you want to see how to set it up for development?"));
m_devModeDialog->setStandardButtons(QMessageBox::NoAll | QMessageBox::No
| QMessageBox::Yes);
m_devModeDialog->setDefaultButton(QMessageBox::Yes);
m_devModeDialog->setAttribute(Qt::WA_DeleteOnClose);
connect(m_devModeDialog, &QDialog::finished, this, [](int result) {
switch (result) {
case QMessageBox::Yes:
Core::HelpManager::showHelpUrl(
QLatin1String("qthelp://org.qt-project.qtcreator/doc/"
"creator-developing-ios.html"));
break;
case QMessageBox::No:
break;
case QMessageBox::NoAll:
IosConfigurations::setIgnoreAllDevices(true);
break;
default:
break;
}
});
m_devModeDialog->show();
}
}
if (!m_userModeDeviceIds.contains(uid))

View File

@@ -9,6 +9,8 @@
#include <solutions/tasking/tasktree.h>
#include <QMessageBox>
#include <QPointer>
#include <QTimer>
#include <unordered_map>
@@ -83,6 +85,7 @@ private:
std::unordered_map<QString, std::unique_ptr<Tasking::TaskTree>> m_updateTasks; // deviceid->task
QTimer m_userModeDevicesTimer;
QStringList m_userModeDeviceIds;
QPointer<QMessageBox> m_devModeDialog;
};
void setupIosDevice();