ui: moved recent projects submenu

* moved the menu entry for "recent projects" to be placed close to "open project"
* replaced enum for MaxRecentProjectsCount in AppSettings by a getter function.
This commit is contained in:
malte_langkabel
2016-03-23 14:15:30 +01:00
parent d1a4bc7b08
commit fee1d97604
4 changed files with 30 additions and 24 deletions
+23 -19
View File
@@ -146,7 +146,7 @@ QtMainWindow::QtMainWindow()
app->setStyleSheet(utility::getStyleSheet(ResourcePaths::getGuiPath() + "main.css").c_str());
m_recentProjectAction = new QAction*[ApplicationSettings::MaximalAmountOfRecentProjects];
m_recentProjectAction = new QAction*[ApplicationSettings::getInstance()->getMaxRecentProjectsCount()];
setupProjectMenu();
setupEditMenu();
@@ -495,6 +495,27 @@ void QtMainWindow::setupProjectMenu()
{
menu->addAction(tr("&New Project..."), this, SLOT(newProject()), QKeySequence::New);
menu->addAction(tr("&Open Project..."), this, SLOT(openProject()), QKeySequence::Open);
}
QMenu *recentProjectMenu = new QMenu(tr("Recent Projects"));
menu->addMenu(recentProjectMenu);
for (int i = 0; i < ApplicationSettings::getInstance()->getMaxRecentProjectsCount(); ++i)
{
m_recentProjectAction[i] = new QAction(this);
m_recentProjectAction[i]->setVisible(false);
connect(m_recentProjectAction[i], SIGNAL(triggered()),
this, SLOT(openRecentProject()));
recentProjectMenu->addAction(m_recentProjectAction[i]);
}
updateRecentProjectMenu();
menu->addMenu(recentProjectMenu);
menu->addSeparator();
if(!isTrial())
{
menu->addAction(tr("&Edit Project..."), this, SLOT(editProject()));
menu->addSeparator();
@@ -505,23 +526,6 @@ void QtMainWindow::setupProjectMenu()
menu->addSeparator();
}
QMenu *recentProjectMenu = new QMenu(tr("Recent Projects"));
menu->addMenu(recentProjectMenu);
for (int i = 0; i < ApplicationSettings::MaximalAmountOfRecentProjects; ++i)
{
m_recentProjectAction[i] = new QAction(this);
m_recentProjectAction[i]->setVisible(false);
connect(m_recentProjectAction[i], SIGNAL(triggered()),
this, SLOT(openRecentProject()));
recentProjectMenu->addAction(m_recentProjectAction[i]);
}
updateRecentProjectMenu();
menu->addMenu(recentProjectMenu);
menu->addSeparator();
menu->addAction(tr("E&xit"), QCoreApplication::instance(), SLOT(quit()), QKeySequence::Quit);
}
@@ -537,7 +541,7 @@ void QtMainWindow::openRecentProject()
void QtMainWindow::updateRecentProjectMenu()
{
std::vector<FilePath> recentProjects = ApplicationSettings::getInstance()->getRecentProjects();
for (size_t i = 0; i < ApplicationSettings::MaximalAmountOfRecentProjects; i++)
for (size_t i = 0; i < ApplicationSettings::getInstance()->getMaxRecentProjectsCount(); i++)
{
if(i < recentProjects.size())
{