From 8b40379a027711ba3159ff5c3a8f1dfd3c112e6d Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 3 Dec 2010 18:02:41 +0100 Subject: Maemo: Link to OpenGL settings page on Qemu crash. --- .../qt-maemo/maemoqemumanager.cpp | 33 ++++++---------------- 1 file changed, 8 insertions(+), 25 deletions(-) (limited to 'src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp') diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp index 9825d82739..3ef7ade693 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp @@ -30,8 +30,9 @@ #include "maemoqemumanager.h" #include "maemoglobal.h" +#include "maemomanager.h" #include "maemoqemuruntimeparser.h" -#include "maemoqemusettings.h" +#include "maemosettingspages.h" #include "maemorunconfiguration.h" #include "maemotoolchain.h" #include "qtversionmanager.h" @@ -406,45 +407,27 @@ void MaemoQemuManager::qemuProcessError(QProcess::ProcessError error) void MaemoQemuManager::qemuStatusChanged(QemuStatus status, const QString &error) { - QString message; bool running = false; - switch (status) { case QemuStarting: running = true; break; case QemuFailedToStart: - message = tr("Qemu failed to start: %1").arg(error); + QMessageBox::warning(0, tr("Qemu error"), + tr("Qemu failed to start: %1")); break; - case QemuCrashed: { - const MaemoQemuSettings::OpenGlMode openGlMode - = MaemoQemuSettings::openGlMode(); - message = tr("Qemu crashed."); - - // TODO: Provide a link to the settings page (how?). - if (openGlMode == MaemoQemuSettings::HardwareAcceleration) { - message += tr("\nYou have configured Qemu to use OpenGL " - "hardware acceleration, which might not be supported by " - "your system. You could try using software rendering instead."); - } else if (openGlMode == MaemoQemuSettings::AutoDetect) { - message += tr("\nQemu is currently configured to auto-detect the " - "OpenGl mode, which is known to not work in some cases." - "You might want to use software rendering instead"); - } + case QemuCrashed: + MaemoManager::instance().qemuSettingsPage()->showQemuCrashDialog(); break; - } case QemuFinished: - message = error; - break; case QemuUserReason: - message = error; + if (!error.isEmpty()) + QMessageBox::warning(0, tr("Qemu error"), error); break; default: Q_ASSERT(!"Missing handling of Qemu status"); } - if (!message.isEmpty()) - QMessageBox::warning(0, tr("Qemu error"), message); updateStarterIcon(running); } -- cgit v1.2.1