--- /dev/null
-# ReactOS lean shell\r
+ #\r
-# Make-rosshell.MinGW\r
++# ReactOS shell\r
+ #\r
-CFLAGS = -DWIN32 -DROSSHELL -D_WIN32_IE=0x0501 -D_WIN32_WINNT=0x0501 -fexceptions -Wall -I.\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 += -DNDEBUG -Os -D_NO_CONTEXT\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
-VPATH = shell utility taskbar desktop dialogs\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
- settings.o\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
-LIBS = gdi32 comctl32 ole32 uuid\r
++ favorites.o \\r
++ searchprogram.o \\r
++ settings.o \\r
++ i386-stub-win32.o \\r
++ xmlstorage.o\r
+ \r
-$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)\r
- $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS))\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
-\r
-ever:\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
--- /dev/null
-# ReactOS lean shell\r
+ #\r
-# Windows is default host environment\r
-ifeq ($(HOST),)\r
-HOST = mingw32-windows\r
-endif\r
-\r
-ifeq ($(HOST),mingw32-linux)\r
-CC = mingw32-gcc\r
-CXX = mingw32-g++\r
-LINK = mingw32-g++\r
-RC = mingw32-windres\r
-CD_PREFIX := ./\r
-PREFIX = mingw32-\r
-EXE_POSTFIX :=\r
-EXE_PREFIX := ./\r
-endif\r
-\r
-ifeq ($(HOST),mingw32-windows)\r
-CC = gcc\r
-CXX = g++\r
-LINK = g++\r
-RC = windres\r
-CD_PREFIX := \r
-PREFIX =\r
-EXE_PREFIX :=\r
-EXE_POSTFIX := .exe\r
-endif\r
-\r
-PATH_TO_TOP = ../../..\r
-TOOLS_PATH = $(PATH_TO_TOP)/tools\r
-\r
-ifndef UNICODE\r
-UNICODE = 1\r
-endif\r
-\r
-CFLAGS = -I./ -DWIN32 -D_ROS_ -D_WIN32_IE=0x0501 -D_WIN32_WINNT=0x0501 -fexceptions -Wall\r
-RCFLAGS = -DWIN32 -D_ROS_ -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 -D_NO_CONTEXT\r
-RCFLAGS += -DNDEBUG\r
-LFLAGS += -s\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\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
- desktop.o \\r
- desktopbar.o \\r
- taskbar.o \\r
- startmenu.o \\r
- traynotify.o \\r
- quicklaunch.o \\r
- settings.o\r
-\r
-LIBS = gdi32 comctl32 ole32 uuid\r
-\r
-.PHONY: all depends implib clean install dist bootcd depends\r
-\r
-all: $(TARGET)\r
-\r
-ever:\r
-\r
-$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)\r
- $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS))\r
++# ReactOS shell\r
+ #\r
+ # Makefile\r
+ #\r
+ \r
-$(PROGRAM)$(RES_SUFFIX): explorer_intres.rc res/*.bmp res/*.ico\r
- $(RC) $(RCFLAGS) -o $@ explorer_intres.rc\r
++PATH_TO_TOP := ../../..\r
+ \r
-clean:\r
- $(TOOLS_PATH)/rdel $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) \\r
- desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o\r
++TARGET_TYPE := program\r
+ \r
-# Use environment var ROS_INSTALL to override default install dir\r
-ifneq ($(ROS_INSTALL),)\r
-INSTALL_DIR = $(ROS_INSTALL)\r
-else\r
-ifeq ($(HOST),mingw32-windows)\r
-INSTALL_DIR = C:/reactos\r
-else\r
-INSTALL_DIR = $(PATH_TO_TOP)/reactos\r
-endif\r
-endif\r
++TARGET_APPTYPE := windows\r
+ \r
-implib:\r
++TARGET_NAME := rosshell\r
+ \r
-install:\r
- -$(TOOLS_PATH)/rcopy $(TARGET) $(INSTALL_DIR)/$(TARGET)\r
++TARGET_INSTALLDIR := .\r
+ \r
-bootcd:\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
-# dependency scanning\r
++TARGET_CPPFLAGS := $(TARGET_CFLAGS)\r
+ \r
++TARGET_RCFLAGS := -D__USE_W32API -DWIN32 -D_ROS_ -D__WINDRES__\r
+ \r
-DEP_FILTERED := $(filter-out $(DEP_EXCLUDE_FILTER), $(OBJECTS:.o=.d))\r
-DEP_FILES := $(join $(dir $(DEP_FILTERED)), $(addprefix ., $(notdir $(DEP_FILTERED))))\r
-\r
-ifneq ($(MAKECMDGOALS),clean)\r
--include $(DEP_FILES)\r
-endif\r
-\r
-ifeq ($(HOST),mingw32-windows)\r
-DEPENDS_EXE := ..\..\..\tools\depends\r
-else\r
-DEPENDS_EXE := $(TOOLS_PATH)/depends\r
-endif\r
-\r
-.%.d: %.c $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)\r
- $(CC) $(CFLAGS) -M $< | $(DEPENDS_EXE) $(@D) $@\r
-\r
-.%.d: %.cpp $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)\r
- $(CC) $(CFLAGS) -M $< | $(DEPENDS_EXE) $(@D) $@\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
all: $(TARGET)
-$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)
- $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS))
+$(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
+ $(CC) -D_WIN32_IE=0x0600 -Wall -D_NOTIFYHOOK_IMPL -Os -s notifyhook/notifyhook.c -shared -o $@
+
clean:
rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) \
desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o
precomp.h.gch: *.h utility/*.h shell/*.h desktop/*.h
$(CXX) $(CFLAGS) precomp.h
-$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)
- $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS))
+$(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 $@
+
clean:
rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) precomp.h.gch \
desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o
HRESULT DesktopWindow::OnDefaultCommand(LPIDA pida)
{
- if (MainFrame::OpenShellFolders(pida, 0))
+ #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;
}
g_Globals._prescan_nodes = false;
- // create main window
- HWND hMainFrame = MainFrame::Create();
-
- if (hMainFrame) {
- g_Globals._hMainWnd = hMainFrame;
-
- ShowWindow(hMainFrame, cmdshow);
- UpdateWindow(hMainFrame);
+ XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
+ XS_String mdiStr = XMLString(explorer_options, "mdi");
- bool valid_dir = false;
+ if (mdiStr.empty())
+ Dialog::DoModal(IDD_MDI_SDI, WINDOW_CREATOR(MdiSdiDlg), g_Globals._hwndDesktop);
- if (lpCmdLine) {
- DWORD attribs = GetFileAttributes(lpCmdLine);
+ bool mdi = XMLBool(explorer_options, "mdi", true);
- if (attribs!=INVALID_FILE_ATTRIBUTES && (attribs&FILE_ATTRIBUTE_DIRECTORY))
- valid_dir = true;
- else if (*lpCmdLine==':' || *lpCmdLine=='"')
- valid_dir = true;
- }
-
- // Open the first child window after initializing the application
- if (valid_dir)
- PostMessage(hMainFrame, PM_OPEN_WINDOW, 0, (LPARAM)lpCmdLine);
- else
- PostMessage(hMainFrame, PM_OPEN_WINDOW, 0/*OWM_EXPLORE|OWM_DETAILS*/, 0);
- }
+ // create main window
+ 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)
{
// register frame window class
g_Globals._hframeClass = IconWindowClass(CLASSNAME_FRAME,IDI_EXPLORER);
- // register child windows class
+ // register child window class
WindowClass(CLASSNAME_CHILDWND, CS_CLASSDC|CS_DBLCLKS|CS_VREDRAW).Register();
- // register tree windows class
+ // register tree window class
WindowClass(CLASSNAME_WINEFILETREE, CS_CLASSDC|CS_DBLCLKS|CS_VREDRAW).Register();
+ #endif
g_Globals._cfStrFName = RegisterClipboardFormat(CFSTR_FILENAME);
}
// another undocumented event: "Global\\msgina: ReturnToWelcome"
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
if (g_SHDOCVW_ShellDDEInit)
(*g_SHDOCVW_ShellDDEInit)(TRUE);
g_Globals._desktops.init();
g_Globals._hwndDesktop = DesktopWindow::Create();
+#ifdef _USE_HDESK
+ g_Globals._desktops.get_current_Desktop()->_hwndDesktop = g_Globals._hwndDesktop;
+#endif
+ }
- if (g_Globals._hwndDesktop)
- g_Globals._desktop_mode = true;
-
- /**TODO launching autostart programs can be moved into a background thread. */
- if (autostart) {
- char* argv[] = {"", "s"}; // call startup routine in SESSION_START mode
- startup(2, argv);
- }
+ Thread* pSSOThread = NULL;
+
+ if (startup_desktop) {
+ // launch SSO thread to allow message processing independent from the explorer main thread
+ pSSOThread = new SSOThread;
+ pSSOThread->Start();
+ }
+
+ /**TODO launching autostart programs can be moved into a background thread. */
+ if (autostart) {
+ char* argv[] = {"", "s"}; // call startup routine in SESSION_START mode
+ 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';
}
-
- if (g_Globals._hwndDesktop)
- g_Globals._desktop_mode = true;
+ #endif
+
+
int ret = explorer_main(hInstance, lpCmdLine, nShowCmd);
- // shutdown the shell DDE server
- if (g_SHDOCVW_ShellDDEInit)
- (*g_SHDOCVW_ShellDDEInit)(FALSE);
+ // write configuration file
+ g_Globals.write_persistent();
+
+ if (pSSOThread) {
+ pSSOThread->Stop();
+ delete pSSOThread;
+ }
+
+ if (!any_desktop_running) {
+ // shutdown the shell DDE server
+ if (g_SHDOCVW_ShellDDEInit)
+ (*g_SHDOCVW_ShellDDEInit)(FALSE);
+ }
return ret;
}
#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"
#define CLASSNAME_WINEFILETREE TEXT("WFS_Tree")
+#include "shell/pane.h"
+#include "shell/filechild.h"
#include "shell/shellbrowser.h"
+
+ #ifndef ROSSHELL
#include "shell/mainframe.h"
+ #endif
// 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"
IDB_LOGOV16 BITMAP DISCARDABLE "res/logov16.bmp"
3 TEXTINCLUDE DISCARDABLE
BEGIN
- "IDB_TOOLBAR BITMAP DISCARDABLE ""res/toolbar.bmp""\r\n"
++ "#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"
{
ExplorerGlobals();
- void init(HINSTANCE hInstance);
+ void init(HINSTANCE hInstance);
+
+ void read_persistent();
+ void write_persistent();
+
+ XMLPos get_cfg();
+ 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;
--- /dev/null
-# PROP Target_File "explorer.exe"\r
+ # 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 "explorer.exe"\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 BASE Target_File "explorer.exe"\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 Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Make-rosshell.MinGW UNICODE=1 DEBUG=1"\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 Target_File "explorer.exe"\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 BASE Target_File "explorer.exe"\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 Cmd_Line "make -f Make-rosshell.MinGW UNICODE=1"\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 Target_File "explorer.exe"\r
++# PROP Cmd_Line "msdevfilt -gcc make -f Make-rosshell.MinGW UNICODE=1"\r
+ # PROP Rebuild_Opt "clean all"\r
-SOURCE=".\Make-rosshell.mak"\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
--- /dev/null
-CFG=rosshell - Win32 Release\r
+ # 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
-!MESSAGE NMAKE /f "rosshell.mak" CFG="rosshell - Win32 Release"\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
-# ADD CPP /nologo /MD /W3 /GR /GX /O1 /D "NDEBUG" /D "_NO_CONTEXT" /D "WIN32" /D _WIN32_IE=0x0501 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /Yu"precomp.h" /FD /c\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 LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib /nologo /subsystem:windows /machine:I386\r
-# SUBTRACT LINK32 /pdb:none /force\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 CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D _WIN32_IE=0x0501 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /FR /Yu"precomp.h" /FD /GZ /c\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 LINK32 kernel32.lib shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept\r
-# SUBTRACT LINK32 /pdb:none /force\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 CPP /nologo /MD /W3 /GR /GX /O2 /D "NDEBUG" /D "UNICODE" /D "_NO_CONTEXT" /D "WIN32" /D _WIN32_IE=0x0501 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /Yu"precomp.h" /FD /c\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 LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib /nologo /subsystem:windows /machine:I386\r
-# SUBTRACT LINK32 /pdb:none /force\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 CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0501 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /FR /Yu"precomp.h" /FD /GZ /c\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 LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept\r
-# SUBTRACT LINK32 /pdb:none /force\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
-SOURCE=.\res\printer.ico\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\reactos.ico\r
++SOURCE=.\res\notify_l.ico\r
+ # End Source File\r
+ # Begin Source File\r
+ \r
-SOURCE=".\res\ros-big.ico"\r
++SOURCE=.\res\notify_r.ico\r
+ # End Source File\r
+ # Begin Source File\r
+ \r
-SOURCE=".\rosshell-jp.rc"\r
-# PROP Exclude_From_Build 1\r
++SOURCE=.\res\printer.ico\r
+ # End Source File\r
+ # Begin Source File\r
+ \r
-SOURCE=.\res\rosshell.ico\r
++SOURCE=.\res\reactos.ico\r
+ # End Source File\r
+ # Begin Source File\r
+ \r
-SOURCE=.\res\startmenu.ico\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\toolbar.bmp\r
++SOURCE=.\res\speaker.ico\r
+ # End Source File\r
+ # Begin Source File\r
+ \r
-SOURCE=.\shell\shellbrowser.h\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\shellfs.cpp\r
++SOURCE=.\shell\filechild.h\r
+ # End Source File\r
+ # Begin Source File\r
+ \r
-SOURCE=.\shell\shellfs.h\r
++SOURCE=.\shell\pane.cpp\r
+ # End Source File\r
+ # Begin Source File\r
+ \r
-SOURCE=.\shell\startup.c\r
-# SUBTRACT CPP /YX /Yc /Yu\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
--- /dev/null
+ 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
ExplorerPropertySheet(g_Globals._hwndDesktopBar);
break;
- case IDC_CONTROL_PANEL:
+ case IDC_CONTROL_PANEL: {
CloseStartMenu(id);
- MainFrame::Create(SHELLPATH_CONTROL_PANEL, 0);
+ #ifndef ROSSHELL
+#ifndef _NO_MDI
+ XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
+ bool mdi = XMLBool(explorer_options, "mdi", true);
+
+ if (mdi)
+ MDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}"), 0);
+ 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:
+ CreateSubmenu(id, CSIDL_CONTROLS, ResString(IDS_SETTINGS_MENU));
break;
- case IDC_PRINTERS:
+ case IDC_PRINTERS: {
CloseStartMenu(id);
- MainFrame::Create(SpecialFolderPath(CSIDL_PRINTERS, _hwnd), OWM_PIDL);
++
+ #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
+#ifndef _NO_MDI
+ XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
+ bool mdi = XMLBool(explorer_options, "mdi", true);
+
+ if (mdi)
+ MDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}"), 0);
+ 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;}
+
+ case IDC_PRINTERS_MENU:
+ CreateSubmenu(id, CSIDL_PRINTERS, CSIDL_PRINTHOOD, ResString(IDS_PRINTERS));
+/* StartMenuFolders new_folders;
+
+ try {
+ new_folders.push_back(ShellPath(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}")));
+ } catch(COMException&) {
+ }
+
+ CreateSubmenu(id, new_folders, ResString(IDS_PRINTERS));*/
+ 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:
- CloseStartMenu(id);
+ #ifndef ROSSHELL
- MainFrame::Create(SpecialFolderPath(CSIDL_CONNECTIONS, _hwnd), OWM_PIDL);
+#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;
#endif // _MSC_VER && !_NO_COMUTIL
- extern BOOL launch_file(HWND hwnd, LPCTSTR cmd, UINT nCmdShow, LPCTSTR parameters=NULL);
+ // launch a program or document file
- extern BOOL launch_fileA(HWND hwnd, LPSTR cmd, UINT nCmdShow, LPCSTR 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=SW_SHOWNORMAL, LPCSTR parameters=NULL);
+#else
+#define launch_fileA launch_file
+#endif
+
+ // call an DLL export like rundll32
+extern BOOL RunDLL(HWND hwnd, LPCTSTR dllname, LPCSTR procname, LPCTSTR cmdline, UINT nCmdShow);
+
+ // launch control panel applet
+extern BOOL launch_cpanel(HWND hwnd, LPCTSTR applet);
+
+
/// initialization of windows common controls
struct CommonControlInit
{