| 1116 | } |
| 1117 | |
| 1118 | void App::createAppMenu() { |
| 1119 | SceneManager::instance()->setCurrentUISceneNode( mAppUISceneNode ); |
| 1120 | |
| 1121 | mUIMenuBar = mAppUISceneNode->find( "menubar" )->asType<UIMenuBar>(); |
| 1122 | UIPopUpMenu* uiPopMenu = UIPopUpMenu::New(); |
| 1123 | uiPopMenu->add( "New layout", findIcon( "file-add" ) )->setId( "new-layout" ); |
| 1124 | uiPopMenu->add( "Open layout...", findIcon( "document-open" ) )->setId( "open-layout" ); |
| 1125 | uiPopMenu->add( "Open project...", findIcon( "document-open" ) )->setId( "open-project" ); |
| 1126 | uiPopMenu->addSeparator(); |
| 1127 | uiPopMenu->addSubMenu( "Recent files", NULL, UIPopUpMenu::New() )->setId( "recent-files" ); |
| 1128 | uiPopMenu->addSubMenu( "Recent projects", NULL, UIPopUpMenu::New() ) |
| 1129 | ->setId( "recent-projects" ); |
| 1130 | uiPopMenu->addSeparator(); |
| 1131 | uiPopMenu->add( i18n( "save", "Save" ), findIcon( "document-save" ) )->setId( "save-doc" ); |
| 1132 | uiPopMenu->add( i18n( "save_as_ellipsis", "Save as..." ), findIcon( "document-save-as" ) ) |
| 1133 | ->setId( "save-as-doc" ); |
| 1134 | uiPopMenu->add( i18n( "save_all", "Save All" ), findIcon( "document-save-as" ) ) |
| 1135 | ->setId( "save-all" ); |
| 1136 | uiPopMenu->addSeparator(); |
| 1137 | uiPopMenu->add( "Close", findIcon( "document-close" ) )->setId( "close" ); |
| 1138 | uiPopMenu->addSeparator(); |
| 1139 | uiPopMenu->add( "Quit", findIcon( "quit" ) )->setId( "quit" ); |
| 1140 | |
| 1141 | mUIMenuBar->addMenuButton( "File", uiPopMenu ); |
| 1142 | uiPopMenu->on( Event::OnItemClicked, [this]( const Event* event ) { fileMenuClick( event ); } ); |
| 1143 | |
| 1144 | UIPopUpMenu* uiResourceMenu = UIPopUpMenu::New(); |
| 1145 | uiResourceMenu->add( "Load images from path...", findIcon( "document-open" ) ) |
| 1146 | ->setId( "load-images-from-path" ); |
| 1147 | uiResourceMenu->addSeparator(); |
| 1148 | uiResourceMenu->add( "Load fonts from path...", findIcon( "document-open" ) ) |
| 1149 | ->setId( "load-fonts-from-path" ); |
| 1150 | uiResourceMenu->addSeparator(); |
| 1151 | uiResourceMenu->add( "Load style sheet from path...", findIcon( "document-open" ) ) |
| 1152 | ->setId( "load-css-from-path" ); |
| 1153 | mUIMenuBar->addMenuButton( "Resources", uiResourceMenu ); |
| 1154 | uiResourceMenu->on( Event::OnItemClicked, |
| 1155 | [this]( const Event* event ) { fileMenuClick( event ); } ); |
| 1156 | |
| 1157 | UIPopUpMenu* colorsMenu = UIPopUpMenu::New(); |
| 1158 | colorsMenu |
| 1159 | ->addRadioButton( i18n( "system", "System" ), |
| 1160 | mUIColorScheme == ColorSchemeExtPreference::System ) |
| 1161 | ->setId( "system" ); |
| 1162 | colorsMenu |
| 1163 | ->addRadioButton( i18n( "light", "Light" ), |
| 1164 | mUIColorScheme == ColorSchemeExtPreference::Light ) |
| 1165 | ->setId( "light" ); |
| 1166 | colorsMenu |
| 1167 | ->addRadioButton( i18n( "dark", "Dark" ), mUIColorScheme == ColorSchemeExtPreference::Dark ) |
| 1168 | ->setId( "dark" ); |
| 1169 | colorsMenu->on( Event::OnItemClicked, [this]( const Event* event ) { |
| 1170 | if ( !event->getNode()->isType( UI_TYPE_MENUITEM ) ) |
| 1171 | return; |
| 1172 | UIMenuItem* item = event->getNode()->asType<UIMenuItem>(); |
| 1173 | mUIColorScheme = ColorSchemePreferences::fromStringExt( item->getId() ); |
| 1174 | mUISceneNode->setColorSchemePreference( mUIColorScheme ); |
| 1175 | updateLayoutFunc( InvalidationType::Memory ); |
nothing calls this directly
no test coverage detected