From ca09e1fc57bef67c476b6b32f7c563d054d6ed22 Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Wed, 6 May 2009 16:13:44 +0200 Subject: [PATCH] Show relative file names in the run configuration. --- src/plugins/qmlprojectmanager/qmlproject.cpp | 29 ++++++++++++++++++-- src/plugins/qmlprojectmanager/qmlproject.h | 12 ++------ 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index 5a938b0e54d..f3406552055 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -132,6 +132,11 @@ QmlProject::~QmlProject() delete m_rootNode; } +QDir QmlProject::projectDir() const +{ + return QFileInfo(file()->fileName()).dir(); +} + QString QmlProject::filesFileName() const { return m_fileName; } @@ -421,11 +426,29 @@ QString QmlApplicationRunConfiguration::dumperLibrary() const QWidget *QmlApplicationRunConfiguration::configurationWidget() { + QWidget *config = new QWidget; + QFormLayout *form = new QFormLayout(config); + 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; + + QDir projectDir = m_project->projectDir(); + QStringList files; + + foreach (const QString &fn, m_project->files()) { + QFileInfo fileInfo(fn); + if (fileInfo.suffix() != QLatin1String("qml")) + continue; + + files.append(projectDir.relativeFilePath(fn)); + } + + combo->addItems(files); + + form->addRow(tr("Main QML Script:"), combo); + + return config; } QString QmlApplicationRunConfiguration::mainScript() const @@ -437,7 +460,7 @@ QString QmlApplicationRunConfiguration::mainScript() const } } - return m_scriptFile; + return m_project->projectDir().absoluteFilePath(m_scriptFile); } void QmlApplicationRunConfiguration::setMainScript(const QString &scriptFile) diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h index 0456fb8c39b..9d1252a994f 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.h +++ b/src/plugins/qmlprojectmanager/qmlproject.h @@ -39,16 +39,7 @@ #include <projectexplorer/applicationrunconfiguration.h> #include <coreplugin/ifile.h> -QT_BEGIN_NAMESPACE -class QPushButton; -class QStringListModel; -QT_END_NAMESPACE - -namespace Core { -namespace Utils { -class PathChooser; -} -} +#include <QtCore/QDir> namespace QmlProjectManager { namespace Internal { @@ -96,6 +87,7 @@ public: void refresh(RefreshOptions options); + QDir projectDir() const; QStringList files() const; protected: -- GitLab