diff --git a/src/plugins/projectexplorer/projectwelcomepagewidget.cpp b/src/plugins/projectexplorer/projectwelcomepagewidget.cpp index 4cab1e656b37a23b00728698a1b15d8515d1cdd7..44bd83d34c80e71762d8f0da7d0025f4fdc91c90 100644 --- a/src/plugins/projectexplorer/projectwelcomepagewidget.cpp +++ b/src/plugins/projectexplorer/projectwelcomepagewidget.cpp @@ -35,6 +35,8 @@ #include <coreplugin/modemanager.h> #include <coreplugin/icore.h> #include <coreplugin/dialogs/iwizard.h> +#include <coreplugin/mainwindow.h> +#include <coreplugin/filemanager.h> #include <QtCore/QFileInfo> #include <QtCore/QDir> @@ -89,7 +91,13 @@ 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->manageSessionsButton, SIGNAL(clicked()), SIGNAL(manageSessions())); + + ui->createNewProjectButton->setIcon( + QIcon::fromTheme("document-new", ui->createNewProjectButton->icon())); + ui->openProjectButton->setIcon( + QIcon::fromTheme("document-open", ui->openProjectButton->icon())); } ProjectWelcomePageWidget::~ProjectWelcomePageWidget() @@ -152,6 +160,22 @@ 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) { diff --git a/src/plugins/projectexplorer/projectwelcomepagewidget.h b/src/plugins/projectexplorer/projectwelcomepagewidget.h index 67e4d082427a163d83a63c03069cb47f66731e5a..c49904de5bbe4c2e443dde9ddff347746ea80af4 100644 --- a/src/plugins/projectexplorer/projectwelcomepagewidget.h +++ b/src/plugins/projectexplorer/projectwelcomepagewidget.h @@ -69,6 +69,7 @@ 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 ca0818e9555e1db96de3e7bdc0fa2eaf5362ec7e..33c956a54326c72dc39fd45a9485ec24eec49f57 100644 --- a/src/plugins/projectexplorer/projectwelcomepagewidget.ui +++ b/src/plugins/projectexplorer/projectwelcomepagewidget.ui @@ -57,7 +57,7 @@ </widget> </item> <item> - <widget class="Utils::WelcomeModeTreeWidget" name="sessTreeWidget"/> + <widget class="Utils::WelcomeModeTreeWidget" name="sessTreeWidget" native="true"/> </item> </layout> </widget> @@ -85,7 +85,7 @@ </widget> </item> <item> - <widget class="Utils::WelcomeModeTreeWidget" name="projTreeWidget"/> + <widget class="Utils::WelcomeModeTreeWidget" name="projTreeWidget" native="true"/> </item> </layout> </widget> @@ -98,7 +98,23 @@ <number>6</number> </property> <item> - <spacer name="horizontalSpacer_2"> + <widget class="QPushButton" name="manageSessionsButton"> + <property name="minimumSize"> + <size> + <width>160</width> + <height>36</height> + </size> + </property> + <property name="focusPolicy"> + <enum>Qt::TabFocus</enum> + </property> + <property name="text"> + <string>Manage Sessions...</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_3"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> @@ -111,18 +127,15 @@ </spacer> </item> <item> - <widget class="QPushButton" name="manageSessionsButton"> + <widget class="QPushButton" name="openProjectButton"> <property name="minimumSize"> <size> - <width>180</width> - <height>40</height> + <width>160</width> + <height>36</height> </size> </property> - <property name="focusPolicy"> - <enum>Qt::TabFocus</enum> - </property> <property name="text"> - <string>Manage Sessions...</string> + <string>Open Project...</string> </property> </widget> </item> @@ -130,8 +143,8 @@ <widget class="QPushButton" name="createNewProjectButton"> <property name="minimumSize"> <size> - <width>180</width> - <height>40</height> + <width>160</width> + <height>36</height> </size> </property> <property name="focusPolicy"> diff --git a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp index 816408cbe619298f56934498d8d8a17db037030b..62d262727fc006f41d40928511d2fec30417c103 100644 --- a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp +++ b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp @@ -87,6 +87,9 @@ GettingStartedWelcomePageWidget::GettingStartedWelcomePageWidget(QWidget *parent connect(ui->nextTipBtn, SIGNAL(clicked()), this, SLOT(slotNextTip())); connect(ui->prevTipBtn, SIGNAL(clicked()), this, SLOT(slotPrevTip())); connect(ui->createNewProjectButton, SIGNAL(clicked()), this, SLOT(slotCreateNewProject())); + + ui->createNewProjectButton->setIcon( + QIcon::fromTheme("document-new", ui->createNewProjectButton->icon())); } GettingStartedWelcomePageWidget::~GettingStartedWelcomePageWidget() diff --git a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui index 6cf9b1345091061e4301b00a754a7ea37eda6386..6a2155d79df61ebde04735673a6d5851c7b09f28 100644 --- a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui +++ b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>646</width> - <height>361</height> + <height>367</height> </rect> </property> <property name="windowTitle"> @@ -357,8 +357,8 @@ <widget class="QPushButton" name="createNewProjectButton"> <property name="minimumSize"> <size> - <width>180</width> - <height>40</height> + <width>160</width> + <height>36</height> </size> </property> <property name="focusPolicy">