Christoph von Wittich <Christoph@ApiViewer.de>

- Extract hard-coded english sentences from settings.c and put them into resources
- Add corresponding german translations
- Correct some control locations in german and english resource files
- Show only resolutions >= 640x480

svn path=/trunk/; revision=14271
This commit is contained in:
Hervé Poussineau 2005-03-22 20:16:41 +00:00
parent 59904f6ca5
commit c75445a9d4
4 changed files with 74 additions and 20 deletions

View file

@ -1,4 +1,4 @@
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
IDD_BACKGROUND DIALOGEX DISCARDABLE 0, 0, 246, 228
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
@ -9,13 +9,13 @@ BEGIN
150,105,WS_EX_STATICEDGE
CONTROL "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT |
LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
WS_BORDER | WS_TABSTOP,7,139,173,71
LTEXT "Wähle ein Bild um es als Desktop Hintergrund zu nutzen:",
WS_BORDER | WS_TABSTOP,7,139,170,71
LTEXT "Hintergrundbild:",
IDC_STATIC,8,127,180,8
PUSHBUTTON "&Durchsuchen...",IDC_BROWSE_BUTTON,187,175,50,14
PUSHBUTTON "&Farbe...",IDC_COLOR_BUTTON,187,195,50,14
LTEXT "Ausrichtung:",IDC_STATIC,187,138,36,8
COMBOBOX IDC_PLACEMENT_COMBO,187,148,50,90,CBS_DROPDOWNLIST |
PUSHBUTTON "&Durchsuchen...",IDC_BROWSE_BUTTON,181,175,60,14
PUSHBUTTON "&Farbe...",IDC_COLOR_BUTTON,181,195,60,14
LTEXT "Ausrichtung:",IDC_STATIC,181,138,45,8
COMBOBOX IDC_PLACEMENT_COMBO,181,148,60,90,CBS_DROPDOWNLIST |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
END
@ -42,8 +42,20 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Einstellungen"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "This space is intentionally left blank",IDC_STATIC,66,
110,112,8
LTEXT "&Anzeige:",1820,3,140,30,8
LTEXT "<kein>",IDC_SETTINGS_DEVICE,9,149,224,8
GROUPBOX "Bi&ldschirmauflösung",1818,3,160,115,43
CONTROL "",IDC_SETTINGS_RESOLUTION,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,
32,170,60,17
LTEXT "Niedrig",1815,9,170,25,8,NOT WS_GROUP
LTEXT "Hoch",1816,93,170,21,8,NOT WS_GROUP
LTEXT "",IDC_SETTINGS_RESOLUTION_TEXT,10,190,100,10,NOT WS_GROUP | SS_CENTER
GROUPBOX "&Farbqualität",1817,125,160,115,43
COMBOBOX IDC_SETTINGS_BPP,131,170,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
131,188,103,9
PUSHBUTTON "&Erweitert",IDC_SETTINGS_ADVANCED,306,205,56,14
END
STRINGTABLE
@ -56,3 +68,13 @@ BEGIN
IDS_STRETCH "Gestreckt"
IDS_TILE "Nebeneinander"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_COLOR_4BIT "16 Farben"
IDS_COLOR_8BIT "256 Farben"
IDS_COLOR_16BIT "High Color (16 Bit)"
IDS_COLOR_32BIT "True Color (24 Bit)"
IDS_COLOR_32BIT "True Color (32 Bit)"
IDS_PIXEL "%lux%lu Pixel"
END

View file

@ -1,4 +1,4 @@
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
IDD_BACKGROUND DIALOGEX DISCARDABLE 0, 0, 246, 228
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
@ -49,7 +49,7 @@ BEGIN
30,170,58,17
LTEXT "Less",1815,9,170,15,8,NOT WS_GROUP
LTEXT "More",1816,93,170,21,8,NOT WS_GROUP
LTEXT "",IDC_SETTINGS_RESOLUTION_TEXT,10,190,100,10,NOT WS_GROUP
LTEXT "",IDC_SETTINGS_RESOLUTION_TEXT,10,190,100,10,NOT WS_GROUP | SS_CENTER
GROUPBOX "&Colors",1817,125,160,115,43
COMBOBOX IDC_SETTINGS_BPP,131,170,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
@ -69,3 +69,12 @@ BEGIN
IDS_TILE "Tile"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_COLOR_4BIT "16 Colors"
IDS_COLOR_8BIT "256 Colors"
IDS_COLOR_16BIT "High Color (16 Bit)"
IDS_COLOR_32BIT "True Color (24 Bit)"
IDS_COLOR_32BIT "True Color (32 Bit)"
IDS_PIXEL "%lux%lu Pixel"
END

View file

@ -42,5 +42,14 @@
#define IDC_SETTINGS_RESOLUTION_TEXT 204
#define IDC_SETTINGS_ADVANCED 205
/* Settings Page */
#define IDS_PIXEL 2301
#define IDS_COLOR_4BIT 2904
#define IDS_COLOR_8BIT 2908
#define IDS_COLOR_16BIT 2916
#define IDS_COLOR_32BIT 2932
#endif /* __CPL_DESK_RESOURCE_H__ */

View file

@ -13,8 +13,10 @@
#include <commctrl.h>
#include <stdio.h>
#include <tchar.h>
#include <cpl.h>
#include "resource.h"
#include "desk.h"
/* As slider control can't contain user data, we have to keep an
* array of RESOLUTION_INFO to have our own associated data.
@ -54,9 +56,11 @@ static VOID
UpdateDisplay(IN HWND hwndDlg)
{
TCHAR Buffer[64];
TCHAR Pixel[64];
DWORD index;
_stprintf(Buffer, TEXT("%lux%lu"), CurrentDisplayDevice->CurrentSettings->dmPelsWidth, CurrentDisplayDevice->CurrentSettings->dmPelsHeight);
LoadString(hApplet, IDS_PIXEL, Pixel, sizeof(Pixel) / sizeof(TCHAR));
_stprintf(Buffer, Pixel, CurrentDisplayDevice->CurrentSettings->dmPelsWidth, CurrentDisplayDevice->CurrentSettings->dmPelsHeight, Pixel);
SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION_TEXT, WM_SETTEXT, 0, (LPARAM)Buffer);
for (index = 0; index < CurrentDisplayDevice->ResolutionsCount; index++)
@ -66,8 +70,8 @@ UpdateDisplay(IN HWND hwndDlg)
SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION, TBM_SETPOS, TRUE, index);
break;
}
_stprintf(Buffer, TEXT("%d bits"), CurrentDisplayDevice->CurrentSettings->dmBitsPerPel);
SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_SELECTSTRING, -1, (LPARAM)Buffer);
if (LoadString(hApplet, (2900 + CurrentDisplayDevice->CurrentSettings->dmBitsPerPel), Buffer, sizeof(Buffer) / sizeof(TCHAR)))
SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_SELECTSTRING, -1, (LPARAM)Buffer);
}
static PSETTINGS_ENTRY
@ -94,8 +98,16 @@ GetPossibleSettings(IN LPTSTR DeviceName, OUT DWORD* pSettingsCount, OUT PSETTIN
/* List all settings */
devmode.dmSize = (WORD)sizeof(DEVMODE);
devmode.dmDriverExtra = 0;
while (EnumDisplaySettingsEx(DeviceName, NbSettings, &devmode, dwFlags))
while (EnumDisplaySettingsEx(DeviceName, iMode, &devmode, dwFlags))
{
if (devmode.dmPelsWidth < 640 ||
devmode.dmPelsHeight < 480)
{
iMode++;
continue;
}
Current = HeapAlloc(GetProcessHeap(), 0, sizeof(SETTINGS_ENTRY));
if (Current != NULL)
{
@ -225,12 +237,14 @@ OnDisplayDeviceChanged(IN HWND hwndDlg, IN PDISPLAY_DEVICE_ENTRY pDeviceEntry)
for (Current = pDeviceEntry->Settings; Current != NULL; Current = Current->Flink)
{
TCHAR Buffer[64];
_stprintf(Buffer, TEXT("%d bits"), Current->dmBitsPerPel);
index = SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_FINDSTRINGEXACT, (WPARAM)-1, (LPARAM)Buffer);
if (index == CB_ERR)
if (LoadString(hApplet, (2900 + Current->dmBitsPerPel), Buffer, sizeof(Buffer) / sizeof(TCHAR)))
{
index = SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_ADDSTRING, 0, (LPARAM)Buffer);
SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_SETITEMDATA, index, Current->dmBitsPerPel);
index = SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_FINDSTRINGEXACT, (WPARAM)-1, (LPARAM)Buffer);
if (index == CB_ERR)
{
index = SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_ADDSTRING, 0, (LPARAM)Buffer);
SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_SETITEMDATA, index, Current->dmBitsPerPel);
}
}
}