merge ROS Shell without integrated explorer part into trunk
authorMartin Fuchs <fuchs.martin@gmail.com>
Sun, 1 May 2005 21:22:13 +0000 (21:22 +0000)
committerMartin Fuchs <fuchs.martin@gmail.com>
Sun, 1 May 2005 21:22:13 +0000 (21:22 +0000)
svn path=/trunk/; revision=14932

15 files changed:
reactos/subsys/system/explorer/Make-rosshell.MinGW [new file with mode: 0644]
reactos/subsys/system/explorer/Make-rosshell.mak [new file with mode: 0644]
reactos/subsys/system/explorer/Makefile.MinGW
reactos/subsys/system/explorer/Makefile.PCH
reactos/subsys/system/explorer/desktop/desktop.cpp
reactos/subsys/system/explorer/explorer.cpp
reactos/subsys/system/explorer/explorer.h
reactos/subsys/system/explorer/explorer_intres.rc
reactos/subsys/system/explorer/globals.h
reactos/subsys/system/explorer/make_rosshell.dsp [new file with mode: 0644]
reactos/subsys/system/explorer/rosshell.dsp [new file with mode: 0644]
reactos/subsys/system/explorer/rosshell.dsw [new file with mode: 0644]
reactos/subsys/system/explorer/shell/entries.cpp
reactos/subsys/system/explorer/taskbar/startmenu.cpp
reactos/subsys/system/explorer/utility/utility.h

