hrev46907 adds 1 changeset to branch 'master' old head: 4e152efced69329531ec708e0fda29394efdfa56 new head: 5e96d7d537fbec23bad4ae9b4c8e7b02e769f0c6 overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=5e96d7d+%5E4e152ef ---------------------------------------------------------------------------- 5e96d7d: Localize keyboard layout names in Keymap preferences [ John Scipione <jscipione@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev46907 Commit: 5e96d7d537fbec23bad4ae9b4c8e7b02e769f0c6 URL: http://cgit.haiku-os.org/haiku/commit/?id=5e96d7d Author: John Scipione <jscipione@xxxxxxxxx> Date: Sat Feb 22 01:05:26 2014 UTC ---------------------------------------------------------------------------- 6 files changed, 97 insertions(+), 93 deletions(-) build/jam/packages/Haiku | 49 ++---------------- build/jam/packages/HaikuBootstrap | 49 ++---------------- src/data/Jamfile | 1 + src/data/keyboard_layouts/Jamfile | 79 +++++++++++++++++++++++++++++ src/preferences/keymap/Jamfile | 4 ++ src/preferences/keymap/KeymapWindow.cpp | 8 +-- ---------------------------------------------------------------------------- diff --git a/build/jam/packages/Haiku b/build/jam/packages/Haiku index ccf6323..987f16a 100644 --- a/build/jam/packages/Haiku +++ b/build/jam/packages/Haiku @@ -191,54 +191,13 @@ for keymapAlias in $(HAIKU_KEYMAP_ALIASES) { AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ; } -# Copy keyboard layout files to the image one-by-one. -local keyboardLayoutsDir - = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ; -local keyboardLayoutFiles = - "Generic 104-key" - "Generic 105-key International" - "Kinesis Advantage" - "Kinesis Ergo Elan International" - "TypeMatrix 2030" ; -keyboardLayoutFiles = $(keyboardLayoutFiles:G=keyboard-layout) ; -SEARCH on $(keyboardLayoutFiles) = $(keyboardLayoutsDir) ; +# keyboard layouts AddFilesToPackage data KeyboardLayouts - : $(keyboardLayoutFiles) ; - -# Add Apple Aluminum keyboard layout files to the image in an Apple Aluminum -# subdirectory. The subdirectory is turned into a submenu in the Layout menu -# of the Keymap preference app. -local appleAluminumDir - = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts - Apple\ Aluminum ] ; -local appleAluminumFiles = - "Apple Aluminium Extended International" - "Apple Aluminium International" - "Apple Aluminum (US)" - "Apple Aluminum Extended (US)" ; -appleAluminumFiles = $(appleAluminumFiles:G=keyboard-layout) ; -SEARCH on $(appleAluminumFiles) = $(appleAluminumDir) ; + : $(HAIKU_KEYBOARD_LAYOUT_FILES) ; AddFilesToPackage data KeyboardLayouts Apple\ Aluminum - : $(appleAluminumFiles) ; - -# Add ThinkPad keyboard layout files to the image in a ThinkPad -# subdirectory. The subdirectory is turned into a submenu in the Layout menu -# of the Keymap preference app. -local thinkpadDir - = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ; -local thinkPadFiles = - "ThinkPad (US)" - "ThinkPad International" - "ThinkPad T400s (US)" - "ThinkPad T400s International" - "ThinkPad X1 (US)" - "ThinkPad X1 International" - "ThinkPad X100e (US)" - "ThinkPad X100e International" ; -thinkPadFiles = $(thinkPadFiles:G=keyboard-layout) ; -SEARCH on $(thinkPadFiles) = $(thinkpadDir) ; + : $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) ; AddFilesToPackage data KeyboardLayouts ThinkPad - : $(thinkPadFiles) ; + : $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) ; # boot module links AddBootModuleSymlinksToPackage diff --git a/build/jam/packages/HaikuBootstrap b/build/jam/packages/HaikuBootstrap index a16e0a3..9986a60 100644 --- a/build/jam/packages/HaikuBootstrap +++ b/build/jam/packages/HaikuBootstrap @@ -156,54 +156,13 @@ for keymapAlias in $(HAIKU_KEYMAP_ALIASES) { AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ; } -# Copy keyboard layout files to the image one-by-one. -local keyboardLayoutsDir - = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ; -local keyboardLayoutFiles = - "Generic 104-key" - "Generic 105-key International" - "Kinesis Advantage" - "Kinesis Ergo Elan International" - "TypeMatrix 2030" ; -keyboardLayoutFiles = $(keyboardLayoutFiles:G=keyboard-layout) ; -SEARCH on $(keyboardLayoutFiles) = $(keyboardLayoutsDir) ; +# keyboard layouts AddFilesToPackage data KeyboardLayouts - : $(keyboardLayoutFiles) ; - -# Add Apple Aluminum keyboard layout files to the image in an Apple Aluminum -# subdirectory. The subdirectory is turned into a submenu in the Layout menu -# of the Keymap preference app. -local appleAluminumDir - = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts - Apple\ Aluminum ] ; -local appleAluminumFiles = - "Apple Aluminium Extended International" - "Apple Aluminium International" - "Apple Aluminum (US)" - "Apple Aluminum Extended (US)" ; -appleAluminumFiles = $(appleAluminumFiles:G=keyboard-layout) ; -SEARCH on $(appleAluminumFiles) = $(appleAluminumDir) ; + : $(HAIKU_KEYBOARD_LAYOUT_FILES) ; AddFilesToPackage data KeyboardLayouts Apple\ Aluminum - : $(appleAluminumFiles) ; - -# Add ThinkPad keyboard layout files to the image in a ThinkPad -# subdirectory. The subdirectory is turned into a submenu in the Layout menu -# of the Keymap preference app. -local thinkpadDir - = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ; -local thinkPadFiles = - "ThinkPad (US)" - "ThinkPad International" - "ThinkPad T400s (US)" - "ThinkPad T400s International" - "ThinkPad X1 (US)" - "ThinkPad X1 International" - "ThinkPad X100e (US)" - "ThinkPad X100e International" ; -thinkPadFiles = $(thinkPadFiles:G=keyboard-layout) ; -SEARCH on $(thinkPadFiles) = $(thinkpadDir) ; + : $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) ; AddFilesToPackage data KeyboardLayouts ThinkPad - : $(thinkPadFiles) ; + : $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) ; # boot module links AddBootModuleSymlinksToPackage diff --git a/src/data/Jamfile b/src/data/Jamfile index 88b9651..cefdb5a 100644 --- a/src/data/Jamfile +++ b/src/data/Jamfile @@ -2,6 +2,7 @@ SubDir HAIKU_TOP src data ; HaikuSubInclude deskbar ; HaikuSubInclude etc ; +HaikuSubInclude keyboard_layouts ; HaikuSubInclude keymaps ; HaikuSubInclude mime_db ; HaikuSubInclude settings ; diff --git a/src/data/keyboard_layouts/Jamfile b/src/data/keyboard_layouts/Jamfile new file mode 100644 index 0000000..6a4f057 --- /dev/null +++ b/src/data/keyboard_layouts/Jamfile @@ -0,0 +1,79 @@ +SubDir HAIKU_TOP src data keyboard_layouts ; + +SetSubDirSupportedPlatformsBeOSCompatible ; + + +rule GenerateKeyboardLayoutLocalizationHeader +{ + local header = <keyboard-layout-locale>KeyboardLayoutNames.h ; + MakeLocateCommonPlatform $(header) ; + local jamfile = [ FGristFiles Jamfile ] ; + SEARCH on $(jamfile) = $(SUBDIR) ; + Depends $(header) : $(jamfile) ; + GenerateKeyboardLayoutLocalizationHeader1 $(header) ; + LocalClean clean : $(header) ; +} + +actions GenerateKeyboardLayoutLocalizationHeader1 +{ + $(RM) $(1) + for name in "$(HAIKU_KEYBOARD_LAYOUT_FILES)" ; do + echo "B_TRANSLATE_MARK_VOID(\"$name\")" >> $(1) + done + echo "B_TRANSLATE_MARK_VOID(\"Apple\ Aluminum\")" >> $(1) + for name in "$(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES)" ; do + echo "B_TRANSLATE_MARK_VOID(\"$name\")" >> $(1) + done + echo "B_TRANSLATE_MARK_VOID(\"ThinkPad\")" >> $(1) + for name in "$(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES)" ; do + echo "B_TRANSLATE_MARK_VOID(\"$name\")" >> $(1) + done +} + + +# Add keyboard layout files to the image. +local keyboardLayoutsDir + = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ; +HAIKU_KEYBOARD_LAYOUT_FILES = + "Generic 104-key" + "Generic 105-key International" + "Kinesis Advantage" + "Kinesis Ergo Elan International" + "TypeMatrix 2030" ; +HAIKU_KEYBOARD_LAYOUT_FILES = $(HAIKU_KEYBOARD_LAYOUT_FILES:G=keyboard-layout) ; +SEARCH on $(HAIKU_KEYBOARD_LAYOUT_FILES) = $(keyboardLayoutsDir) ; + +# Add Apple Aluminum keyboard layout files to the image in an Apple Aluminum +# subdirectory. The subdirectory is turned into a submenu in the Layout menu +# of the Keymap preference app. +local appleAluminumDir + = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts + Apple\ Aluminum ] ; +HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES = + "Apple Aluminium Extended International" + "Apple Aluminium International" + "Apple Aluminum (US)" + "Apple Aluminum Extended (US)" ; +HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES = $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES:G=keyboard-layout) ; +SEARCH on $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) = $(appleAluminumDir) ; + +# Add ThinkPad keyboard layout files to the image in a ThinkPad +# subdirectory. The subdirectory is turned into a submenu in the Layout menu +# of the Keymap preference app. +local thinkpadDir + = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ; +HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES = + "ThinkPad (US)" + "ThinkPad International" + "ThinkPad T400s (US)" + "ThinkPad T400s International" + "ThinkPad X1 (US)" + "ThinkPad X1 International" + "ThinkPad X100e (US)" + "ThinkPad X100e International" ; +HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES + = $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES:G=keyboard-layout) ; +SEARCH on $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) = $(thinkpadDir) ; + + +GenerateKeyboardLayoutLocalizationHeader ; diff --git a/src/preferences/keymap/Jamfile b/src/preferences/keymap/Jamfile index b856cbf..10a294f 100644 --- a/src/preferences/keymap/Jamfile +++ b/src/preferences/keymap/Jamfile @@ -1,12 +1,16 @@ SubDir HAIKU_TOP src preferences keymap ; UseHeaders [ FDirName $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) data keymaps ] ; +UseHeaders [ FDirName $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) data + keyboard_layouts ] ; SetSubDirSupportedPlatformsBeOSCompatible ; UsePrivateHeaders interface shared ; Includes [ FGristFiles KeymapWindow.cpp ] : <keymap-locale>KeymapNames.h ; +Includes [ FGristFiles KeymapWindow.cpp ] + : <keyboard-layout-locale>KeyboardLayoutNames.h ; Preference Keymap : KeyboardLayout.cpp diff --git a/src/preferences/keymap/KeymapWindow.cpp b/src/preferences/keymap/KeymapWindow.cpp index af1b152..4b8b9ac 100644 --- a/src/preferences/keymap/KeymapWindow.cpp +++ b/src/preferences/keymap/KeymapWindow.cpp @@ -616,7 +616,8 @@ KeymapWindow::_AddKeyboardLayouts(BMenu* menu) if (find_directory(dataDirectories[i], &path) != B_OK) continue; - path.Append("KeyboardLayouts"); + if (path.Append("KeyboardLayouts") != B_OK) + continue; BDirectory directory; if (directory.SetTo(path.Path()) == B_OK) @@ -641,7 +642,7 @@ KeymapWindow::_AddKeyboardLayoutMenu(BMenu* menu, BDirectory directory) BDirectory subdirectory; subdirectory.SetTo(&ref); if (subdirectory.InitCheck() == B_OK) { - BMenu* submenu = new BMenu(ref.name); + BMenu* submenu = new BMenu(B_TRANSLATE_NOCOLLECT(ref.name)); _AddKeyboardLayoutMenu(submenu, subdirectory); menu->AddItem(submenu); @@ -649,7 +650,8 @@ KeymapWindow::_AddKeyboardLayoutMenu(BMenu* menu, BDirectory directory) BMessage* message = new BMessage(kChangeKeyboardLayout); message->AddRef("ref", &ref); - menu->AddItem(new BMenuItem(ref.name, message)); + menu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(ref.name), + message)); } } }