diff options
author | Prasanth Ullattil <prasanth.ullattil@nokia.com> | 2010-03-18 09:25:38 (GMT) |
---|---|---|
committer | Prasanth Ullattil <prasanth.ullattil@nokia.com> | 2010-03-18 11:32:25 (GMT) |
commit | f3f979cbd37f47892cd0c0a9fc23b802ed6f7890 (patch) | |
tree | 40b4f9f6c38cd47e90b0e0355467a2c28583e2c7 /src/gui/widgets | |
parent | f3ea09192a6f17d2f2b607272eb5ad2ba47536e5 (diff) | |
download | Qt-f3f979cbd37f47892cd0c0a9fc23b802ed6f7890.zip Qt-f3f979cbd37f47892cd0c0a9fc23b802ed6f7890.tar.gz Qt-f3f979cbd37f47892cd0c0a9fc23b802ed6f7890.tar.bz2 |
Incorrect translation for Application menu items in Mac.
A behavior change was introduced by the commit
97b8727635a73197fac4f5edb8a1122733933db4. The menu items with menuRoles
will now be translated like Native Mac applications. Translations/merging
of menu items are done as follows:
1) AboutRole ==> "About <Application>"
2) PreferencesRole ==> "Preferences..."
3) QuitRole ==> "Quit <Application>"
Task-number: QTBUG-4463
Reviewed-by: mortens
Diffstat (limited to 'src/gui/widgets')
-rw-r--r-- | src/gui/widgets/qmenu_mac.mm | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/gui/widgets/qmenu_mac.mm b/src/gui/widgets/qmenu_mac.mm index 627043d..9a14ce6 100644 --- a/src/gui/widgets/qmenu_mac.mm +++ b/src/gui/widgets/qmenu_mac.mm @@ -909,6 +909,7 @@ static NSMenuItem *qt_mac_menu_merge_action(OSMenuRef merge, QMacMenuAction *act static QString qt_mac_menu_merge_text(QMacMenuAction *action) { QString ret; + extern QString qt_mac_applicationmenu_string(int type); #ifdef QT_MAC_USE_COCOA QT_MANGLE_NAMESPACE(QCocoaMenuLoader) *loader = getMenuLoader(); #endif @@ -916,34 +917,25 @@ static QString qt_mac_menu_merge_text(QMacMenuAction *action) ret = action->action->text(); #ifndef QT_MAC_USE_COCOA else if (action->command == kHICommandAbout) - ret = QMenuBar::tr("About %1").arg(qAppName()); + ret = qt_mac_applicationmenu_string(6).arg(qAppName()); else if (action->command == kHICommandAboutQt) ret = QMenuBar::tr("About Qt"); else if (action->command == kHICommandPreferences) - ret = QMenuBar::tr("Preferences"); + ret = qt_mac_applicationmenu_string(4); else if (action->command == kHICommandQuit) - ret = QMenuBar::tr("Quit %1").arg(qAppName()); + ret = qt_mac_applicationmenu_string(5).arg(qAppName()); #else else if (action->menuItem == [loader aboutMenuItem]) { - if (action->action->text() == QString("About %1").arg(qAppName())) - ret = QMenuBar::tr("About %1").arg(qAppName()); - else - ret = action->action->text(); + ret = qt_mac_applicationmenu_string(6).arg(qAppName()); } else if (action->menuItem == [loader aboutQtMenuItem]) { if (action->action->text() == QString("About Qt")) ret = QMenuBar::tr("About Qt"); else ret = action->action->text(); } else if (action->menuItem == [loader preferencesMenuItem]) { - if (action->action->text() == QString("Preferences")) - ret = QMenuBar::tr("Preferences"); - else - ret = action->action->text(); + ret = qt_mac_applicationmenu_string(4); } else if (action->menuItem == [loader quitMenuItem]) { - if (action->action->text() == QString("Quit %1").arg(qAppName())) - ret = QMenuBar::tr("About %1").arg(qAppName()); - else - ret = action->action->text(); + ret = qt_mac_applicationmenu_string(5).arg(qAppName()); } #endif return ret; |