| 2386 | } |
| 2387 | |
| 2388 | void 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>() |
no test coverage detected