Commit in reactos/subsys/system/explorer on lean-explorer
explorer.cpp+43-31.55.4.6 -> 1.55.4.7
explorer_intres.h+181.43.4.7 -> 1.43.4.8
explorer_intres.rc+32-11.58.4.8 -> 1.58.4.9
taskbar/traynotify.cpp+1-151.33.4.4 -> 1.33.4.5
utility/utility.cpp+1-11.16.4.3 -> 1.16.4.4
+95-20
5 modified files
I hope I didnt mess up committing this to the lean-branch.....

Add Windows Explorer menus (File, Edit, View, Tools - Disabled atm)
Merge "explorer -install" support to lean-explorer.
Merge some of the traynotify cleanups.

reactos/subsys/system/explorer
explorer.cpp 1.55.4.6 -> 1.55.4.7
diff -u -r1.55.4.6 -r1.55.4.7
--- explorer.cpp	20 Mar 2004 13:55:55 -0000	1.55.4.6
+++ explorer.cpp	9 Apr 2004 19:02:58 -0000	1.55.4.7
@@ -610,9 +610,49 @@
 
 	BOOL any_desktop_running = IsAnyDesktopRunning();
 
-	 // create desktop window and task bar only, if there is no other shell and we are
-	 // the first explorer instance
-	BOOL startup_desktop = !any_desktop_running;
+	BOOL startup_desktop;
+
+	 // command line option "-install" to replace previous shell application with ROS Explorer
+	if (_tcsstr(lpCmdLine,TEXT("-install"))) {
+		 // install ROS Explorer into the registry
+		TCHAR path[MAX_PATH];
+
+		int l = GetModuleFileName(0, path, MAX_PATH);
+		if (l) {
+			HKEY hkey;
+
+			if (!RegOpenKey(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"), &hkey)) {
+
+				///@todo save previous shell application in config file
+
+				RegSetValueEx(hkey, TEXT("Shell"), 0, REG_SZ, (LPBYTE)path, l*sizeof(TCHAR));
+				RegCloseKey(hkey);
+			}
+		}
+
+		HWND shellWindow = GetShellWindow();
+
+		if (shellWindow) {
+			DWORD pid;
+
+			 // terminate shell process for NT like systems
+			GetWindowThreadProcessId(shellWindow, &pid);
+			HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
+
+			 // On Win 9x it's sufficient to destroy the shell window.
+			DestroyWindow(shellWindow);
+
+			if (TerminateProcess(hProcess, 0))
+				WaitForSingleObject(hProcess, INFINITE);
+
+			CloseHandle(hProcess);
+		}
+
+		startup_desktop = TRUE;
+	} else
+		 // create desktop window and task bar only, if there is no other shell and we are
+		 // the first explorer instance
+		startup_desktop = !any_desktop_running;
 
 	bool autostart = !any_desktop_running;
 

reactos/subsys/system/explorer
explorer_intres.h 1.43.4.7 -> 1.43.4.8
diff -u -r1.43.4.7 -r1.43.4.8
--- explorer_intres.h	28 Mar 2004 20:32:22 -0000	1.43.4.7
+++ explorer_intres.h	9 Apr 2004 19:02:58 -0000	1.43.4.8
@@ -110,6 +110,24 @@
 #define ID_EXPLORE                      40011
 #define ID_TASKMGR                      40012
 #define ID_BROWSE_UP                    40013
+
+#define ID_EDIT_UNDO                    40019
+#define ID_EDIT_COPY                    40020
+#define ID_EDIT_CUt                     40021
+#define ID_TOOLS_MAP                    40022
+#define ID_EDIT_PASTE                   40023
+#define ID_EDIT_PASTE_SHORTCUT          40024
+#define ID_TOOLS_OPTIONS                40025
+#define ID_TOOLS_DISCONNECT             40026
+#define ID_EDIT_COPY_FOLDER             40027
+#define ID_EDIT_MOVE_TO_FOLDER          40028
+#define ID_EDIT_SELECT_ALL              40029
+#define ID_EDIT_INVERT_SELECTION        40030
+#define ID_FILE_CREATESHORTCUT          40031
+#define ID_FILE_DELETE                  40032
+#define ID_FILE_RENAME                  40033
+#define ID_FILE_PROPERTIES              40034
+
 #define ID_SWITCH_DESKTOP_1             50000
 #define ID_WINDOW_NEW                   0xE130
 #define ID_EDIT_PROPERTIES              57656

reactos/subsys/system/explorer
explorer_intres.rc 1.58.4.8 -> 1.58.4.9
diff -u -r1.58.4.8 -r1.58.4.9
--- explorer_intres.rc	28 Mar 2004 20:32:22 -0000	1.58.4.8
+++ explorer_intres.rc	9 Apr 2004 19:02:58 -0000	1.58.4.9
@@ -383,7 +383,31 @@
 BEGIN
     POPUP "&File"
     BEGIN
-        MENUITEM "E&xit",                       ID_FILE_EXIT
+        MENUITEM "Create Shortcut",             ID_FILE_CREATESHORTCUT
+        , GRAYED
+        MENUITEM "Delete",                      ID_FILE_DELETE, GRAYED
+        MENUITEM "Rename",                      ID_FILE_RENAME, GRAYED
+        MENUITEM "Properties",                  ID_FILE_PROPERTIES, GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "Close",                       ID_FILE_EXIT
+    END
+    POPUP "&Edit"
+    BEGIN
+        MENUITEM "Undo",                        ID_EDIT_UNDO, GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "&Cut",                        ID_EDIT_CUt, GRAYED
+        MENUITEM "&Copy",                       ID_EDIT_COPY, GRAYED
+        MENUITEM "&Paste",                      ID_EDIT_PASTE, GRAYED
+        MENUITEM "&Paste Shortcut",             ID_EDIT_PASTE_SHORTCUT
+        , GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "Copy to Folder",              ID_EDIT_COPY_FOLDER, GRAYED
+        MENUITEM "Move to Folder",              ID_EDIT_MOVE_TO_FOLDER
+        , GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "Select All",                  ID_EDIT_SELECT_ALL, GRAYED
+        MENUITEM "Invert Selection",            ID_EDIT_INVERT_SELECTION
+        , GRAYED
     END
     POPUP "&View"
     BEGIN
@@ -395,6 +419,13 @@
         MENUITEM "New &Window",                 ID_WINDOW_NEW
         MENUITEM "&Refresh\tF5",                ID_REFRESH
     END
+    POPUP "&Tools"
+    BEGIN
+        MENUITEM "Map Network Drive",           ID_TOOLS_MAP, GRAYED
+        MENUITEM "Disconnect Network Drive...", ID_TOOLS_DISCONNECT, GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "Folder Options...",           ID_TOOLS_OPTIONS, GRAYED
+    END
     POPUP "&Help"
     BEGIN
         MENUITEM "Explorer &FAQ...",            ID_EXPLORER_FAQ

reactos/subsys/system/explorer/taskbar
traynotify.cpp 1.33.4.4 -> 1.33.4.5
diff -u -r1.33.4.4 -r1.33.4.5
--- traynotify.cpp	20 Mar 2004 13:55:57 -0000	1.33.4.4
+++ traynotify.cpp	9 Apr 2004 19:02:59 -0000	1.33.4.5
@@ -129,15 +129,9 @@
 
 	ClientRect clnt(hwndParent);
 
-#ifndef _ROS_
 	return Window::Create(WINDOW_CREATOR(NotifyArea), WS_EX_STATICEDGE,
 							wcTrayNotify, TITLE_TRAYNOTIFY, WS_CHILD|WS_VISIBLE,
 							clnt.right-(NOTIFYAREA_WIDTH_DEF+1), 1, NOTIFYAREA_WIDTH_DEF, clnt.bottom-2, hwndParent);
-#else
-	return Window::Create(WINDOW_CREATOR(NotifyArea), 0,
-							wcTrayNotify, TITLE_TRAYNOTIFY, WS_CHILD|WS_VISIBLE,
-							clnt.right-(NOTIFYAREA_WIDTH_DEF+1), 1, NOTIFYAREA_WIDTH_DEF, clnt.bottom-2, hwndParent);
-#endif
 }
 
 LRESULT NotifyArea::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
