Menu Bar keyboard navigation improvements.

This commit is contained in:
Martín Lucas Golini
2024-04-14 16:44:16 -03:00
parent 16f4bea13e
commit 6461402e30
7 changed files with 100 additions and 17 deletions

View File

@@ -1439,11 +1439,6 @@ UIMenu* SettingsMenu::createViewMenu() {
UIPopUpMenu* SettingsMenu::createToolsMenu() {
mToolsMenu = UIPopUpMenu::New();
mToolsMenu->add( i18n( "plugin_manager", "Plugin Manager" ), findIcon( "extensions" ) )
->setId( "plugin-manager-open" );
mToolsMenu->addSeparator();
mToolsMenu
->add( i18n( "locate_ellipsis", "Locate..." ), findIcon( "search" ),
getKeybind( "open-locatebar" ) )
@@ -1475,6 +1470,11 @@ UIPopUpMenu* SettingsMenu::createToolsMenu() {
mToolsMenu->addSeparator();
mToolsMenu->add( i18n( "plugin_manager", "Plugin Manager" ), findIcon( "extensions" ) )
->setId( "plugin-manager-open" );
mToolsMenu->addSeparator();
mToolsMenu
->add( i18n( "check_languages_health", "Check Languages Health" ),
findIcon( "hearth-pulse" ), getKeybind( "check-languages-health" ) )
@@ -1603,15 +1603,19 @@ UIMenu* SettingsMenu::createLanguagesMenu() {
}
void SettingsMenu::toggleSettingsMenu() {
if ( ( !mSettingsMenu->isVisible() || mSettingsMenu->isHiding() ) &&
mSettingsMenu->getInactiveTime().getElapsedTime().asMilliseconds() > 1 ) {
Vector2f pos( mSettingsButton->getPixelsPosition() );
mSettingsButton->nodeToWorldTranslation( pos );
UIMenu::findBestMenuPos( pos, mSettingsMenu );
mSettingsMenu->setPixelsPosition( pos );
mSettingsMenu->show();
if ( mApp->getConfig().ui.showMenuBar ) {
mMenuBar->showMenu( 0 );
} else {
mSettingsMenu->hide();
if ( ( !mSettingsMenu->isVisible() || mSettingsMenu->isHiding() ) &&
mSettingsMenu->getInactiveTime().getElapsedTime().asMilliseconds() > 1 ) {
Vector2f pos( mSettingsButton->getPixelsPosition() );
mSettingsButton->nodeToWorldTranslation( pos );
UIMenu::findBestMenuPos( pos, mSettingsMenu );
mSettingsMenu->setPixelsPosition( pos );
mSettingsMenu->show();
} else {
mSettingsMenu->hide();
}
}
}