From feedae2fff0d46ef67976433610a5da1de9ee7e6 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Thu, 20 Feb 2014 22:00:30 +0000 Subject: [PATCH] [MSGINA] CORE-7559 Implement the shutdown dialog. Based on a patch by Lee Schroeder. Thank you very much! svn path=/trunk/; revision=62274 --- reactos/dll/win32/msgina/gui.c | 216 +++++++++++++++++- reactos/dll/win32/msgina/lang/bg-BG.rc | 30 +++ reactos/dll/win32/msgina/lang/cs-CZ.rc | 30 +++ reactos/dll/win32/msgina/lang/de-DE.rc | 30 +++ reactos/dll/win32/msgina/lang/en-US.rc | 31 +++ reactos/dll/win32/msgina/lang/es-ES.rc | 30 +++ reactos/dll/win32/msgina/lang/fr-FR.rc | 30 +++ reactos/dll/win32/msgina/lang/he-IL.rc | 30 +++ reactos/dll/win32/msgina/lang/id-ID.rc | 30 +++ reactos/dll/win32/msgina/lang/it-IT.rc | 30 +++ reactos/dll/win32/msgina/lang/ja-JP.rc | 34 ++- reactos/dll/win32/msgina/lang/no-NO.rc | 30 +++ reactos/dll/win32/msgina/lang/pl-PL.rc | 30 +++ reactos/dll/win32/msgina/lang/ro-RO.rc | 30 +++ reactos/dll/win32/msgina/lang/ru-RU.rc | 30 +++ reactos/dll/win32/msgina/lang/sk-SK.rc | 30 +++ reactos/dll/win32/msgina/lang/sq-AL.rc | 30 +++ reactos/dll/win32/msgina/lang/tr-TR.rc | 30 +++ reactos/dll/win32/msgina/lang/uk-UA.rc | 30 +++ reactos/dll/win32/msgina/msgina.c | 2 + reactos/dll/win32/msgina/msgina.h | 2 + reactos/dll/win32/msgina/msgina.rc | 1 + reactos/dll/win32/msgina/resource.h | 44 ++-- .../dll/win32/msgina/resources/shutdown.ico | Bin 0 -> 40070 bytes 24 files changed, 793 insertions(+), 17 deletions(-) create mode 100644 reactos/dll/win32/msgina/resources/shutdown.ico diff --git a/reactos/dll/win32/msgina/gui.c b/reactos/dll/win32/msgina/gui.c index 804c98dc375..b14de46b5bc 100644 --- a/reactos/dll/win32/msgina/gui.c +++ b/reactos/dll/win32/msgina/gui.c @@ -592,6 +592,219 @@ OnLogOff( } +static +VOID +UpdateShutdownDesc( + IN HWND hwnd) +{ + WCHAR szBuffer[256]; + UINT shutdownDescId = 0; + int shutdownCode = 0; + + shutdownCode = SendDlgItemMessageW(hwnd, IDC_SHUTDOWN_LIST, CB_GETCURSEL, 0, 0); + + switch (shutdownCode) + { + case 0: /* Log off */ + shutdownDescId = IDS_SHUTDOWN_LOGOFF_DESC; + break; + + case 1: /* Shut down */ + shutdownDescId = IDS_SHUTDOWN_SHUTDOWN_DESC; + break; + + case 2: /* Restart */ + shutdownDescId = IDS_SHUTDOWN_RESTART_DESC; + break; + + case 3: /* Sleep */ + shutdownDescId = IDS_SHUTDOWN_SLEEP_DESC; + break; + + case 4: /* Hibernate */ + shutdownDescId = IDS_SHUTDOWN_HIBERNATE_DESC; + break; + + default: + break; + } + + LoadStringW(hDllInstance, shutdownDescId, szBuffer, sizeof(szBuffer)); + SetDlgItemTextW(hwnd, IDC_SHUTDOWN_DESCRIPTION, szBuffer); +} + + +static +VOID +ShutDownOnInit( + IN HWND hwndDlg, + IN PGINA_CONTEXT pgContext) +{ + WCHAR szBuffer[256]; + HWND hwndList; + INT idx, count, i; + + hwndList = GetDlgItem(hwndDlg, IDC_SHUTDOWN_LIST); + + /* Clears the content before it's used */ + SendMessageW(hwndList, CB_RESETCONTENT, 0, 0); + + /* Log off */ + LoadStringW(hDllInstance, IDS_SHUTDOWN_LOGOFF, szBuffer, sizeof(szBuffer) / sizeof(WCHAR)); + idx = SendMessageW(hwndList, CB_ADDSTRING, 0, (LPARAM)szBuffer); + if (idx != CB_ERR) + SendMessageW(hwndList, CB_SETITEMDATA, idx, WLX_SAS_ACTION_LOGOFF); + + /* Shut down */ + LoadStringW(hDllInstance, IDS_SHUTDOWN_SHUTDOWN, szBuffer, sizeof(szBuffer) / sizeof(WCHAR)); + idx = SendMessageW(hwndList, CB_ADDSTRING, 0, (LPARAM)szBuffer); + if (idx != CB_ERR) + SendMessageW(hwndList, CB_SETITEMDATA, idx, WLX_SAS_ACTION_SHUTDOWN_POWER_OFF); + + /* Restart */ + LoadStringW(hDllInstance, IDS_SHUTDOWN_RESTART, szBuffer, sizeof(szBuffer) / sizeof(WCHAR)); + idx = SendMessageW(hwndList, CB_ADDSTRING, 0, (LPARAM)szBuffer); + if (idx != CB_ERR) + SendMessageW(hwndList, CB_SETITEMDATA, idx, WLX_SAS_ACTION_SHUTDOWN_REBOOT); + + /* Sleep */ +#if 0 + LoadStringW(hDllInstance, IDS_SHUTDOWN_SLEEP, szBuffer, sizeof(szBuffer) / sizeof(WCHAR)); + idx = SendMessageW(hwndList, CB_ADDSTRING, 0, (LPARAM)szBuffer); + if (idx != CB_ERR) + SendMessageW(hwndList, CB_SETITEMDATA, idx, WLX_SAS_ACTION_SHUTDOWN_SLEEP); +#endif + + /* Hibernate */ +#if 0 + LoadStringW(hDllInstance, IDS_SHUTDOWN_HIBERNATE, szBuffer, sizeof(szBuffer) / sizeof(WCHAR)); + idx = SendMessageW(hwndList, CB_ADDSTRING, 0, (LPARAM)szBuffer); + if (idx != CB_ERR) + SendMessageW(hwndList, CB_SETITEMDATA, idx, WLX_SAS_ACTION_SHUTDOWN_HIBERNATE); +#endif + + /* Sets the default shut down selection */ + count = SendMessageW(hwndList, CB_GETCOUNT, 0, 0); + for (i = 0; i < count; i++) + { + if (pgContext->nShutdownAction == SendMessageW(hwndList, CB_GETITEMDATA, i, 0)) + { + SendMessageW(hwndList, CB_SETCURSEL, i, 0); + break; + } + } + + /* Updates the choice description based on the current selection */ + UpdateShutdownDesc(hwndDlg); +} + + +static +VOID +ShutDownOnOk( + IN HWND hwndDlg, + IN PGINA_CONTEXT pgContext) +{ + INT idx; + + idx = SendDlgItemMessageW(hwndDlg, + IDC_SHUTDOWN_LIST, + CB_GETCURSEL, + 0, + 0); + if (idx != CB_ERR) + { + pgContext->nShutdownAction = SendDlgItemMessageW(hwndDlg, + IDC_SHUTDOWN_LIST, + CB_GETITEMDATA, + idx, + 0); + } +} + + +BOOL +CALLBACK +ShutDownDialogProc( + HWND hwnd, + UINT Message, + WPARAM wParam, + LPARAM lParam) +{ + PGINA_CONTEXT pgContext; + + pgContext = (PGINA_CONTEXT)GetWindowLongPtr(hwnd, GWL_USERDATA); + + switch (Message) + { + case WM_INITDIALOG: + pgContext = (PGINA_CONTEXT)lParam; + SetWindowLongPtr(hwnd, GWL_USERDATA, (INT_PTR)pgContext); + + ShutDownOnInit(hwnd, pgContext); + + /* Draw the logo graphic */ + pgContext->hBitmap = LoadImage(hDllInstance, MAKEINTRESOURCE(IDI_ROSLOGO), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); + return TRUE; + + case WM_PAINT: + { + PAINTSTRUCT ps; + HDC hdc; + if (pgContext->hBitmap) + { + hdc = BeginPaint(hwnd, &ps); + DrawStateW(hdc, NULL, NULL, (LPARAM)pgContext->hBitmap, (WPARAM)0, 0, 0, 0, 0, DST_BITMAP); + EndPaint(hwnd, &ps); + } + return TRUE; + } + + case WM_DESTROY: + DeleteObject(pgContext->hBitmap); + return TRUE; + + case WM_COMMAND: + switch(LOWORD(wParam)) + { + case IDOK: + ShutDownOnOk(hwnd, pgContext); + EndDialog(hwnd, IDOK); + break; + + case IDCANCEL: + EndDialog(hwnd, IDCANCEL); + break; + + case IDC_SHUTDOWN_LIST: + UpdateShutdownDesc(hwnd); + break; + } + break; + + default: + return FALSE; + } + return TRUE; +} + + +static +INT +OnShutDown( + IN HWND hwndDlg, + IN PGINA_CONTEXT pgContext) +{ + return pgContext->pWlxFuncs->WlxDialogBoxParam( + pgContext->hWlx, + pgContext->hDllInstance, + MAKEINTRESOURCEW(IDD_SHUTDOWN_DLG), + hwndDlg, + ShutDownDialogProc, + (LPARAM)pgContext); +} + + static INT_PTR CALLBACK LoggedOnWindowProc( IN HWND hwndDlg, @@ -627,7 +840,8 @@ LoggedOnWindowProc( EndDialog(hwndDlg, WLX_SAS_ACTION_LOGOFF); return TRUE; case IDC_SHUTDOWN: - EndDialog(hwndDlg, WLX_SAS_ACTION_SHUTDOWN_POWER_OFF); + if (OnShutDown(hwndDlg, pgContext) == IDOK) + EndDialog(hwndDlg, pgContext->nShutdownAction); return TRUE; case IDC_CHANGEPWD: if (OnChangePassword(hwndDlg, pgContext)) diff --git a/reactos/dll/win32/msgina/lang/bg-BG.rc b/reactos/dll/win32/msgina/lang/bg-BG.rc index 81db99dddbb..e6933af4b1a 100644 --- a/reactos/dll/win32/msgina/lang/bg-BG.rc +++ b/reactos/dll/win32/msgina/lang/bg-BG.rc @@ -114,6 +114,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Изключване на РеактОС" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Какво искате да направи компютъра?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "Добре", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Отказ", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Здравейте!" @@ -132,3 +146,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/cs-CZ.rc b/reactos/dll/win32/msgina/lang/cs-CZ.rc index e204537cfad..a84bfbe3f82 100644 --- a/reactos/dll/win32/msgina/lang/cs-CZ.rc +++ b/reactos/dll/win32/msgina/lang/cs-CZ.rc @@ -119,6 +119,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Vypnout ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Co má počítač provést?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Storno", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Vítejte!" @@ -137,3 +151,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/de-DE.rc b/reactos/dll/win32/msgina/lang/de-DE.rc index 475bdf5ced8..a2e465925e9 100644 --- a/reactos/dll/win32/msgina/lang/de-DE.rc +++ b/reactos/dll/win32/msgina/lang/de-DE.rc @@ -114,6 +114,20 @@ BEGIN PUSHBUTTON "Nein", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "ReactOS herunterfahren" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Welcher Vorgang soll durchgeführt werden?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Abbrechen", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Willkommen!" @@ -132,3 +146,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "Die eingegebenen Passworte stimmen nicht überein. Geben Sie das neue Passwort in beide Textfelder ein." IDS_PASSWORDCHANGED "Ihr Passwort wurde geändert." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/en-US.rc b/reactos/dll/win32/msgina/lang/en-US.rc index 2e82fbb0ab0..5f424785f7b 100644 --- a/reactos/dll/win32/msgina/lang/en-US.rc +++ b/reactos/dll/win32/msgina/lang/en-US.rc @@ -114,6 +114,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Shut Down ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&What do you want the computer to do?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Welcome!" @@ -132,3 +146,20 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/es-ES.rc b/reactos/dll/win32/msgina/lang/es-ES.rc index aa9ae87ef44..badf1b51aef 100644 --- a/reactos/dll/win32/msgina/lang/es-ES.rc +++ b/reactos/dll/win32/msgina/lang/es-ES.rc @@ -116,6 +116,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Apagar ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "¿&Que quieres que haga el equipo?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "Aceptar", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Cancelar", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "¡Bienvenido!" @@ -134,3 +148,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/fr-FR.rc b/reactos/dll/win32/msgina/lang/fr-FR.rc index 316d61cdb81..5bf4e503e3d 100644 --- a/reactos/dll/win32/msgina/lang/fr-FR.rc +++ b/reactos/dll/win32/msgina/lang/fr-FR.rc @@ -114,6 +114,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Fermer ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Que voulez-vous que l'ordinateur fasse ?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Annuler", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Bienvenue!" @@ -132,3 +146,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/he-IL.rc b/reactos/dll/win32/msgina/lang/he-IL.rc index a4df7491744..0796163a213 100644 --- a/reactos/dll/win32/msgina/lang/he-IL.rc +++ b/reactos/dll/win32/msgina/lang/he-IL.rc @@ -114,6 +114,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Shut Down ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&What do you want the computer to do?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "ברוכים הבאים!" @@ -132,3 +146,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/id-ID.rc b/reactos/dll/win32/msgina/lang/id-ID.rc index 7a8fa4f53e6..c58f86367cd 100644 --- a/reactos/dll/win32/msgina/lang/id-ID.rc +++ b/reactos/dll/win32/msgina/lang/id-ID.rc @@ -114,6 +114,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Shut Down ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&What do you want the computer to do?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Selamat datang!" @@ -131,3 +145,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/it-IT.rc b/reactos/dll/win32/msgina/lang/it-IT.rc index 0b374ee1ad6..f4a7571652d 100644 --- a/reactos/dll/win32/msgina/lang/it-IT.rc +++ b/reactos/dll/win32/msgina/lang/it-IT.rc @@ -122,6 +122,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Spegnimento di ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Cosa volete che faccia ReactOS?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Annulla", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Benvenuti!" @@ -140,3 +154,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/ja-JP.rc b/reactos/dll/win32/msgina/lang/ja-JP.rc index e0635e14709..f69607e45e3 100644 --- a/reactos/dll/win32/msgina/lang/ja-JP.rc +++ b/reactos/dll/win32/msgina/lang/ja-JP.rc @@ -86,7 +86,7 @@ END IDD_CHANGE_PASSWORD DIALOGEX 0, 0, 275, 166 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP CAPTION "Change Password" -FONT 8, "MS Shell Dlg", 400, 0, 1 +FONT 9,"MS UI Gothic", 400, 0, 1 BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 LTEXT "User name:", IDC_STATIC, 7, 61, 78, 8 @@ -106,7 +106,7 @@ END IDD_LOGOFF_DLG DIALOGEX 0, 0, 188, 60 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP CAPTION "Log Off ReactOS" -FONT 8, "MS Shell Dlg", 400, 0, 1 +FONT 9,"MS UI Gothic", 400, 0, 1 BEGIN ICON IDI_LOCKICON, -1, 7, 7, 20, 20 LTEXT "Are you sure you want to log off?", IDC_STATIC, 35, 16, 146, 8 @@ -114,6 +114,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "ReactOSのシャットダウン" +FONT 9,"MS UI Gothic", 400, 0, 1 +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&コンピュータの動作を選択してください", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "キャンセル", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "ようこそ!" @@ -132,3 +146,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/no-NO.rc b/reactos/dll/win32/msgina/lang/no-NO.rc index be368ff93dc..0be753a7239 100644 --- a/reactos/dll/win32/msgina/lang/no-NO.rc +++ b/reactos/dll/win32/msgina/lang/no-NO.rc @@ -114,6 +114,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Slå av ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Hva vil du at datamaskinen skal gjøre?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Avbryt", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Velkommen!" @@ -132,3 +146,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/pl-PL.rc b/reactos/dll/win32/msgina/lang/pl-PL.rc index 06de9b0a507..efe84fe1db6 100644 --- a/reactos/dll/win32/msgina/lang/pl-PL.rc +++ b/reactos/dll/win32/msgina/lang/pl-PL.rc @@ -123,6 +123,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Zamknij ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Co chcesz, aby zrobił komputer?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Anuluj", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Witaj!" @@ -141,3 +155,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/ro-RO.rc b/reactos/dll/win32/msgina/lang/ro-RO.rc index 8730d96f499..59db80699c1 100644 --- a/reactos/dll/win32/msgina/lang/ro-RO.rc +++ b/reactos/dll/win32/msgina/lang/ro-RO.rc @@ -116,6 +116,20 @@ BEGIN PUSHBUTTON "N&u", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Închidere ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Ce doriți să se întâmple?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "Con&firmă", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "A&nulează", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Bun venit!" @@ -134,3 +148,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/ru-RU.rc b/reactos/dll/win32/msgina/lang/ru-RU.rc index 0312d94e48a..a884a19831b 100644 --- a/reactos/dll/win32/msgina/lang/ru-RU.rc +++ b/reactos/dll/win32/msgina/lang/ru-RU.rc @@ -116,6 +116,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Завершение работы ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Выберите желаемое действие.", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Отмена", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Добро пожаловать!" @@ -134,3 +148,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/sk-SK.rc b/reactos/dll/win32/msgina/lang/sk-SK.rc index c4eace83258..20d16321a68 100644 --- a/reactos/dll/win32/msgina/lang/sk-SK.rc +++ b/reactos/dll/win32/msgina/lang/sk-SK.rc @@ -119,6 +119,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Vypnutie systému ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Čo chcete aby počítač urobil?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Zrušiť", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Vitajte!" @@ -137,3 +151,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/sq-AL.rc b/reactos/dll/win32/msgina/lang/sq-AL.rc index cfa8851bd5c..00a631781ee 100644 --- a/reactos/dll/win32/msgina/lang/sq-AL.rc +++ b/reactos/dll/win32/msgina/lang/sq-AL.rc @@ -117,6 +117,20 @@ BEGIN PUSHBUTTON "Jo", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Shut Down ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&What do you want the computer to do?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Mirëseerdhët!" @@ -132,3 +146,19 @@ BEGIN IDS_LOCKEDWRONGPASSWORD "Fjalëkalimi është gabim. Ju lutem shkruani fjalëkalimin tuaj përsëri. Gërmat në fjalëkalim duhet të shkruhen duke përdorur rastin e duhur." IDS_LOCKEDWRONGUSER "Ky kompjuter është i bllokuar. Vetëm %s\\%s ose një Administrator mund të zhbllokoj këtë kompjuter." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/tr-TR.rc b/reactos/dll/win32/msgina/lang/tr-TR.rc index 6896cc7311a..2ba7bb56427 100644 --- a/reactos/dll/win32/msgina/lang/tr-TR.rc +++ b/reactos/dll/win32/msgina/lang/tr-TR.rc @@ -116,6 +116,20 @@ BEGIN PUSHBUTTON "Hayır", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Oturumu Kapat" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Bilgisayarınızın ne yapmasını istiyorsunuz?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "Tamam", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "İptal", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Hoşgeldiniz!" @@ -134,3 +148,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "Yazıdığınız bu şifreler birbiriyle uyuşmuyor. Her iki metin kutusuna da aynı şifreyi yazınız." IDS_PASSWORDCHANGED "Şifreniz değiştirildi." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/lang/uk-UA.rc b/reactos/dll/win32/msgina/lang/uk-UA.rc index 958388d34d9..79b08953a0c 100644 --- a/reactos/dll/win32/msgina/lang/uk-UA.rc +++ b/reactos/dll/win32/msgina/lang/uk-UA.rc @@ -122,6 +122,20 @@ BEGIN PUSHBUTTON "No", IDNO, 95, 39, 50, 14 END +IDD_SHUTDOWN_DLG DIALOGEX 0, 0, 275, 146 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "Завершення роботи ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 + ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP + LTEXT "&Виберіть одну з таких можливостей?", IDC_STATIC, 39, 57, 167, 10 + COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27 + DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP + PUSHBUTTON "Скасувати", IDCANCEL, 204, 122, 55, 14 +END + STRINGTABLE BEGIN IDS_LOGGEDOUTSAS "Ласкаво просимо!" @@ -140,3 +154,19 @@ BEGIN IDS_NONMATCHINGPASSWORDS "The passwords you typed do not match. Type the same password in both text boxes." IDS_PASSWORDCHANGED "Your password has been changed." END + +/* Shutdown Dialog Strings */ +STRINGTABLE +BEGIN + IDS_SHUTDOWN_SHUTDOWN "Shut down" + IDS_SHUTDOWN_LOGOFF "Log off" + IDS_SHUTDOWN_RESTART "Restart" + IDS_SHUTDOWN_SLEEP "Sleep" + IDS_SHUTDOWN_HIBERNATE "Hibernate" + /* Shut down descriptions */ + IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." + IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." + IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." + IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." + IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." +END diff --git a/reactos/dll/win32/msgina/msgina.c b/reactos/dll/win32/msgina/msgina.c index 6086023c78d..6f54e20121f 100644 --- a/reactos/dll/win32/msgina/msgina.c +++ b/reactos/dll/win32/msgina/msgina.c @@ -313,6 +313,8 @@ WlxInitialize( /* Check autologon settings the first time */ pgContext->AutoLogonState = AUTOLOGON_CHECK_REGISTRY; + pgContext->nShutdownAction = WLX_SAS_ACTION_SHUTDOWN_POWER_OFF; + ChooseGinaUI(); return pGinaUI->Initialize(pgContext); } diff --git a/reactos/dll/win32/msgina/msgina.h b/reactos/dll/win32/msgina/msgina.h index ed478d18a6c..5507b10422b 100644 --- a/reactos/dll/win32/msgina/msgina.h +++ b/reactos/dll/win32/msgina/msgina.h @@ -39,6 +39,8 @@ typedef struct BOOL bDontDisplayLastUserName; BOOL bShutdownWithoutLogon; + INT nShutdownAction; + /* Information to be filled during logon */ WCHAR UserName[256]; WCHAR Domain[256]; diff --git a/reactos/dll/win32/msgina/msgina.rc b/reactos/dll/win32/msgina/msgina.rc index 63885160a28..aecab290941 100644 --- a/reactos/dll/win32/msgina/msgina.rc +++ b/reactos/dll/win32/msgina/msgina.rc @@ -11,6 +11,7 @@ IDI_ROSLOGO BITMAP "resources/reactos.bmp" IDI_LOCKICON ICON "resources/21.ico" +IDI_SHELL_SHUTDOWN ICON "resources/shutdown.ico" /* UTF-8 */ #pragma code_page(65001) diff --git a/reactos/dll/win32/msgina/resource.h b/reactos/dll/win32/msgina/resource.h index 1b81c765c5a..b8e51ed4d18 100644 --- a/reactos/dll/win32/msgina/resource.h +++ b/reactos/dll/win32/msgina/resource.h @@ -7,20 +7,23 @@ #define IDD_LOGGEDOUT_DLG 103 #define IDD_LOCKED_DLG 104 #define IDD_UNLOCK_DLG 105 +#define IDD_SHUTDOWN_DLG 108 -#define IDC_LOGOFF 1001 -#define IDC_USERNAME 1002 -#define IDC_PASSWORD 1003 -#define IDC_SHUTDOWN 1004 -#define IDC_STATUSLABEL 1005 -#define IDC_LOCK 1006 -#define IDC_ROSLOGO 1007 -#define IDC_TASKMGR 1008 -#define IDC_LOCKMSG 1009 -#define IDC_LOGONMSG 1010 -#define IDC_LOGONDATE 1011 -#define IDC_CHANGEPWD 1012 -#define IDC_LOGON_TO 1013 +#define IDC_LOGOFF 1001 +#define IDC_USERNAME 1002 +#define IDC_PASSWORD 1003 +#define IDC_SHUTDOWN 1004 +#define IDC_STATUSLABEL 1005 +#define IDC_LOCK 1006 +#define IDC_ROSLOGO 1007 +#define IDC_TASKMGR 1008 +#define IDC_LOCKMSG 1009 +#define IDC_LOGONMSG 1010 +#define IDC_LOGONDATE 1011 +#define IDC_CHANGEPWD 1012 +#define IDC_LOGON_TO 1013 +#define IDC_SHUTDOWN_LIST 1014 +#define IDC_SHUTDOWN_DESCRIPTION 1015 #define IDD_CHANGE_PASSWORD 106 #define IDC_CHANGEPWD_USERNAME 1013 @@ -31,7 +34,8 @@ #define IDD_LOGOFF_DLG 107 -#define IDI_ROSLOGO 20000 +#define IDI_ROSLOGO 20000 +#define IDI_SHELL_SHUTDOWN 20001 #define IDI_LOCKICON 21 @@ -50,3 +54,15 @@ #define IDS_CHANGEPWDTITLE 40012 #define IDS_NONMATCHINGPASSWORDS 40013 #define IDS_PASSWORDCHANGED 40014 + +#define IDS_SHUTDOWN_SHUTDOWN 50000 +#define IDS_SHUTDOWN_LOGOFF 50001 +#define IDS_SHUTDOWN_RESTART 50002 +#define IDS_SHUTDOWN_SLEEP 50003 +#define IDS_SHUTDOWN_HIBERNATE 50004 +/* Shut down descriptions */ +#define IDS_SHUTDOWN_SHUTDOWN_DESC 50005 +#define IDS_SHUTDOWN_LOGOFF_DESC 50006 +#define IDS_SHUTDOWN_RESTART_DESC 50007 +#define IDS_SHUTDOWN_SLEEP_DESC 50008 +#define IDS_SHUTDOWN_HIBERNATE_DESC 50009 diff --git a/reactos/dll/win32/msgina/resources/shutdown.ico b/reactos/dll/win32/msgina/resources/shutdown.ico new file mode 100644 index 0000000000000000000000000000000000000000..d67ed7a6909ffe164d10a98a59b69526d5e99150 GIT binary patch literal 40070 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 SQtELue