- The division of right and the left menu

- Fix formatting in translations

svn path=/trunk/; revision=33231
This commit is contained in:
Dmitry Chapyshev 2008-05-02 07:58:03 +00:00
parent 3a8f1dc806
commit f593891576
4 changed files with 29 additions and 12 deletions

View file

@ -272,14 +272,11 @@ ActivateLayout(HWND hwnd, ULONG uLayoutNum)
} }
static HMENU static HMENU
BuildPopupMenu() BuildLeftPopupMenu()
{ {
HMENU hMenu; HMENU hMenu;
HMENU hMenuTemplate;
HKEY hKey; HKEY hKey;
DWORD dwIndex, dwSize; DWORD dwIndex, dwSize;
LPTSTR pszMenuItem;
MENUITEMINFO mii;
TCHAR szLayoutNum[CCH_ULONG_DEC + 1]; TCHAR szLayoutNum[CCH_ULONG_DEC + 1];
TCHAR szName[MAX_PATH]; TCHAR szName[MAX_PATH];
@ -303,6 +300,21 @@ BuildPopupMenu()
RegCloseKey(hKey); RegCloseKey(hKey);
} }
return hMenu;
}
static HMENU
BuildRightPopupMenu()
{
HMENU hMenu;
HMENU hMenuTemplate;
DWORD dwIndex;
LPTSTR pszMenuItem;
MENUITEMINFO mii;
// Add the keyboard layouts to the popup menu
hMenu = BuildLeftPopupMenu();
// Add the menu items from the popup menu template // Add the menu items from the popup menu template
hMenuTemplate = GetSubMenu(LoadMenu(hInst, MAKEINTRESOURCE(IDR_POPUP)), 0); hMenuTemplate = GetSubMenu(LoadMenu(hInst, MAKEINTRESOURCE(IDR_POPUP)), 0);
dwIndex = 0; dwIndex = 0;
@ -340,26 +352,30 @@ BuildPopupMenu()
LRESULT CALLBACK LRESULT CALLBACK
WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{ {
static HMENU hPopupMenu; static HMENU hLeftPopupMenu, hRightPopupMenu;
switch (Message) switch (Message)
{ {
case WM_CREATE: case WM_CREATE:
AddTrayIcon(hwnd); AddTrayIcon(hwnd);
hPopupMenu = BuildPopupMenu(hwnd); hLeftPopupMenu = BuildLeftPopupMenu(hwnd);
hRightPopupMenu = BuildRightPopupMenu(hwnd);
break; break;
case WM_NOTIFYICONMSG: case WM_NOTIFYICONMSG:
switch (lParam) switch (lParam)
{ {
case WM_LBUTTONDOWN:
case WM_RBUTTONDOWN: case WM_RBUTTONDOWN:
case WM_LBUTTONDOWN:
{ {
POINT pt; POINT pt;
GetCursorPos(&pt); GetCursorPos(&pt);
SetForegroundWindow(hwnd); SetForegroundWindow(hwnd);
TrackPopupMenu(hPopupMenu, 0, pt.x, pt.y, 0, hwnd, NULL); if (lParam == WM_LBUTTONDOWN)
TrackPopupMenu(hLeftPopupMenu, 0, pt.x, pt.y, 0, hwnd, NULL);
else
TrackPopupMenu(hRightPopupMenu, 0, pt.x, pt.y, 0, hwnd, NULL);
PostMessage(hwnd, WM_NULL, 0, 0); PostMessage(hwnd, WM_NULL, 0, 0);
break; break;
} }
@ -396,7 +412,8 @@ WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
break; break;
case WM_DESTROY: case WM_DESTROY:
DestroyMenu(hPopupMenu); DestroyMenu(hLeftPopupMenu);
DestroyMenu(hRightPopupMenu);
DelTrayIcon(hwnd); DelTrayIcon(hwnd);
PostQuitMessage(0); PostQuitMessage(0);
break; break;

View file

@ -11,6 +11,6 @@ BEGIN
BEGIN BEGIN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Pøedvolby...", ID_PREFERENCES MENUITEM "&Pøedvolby...", ID_PREFERENCES
MENUITEM "&Ukonèit", ID_EXIT MENUITEM "&Ukonèit", ID_EXIT
END END
END END

View file

@ -6,6 +6,6 @@ BEGIN
BEGIN BEGIN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Préférences...", ID_PREFERENCES MENUITEM "&Préférences...", ID_PREFERENCES
MENUITEM "Quitt&er", ID_EXIT MENUITEM "Quitt&er", ID_EXIT
END END
END END

View file

@ -13,6 +13,6 @@ BEGIN
BEGIN BEGIN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Ustawienia...", ID_PREFERENCES MENUITEM "&Ustawienia...", ID_PREFERENCES
MENUITEM "&Wyjście", ID_EXIT MENUITEM "&Wyjście", ID_EXIT
END END
END END