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

Method updateDocumentMenu

src/tools/ecode/settingsmenu.cpp:2481–2548  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2479}
2480
2481void SettingsMenu::updateDocumentMenu() {
2482 bool enabled =
2483 mSplitter->getCurWidget() && mSplitter->getCurWidget()->isType( UI_TYPE_CODEEDITOR );
2484
2485 Node* child = mDocMenu->getFirstChild();
2486 while ( child && child->getId() != "end_current_document" ) {
2487 child->setEnabled( enabled );
2488 child = child->getNextNode();
2489 }
2490
2491 if ( !enabled )
2492 return;
2493
2494 const TextDocument& doc = mSplitter->getCurEditor()->getDocument();
2495
2496 mDocMenu->find( "auto_indent_cur" )
2497 ->asType<UIMenuCheckBox>()
2498 ->setActive( doc.getAutoDetectIndentType() );
2499
2500 auto* curEncoding = mDocMenu->find( "file_encoding" )
2501 ->asType<UIMenuSubMenu>()
2502 ->getSubMenu()
2503 ->find( TextFormat::encodingToString( doc.getEncoding() ) );
2504 if ( curEncoding )
2505 curEncoding->asType<UIMenuRadioButton>()->setActive( true );
2506
2507 auto* curIndent = mDocMenu->find( "indent_width_cur" )
2508 ->asType<UIMenuSubMenu>()
2509 ->getSubMenu()
2510 ->find( String::format( "indent_width_%d", doc.getIndentWidth() ) );
2511 if ( curIndent )
2512 curIndent->asType<UIMenuRadioButton>()->setActive( true );
2513
2514 mDocMenu->find( "indent_type_cur" )
2515 ->asType<UIMenuSubMenu>()
2516 ->getSubMenu()
2517 ->find( doc.getIndentType() == TextDocument::IndentType::IndentTabs ? "tabs" : "spaces" )
2518 ->asType<UIMenuRadioButton>()
2519 ->setActive( true );
2520
2521 mDocMenu->find( "tab_width_cur" )
2522 ->asType<UIMenuSubMenu>()
2523 ->getSubMenu()
2524 ->find( String::format( "tab_width_%d", mSplitter->getCurEditor()->getTabWidth() ) )
2525 ->asType<UIMenuRadioButton>()
2526 ->setActive( true );
2527
2528 mDocMenu->find( "trim_whitespaces_cur" )
2529 ->asType<UIMenuCheckBox>()
2530 ->setActive( doc.getTrimTrailingWhitespaces() );
2531
2532 mDocMenu->find( "force_nl_cur" )
2533 ->asType<UIMenuCheckBox>()
2534 ->setActive( doc.getForceNewLineAtEndOfFile() );
2535
2536 mDocMenu->find( "write_bom_cur" )->asType<UIMenuCheckBox>()->setActive( doc.isBOM() );
2537
2538 mDocMenu->find( "line_endings_cur" )

Callers 4

onWidgetFocusChangeMethod · 0.80
onRealDocumentLoadedMethod · 0.80
onCodeEditorCreatedMethod · 0.80
updateEditorStateMethod · 0.80

Calls 15

formatFunction · 0.85
getCurWidgetMethod · 0.80
getFirstChildMethod · 0.80
getNextNodeMethod · 0.80
getDocumentMethod · 0.80
getCurEditorMethod · 0.80
getSubMenuMethod · 0.80
getEncodingMethod · 0.80
isBOMMethod · 0.80

Tested by

no test coverage detected