diff --git a/reactos/subsys/system/explorer/Make-rosshell.MinGW b/reactos/subsys/system/explorer/Make-rosshell.MinGW
new file mode 100644 (file)
index 0000000..73ed02d
--- /dev/null
@@ -0,0 +1,92 @@
+#\r
+#  ReactOS shell\r
+#\r
+#  Makefile.PCH\r
+#\r
+#  MinGW Makefile with precompiled header support\r
+#\r
+\r
+CC = gcc\r
+CXX = g++\r
+LINK = g++\r
+\r
+CFLAGS = -DWIN32 -DROSSHELL -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. -I$(EXPAT_INC)\r
+RCFLAGS        = -DWIN32 -DROSSHELL -D__WINDRES__\r
+LFLAGS = -Wl,--subsystem,windows\r
+\r
+ifdef DEBUG\r
+CFLAGS += -D_DEBUG -g\r
+RCFLAGS        += -D_DEBUG\r
+LFLAGS += -g\r
+else\r
+CFLAGS += -DNDEBUG -Os -march=pentium4\r
+RCFLAGS        += -DNDEBUG\r
+LFLAGS += -s\r
+endif\r
+\r
+ifndef UNICODE\r
+UNICODE = 1\r
+endif\r
+\r
+ifeq ($(UNICODE),1)\r
+CFLAGS += -DUNICODE\r
+# LFLAGS+= -Wl,--entry,_wWinMain@16\r
+RCFLAGS += -DUNICODE\r
+endif\r
+\r
+CXXFLAGS = $(CFLAGS)\r
+\r
+EXEC_SUFFIX = .exe\r
+RES_SUFFIX = .coff\r
+\r
+VPATH = shell utility taskbar desktop dialogs services\r
+\r
+PROGRAM = rosshell\r
+\r
+TARGET = $(PROGRAM)$(EXEC_SUFFIX)\r
+\r
+OBJECTS = \\r
+       startup.o \\r
+       shellclasses.o \\r
+       utility.o \\r
+       window.o \\r
+       dragdropimpl.o \\r
+       shellbrowserimpl.o \\r
+       explorer.o \\r
+       entries.o \\r
+       winfs.o \\r
+       shellfs.o \\r
+       pane.o \\r
+       desktop.o \\r
+       desktopbar.o \\r
+       taskbar.o \\r
+       startmenu.o \\r
+       shellservices.o \\r
+       traynotify.o \\r
+       quicklaunch.o \\r
+       favorites.o \\r
+       searchprogram.o \\r
+       settings.o \\r
+       i386-stub-win32.o \\r
+       xmlstorage.o\r
+\r
+LIBS = gdi32 comctl32 msimg32 ole32 uuid\r
+DELAYIMPORTS = oleaut32 wsock32\r
+\r
+all: precomp.h.gch $(TARGET)\r
+\r
+precomp.h.gch: *.h utility/*.h shell/*.h desktop/*.h\r
+       $(CXX) $(CFLAGS) precomp.h\r
+\r
+$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) notifyhook.dll libexpat.dll\r
+       $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS))\r
+\r
+$(PROGRAM)$(RES_SUFFIX): explorer_intres.rc res/*.bmp res/*.ico\r
+       windres $(RCFLAGS) -o $@ explorer_intres.rc\r
+\r
+notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h\r
+       $(CC) -D_WIN32_IE=0x0600 -Wall -D_NOTIFYHOOK_IMPL -Os -s notifyhook/notifyhook.c -shared -o $@\r
+\r
+clean:\r
+       rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) precomp.h.gch \\r
+       desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o\r
diff --git a/reactos/subsys/system/explorer/Make-rosshell.mak b/reactos/subsys/system/explorer/Make-rosshell.mak
new file mode 100644 (file)
index 0000000..fa428b1
--- /dev/null
@@ -0,0 +1,68 @@
+#\r
+#  ReactOS shell\r
+#\r
+#  Makefile\r
+#\r
+\r
+PATH_TO_TOP := ../../..\r
+\r
+TARGET_TYPE := program\r
+\r
+TARGET_APPTYPE := windows\r
+\r
+TARGET_NAME := rosshell\r
+\r
+TARGET_INSTALLDIR := .\r
+\r
+TARGET_CFLAGS := \\r
+       -D__USE_W32API -DWIN32 -D_ROS_ \\r
+       -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 \\r
+       -DUNICODE -fexceptions -Wall -g \\r
+       -I../../../include/expat\r
+\r
+TARGET_CPPFLAGS := $(TARGET_CFLAGS)\r
+\r
+TARGET_RCFLAGS := -D__USE_W32API -DWIN32 -D_ROS_ -D__WINDRES__\r
+\r
+TARGET_SDKLIBS := \\r
+       gdi32.a user32.a comctl32.a ole32.a oleaut32.a shell32.a expat.a \\r
+       notifyhook.a ws2_32.a msimg32.a\r
+\r
+TARGET_GCCLIBS := stdc++ uuid\r
+\r
+TARGET_OBJECTS := \\r
+       explorer.o \\r
+       i386-stub-win32.o \\r
+       desktop/desktop.o \\r
+       dialogs/searchprogram.o \\r
+       dialogs/settings.o \\r
+       shell/entries.o \\r
+       shell/shellfs.o \\r
+       shell/pane.o \\r
+       shell/winfs.o \\r
+       services/startup.o \\r
+       services/shellservices.o \\r
+       taskbar/desktopbar.o \\r
+       taskbar/taskbar.o \\r
+       taskbar/startmenu.o \\r
+       taskbar/traynotify.o \\r
+       taskbar/quicklaunch.o \\r
+       taskbar/favorites.o \\r
+       utility/shellclasses.o \\r
+       utility/utility.o \\r
+       utility/window.o \\r
+       utility/dragdropimpl.o \\r
+       utility/shellbrowserimpl.o \\r
+       utility/xmlstorage.o\r
+\r
+TARGET_CPPAPP := yes\r
+\r
+TARGET_PCH := precomp.h\r
+\r
+SUBDIRS := notifyhook\r
+\r
+DEP_OBJECTS := $(TARGET_OBJECTS)\r
+\r
+include $(PATH_TO_TOP)/rules.mak\r
+include $(TOOLS_PATH)/helper.mk\r
+include $(TOOLS_PATH)/depend.mk\r
index a75dc2d..678fe28 100644 (file)
@@ -85,7 +85,7 @@ all: $(TARGET)
 $(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) notifyhook.dll libexpat.dll
        $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS))
 
-explorer$(RES_SUFFIX): $(PROGRAM)_intres.rc res/*.bmp res/*.ico
+$(PROGRAM)$(RES_SUFFIX): $(PROGRAM)_intres.rc res/*.bmp res/*.ico
        windres $(RCFLAGS) -o $@ $(PROGRAM)_intres.rc
 
 notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h
index 496831b..6032ffd 100644 (file)
@@ -89,8 +89,8 @@ precomp.h.gch: *.h utility/*.h shell/*.h desktop/*.h
 $(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) notifyhook.dll libexpat.dll
        $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS))
 
-explorer$(RES_SUFFIX): $(PROGRAM)_intres.rc res/*.bmp res/*.ico
-       windres $(RCFLAGS) -o $@ $(PROGRAM)_intres.rc
+$(PROGRAM)$(RES_SUFFIX): explorer_intres.rc res/*.bmp res/*.ico
+       windres $(RCFLAGS) -o $@ explorer_intres.rc
 
 notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h
        $(CC) -D_WIN32_IE=0x0600 -Wall -D_NOTIFYHOOK_IMPL -Os -s notifyhook/notifyhook.c -shared -o $@
index 2c0cbad..21ecd83 100644 (file)
@@ -467,8 +467,10 @@ LRESULT DesktopWindow::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
 
 HRESULT DesktopWindow::OnDefaultCommand(LPIDA pida)
 {
+#ifndef ROSSHELL       // in shell-only-mode fall through and let shell32 handle the command
        if (MainFrameBase::OpenShellFolders(pida, 0))
                return S_OK;
+#endif
 
        return E_NOTIMPL;
 }
index e2e0b94..435fb23 100644 (file)
@@ -56,11 +56,15 @@ ExplorerGlobals g_Globals;
 ExplorerGlobals::ExplorerGlobals()
 {
        _hInstance = 0;
-       _hframeClass = 0;
        _cfStrFName = 0;
+
+#ifndef ROSSHELL
+       _hframeClass = 0;
        _hMainWnd = 0;
-       _prescan_nodes = false;
        _desktop_mode = false;
+       _prescan_nodes = false;
+#endif
+
        _log = NULL;
 #ifndef __MINGW32__    // SHRestricted() missing in MinGW (as of 29.10.2003)
        _SHRestricted = 0;
@@ -528,6 +532,8 @@ ResBitmap::ResBitmap(UINT nid)
 }
 
 
+#ifndef ROSSHELL
+
 void explorer_show_frame(int cmdshow, LPTSTR lpCmdLine)
 {
        if (g_Globals._hMainWnd) {
@@ -553,6 +559,18 @@ void explorer_show_frame(int cmdshow, LPTSTR lpCmdLine)
        MainFrameBase::Create(lpCmdLine, mdi, cmdshow);
 }
 
+#else
+
+void explorer_show_frame(int cmdshow, LPTSTR lpCmdLine)
+{
+       if (!lpCmdLine)
+               lpCmdLine = TEXT("explorer.exe");
+
+       launch_file(GetDesktopWindow(), lpCmdLine, cmdshow);
+}
+
+#endif
+
 
 PopupMenu::PopupMenu(UINT nid)
 {
@@ -637,6 +655,7 @@ static void InitInstance(HINSTANCE hInstance)
 
        setlocale(LC_COLLATE, "");      // set collating rules to local settings for compareName
 
+#ifndef ROSSHELL
         // register frame window class
        g_Globals._hframeClass = IconWindowClass(CLASSNAME_FRAME,IDI_EXPLORER);
 
@@ -645,6 +664,7 @@ static void InitInstance(HINSTANCE hInstance)
 
         // register tree window class
        WindowClass(CLASSNAME_WINEFILETREE, CS_CLASSDC|CS_DBLCLKS|CS_VREDRAW).Register();
+#endif
 
        g_Globals._cfStrFName = RegisterClipboardFormat(CFSTR_FILENAME);
 }
@@ -664,6 +684,7 @@ int explorer_main(HINSTANCE hInstance, LPTSTR lpCmdLine, int cmdshow)
                return -1;
        }
 
+#ifndef ROSSHELL
        if (cmdshow != SW_HIDE) {
 /*     // don't maximize if being called from the ROS desktop
                if (cmdshow == SW_SHOWNORMAL)
@@ -673,6 +694,7 @@ int explorer_main(HINSTANCE hInstance, LPTSTR lpCmdLine, int cmdshow)
 
                explorer_show_frame(cmdshow, lpCmdLine);
        }
+#endif
 
        return Window::MessageLoop();
 }
@@ -798,12 +820,14 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
         // If there is given the command line option "-desktop", create desktop window anyways
        if (_tcsstr(lpCmdLine,TEXT("-desktop")))
                startup_desktop = TRUE;
+#ifndef ROSSHELL
        else if (_tcsstr(lpCmdLine,TEXT("-nodesktop")))
                startup_desktop = FALSE;
 
         // Don't display cabinet window in desktop mode
        if (startup_desktop && !_tcsstr(lpCmdLine,TEXT("-explorer")))
                nShowCmd = SW_HIDE;
+#endif
 
        if (_tcsstr(lpCmdLine,TEXT("-noautostart")))
                autostart = false;
@@ -832,6 +856,11 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
                if (!SetShellReadyEvent(TEXT("msgina: ShellReadyEvent")))
                        SetShellReadyEvent(TEXT("Global\\msgina: ShellReadyEvent"));
        }
+#ifdef ROSSHELL
+       else
+               return 0;       // no shell to launch, so exit immediatelly
+#endif
+
 
        if (!any_desktop_running) {
                 // launch the shell DDE server
@@ -882,9 +911,6 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
 #endif
        }
 
-       if (g_Globals._hwndDesktop)
-               g_Globals._desktop_mode = true;
-
        Thread* pSSOThread = NULL;
 
        if (startup_desktop) {
@@ -899,11 +925,17 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
                startup(2, argv);
        }
 
+#ifndef ROSSHELL
+       if (g_Globals._hwndDesktop)
+               g_Globals._desktop_mode = true;
+
        /**TODO fix command line handling */
        if (*lpCmdLine=='"' && lpCmdLine[_tcslen(lpCmdLine)-1]=='"') {
                ++lpCmdLine;
                lpCmdLine[_tcslen(lpCmdLine)-1] = '\0';
        }
