Modified: trunk/reactos/subsys/system/explorer/explorer-jp.rc
Modified: trunk/reactos/subsys/system/explorer/explorer_intres.h
Modified: trunk/reactos/subsys/system/explorer/explorer_intres.rc
Modified: trunk/reactos/subsys/system/explorer/make_explorer.dsp
Modified: trunk/reactos/subsys/system/explorer/taskbar/desktopbar.h
Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp
Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.h
--- trunk/reactos/subsys/system/explorer/explorer_intres.h 2005-04-03 10:46:08 UTC (rev 14468)
+++ trunk/reactos/subsys/system/explorer/explorer_intres.h 2005-04-03 11:23:03 UTC (rev 14469)
@@ -46,6 +46,7 @@
#define IDS_NOTIFY_AUTOHIDE 42
#define IDS_SHOW_HIDDEN_ICONS 43
#define IDS_HIDE_ICONS 44
+#define IDS_TERMINATE 45
#define IDI_REACTOS 100
#define IDI_EXPLORER 101
#define IDI_STARTMENU 102
--- trunk/reactos/subsys/system/explorer/explorer_intres.rc 2005-04-03 10:46:08 UTC (rev 14468)
+++ trunk/reactos/subsys/system/explorer/explorer_intres.rc 2005-04-03 11:23:03 UTC (rev 14469)
@@ -126,6 +126,7 @@
IDS_TITLE "ReactOS Explorer"
IDS_START "?ncepe"
IDS_LOGOFF "?nchide sesiunea ..."
+ IDS_TERMINATE "?nchide sesiunea"
IDS_SHUTDOWN "Oprire calculator ..."
IDS_LAUNCH "Pornire ..."
IDS_START_HELP "Ajutor"
@@ -583,6 +584,7 @@
IDS_TITLE "Reactos Explorer"
IDS_START "Start"
IDS_LOGOFF "Abmelden..."
+ IDS_TERMINATE "ROS Explorer beenden"
IDS_SHUTDOWN "Herunterfahren..."
IDS_LAUNCH "Starten..."
IDS_START_HELP "Hilfe"
@@ -1075,6 +1077,7 @@
IDS_TITLE "Reactos Explorer"
IDS_START "Start"
IDS_LOGOFF "Log Off..."
+ IDS_TERMINATE "Terminate ROS Explorer"
IDS_SHUTDOWN "Turn Off..."
IDS_LAUNCH "Run..."
IDS_START_HELP "Help"
@@ -1538,6 +1541,7 @@
IDS_TITLE "Reactos Explorer"
IDS_START "Iniciar"
IDS_LOGOFF "Salir..."
+ IDS_TERMINATE "Salir"
IDS_SHUTDOWN "Apagar..."
IDS_LAUNCH "Ejecutar..."
IDS_START_HELP "Ayuda"
@@ -1708,6 +1712,7 @@
IDS_TITLE "Explorateur Reactos"
IDS_START "DÚmarrer"
IDS_LOGOFF "DÚconnexion ..."
+ IDS_TERMINATE "DÚconnexion"
IDS_SHUTDOWN "ArrÛter..."
IDS_LAUNCH "ExÚcuter..."
IDS_START_HELP "Aide"
@@ -1921,6 +1926,7 @@
IDS_TITLE "Explorador do Reactos"
IDS_START "Iniciar"
IDS_LOGOFF "Terminar sessÒo..."
+ IDS_TERMINATE "Terminar"
IDS_SHUTDOWN "Desligar..."
IDS_LAUNCH "Executar..."
IDS_START_HELP "Ajuda"
@@ -2412,6 +2418,7 @@
IDS_TITLE "Reactos Explorer"
IDS_START "Start"
IDS_LOGOFF "Logga ut..."
+ IDS_TERMINATE "Logga ut"
IDS_SHUTDOWN "Stõng av..."
IDS_LAUNCH "K÷r..."
IDS_START_HELP "Hjõlp"
--- trunk/reactos/subsys/system/explorer/make_explorer.dsp 2005-04-03 10:46:08 UTC (rev 14468)
+++ trunk/reactos/subsys/system/explorer/make_explorer.dsp 2005-04-03 11:23:03 UTC (rev 14469)
@@ -183,10 +183,6 @@
# Begin Source File
-SOURCE=..\..\..\ChangeLog
-# End Source File
-# Begin Source File
-
SOURCE=.\Jamfile
# End Source File
# Begin Source File
--- trunk/reactos/subsys/system/explorer/taskbar/desktopbar.h 2005-04-03 10:46:08 UTC (rev 14468)
+++ trunk/reactos/subsys/system/explorer/taskbar/desktopbar.h 2005-04-03 11:23:03 UTC (rev 14469)
@@ -56,6 +56,7 @@
#define IDC_BROWSE 0x1014
#define IDC_SEARCH_PROGRAM 0x1015
#define IDC_SEARCH 0x1016
+#define IDC_TERMINATE 0x1017
#define IDC_FIRST_MENU 0x3000
--- trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp 2005-04-03 10:46:08 UTC (rev 14468)
+++ trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp 2005-04-03 11:23:03 UTC (rev 14469)
@@ -1690,6 +1690,9 @@
AddButton(ResString(IDS_SHUTDOWN), ICID_LOGOFF, false, IDC_SHUTDOWN);
+ AddButton(ResString(IDS_TERMINATE), ICID_LOGOFF, false, IDC_TERMINATE);
+
+
#ifdef __MINGW32__
RegCloseKey(hkeyAdv);
RegCloseKey(hkey);
@@ -1830,9 +1833,11 @@
break;
case IDC_LOGOFF:
- /* The shell32 Dialog prompts about some system setting change. This is not what we want to display here.
CloseStartMenu(id);
- ShowRestartDialog(g_Globals._hwndDesktopBar, EWX_LOGOFF);*/
+ ShowLogoffDialog(g_Globals._hwndDesktopBar, EWX_LOGOFF);
+ break;
+
+ case IDC_TERMINATE:
DestroyWindow(GetParent(_hwnd));
break;
@@ -1974,24 +1979,29 @@
}
}
-void StartMenuHandler::ShowRestartDialog(HWND hwndOwner, UINT flags)
+void StartMenuHandler::ShowLogoffDialog(HWND hwndOwner, UINT flags)
{
- static DynamicFct<RESTARTWINDOWSDLG> RestartDlg(TEXT("SHELL32"), 59);
+ static DynamicFct<LOGOFFWINDOWSDIALOG> LogoffWindowsDialog(TEXT("SHELL32"), 54);
+// static DynamicFct<RESTARTWINDOWSDLG> RestartDialog(TEXT("SHELL32"), 59);
- if (RestartDlg)
- (*RestartDlg)(hwndOwner, (LPWSTR)L"You selected <Log Off>.\n\n", flags); ///@todo ANSI string conversion if needed
+ if (LogoffWindowsDialog)
+ (*LogoffWindowsDialog)(0);
+/* The RestartDialog function prompts about some system setting change. This is not what we want to display here.
+ else if (RestartDialog)
+ return (*RestartDialog)(hwndOwner, (LPWSTR)L"You selected <Log Off>.\n\n", flags) == 1; ///@todo ANSI string conversion if needed
+*/
else
- MessageBox(hwndOwner, TEXT("RestartDlg() not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
+ MessageBox(hwndOwner, TEXT("LogoffWindowsDialog() not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
}
void ShowExitWindowsDialog(HWND hwndOwner)
{
- static DynamicFct<EXITWINDOWSDLG> ExitWindowsDlg(TEXT("SHELL32"), 60);
+ static DynamicFct<EXITWINDOWSDLG> ExitWindowsDialog(TEXT("SHELL32"), 60);
- if (ExitWindowsDlg)
- (*ExitWindowsDlg)(hwndOwner);
+ if (ExitWindowsDialog)
+ (*ExitWindowsDialog)(hwndOwner);
else
- MessageBox(hwndOwner, TEXT("ExitWindowsDlg() not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
+ MessageBox(hwndOwner, TEXT("ExitWindowsDialog() not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
}
--- trunk/reactos/subsys/system/explorer/taskbar/startmenu.h 2005-04-03 10:46:08 UTC (rev 14468)
+++ trunk/reactos/subsys/system/explorer/taskbar/startmenu.h 2005-04-03 11:23:03 UTC (rev 14469)
@@ -321,9 +321,11 @@
#define RFF_NOSEPARATEMEM 0x20 // Removes the Separate Memory Space check box (Windows NT only).
- // declare more undocumented shell32 functions
+ // declare more previously undocumented shell32 functions
typedef void (WINAPI* EXITWINDOWSDLG)(HWND hwndOwner);
+typedef int (WINAPI* LOGOFFWINDOWSDIALOG)(UINT flags);
typedef int (WINAPI* RESTARTWINDOWSDLG)(HWND hwndOwner, LPCWSTR reason, UINT flags);
+typedef int (WINAPI* RESTARTWINDOWSDLGEX)(HWND hWndOwner, LPCWSTR lpwstrReason, DWORD uFlags, DWORD uReason);
typedef BOOL (WINAPI* SHFINDFILES)(LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch);
typedef BOOL (WINAPI* SHFINDCOMPUTER)(LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch);
@@ -347,7 +349,7 @@
int Command(int id, int code);
static void ShowLaunchDialog(HWND hwndOwner);
- static void ShowRestartDialog(HWND hwndOwner, UINT flags);
+ static void ShowLogoffDialog(HWND hwndOwner, UINT flags);
static void ShowSearchDialog();
static void ShowSearchComputer();
};