diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 05f189127f0831470a5371956cc56d3eead296a6..c10f0da694e0dfedc4d361e068803b3555928212 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -1283,6 +1283,18 @@ QPrinter *MainWindow::printer() const return m_printer; } +void MainWindow::openProject() +{ + // ### We need a way to access the mimedatabase and differentiate + // between project types and other files. This is currently not possible + const QString filters = "All Files (*);;Projects(*.pro *.qmlproject)"; + QString selectedFilters = "Projects(*.pro *.qmlproject)"; + QStringList files = + Core::ICore::instance()->fileManager()->getOpenFileNames( + filters, tr("Open Project"), &selectedFilters); + openFiles(files); +} + void MainWindow::setFullScreen(bool on) { if (bool(windowState() & Qt::WindowFullScreen) == on) diff --git a/src/plugins/coreplugin/mainwindow.h b/src/plugins/coreplugin/mainwindow.h index 1c9b53eba54d2e0485aafdda8906fa2b276e3874..2aecdefc32f3f71f4c8ced4e229a970b632a6617 100644 --- a/src/plugins/coreplugin/mainwindow.h +++ b/src/plugins/coreplugin/mainwindow.h @@ -126,6 +126,7 @@ signals: void windowActivated(); public slots: + void openProject(); void newFile(); void openFileWith(); void exit(); diff --git a/src/plugins/projectexplorer/projectwelcomepagewidget.cpp b/src/plugins/projectexplorer/projectwelcomepagewidget.cpp index 44bd83d34c80e71762d8f0da7d0025f4fdc91c90..2daca8656a6b1cff996c8533c5bb8c6d0fd8e460 100644 --- a/src/plugins/projectexplorer/projectwelcomepagewidget.cpp +++ b/src/plugins/projectexplorer/projectwelcomepagewidget.cpp @@ -91,7 +91,8 @@ ProjectWelcomePageWidget::ProjectWelcomePageWidget(QWidget *parent) : connect(ui->sessTreeWidget, SIGNAL(activated(QString)), SLOT(slotSessionClicked(QString))); connect(ui->projTreeWidget, SIGNAL(activated(QString)), SLOT(slotProjectClicked(QString))); connect(ui->createNewProjectButton, SIGNAL(clicked()), SLOT(slotCreateNewProject())); - connect(ui->openProjectButton, SIGNAL(clicked()), this, SLOT(slotOpenProject())); + connect(ui->openProjectButton, SIGNAL(clicked()), + Core::ICore::instance()->mainWindow(), SLOT(openProject())); connect(ui->manageSessionsButton, SIGNAL(clicked()), SIGNAL(manageSessions())); ui->createNewProjectButton->setIcon( @@ -160,23 +161,6 @@ void ProjectWelcomePageWidget::activateEditMode() modeManager->activateMode(Core::Constants::MODE_EDIT); } -void ProjectWelcomePageWidget::slotOpenProject() -{ - // ### We need a way to access the mimedatabase and differentiate - // between project types and other files. This is currently not possible - - const QString filters = "All Files (*);;Projects(*.pro *.qmlproject)"; - QString selectedFilters = "Projects(*.pro *.qmlproject)"; - QStringList files = - Core::ICore::instance()->fileManager()->getOpenFileNames( - filters, tr("Open Project"), &selectedFilters); - - Core::Internal::MainWindow *mw = qobject_cast<Core::Internal::MainWindow*> - (Core::ICore::instance()->mainWindow()); - Q_ASSERT(mw); - mw->openFiles(files); -} - void ProjectWelcomePageWidget::slotSessionClicked(const QString &data) { emit requestSession(data); diff --git a/src/plugins/projectexplorer/projectwelcomepagewidget.h b/src/plugins/projectexplorer/projectwelcomepagewidget.h index c49904de5bbe4c2e443dde9ddff347746ea80af4..67e4d082427a163d83a63c03069cb47f66731e5a 100644 --- a/src/plugins/projectexplorer/projectwelcomepagewidget.h +++ b/src/plugins/projectexplorer/projectwelcomepagewidget.h @@ -69,7 +69,6 @@ private slots: void slotSessionClicked(const QString &data); void slotProjectClicked(const QString &data); void slotCreateNewProject(); - void slotOpenProject(); private: void activateEditMode(); diff --git a/src/plugins/projectexplorer/projectwelcomepagewidget.ui b/src/plugins/projectexplorer/projectwelcomepagewidget.ui index 33c956a54326c72dc39fd45a9485ec24eec49f57..f13cfd60d95815a10b8acb9bc4917371c6229510 100644 --- a/src/plugins/projectexplorer/projectwelcomepagewidget.ui +++ b/src/plugins/projectexplorer/projectwelcomepagewidget.ui @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>486</width> + <width>520</width> <height>221</height> </rect> </property> @@ -153,10 +153,6 @@ <property name="text"> <string>Create Project...</string> </property> - <property name="icon"> - <iconset resource="../coreplugin/core.qrc"> - <normaloff>:/core/images/filenew.png</normaloff>:/core/images/filenew.png</iconset> - </property> <property name="flat"> <bool>false</bool> </property> @@ -182,8 +178,6 @@ <header location="global">utils/welcomemodetreewidget.h</header> </customwidget> </customwidgets> - <resources> - <include location="../coreplugin/core.qrc"/> - </resources> + <resources/> <connections/> </ui> diff --git a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp index 62d262727fc006f41d40928511d2fec30417c103..b0c2f56aed8febf89c9a53bb87936f51ed6d4fb0 100644 --- a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp +++ b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp @@ -32,6 +32,7 @@ #include <coreplugin/icore.h> #include <coreplugin/coreconstants.h> +#include <coreplugin/mainwindow.h> #include <utils/pathchooser.h> @@ -86,10 +87,13 @@ GettingStartedWelcomePageWidget::GettingStartedWelcomePageWidget(QWidget *parent connect(ui->nextTipBtn, SIGNAL(clicked()), this, SLOT(slotNextTip())); connect(ui->prevTipBtn, SIGNAL(clicked()), this, SLOT(slotPrevTip())); + connect(ui->openProjectButton, SIGNAL(clicked()), Core::ICore::instance()->mainWindow(), SLOT(openProject())); connect(ui->createNewProjectButton, SIGNAL(clicked()), this, SLOT(slotCreateNewProject())); ui->createNewProjectButton->setIcon( QIcon::fromTheme("document-new", ui->createNewProjectButton->icon())); + ui->openProjectButton->setIcon( + QIcon::fromTheme("document-open", ui->openProjectButton->icon())); } GettingStartedWelcomePageWidget::~GettingStartedWelcomePageWidget() diff --git a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui index 6a2155d79df61ebde04735673a6d5851c7b09f28..9f03d493557ab5546e66d5c78e71cd75d7d3fe7c 100644 --- a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui +++ b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui @@ -61,7 +61,9 @@ </widget> </item> <item row="1" column="0"> - <widget class="Utils::WelcomeModeTreeWidget" name="tutorialTreeWidget" native="true"/> + <widget class="Utils::WelcomeModeTreeWidget" name="tutorialTreeWidget" native="true"> + <zorder></zorder> + </widget> </item> </layout> </widget> @@ -353,6 +355,19 @@ </property> </spacer> </item> + <item> + <widget class="QPushButton" name="openProjectButton"> + <property name="minimumSize"> + <size> + <width>160</width> + <height>36</height> + </size> + </property> + <property name="text"> + <string>Open Project...</string> + </property> + </widget> + </item> <item> <widget class="QPushButton" name="createNewProjectButton"> <property name="minimumSize"> @@ -367,10 +382,6 @@ <property name="text"> <string>Create Project...</string> </property> - <property name="icon"> - <iconset resource="../coreplugin/core.qrc"> - <normaloff>:/core/images/filenew.png</normaloff>:/core/images/filenew.png</iconset> - </property> <property name="flat"> <bool>false</bool> </property> @@ -397,7 +408,6 @@ </customwidget> </customwidgets> <resources> - <include location="../coreplugin/core.qrc"/> <include location="../welcome/welcome.qrc"/> </resources> <connections/>