+#endif
+
 
        int ret = explorer_main(hInstance, lpCmdLine, nShowCmd);
 
index 4531393..4704e65 100644 (file)
 #include "shell/entries.h"
 
 #include "shell/winfs.h"
-#include "shell/unixfs.h"
 #include "shell/shellfs.h"
 
+#ifndef ROSSHELL
+#include "shell/unixfs.h"
+#endif
+
 #include "utility/window.h"
 
 
@@ -68,4 +71,7 @@
 #include "shell/pane.h"
 #include "shell/filechild.h"
 #include "shell/shellbrowser.h"
+
+#ifndef ROSSHELL
 #include "shell/mainframe.h"
+#endif
index b70c454..6f319a8 100644 (file)
@@ -197,8 +197,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
 // Bitmap
 //
 
-IDB_IMAGES              BITMAP  DISCARDABLE     "res/images.bmp"
-IDB_TOOLBAR             BITMAP  DISCARDABLE     "res/toolbar.bmp"
 IDB_DRIVEBAR            BITMAP  DISCARDABLE     "res/drivebar.bmp"
 IDB_LOGOV               BITMAP  DISCARDABLE     "res/logov.bmp"
 IDB_LOGOV256            BITMAP  DISCARDABLE     "res/logov256.bmp"
@@ -494,6 +492,10 @@ END
 
 3 TEXTINCLUDE DISCARDABLE 
 BEGIN
