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

Method updateProjectSettingsMenu

src/tools/ecode/settingsmenu.cpp:2388–2462  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2386}
2387
2388void SettingsMenu::updateProjectSettingsMenu() {
2389 mSettingsMenu->getItemId( "project_settings" )
2390 ->setEnabled( !mApp->getCurrentProject().empty() );
2391
2392 auto item = mHExtLanguageTypeMenu->find(
2393 HExtLanguageTypeHelper::toString( mApp->getProjectConfig().hExtLanguageType ) );
2394 if ( item && item->isType( UI_TYPE_MENURADIOBUTTON ) )
2395 item->asType<UIMenuRadioButton>()->setActive( true );
2396
2397 for ( size_t i = 0; i < mProjectDocMenu->getCount(); i++ ) {
2398 mProjectDocMenu->getItem( i )->setEnabled( !mApp->getCurrentProject().empty() &&
2399 !mApp->getProjectConfig().useGlobalSettings );
2400 }
2401
2402 mSplitter->forEachEditor( [this]( UICodeEditor* editor ) {
2403 editor->setLineBreakingColumn( !mApp->getCurrentProject().empty() &&
2404 !mApp->getProjectConfig().useGlobalSettings
2405 ? mApp->getProjectConfig().doc.lineBreakingColumn
2406 : mApp->getConfig().doc.lineBreakingColumn );
2407 } );
2408
2409 mProjectDocMenu->getItemId( "trim_whitespaces" )
2410 ->asType<UIMenuCheckBox>()
2411 ->setActive( mApp->getProjectConfig().doc.trimTrailingWhitespaces );
2412
2413 mProjectDocMenu->getItemId( "force_nl" )
2414 ->asType<UIMenuCheckBox>()
2415 ->setActive( mApp->getProjectConfig().doc.forceNewLineAtEndOfFile );
2416
2417 mProjectDocMenu->getItemId( "write_bom" )
2418 ->asType<UIMenuCheckBox>()
2419 ->setActive( mApp->getProjectConfig().doc.writeUnicodeBOM );
2420
2421 mProjectDocMenu->getItemId( "auto_indent" )
2422 ->asType<UIMenuCheckBox>()
2423 ->setActive( mApp->getProjectConfig().doc.autoDetectIndentType );
2424
2425 auto* curIndent =
2426 mProjectDocMenu->find( "indent_width" )
2427 ->asType<UIMenuSubMenu>()
2428 ->getSubMenu()
2429 ->find( String::format( "indent_width_%d", mApp->getProjectConfig().doc.indentWidth ) );
2430
2431 if ( curIndent )
2432 curIndent->asType<UIMenuRadioButton>()->setActive( true );
2433
2434 mProjectDocMenu->find( "indent_type" )
2435 ->asType<UIMenuSubMenu>()
2436 ->getSubMenu()
2437 ->find( !mApp->getProjectConfig().doc.indentSpaces ? "tabs" : "spaces" )
2438 ->asType<UIMenuRadioButton>()
2439 ->setActive( true );
2440
2441 mProjectDocMenu->find( "tab_width" )
2442 ->asType<UIMenuSubMenu>()
2443 ->getSubMenu()
2444 ->find( String::format( "tab_width_%d", mApp->getProjectConfig().doc.tabWidth ) )
2445 ->asType<UIMenuRadioButton>()

Callers 3

closeEditorsMethod · 0.80
initProjectTreeViewMethod · 0.80
loadFolderMethod · 0.80

Calls 15

formatFunction · 0.85
getItemIdMethod · 0.80
forEachEditorMethod · 0.80
getConfigMethod · 0.80
getSubMenuMethod · 0.80
projectIsOpenMethod · 0.80
toStringFunction · 0.50
setEnabledMethod · 0.45
emptyMethod · 0.45
findMethod · 0.45
isTypeMethod · 0.45
setActiveMethod · 0.45

Tested by

no test coverage detected