used different approach for populating open recent menu

Fixes #1243
This commit is contained in:
itsmattkc
2020-11-16 10:23:23 +11:00
parent 81c98e1026
commit 9a1917d160
4 changed files with 28 additions and 7 deletions
+10 -2
View File
@@ -50,8 +50,7 @@ MainMenu::MainMenu(MainWindow *parent) :
file_new_menu_ = new Menu(file_menu_);
MenuShared::instance()->AddItemsForNewMenu(file_new_menu_);
file_open_item_ = file_menu_->AddItem("openproj", Core::instance(), &Core::OpenProject, "Ctrl+O");
file_open_recent_menu_ = new Menu(file_menu_, this, &MainMenu::PopulateOpenRecent);
connect(file_open_recent_menu_, &Menu::aboutToHide, this, &MainMenu::CloseOpenRecentMenu);
file_open_recent_menu_ = new Menu(file_menu_);
file_open_recent_separator_ = file_open_recent_menu_->addSeparator();
file_open_recent_clear_item_ = file_open_recent_menu_->AddItem("clearopenrecent", Core::instance(), &Core::ClearOpenRecentList);
file_save_item_ = file_menu_->AddItem("saveproj", Core::instance(), &Core::SaveActiveProject, "Ctrl+S");
@@ -255,6 +254,9 @@ MainMenu::MainMenu(MainWindow *parent) :
help_menu_->addSeparator();
help_about_item_ = help_menu_->AddItem("about", Core::instance(), &Core::DialogAboutShow);
connect(Core::instance(), &Core::OpenRecentListChanged, this, &MainMenu::RepopulateOpenRecent);
PopulateOpenRecent();
Retranslate();
}
@@ -398,6 +400,12 @@ void MainMenu::PopulateOpenRecent()
}
}
void MainMenu::RepopulateOpenRecent()
{
CloseOpenRecentMenu();
PopulateOpenRecent();
}
void MainMenu::CloseOpenRecentMenu()
{
while (file_open_recent_menu_->actions().first() != file_open_recent_separator_) {