+    "#ifndef ROSSHELL\r\n"
+    "IDB_IMAGES                BITMAP DISCARDABLE ""res/images.bmp""\r\n"
+    "IDB_TOOLBAR       BITMAP DISCARDABLE ""res/toolbar.bmp""\r\n"
+    "#endif\r\n"
     "#ifndef _ROS_\r\n"
     "LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL\r\n"
     "STRINGTABLE DISCARDABLE \r\n"
index 5cc9371..e28a9c3 100644 (file)
@@ -239,11 +239,14 @@ extern struct ExplorerGlobals
        XMLPos  get_cfg(const char* path);
 
        HINSTANCE       _hInstance;
-       ATOM            _hframeClass;
        UINT            _cfStrFName;
+
+#ifndef ROSSHELL
+       ATOM            _hframeClass;
        HWND            _hMainWnd;
-       bool            _prescan_nodes;
        bool            _desktop_mode;
+       bool            _prescan_nodes;
+#endif
 
        FILE*           _log;
 
diff --git a/reactos/subsys/system/explorer/make_rosshell.dsp b/reactos/subsys/system/explorer/make_rosshell.dsp
new file mode 100644 (file)
index 0000000..b6787e3
--- /dev/null
@@ -0,0 +1,155 @@
+# Microsoft Developer Studio Project File - Name="make_rosshell" - Package Owner=<4>\r
+# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
+# ** DO NOT EDIT **\r
+\r
+# TARGTYPE "Win32 (x86) External Target" 0x0106\r
+\r
+CFG=make_rosshell - Win32 Release\r
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
+!MESSAGE use the Export Makefile command and run\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "make_rosshell.mak".\r
+!MESSAGE \r
+!MESSAGE You can specify a configuration when running NMAKE\r
+!MESSAGE by defining the macro CFG on the command line. For example:\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "make_rosshell.mak" CFG="make_rosshell - Win32 Release"\r
+!MESSAGE \r
+!MESSAGE Possible choices for configuration are:\r
+!MESSAGE \r
+!MESSAGE "make_rosshell - Win32 Release" (based on "Win32 (x86) External Target")\r
+!MESSAGE "make_rosshell - Win32 Debug" (based on "Win32 (x86) External Target")\r
+!MESSAGE "make_rosshell - Win32 Unicode Debug" (based on "Win32 (x86) External Target")\r
+!MESSAGE "make_rosshell - Win32 Unicode Release" (based on "Win32 (x86) External Target")\r
+!MESSAGE \r
+\r
+# Begin Project\r
+# PROP AllowPerConfigDependencies 0\r
+# PROP Scc_ProjName ""\r
+# PROP Scc_LocalPath ""\r
+\r
+!IF  "$(CFG)" == "make_rosshell - Win32 Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "Release"\r
+# PROP BASE Intermediate_Dir "Release"\r
+# PROP BASE Cmd_Line "NMAKE /f make_rosshell.mak"\r
+# PROP BASE Rebuild_Opt "/a"\r
+# PROP BASE Target_File "make_rosshell.exe"\r
+# PROP BASE Bsc_Name "make_rosshell.bsc"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "Release"\r
+# PROP Intermediate_Dir "Release"\r
+# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Make-rosshell.MinGW UNICODE=0"\r
+# PROP Rebuild_Opt "clean all"\r
+# PROP Target_File "rosshell.exe"\r
+# PROP Bsc_Name ""\r
+# PROP Target_Dir ""\r
+\r
+!ELSEIF  "$(CFG)" == "make_rosshell - Win32 Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "Debug"\r
+# PROP BASE Intermediate_Dir "Debug"\r
+# PROP BASE Cmd_Line "NMAKE /f make_rosshell.mak"\r
+# PROP BASE Rebuild_Opt "/a"\r
+# PROP BASE Target_File "make_rosshell.exe"\r
+# PROP BASE Bsc_Name "make_rosshell.bsc"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "Debug"\r
+# PROP Intermediate_Dir "Debug"\r
+# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Make-rosshell.MinGW UNICODE=0 DEBUG=1"\r
+# PROP Rebuild_Opt "clean all"\r
+# PROP Target_File "rosshell.exe"\r
+# PROP Bsc_Name "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=0 DEBUG=1"\r
+# PROP Target_Dir ""\r
+\r
+!ELSEIF  "$(CFG)" == "make_rosshell - Win32 Unicode Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "UDebug"\r
+# PROP BASE Intermediate_Dir "UDebug"\r
+# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1"\r
+# PROP BASE Rebuild_Opt "clean all"\r
+# PROP BASE Target_File "rosshell.exe"\r
+# PROP BASE Bsc_Name ""\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "UDebug"\r
+# PROP Intermediate_Dir "UDebug"\r
+# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1"\r
+# PROP Rebuild_Opt "clean all"\r
+# PROP Target_File "rosshell.exe"\r
+# PROP Bsc_Name ""\r
+# PROP Target_Dir ""\r
+\r
+!ELSEIF  "$(CFG)" == "make_rosshell - Win32 Unicode Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "URelease"\r
+# PROP BASE Intermediate_Dir "URelease"\r
+# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1"\r
+# PROP BASE Rebuild_Opt "clean all"\r
+# PROP BASE Target_File "rosshell.exe"\r
+# PROP BASE Bsc_Name ""\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "URelease"\r
+# PROP Intermediate_Dir "URelease"\r
+# PROP Cmd_Line "msdevfilt -gcc make -f Make-rosshell.MinGW UNICODE=1"\r
+# PROP Rebuild_Opt "clean all"\r
+# PROP Target_File "rosshell.exe"\r
+# PROP Bsc_Name ""\r
+# PROP Target_Dir ""\r
+\r
+!ENDIF \r
+\r
+# Begin Target\r
+\r
+# Name "make_rosshell - Win32 Release"\r
+# Name "make_rosshell - Win32 Debug"\r
+# Name "make_rosshell - Win32 Unicode Debug"\r
+# Name "make_rosshell - Win32 Unicode Release"\r
+\r
+!IF  "$(CFG)" == "make_rosshell - Win32 Release"\r
+\r
+!ELSEIF  "$(CFG)" == "make_rosshell - Win32 Debug"\r
+\r
+!ELSEIF  "$(CFG)" == "make_rosshell - Win32 Unicode Debug"\r
+\r
+!ELSEIF  "$(CFG)" == "make_rosshell - Win32 Unicode Release"\r
+\r
+!ENDIF \r
+\r
+# Begin Source File\r
+\r
+SOURCE=.\Jamfile\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=".\Make-rosshell.MinGW"\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\Makefile\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\Makefile.MinGW\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\Makefile.Wine\r
+# End Source File\r
+# End Target\r
+# End Project\r
diff --git a/reactos/subsys/system/explorer/rosshell.dsp b/reactos/subsys/system/explorer/rosshell.dsp
new file mode 100644 (file)
index 0000000..1e2f959
--- /dev/null
@@ -0,0 +1,608 @@
+# Microsoft Developer Studio Project File - Name="rosshell" - Package Owner=<4>\r
+# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
+# ** DO NOT EDIT **\r
+\r
+# TARGTYPE "Win32 (x86) Console Application" 0x0103\r
+\r
+CFG=rosshell - Win32 Debug\r
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
+!MESSAGE use the Export Makefile command and run\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "rosshell.mak".\r
+!MESSAGE \r
+!MESSAGE You can specify a configuration when running NMAKE\r
+!MESSAGE by defining the macro CFG on the command line. For example:\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "rosshell.mak" CFG="rosshell - Win32 Debug"\r
+!MESSAGE \r
+!MESSAGE Possible choices for configuration are:\r
+!MESSAGE \r
+!MESSAGE "rosshell - Win32 Release" (based on "Win32 (x86) Console Application")\r
+!MESSAGE "rosshell - Win32 Debug" (based on "Win32 (x86) Console Application")\r
+!MESSAGE "rosshell - Win32 Debug Release" (based on "Win32 (x86) Console Application")\r
+!MESSAGE "rosshell - Win32 Unicode Release" (based on "Win32 (x86) Console Application")\r
+!MESSAGE "rosshell - Win32 Unicode Debug" (based on "Win32 (x86) Console Application")\r
+!MESSAGE \r
+\r
+# Begin Project\r
+# PROP AllowPerConfigDependencies 0\r
+# PROP Scc_ProjName ""\r
+# PROP Scc_LocalPath ""\r
+CPP=cl.exe\r
+RSC=rc.exe\r
+\r
+!IF  "$(CFG)" == "rosshell - Win32 Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "Release"\r
+# PROP BASE Intermediate_Dir "Release"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "Release"\r
+# PROP Intermediate_Dir "Release"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GR /GX /O1 /D "NDEBUG" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /Yu"precomp.h" /FD /c\r
+# ADD BASE RSC /l 0x407 /d "NDEBUG"\r
+# ADD RSC /l 0x407 /d "NDEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386\r
+# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /machine:I386 /libpath:"Release" /delayload:oleaut32.dll /delayload:wsock32.dll\r
+# SUBTRACT LINK32 /pdb:none\r
+\r
+!ELSEIF  "$(CFG)" == "rosshell - Win32 Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "Debug"\r
+# PROP BASE Intermediate_Dir "Debug"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "Debug"\r
+# PROP Intermediate_Dir "Debug"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /FR /Yu"precomp.h" /FD /GZ /c\r
+# ADD BASE RSC /l 0x407 /d "_DEBUG"\r
+# ADD RSC /l 0x407 /d "_DEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept\r
+# ADD LINK32 kernel32.lib shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"Debug" /delayload:oleaut32.dll /delayload:wsock32.dll\r
+# SUBTRACT LINK32 /pdb:none\r
+\r
+!ELSEIF  "$(CFG)" == "rosshell - Win32 Debug Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "DRelease"\r
+# PROP BASE Intermediate_Dir "DRelease"\r
+# PROP BASE Ignore_Export_Lib 0\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "DRelease"\r
+# PROP Intermediate_Dir "DRelease"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_ROS_" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /D "NDEBUG" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /FR /Yu"precomp.h" /FD /c\r
+# ADD BASE RSC /l 0x407 /d "NDEBUG"\r
+# ADD RSC /l 0x407 /d "NDEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib shell32.lib /nologo /subsystem:console /machine:I386\r
+# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /delayload:oleaut32.dll /delayload:wsock32.dll\r
+# SUBTRACT LINK32 /pdb:none\r
+\r
+!ELSEIF  "$(CFG)" == "rosshell - Win32 Unicode Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "URelease"\r
+# PROP BASE Intermediate_Dir "URelease"\r
+# PROP BASE Ignore_Export_Lib 0\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "URelease"\r
+# PROP Intermediate_Dir "URelease"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "UNICODE" /D "_ROS_" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /D "NDEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /Yu"precomp.h" /FD /c\r
+# ADD BASE RSC /l 0x407 /d "NDEBUG"\r
+# ADD RSC /l 0x407 /d "NDEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib shell32.lib /nologo /subsystem:console /machine:I386\r
+# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /machine:I386 /libpath:"Release" /delayload:oleaut32.dll /delayload:wsock32.dll\r
+# SUBTRACT LINK32 /pdb:none\r
+\r
+!ELSEIF  "$(CFG)" == "rosshell - Win32 Unicode Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "UDebug"\r
+# PROP BASE Intermediate_Dir "UDebug"\r
+# PROP BASE Ignore_Export_Lib 0\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "UDebug"\r
+# PROP Intermediate_Dir "UDebug"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "UNICODE" /D "_ROS_" /FR /YX /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /FR /Yu"precomp.h" /FD /GZ /c\r
+# ADD BASE RSC /l 0x407 /d "_DEBUG"\r
+# ADD RSC /l 0x407 /d "_DEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib shell32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept\r
+# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"Debug" /delayload:oleaut32.dll /delayload:wsock32.dll\r
+# SUBTRACT LINK32 /pdb:none\r
+\r
+!ENDIF \r
+\r
+# Begin Target\r
+\r
+# Name "rosshell - Win32 Release"\r
+# Name "rosshell - Win32 Debug"\r
+# Name "rosshell - Win32 Debug Release"\r
+# Name "rosshell - Win32 Unicode Release"\r
+# Name "rosshell - Win32 Unicode Debug"\r
+# Begin Group "utility"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\dragdropimpl.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\dragdropimpl.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\shellbrowserimpl.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\shellbrowserimpl.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\shellclasses.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\shellclasses.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\treedroptarget.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\utility.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\utility.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\window.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\window.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\xmlstorage.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\utility\xmlstorage.h\r
+# End Source File\r
+# End Group\r
+# Begin Group "resources"\r
+\r
+# PROP Default_Filter "bmp,ico"\r
+# Begin Source File\r
+\r
+SOURCE=.\res\action.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\appicon.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\apps.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\arrow.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\arrow_dwn.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\arrow_up.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\arrowsel.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\computer.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\config.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\documents.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\dot.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\dot_red.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\dot_trans.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\drivebar.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=".\explorer-jp.rc"\r
+# PROP Exclude_From_Build 1\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\explorer.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\explorer_intres.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\explorer_intres.rc\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\favorites.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\floating.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\folder.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoali10.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig0.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig1.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig2.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig3.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig4.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig5.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig6.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig7.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig8.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\icoalig9.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\images.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\info.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\logoff.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\logov.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\logov16.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\logov256.bmp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\network.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\notify_l.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\notify_r.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\printer.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\reactos.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=".\res\ros-big.ico"\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=".\res\search-doc.ico"\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\search.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\speaker.ico\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\res\startmenu.ico\r
+# End Source File\r
+# End Group\r
+# Begin Group "taskbar"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\desktopbar.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\desktopbar.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\favorites.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\favorites.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\notifyhook\notifyhook.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\quicklaunch.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\quicklaunch.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\startmenu.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\startmenu.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\taskbar.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\taskbar.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\traynotify.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\taskbar\traynotify.h\r
+# End Source File\r
+# End Group\r
+# Begin Group "desktop"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=.\desktop\desktop.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\desktop\desktop.h\r
+# End Source File\r
+# End Group\r
+# Begin Group "shell"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\entries.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\entries.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\filechild.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\pane.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\pane.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\shellbrowser.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\shellfs.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\shellfs.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\winfs.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\shell\winfs.h\r
+# End Source File\r
+# End Group\r
+# Begin Group "dialogs"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=.\dialogs\searchprogram.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\dialogs\searchprogram.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\dialogs\settings.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\dialogs\settings.h\r
+# End Source File\r
+# End Group\r
+# Begin Group "main"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=.\explorer.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\explorer.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\externals.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\globals.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=".\i386-stub-win32.c"\r
+# SUBTRACT CPP /YX /Yc /Yu\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\precomp.cpp\r
+# ADD CPP /Yc"precomp.h"\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\precomp.h\r
+# End Source File\r
+# End Group\r
+# Begin Group "services"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=.\services\shellservices.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\services\shellservices.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\services\startup.c\r
+# SUBTRACT CPP /YX /Yc /Yu\r
+# End Source File\r
+# End Group\r
+# End Target\r
+# End Project\r
diff --git a/reactos/subsys/system/explorer/rosshell.dsw b/reactos/subsys/system/explorer/rosshell.dsw
new file mode 100644 (file)
index 0000000..a4b2104
--- /dev/null
@@ -0,0 +1,56 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00\r
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
+\r
+###############################################################################\r
+\r
+Project: "rosshell"=.\rosshell.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+    Begin Project Dependency\r
+    Project_Dep_Name notifyhook\r
+    End Project Dependency\r
+}}}\r
+\r
+###############################################################################\r
+\r
+Project: "make_rosshell"=.\make_rosshell.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
+Project: "notifyhook"=.\notifyhook\notifyhook.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
+Global:\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<3>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
index 3dfff9e..ab75f9d 100644 (file)
@@ -141,6 +141,7 @@ void Entry::read_directory_base(SORT_ORDER sortOrder, int scan_flags)
         // call into subclass
        read_directory(scan_flags);
 
