forked from qt-creator/qt-creator
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:
@@ -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()) {
|
||||||
|
@@ -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();
|
||||||
|
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user