Welcome: Improve buttons in Projects view

Add manage session button to session area
Move the new project button from session area to project area

Change-Id: I293793927f35f4ec0d788b4291d92c49fa560855
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
This commit is contained in:
Tasuku Suzuki
2019-08-01 00:04:02 +09:00
parent 6bc5b70f1d
commit 0e2ed9c27b
3 changed files with 23 additions and 8 deletions

View File

@@ -1899,6 +1899,11 @@ ExtensionSystem::IPlugin::ShutdownFlag ProjectExplorerPlugin::aboutToShutdown()
return AsynchronousShutdown; return AsynchronousShutdown;
} }
void ProjectExplorerPlugin::showSessionManager()
{
dd->showSessionManager();
}
void ProjectExplorerPlugin::openNewProjectDialog() void ProjectExplorerPlugin::openNewProjectDialog()
{ {
if (!ICore::isNewItemDialogRunning()) { if (!ICore::isNewItemDialogRunning()) {

View File

@@ -163,6 +163,7 @@ public:
static QThreadPool *sharedThreadPool(); static QThreadPool *sharedThreadPool();
static void showSessionManager();
static void openNewProjectDialog(); static void openNewProjectDialog();
static void openOpenProjectDialog(); static void openOpenProjectDialog();

View File

@@ -536,13 +536,19 @@ public:
if (!projectWelcomePage->m_projectModel) if (!projectWelcomePage->m_projectModel)
projectWelcomePage->m_projectModel = new ProjectModel(this); projectWelcomePage->m_projectModel = new ProjectModel(this);
auto manageSessionsButton = new WelcomePageButton(this);
manageSessionsButton->setText(ProjectWelcomePage::tr("Manage"));
const Icon icon({{":/utils/images/settings.png", Theme::Welcome_ForegroundSecondaryColor}}, Icon::Tint);
manageSessionsButton->setIcon(icon.pixmap());
manageSessionsButton->setOnClicked([] { ProjectExplorerPlugin::showSessionManager(); });
auto newButton = new WelcomePageButton(this); auto newButton = new WelcomePageButton(this);
newButton->setText(ProjectWelcomePage::tr("New Project")); newButton->setText(ProjectWelcomePage::tr("New"));
newButton->setIcon(pixmap("new", Theme::Welcome_ForegroundSecondaryColor)); newButton->setIcon(pixmap("new", Theme::Welcome_ForegroundSecondaryColor));
newButton->setOnClicked([] { ProjectExplorerPlugin::openNewProjectDialog(); }); newButton->setOnClicked([] { ProjectExplorerPlugin::openNewProjectDialog(); });
auto openButton = new WelcomePageButton(this); auto openButton = new WelcomePageButton(this);
openButton->setText(ProjectWelcomePage::tr("Open Project")); openButton->setText(ProjectWelcomePage::tr("Open"));
openButton->setIcon(pixmap("open", Theme::Welcome_ForegroundSecondaryColor)); openButton->setIcon(pixmap("open", Theme::Welcome_ForegroundSecondaryColor));
openButton->setOnClicked([] { ProjectExplorerPlugin::openOpenProjectDialog(); }); openButton->setOnClicked([] { ProjectExplorerPlugin::openOpenProjectDialog(); });
@@ -552,7 +558,7 @@ public:
auto recentProjectsLabel = new QLabel(this); auto recentProjectsLabel = new QLabel(this);
recentProjectsLabel->setFont(sizedFont(16, this)); recentProjectsLabel->setFont(sizedFont(16, this));
recentProjectsLabel->setText(ProjectWelcomePage::tr("Recent Projects")); recentProjectsLabel->setText(ProjectWelcomePage::tr("Projects"));
auto sessionsList = new TreeView(this); auto sessionsList = new TreeView(this);
sessionsList->setModel(projectWelcomePage->m_sessionModel); sessionsList->setModel(projectWelcomePage->m_sessionModel);
@@ -568,11 +574,17 @@ public:
auto hbox11 = new QHBoxLayout; auto hbox11 = new QHBoxLayout;
hbox11->setContentsMargins(0, 0, 0, 0); hbox11->setContentsMargins(0, 0, 0, 0);
hbox11->addWidget(newButton); hbox11->addWidget(sessionsLabel);
hbox11->addSpacing(16);
hbox11->addWidget(manageSessionsButton);
hbox11->addStretch(1); hbox11->addStretch(1);
auto hbox21 = new QHBoxLayout; auto hbox21 = new QHBoxLayout;
hbox21->setContentsMargins(0, 0, 0, 0); hbox21->setContentsMargins(0, 0, 0, 0);
hbox21->addWidget(recentProjectsLabel);
hbox21->addSpacing(16);
hbox21->addWidget(newButton);
hbox21->addSpacing(16);
hbox21->addWidget(openButton); hbox21->addWidget(openButton);
hbox21->addStretch(1); hbox21->addStretch(1);
@@ -581,16 +593,13 @@ public:
vbox1->addStrut(200); vbox1->addStrut(200);
vbox1->addItem(hbox11); vbox1->addItem(hbox11);
vbox1->addSpacing(16); vbox1->addSpacing(16);
vbox1->addWidget(sessionsLabel);
vbox1->addSpacing(21);
vbox1->addWidget(sessionsList); vbox1->addWidget(sessionsList);
auto vbox2 = new QVBoxLayout; auto vbox2 = new QVBoxLayout;
vbox2->setContentsMargins(0, 0, 0, 0); vbox2->setContentsMargins(0, 0, 0, 0);
vbox1->addStrut(200);
vbox2->addItem(hbox21); vbox2->addItem(hbox21);
vbox2->addSpacing(16); vbox2->addSpacing(16);
vbox2->addWidget(recentProjectsLabel);
vbox2->addSpacing(21);
vbox2->addWidget(projectsList); vbox2->addWidget(projectsList);
auto hbox = new QHBoxLayout(this); auto hbox = new QHBoxLayout(this);