+#ifndef ROSSHELL
        if (g_Globals._prescan_nodes) { //@todo _prescan_nodes should not be used for reading the start menu.
                for(Entry*entry=_down; entry; entry=entry->_next)
                        if (entry->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
@@ -148,6 +149,7 @@ void Entry::read_directory_base(SORT_ORDER sortOrder, int scan_flags)
                                entry->sort_directory(sortOrder);
                        }
        }
+#endif
 
        sort_directory(sortOrder);
 }
index 03968f6..2a00ded 100644 (file)
 #include "../dialogs/settings.h"
 
 
+#define        SHELLPATH_CONTROL_PANEL         TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}")
+#define        SHELLPATH_PRINTERS                      TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}")
+#define        SHELLPATH_NET_CONNECTIONS       TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}")
+
+
 StartMenu::StartMenu(HWND hwnd)
  :     super(hwnd)
 {
@@ -1856,6 +1861,7 @@ int StartMenuHandler::Command(int id, int code)
 
          case IDC_CONTROL_PANEL: {
                CloseStartMenu(id);
+#ifndef ROSSHELL
 #ifndef _NO_MDI
                XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
                bool mdi = XMLBool(explorer_options, "mdi", true);
@@ -1865,6 +1871,9 @@ int StartMenuHandler::Command(int id, int code)
                else
 #endif
                        SDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}"), 0);
+#else
+               launch_file(_hwnd, SHELLPATH_CONTROL_PANEL);
+#endif
                break;}
 
          case IDC_SETTINGS_MENU:
@@ -1873,6 +1882,8 @@ int StartMenuHandler::Command(int id, int code)
 
          case IDC_PRINTERS: {
                CloseStartMenu(id);
+
+#ifndef ROSSHELL
 #ifdef _ROS_   // to be removed when printer folder will be implemented
                MessageBox(0, TEXT("printer folder not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
 #else
@@ -1885,6 +1896,9 @@ int StartMenuHandler::Command(int id, int code)
                else
 #endif
                        SDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}"), 0);
+#endif
+#else
+               launch_file(_hwnd, SHELLPATH_PRINTERS);
 #endif
                break;}
 
@@ -1901,14 +1915,26 @@ int StartMenuHandler::Command(int id, int code)
                break;
 
          case IDC_ADMIN:
+#ifndef ROSSHELL
                CreateSubmenu(id, CSIDL_COMMON_ADMINTOOLS, CSIDL_ADMINTOOLS, ResString(IDS_ADMIN));
+               //CloseStartMenu(id);
+               //MainFrame::Create(SpecialFolderPath(CSIDL_COMMON_ADMINTOOLS, _hwnd), OWM_PIDL);
+#else
+               launch_file(_hwnd, SpecialFolderFSPath(CSIDL_COMMON_ADMINTOOLS, _hwnd));
+#endif
                break;
 
          case IDC_CONNECTIONS:
+#ifndef ROSSHELL
 #ifdef _ROS_   // to be removed when RAS will be implemented
                MessageBox(0, TEXT("RAS folder not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
 #else
                CreateSubmenu(id, CSIDL_CONNECTIONS, ResString(IDS_CONNECTIONS));
+               //CloseStartMenu(id);
+               //MainFrame::Create(SpecialFolderPath(CSIDL_CONNECTIONS, _hwnd), OWM_PIDL);
+#endif
+#else
+               launch_file(_hwnd, SHELLPATH_NET_CONNECTIONS);
 #endif
                break;
 
index db8af0f..51c7cf1 100644 (file)
@@ -199,9 +199,9 @@ using namespace _com_util;
 
 
  // launch a program or document file
-extern BOOL launch_file(HWND hwnd, LPCTSTR cmd, UINT nCmdShow, LPCTSTR parameters=NULL);
+extern BOOL launch_file(HWND hwnd, LPCTSTR cmd, UINT nCmdShow=SW_SHOWNORMAL, LPCTSTR parameters=NULL);
 #ifdef UNICODE
-extern BOOL launch_fileA(HWND hwnd, LPSTR cmd, UINT nCmdShow, LPCSTR parameters=NULL);
+extern BOOL launch_fileA(HWND hwnd, LPSTR cmd, UINT nCmdShow=SW_SHOWNORMAL, LPCSTR parameters=NULL);
 #else
 #define        launch_fileA launch_file
 #endif