diff options
author | Roberto Raggi <[email protected]> | 2009-05-04 13:38:03 +0200 |
---|---|---|
committer | Roberto Raggi <[email protected]> | 2009-05-04 13:38:14 +0200 |
commit | 8a97b540129bcf3ce3077e68ab8dbe3deb27d6a5 (patch) | |
tree | 1f390f731b240e4dc8df3a93ea93eaf98e98c631 /src/plugins/qmlprojectmanager/qmlproject.cpp | |
parent | 9d676f75db5bb442da1e2b667b52bc6ec7aea2ff (diff) |
Initial implementation of ApplicationRunConfiguration for QML projects.
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlproject.cpp')
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlproject.cpp | 100 |
1 files changed, 97 insertions, 3 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index 9595e539e5d..de619bc953d 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -36,6 +36,7 @@ #include <utils/pathchooser.h> #include <utils/qtcassert.h> #include <coreplugin/icore.h> +#include <coreplugin/editormanager/editormanager.h> #include <QtCore/QtDebug> #include <QtCore/QDir> @@ -120,6 +121,9 @@ QmlProject::QmlProject(Manager *manager, const QString &fileName) m_rootNode = new QmlProjectNode(this, m_file); m_manager->registerProject(this); + + QSharedPointer<QmlApplicationRunConfiguration> runConf(new QmlApplicationRunConfiguration(this)); + addRunConfiguration(runConf); } QmlProject::~QmlProject() @@ -257,9 +261,9 @@ QList<ProjectExplorer::BuildStepConfigWidget*> QmlProject::subConfigWidgets() return QList<ProjectExplorer::BuildStepConfigWidget*>(); } - void QmlProject::newBuildConfiguration(const QString &) - { - } +void QmlProject::newBuildConfiguration(const QString &) +{ +} QmlProjectNode *QmlProject::rootProjectNode() const { @@ -383,3 +387,93 @@ bool QmlProjectFile::isSaveAsAllowed() const void QmlProjectFile::modified(ReloadBehavior *) { } + +QmlApplicationRunConfiguration::QmlApplicationRunConfiguration(QmlProject *pro) + : ProjectExplorer::ApplicationRunConfiguration(pro), + m_project(pro) +{ +} + +QmlApplicationRunConfiguration::~QmlApplicationRunConfiguration() +{ +} + +QString QmlApplicationRunConfiguration::type() const +{ + return tr("QML Viewer"); +} + +QString QmlApplicationRunConfiguration::executable() const +{ + QString executable("/Users/raggi/Projects/qt/kinetic/bin/qmlviewer.app"); + return executable; +} + +QmlApplicationRunConfiguration::RunMode QmlApplicationRunConfiguration::runMode() const +{ + return Gui; +} + +QString QmlApplicationRunConfiguration::workingDirectory() const +{ + QFileInfo projectFile(m_project->file()->fileName()); + return projectFile.filePath(); +} + +QStringList QmlApplicationRunConfiguration::commandLineArguments() const +{ + QStringList args; + + const QString s = mainScript(); + if (! s.isEmpty()) + args.append(s); + + return args; +} + +ProjectExplorer::Environment QmlApplicationRunConfiguration::environment() const +{ + ProjectExplorer::Environment env; + return env; +} + +QString QmlApplicationRunConfiguration::dumperLibrary() const +{ + return QString(); +} + +QWidget *QmlApplicationRunConfiguration::configurationWidget() +{ + QComboBox *combo = new QComboBox; + combo->addItem(tr("<Current File>")); + connect(combo, SIGNAL(activated(QString)), this, SLOT(setMainScript(QString))); + combo->addItems(m_project->files()); + return combo; +} + +QString QmlApplicationRunConfiguration::mainScript() const +{ + if (m_scriptFile.isEmpty() || m_scriptFile == tr("<Current File>")) { + Core::EditorManager *editorManager = Core::ICore::instance()->editorManager(); + if (Core::IEditor *editor = editorManager->currentEditor()) { + return editor->file()->fileName(); + } + } + + return m_scriptFile; +} + +void QmlApplicationRunConfiguration::setMainScript(const QString &scriptFile) +{ + m_scriptFile = scriptFile; +} + +void QmlApplicationRunConfiguration::save(ProjectExplorer::PersistentSettingsWriter &writer) const +{ + ProjectExplorer::ApplicationRunConfiguration::save(writer); +} + +void QmlApplicationRunConfiguration::restore(const ProjectExplorer::PersistentSettingsReader &reader) +{ + ProjectExplorer::ApplicationRunConfiguration::restore(reader); +} |