MCPcopy Create free account
hub / github.com/SpartanJ/eepp / updateRecentFolders

Method updateRecentFolders

src/tools/ecode/ecode.cpp:1225–1266  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1223}
1224
1225void App::updateRecentFolders() {
1226 UINode* node = nullptr;
1227 updateOpenRecentFolderBtn();
1228 if ( mSettings && mSettings->getSettingsMenu() &&
1229 ( node = mSettings->getSettingsMenu()->getItemId( "recent-folders" ) ) ) {
1230 UIMenuSubMenu* uiMenuSubMenu = static_cast<UIMenuSubMenu*>( node );
1231 UIMenu* menu = uiMenuSubMenu->getSubMenu();
1232 uiMenuSubMenu->setEnabled( !mRecentFolders.empty() );
1233 menu->removeAll();
1234 menu->removeEventsOfType( Event::OnItemClicked );
1235 if ( mRecentFolders.empty() )
1236 return;
1237 for ( const auto& file : mRecentFolders ) {
1238 if ( FileSystem::fileExists( file ) && FileSystem::isDirectory( file ) )
1239 menu->add( file );
1240 }
1241 menu->addSeparator();
1242 menu->add( i18n( "clear_menu", "Clear Menu" ) )->setId( "clear-menu" );
1243 menu->addCheckBox(
1244 i18n( "restore_last_session_at_startup", "Restart last session at startup" ) )
1245 ->setActive( mConfig.workspace.restoreLastSession )
1246 ->setId( "restore-last-session-at-startup" );
1247 menu->on( Event::OnItemClicked, [this]( const Event* event ) {
1248 if ( !event->getNode()->isType( UI_TYPE_MENUITEM ) )
1249 return;
1250 const std::string& id = event->getNode()->asType<UIMenuItem>()->getId();
1251 if ( id == "clear-menu" ) {
1252 mRecentFolders.clear();
1253 updateRecentFolders();
1254 updateRecentButtons();
1255 } else if ( id == "restore-last-session-at-startup" ) {
1256 mConfig.workspace.restoreLastSession =
1257 event->getNode()->asType<UIMenuCheckBox>()->isActive();
1258 } else {
1259 UIMenuItem* item = event->getNode()->asType<UIMenuItem>();
1260 const String& txt = item->getText();
1261 loadFolder( txt,
1262 item->getUISceneNode()->getWindow()->getInput()->isShiftPressed() );
1263 }
1264 } );
1265 }
1266}
1267
1268void App::showSidePanel( bool show ) {
1269 if ( show == mSidePanel->isVisible() )

Callers 1

createSettingsMenuMethod · 0.80

Calls 15

getItemIdMethod · 0.80
getSubMenuMethod · 0.80
removeAllMethod · 0.80
removeEventsOfTypeMethod · 0.80
addSeparatorMethod · 0.80
addCheckBoxMethod · 0.80
getNodeMethod · 0.80
isShiftPressedMethod · 0.80
getIdMethod · 0.65
getSettingsMenuMethod · 0.45
setEnabledMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected