From 80705c163fa18b91b4b5178c8c35829d9768264f Mon Sep 17 00:00:00 2001 From: con <qtc-committer@nokia.com> Date: Mon, 27 Jul 2009 12:28:25 +0200 Subject: [PATCH] Find examples also with shadow built Qt developer build. Reviewed-by: Daniel Molkentin --- .../qt4projectmanager/qtversionmanager.cpp | 9 +++------ .../qt4projectmanager/qtversionmanager.h | 1 - src/plugins/welcome/welcomemode.cpp | 17 ++++++++++------- src/plugins/welcome/welcomemode.h | 4 ++-- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index e8323c2c624..aa655204ffc 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -121,11 +121,6 @@ QtVersionManager::QtVersionManager() writeVersionsIntoSettings(); - if (Welcome::WelcomeMode *welcomeMode = qobject_cast<Welcome::WelcomeMode*> - (Core::ICore::instance()->modeManager()->mode(Core::Constants::MODE_WELCOME))) { - connect(this, SIGNAL(updatedExamples(QString, QString)), - welcomeMode, SIGNAL(updatedExamples(QString, QString))); - } updateDocumentation(); updateExamples(); } @@ -190,7 +185,9 @@ void QtVersionManager::updateExamples() if (version->hasDemos()) demosPath = version->demosPath(); if (!examplesPath.isEmpty() && !demosPath.isEmpty()) { - emit updatedExamples(examplesPath, demosPath); + if (Welcome::WelcomeMode *welcomeMode = qobject_cast<Welcome::WelcomeMode*> + (Core::ICore::instance()->modeManager()->mode(Core::Constants::MODE_WELCOME))) + welcomeMode->updateExamples(examplesPath, demosPath, version->sourcePath()); return; } } diff --git a/src/plugins/qt4projectmanager/qtversionmanager.h b/src/plugins/qt4projectmanager/qtversionmanager.h index c1fe58f9f0d..0f2144c2500 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.h +++ b/src/plugins/qt4projectmanager/qtversionmanager.h @@ -201,7 +201,6 @@ public: signals: void defaultQtVersionChanged(); void qtVersionsChanged(); - void updatedExamples(const QString& examplesPath, const QString& demosPath); private: static QString findQMakeLine(const QString &directory); static QString trimLine(const QString line); diff --git a/src/plugins/welcome/welcomemode.cpp b/src/plugins/welcome/welcomemode.cpp index f712399dcc8..0035fefe7bb 100644 --- a/src/plugins/welcome/welcomemode.cpp +++ b/src/plugins/welcome/welcomemode.cpp @@ -169,9 +169,6 @@ WelcomeMode::WelcomeMode() : connect(m_d->ui.openExampleButton, SIGNAL(clicked()), SLOT(slotOpenExample())); connect(m_d->ui.examplesComboBox, SIGNAL(currentIndexChanged(int)), SLOT(slotEnableExampleButton(int))); - connect(this, SIGNAL(updatedExamples(QString, QString)), - this, SLOT(slotUpdateExamples(QString, QString))); - connect(m_d->rssFetcher, SIGNAL(newsItemReady(QString, QString, QString)), m_d->ui.newsTreeWidget, SLOT(slotAddNewsItem(QString, QString, QString))); @@ -315,11 +312,14 @@ void WelcomeMode::slotUrlClicked(const QString &data) QDesktopServices::openUrl(QUrl(data)); } -void WelcomeMode::slotUpdateExamples(const QString& examplePath, const QString& demosPath) +void WelcomeMode::updateExamples(const QString& examplePath, const QString& demosPath, const QString &sourcePath) { QString demoxml = demosPath + "/qtdemo/xml/examples.xml"; - if (!QFile::exists(demoxml)) - return; + if (!QFile::exists(demoxml)) { + demoxml = sourcePath + "/demos/qtdemo/xml/examples.xml"; + if (!QFile::exists(demoxml)) + return; + } QFile description(demoxml); if (!description.open(QFile::ReadOnly)) @@ -353,7 +353,10 @@ void WelcomeMode::slotUpdateExamples(const QString& examplePath, const QString& if (inExamples && reader.name() == "example") { QString name = reader.attributes().value(QLatin1String("name")).toString(); QString fn = reader.attributes().value(QLatin1String("filename")).toString(); - QString fileName = examplePath + '/' + dirName + '/' + fn + '/' + fn + ".pro"; + QString relativeProPath = '/' + dirName + '/' + fn + '/' + fn + ".pro"; + QString fileName = examplePath + relativeProPath; + if (!QFile::exists(fileName)) + fileName = sourcePath + "/examples" + relativeProPath; QString helpPath = "qthelp://com.trolltech.qt/qdoc/" + dirName.replace("/", "-") + "-" + fn + ".html"; m_d->ui.examplesComboBox->addItem(" " + name, fileName); diff --git a/src/plugins/welcome/welcomemode.h b/src/plugins/welcome/welcomemode.h index 3825b9dbef3..f5c6eb1b43c 100644 --- a/src/plugins/welcome/welcomemode.h +++ b/src/plugins/welcome/welcomemode.h @@ -76,20 +76,20 @@ public: void activated(); QString contextHelpId() const { return QLatin1String("Qt Creator"); } + void updateExamples(const QString& examplePath, const QString& demosPath, const QString &demosPath); + signals: void requestProject(const QString &project); void requestSession(const QString &session); void openHelpPage(const QString& url); void openContextHelpPage(const QString& url); void manageSessions(); - void updatedExamples(const QString& examplePath, const QString& demosPath); private slots: void slotFeedback(); void slotSessionClicked(const QString &data); void slotProjectClicked(const QString &data); void slotUrlClicked(const QString &data); - void slotUpdateExamples(const QString& examplePath, const QString& demosPath); void slotEnableExampleButton(int); void slotOpenExample(); void slotCreateNewProject(); -- GitLab