@@ -295,13 +289,9 @@
 	 // first fill with the background color
 	FillRect(canvas, &canvas.rcPaint, GetSysColorBrush(COLOR_BTNFACE));
 
-#ifdef _ROS_
-	DrawEdge(canvas, ClientRect(_hwnd), BDR_SUNKENOUTER, BF_RECT);
-#endif
-
 	 // draw icons
 	int x = 2;
-	int y = 2;
+	int y = 3;
 
 	for(NotifyIconSet::const_iterator it=_sorted_icons.begin(); it!=_sorted_icons.end(); ++it) {
 		DrawIconEx(canvas, x, y, it->_hIcon, 16, 16, 0, 0, DI_NORMAL);
@@ -444,10 +434,6 @@
 {
 	PaintCanvas canvas(_hwnd);
 
-#ifdef _ROS_
-	DrawEdge(canvas, ClientRect(_hwnd), BDR_SUNKENOUTER, BF_TOP|BF_RIGHT);
-#endif
-
 	BkMode bkmode(canvas, TRANSPARENT);
 	FontSelection font(canvas, GetStockFont(ANSI_VAR_FONT));
 

reactos/subsys/system/explorer/utility
utility.cpp 1.16.4.3 -> 1.16.4.4
diff -u -r1.16.4.3 -r1.16.4.4
--- utility.cpp	28 Mar 2004 20:32:23 -0000	1.16.4.3
+++ utility.cpp	9 Apr 2004 19:02:59 -0000	1.16.4.4
@@ -207,7 +207,7 @@
 #endif
 
 
-/* search for already running win[e]files */
+/* search for already running explorers */
 
 static int g_foundPrevInstance = 0;
 
CVSspam 0.2.8