From af30d3067bb9c8c3875a41f82ba0719dc819dbb4 Mon Sep 17 00:00:00 2001 From: Colin Finck Date: Sun, 20 Apr 2008 19:49:10 +0000 Subject: [PATCH] - Make the "Exit" string translateable - Use the last possible ID for this command, so we can add as many keyboard layouts as possible to the popup menu - Send a WM_CLOSE message when clicking "Exit", don't duplicate the WM_DESTROY code here svn path=/trunk/; revision=33079 --- reactos/base/applications/kbswitch/kbswitch.c | 17 +++++++---------- reactos/base/applications/kbswitch/kbswitch.h | 2 ++ reactos/base/applications/kbswitch/kbswitch.rc | 7 +++++++ .../base/applications/kbswitch/lang/de-DE.rc | 6 ++++++ .../base/applications/kbswitch/lang/en-US.rc | 6 ++++++ reactos/base/applications/kbswitch/resource.h | 3 +++ reactos/base/applications/kbswitch/rsrc.rc | 2 ++ 7 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 reactos/base/applications/kbswitch/lang/de-DE.rc create mode 100644 reactos/base/applications/kbswitch/lang/en-US.rc create mode 100644 reactos/base/applications/kbswitch/rsrc.rc diff --git a/reactos/base/applications/kbswitch/kbswitch.c b/reactos/base/applications/kbswitch/kbswitch.c index 456dd413568..dea20f06aad 100644 --- a/reactos/base/applications/kbswitch/kbswitch.c +++ b/reactos/base/applications/kbswitch/kbswitch.c @@ -137,6 +137,7 @@ BuildPopupMenu() HMENU hMenu; HKEY hKey; DWORD dwIndex, dwSize; + LPTSTR szExit; TCHAR szLayoutNum[CCH_ULONG_DEC + 1]; TCHAR szName[MAX_PATH]; @@ -159,8 +160,9 @@ BuildPopupMenu() RegCloseKey(hKey); } - AppendMenu(hMenu, MF_SEPARATOR, 0, _T("")); - AppendMenu(hMenu, MF_STRING, 1000, _T("Exit")); + LoadString(hInst, IDS_EXIT, (LPTSTR)&szExit, 0); + AppendMenu(hMenu, MF_SEPARATOR, 0, NULL); + AppendMenu(hMenu, MF_STRING, MENU_ID_EXIT, szExit); return hMenu; } @@ -194,16 +196,11 @@ WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) break; case WM_COMMAND: - if (LOWORD(wParam) == 1000) - { - DestroyMenu(hPopupMenu); - DelTrayIcon(hwnd); - PostQuitMessage(0); - } + if (LOWORD(wParam) == MENU_ID_EXIT) + SendMessage(hwnd, WM_CLOSE, 0, 0); else - { ActivateLayout(LOWORD(wParam)); - } + break; case WM_DESTROY: diff --git a/reactos/base/applications/kbswitch/kbswitch.h b/reactos/base/applications/kbswitch/kbswitch.h index 1be3801cef6..9630da63c73 100644 --- a/reactos/base/applications/kbswitch/kbswitch.h +++ b/reactos/base/applications/kbswitch/kbswitch.h @@ -9,3 +9,5 @@ // Maximum Character Count of a ULONG in decimal #define CCH_ULONG_DEC 10 + +#define MENU_ID_EXIT 65535 diff --git a/reactos/base/applications/kbswitch/kbswitch.rc b/reactos/base/applications/kbswitch/kbswitch.rc index ca5c22b6caf..8d45e25507f 100644 --- a/reactos/base/applications/kbswitch/kbswitch.rc +++ b/reactos/base/applications/kbswitch/kbswitch.rc @@ -3,4 +3,11 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Keyboard Layout Switcher\0" +#define REACTOS_STR_INTERNAL_NAME "kbswitch\0" +#define REACTOS_STR_ORIGINAL_FILENAME "kbswitch.exe\0" +#include + IDI_MAIN ICON "res/kbswitch.ico" + +#include "rsrc.rc" diff --git a/reactos/base/applications/kbswitch/lang/de-DE.rc b/reactos/base/applications/kbswitch/lang/de-DE.rc new file mode 100644 index 00000000000..073d73e6588 --- /dev/null +++ b/reactos/base/applications/kbswitch/lang/de-DE.rc @@ -0,0 +1,6 @@ +LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_EXIT, "Beenden" +END diff --git a/reactos/base/applications/kbswitch/lang/en-US.rc b/reactos/base/applications/kbswitch/lang/en-US.rc new file mode 100644 index 00000000000..cdc895f3e3c --- /dev/null +++ b/reactos/base/applications/kbswitch/lang/en-US.rc @@ -0,0 +1,6 @@ +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +STRINGTABLE +BEGIN + IDS_EXIT, "Exit" +END diff --git a/reactos/base/applications/kbswitch/resource.h b/reactos/base/applications/kbswitch/resource.h index 48937260e9b..e6976c73898 100644 --- a/reactos/base/applications/kbswitch/resource.h +++ b/reactos/base/applications/kbswitch/resource.h @@ -1,2 +1,5 @@ /* Icons */ #define IDI_MAIN 100 + +/* Strings */ +#define IDS_EXIT 1001 diff --git a/reactos/base/applications/kbswitch/rsrc.rc b/reactos/base/applications/kbswitch/rsrc.rc new file mode 100644 index 00000000000..eec97261e8d --- /dev/null +++ b/reactos/base/applications/kbswitch/rsrc.rc @@ -0,0 +1,2 @@ +#include "lang/de-DE.rc" +#include "lang/en-US.rc" -- 2.17.1