diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2011-07-25 13:57:13 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2011-07-25 13:57:13 +0200 |
commit | ae8ac2eb2f118cfb96efec7a40aa8d55be2704ee (patch) | |
tree | fd36ac3e15c7c243d890d5e91544af5307f8c9fc /src/plugins/qmlprojectmanager | |
parent | 76a5b1953ca230d813340a9d536d636aacd0929b (diff) | |
parent | 899cc0300336a51f0d553c10d0769b145f99af00 (diff) | |
download | qt-creator-ae8ac2eb2f118cfb96efec7a40aa8d55be2704ee.tar.gz |
Merge branch '2.3'
Conflicts:
qtcreator.pri
src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
src/plugins/remotelinux/maemodeploystepfactory.cpp
src/plugins/remotelinux/maemodirectdeviceuploadstep.cpp
Change-Id: I195163713145e72df20aec4ac9058f0c9158083e
Diffstat (limited to 'src/plugins/qmlprojectmanager')
6 files changed, 65 insertions, 51 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index e9e6312252..ff33b08d93 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -46,7 +46,7 @@ #include <qtsupport/qtversionmanager.h> #include <qmljs/qmljsmodelmanagerinterface.h> #include <utils/fileutils.h> - +#include <projectexplorer/toolchainmanager.h> #include <utils/filesystemwatcher.h> #include <QtCore/QTextStream> @@ -147,7 +147,11 @@ void QmlProject::refresh(RefreshOptions options) if (activeTarget()) { if (QmlProjectRunConfiguration *rc = qobject_cast<QmlProjectRunConfiguration *>(activeTarget()->activeRunConfiguration())) version = rc->qtVersion(); - QtSupport::QmlDumpTool::pathAndEnvironment(this, version, false, &pinfo.qmlDumpPath, &pinfo.qmlDumpEnvironment); + QList<ProjectExplorer::ToolChain *> tcList + = ProjectExplorer::ToolChainManager::instance()->findToolChains(version->qtAbis().at(0)); + if (tcList.isEmpty()) + return; + QtSupport::QmlDumpTool::pathAndEnvironment(this, version, tcList.first(), false, &pinfo.qmlDumpPath, &pinfo.qmlDumpEnvironment); } if (version) { pinfo.qtImportsPath = version->versionInfo().value("QT_INSTALL_IMPORTS"); diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp index bab91d3611..9e204d228e 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp @@ -50,10 +50,15 @@ #include <projectexplorer/taskhub.h> +#include <qtsupport/qtsupportconstants.h> + #include <QtCore/QtPlugin> +#include <QtGui/QApplication> +#include <QtGui/QMessageBox> +#include <QtGui/QPushButton> + namespace QmlProjectManager { -namespace Internal { QmlProjectPlugin::QmlProjectPlugin() { } @@ -74,13 +79,13 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage) if (! mimeDB->addMimeTypes(mimetypesXml, errorMessage)) return false; - Manager *manager = new Manager; + Internal::Manager *manager = new Internal::Manager; addAutoReleasedObject(manager); addAutoReleasedObject(new Internal::QmlProjectRunConfigurationFactory); addAutoReleasedObject(new Internal::QmlProjectRunControlFactory); - addAutoReleasedObject(new QmlProjectApplicationWizard); - addAutoReleasedObject(new QmlProjectTargetFactory); + addAutoReleasedObject(new Internal::QmlProjectApplicationWizard); + addAutoReleasedObject(new Internal::QmlProjectTargetFactory); QmlProjectFileFormat::registerDeclarativeTypes(); @@ -93,7 +98,29 @@ void QmlProjectPlugin::extensionsInitialized() { } -} // namespace Internal +void QmlProjectPlugin::showQmlObserverToolWarning() +{ + QMessageBox dialog(QApplication::activeWindow()); + QPushButton *qtPref = dialog.addButton(tr("Open Qt4 Options"), + QMessageBox::ActionRole); + dialog.addButton(QMessageBox::Cancel); + dialog.setDefaultButton(qtPref); + dialog.setWindowTitle(tr("QML Observer Missing")); + dialog.setText(tr("QML Observer could not be found.")); + dialog.setInformativeText(tr( + "QML Observer is used to offer debugging features for " + "QML applications, such as interactive debugging and inspection tools. " + "It must be compiled for each used Qt version separately. " + "On the Qt4 options page, select the current Qt installation " + "and click Rebuild.")); + dialog.exec(); + if (dialog.clickedButton() == qtPref) { + Core::ICore::instance()->showOptionsDialog( + QtSupport::Constants::QT_SETTINGS_CATEGORY, + QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID); + } +} + } // namespace QmlProjectManager -Q_EXPORT_PLUGIN(QmlProjectManager::Internal::QmlProjectPlugin) +Q_EXPORT_PLUGIN(QmlProjectManager::QmlProjectPlugin) diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.h b/src/plugins/qmlprojectmanager/qmlprojectplugin.h index 7b5d37ac65..8e1ce09da0 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.h +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.h @@ -33,6 +33,8 @@ #ifndef QMLPROJECTPLUGIN_H #define QMLPROJECTPLUGIN_H +#include "qmlprojectmanager_global.h" + #include <extensionsystem/iplugin.h> #include <QtCore/QObject> @@ -42,7 +44,9 @@ namespace Internal { class ProjectFilesFactory; -class QmlProjectPlugin: public ExtensionSystem::IPlugin +} + +class QMLPROJECTMANAGER_EXPORT QmlProjectPlugin: public ExtensionSystem::IPlugin { Q_OBJECT @@ -52,9 +56,11 @@ public: virtual bool initialize(const QStringList &arguments, QString *errorString); virtual void extensionsInitialized(); + + static void showQmlObserverToolWarning(); + }; -} // namespace Internal } // namespace QmlProject #endif // QMLPROJECTPLUGIN_H diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index b348169548..a144b5dbfa 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -80,6 +80,7 @@ QmlProjectRunConfiguration::QmlProjectRunConfiguration(QmlProjectTarget *parent, m_qmlViewerArgs(source->m_qmlViewerArgs), m_projectTarget(parent), m_usingCurrentFile(source->m_usingCurrentFile), + m_isEnabled(source->m_isEnabled), m_userEnvironmentChanges(source->m_userEnvironmentChanges) { ctor(); diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp index 78dde994f8..a72b8c91ed 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp @@ -45,15 +45,13 @@ #include <debugger/debuggerstartparameters.h> #include <qtsupport/baseqtversion.h> #include <qtsupport/qmlobservertool.h> -#include <qtsupport/qtsupportconstants.h> -#include <QtGui/QApplication> -#include <QtGui/QMessageBox> -#include <QtGui/QPushButton> +#include <qmlprojectmanager/qmlprojectplugin.h> using namespace ProjectExplorer; namespace QmlProjectManager { + namespace Internal { QmlProjectRunControl::QmlProjectRunControl(QmlProjectRunConfiguration *runConfiguration, QString mode) @@ -147,22 +145,24 @@ bool QmlProjectRunControlFactory::canRun(RunConfiguration *runConfiguration, { QmlProjectRunConfiguration *config = qobject_cast<QmlProjectRunConfiguration*>(runConfiguration); + if (!config) + return false; if (mode == ProjectExplorer::Constants::RUNMODE) - return config != 0 && !config->viewerPath().isEmpty(); - else if (mode != Debugger::Constants::DEBUGMODE) + return !config->viewerPath().isEmpty(); + if (mode != Debugger::Constants::DEBUGMODE) return false; - bool qmlDebugSupportInstalled = - Debugger::DebuggerPlugin::isActiveDebugLanguage(Debugger::QmlLanguage); - - if (config && qmlDebugSupportInstalled) { - if (!(config->qtVersion() && config->qtVersion()->needsQmlDebuggingLibrary()) - || !config->observerPath().isEmpty()) - return true; - if (config->qtVersion() && QtSupport::QmlObserverTool::canBuild(config->qtVersion())) - return true; - } + if (!Debugger::DebuggerPlugin::isActiveDebugLanguage(Debugger::QmlLanguage)) + return false; + if (!config->observerPath().isEmpty()) + return true; + if (!config->qtVersion()) + return false; + if (!config->qtVersion()->needsQmlDebuggingLibrary()) + return true; + if (QtSupport::QmlObserverTool::canBuild(config->qtVersion())) + return true; return false; } @@ -218,35 +218,12 @@ RunControl *QmlProjectRunControlFactory::createDebugRunControl(QmlProjectRunConf params.projectSourceFiles = runConfig->target()->project()->files(Project::ExcludeGeneratedFiles); if (params.executable.isEmpty()) { - showQmlObserverToolWarning(); + QmlProjectPlugin::showQmlObserverToolWarning(); return 0; } return Debugger::DebuggerPlugin::createDebugger(params, runConfig); } -void QmlProjectRunControlFactory::showQmlObserverToolWarning() -{ - QMessageBox dialog(QApplication::activeWindow()); - QPushButton *qtPref = dialog.addButton(tr("Open Qt4 Options"), - QMessageBox::ActionRole); - dialog.addButton(tr("Cancel"), QMessageBox::ActionRole); - dialog.setDefaultButton(qtPref); - dialog.setWindowTitle(tr("QML Observer Missing")); - dialog.setText(tr("QML Observer could not be found.")); - dialog.setInformativeText(tr( - "QML Observer is used to offer debugging features for " - "QML applications, such as interactive debugging and inspection tools. " - "It must be compiled for each used Qt version separately. " - "On the Qt4 options page, select the current Qt installation " - "and click Rebuild.")); - dialog.exec(); - if (dialog.clickedButton() == qtPref) { - Core::ICore::instance()->showOptionsDialog( - QtSupport::Constants::QT_SETTINGS_CATEGORY, - QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID); - } -} - } // namespace Internal } // namespace QmlProjectManager diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h index 62f5b82249..8f7b4d8f57 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h @@ -85,7 +85,6 @@ public: private: ProjectExplorer::RunControl *createDebugRunControl(QmlProjectRunConfiguration *runConfig); - static void showQmlObserverToolWarning(); }; } // namespace Internal |