summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprojectmanager
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-07-25 13:57:13 +0200
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-07-25 13:57:13 +0200
commitae8ac2eb2f118cfb96efec7a40aa8d55be2704ee (patch)
treefd36ac3e15c7c243d890d5e91544af5307f8c9fc /src/plugins/qmlprojectmanager
parent76a5b1953ca230d813340a9d536d636aacd0929b (diff)
parent899cc0300336a51f0d553c10d0769b145f99af00 (diff)
downloadqt-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')
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.cpp8
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectplugin.cpp39
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectplugin.h10
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp1
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp57
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectruncontrol.h1
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