lean explorer: - simplfy SCAN flags - disable WINFS in favor to code size using only shell namespace Modified: branches/lean-explorer/reactos/subsys/system/explorer/explorer.dsp Modified: branches/lean-explorer/reactos/subsys/system/explorer/explorer.h Modified: branches/lean-explorer/reactos/subsys/system/explorer/rosshell.dsp Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/entries.cpp Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/entries.h Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/mainframe.cp p Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/shellbrowser .cpp Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/shellfs.cpp Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/shellfs.h Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/winfs.cpp Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/winfs.h Modified: branches/lean-explorer/reactos/subsys/system/explorer/taskbar/quicklaunc h.cpp Modified: branches/lean-explorer/reactos/subsys/system/explorer/taskbar/startmenu. cpp Modified: branches/lean-explorer/reactos/subsys/system/explorer/taskbar/startmenu. h _____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/explorer.dsp --- branches/lean-explorer/reactos/subsys/system/explorer/explorer.dsp 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/explorer.dsp 2005-12-31 13:37:09 UTC (rev 20481) @@ -416,6 +416,7 @@
# Begin Source File
SOURCE=.\shell\winfs.cpp +# PROP Exclude_From_Build 1 # End Source File # Begin Source File
_____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/explorer.h --- branches/lean-explorer/reactos/subsys/system/explorer/explorer.h 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/explorer.h 2005-12-31 13:37:09 UTC (rev 20481) @@ -26,11 +26,20 @@
//
+#define _LIGHT_STARTMENU +//#define _LAZY_ICONEXTRACT +//#define _SINGLE_ICONEXTRACT +#define _NO_WIN_FS + + #include "utility/shellclasses.h"
#include "shell/entries.h"
+#ifndef _NO_WIN_FS #include "shell/winfs.h" +#endif + #include "shell/shellfs.h"
#include "utility/window.h" _____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/rosshell.dsp --- branches/lean-explorer/reactos/subsys/system/explorer/rosshell.dsp 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/rosshell.dsp 2005-12-31 13:37:09 UTC (rev 20481) @@ -233,6 +233,11 @@
# End Source File # Begin Source File
+SOURCE=".\explorer-jp.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + SOURCE=.\res\explorer.ico # End Source File # Begin Source File @@ -297,11 +302,6 @@ # End Source File # Begin Source File
-SOURCE=".\explorer-jp.rc" -# PROP Exclude_From_Build 1 -# End Source File -# Begin Source File - SOURCE=.\res\rosshell.ico # End Source File # Begin Source File @@ -408,6 +408,7 @@ # Begin Source File
SOURCE=.\shell\winfs.cpp +# PROP Exclude_From_Build 1 # End Source File # Begin Source File
_____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/entries.cpp --- branches/lean-explorer/reactos/subsys/system/explorer/shell/entries.cpp 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/shell/entries.cpp 2005-12-31 13:37:09 UTC (rev 20481) @@ -30,8 +30,12 @@
// allocate and initialise a directory entry +#ifndef _NO_WIN_FS Entry::Entry(ENTRY_TYPE etype) : _etype(etype) +#else +Entry::Entry() +#endif { _up = NULL; _next = NULL; @@ -46,9 +50,14 @@ _content = NULL; }
+#ifndef _NO_WIN_FS Entry::Entry(Entry* parent, ENTRY_TYPE etype) : _up(parent), _etype(etype) +#else +Entry::Entry(Entry* parent) + : _up(parent) +#endif { _next = NULL; _down = NULL; @@ -83,7 +92,9 @@ _type_name = other._type_name? _tcsdup(other._type_name): NULL; _content = other._content? _tcsdup(other._content): NULL;
+#ifndef _NO_WIN_FS _etype = other._etype; +#endif _icon_id = other._icon_id;
_bhfi = other._bhfi; _____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/entries.h --- branches/lean-explorer/reactos/subsys/system/explorer/shell/entries.h 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/shell/entries.h 2005-12-31 13:37:09 UTC (rev 20481) @@ -26,11 +26,12 @@
//
+#ifndef _NO_WIN_FS enum ENTRY_TYPE { - ET_UNKNOWN, ET_WINDOWS, ET_SHELL }; +#endif
enum SORT_ORDER { SORT_NONE, @@ -41,12 +42,8 @@ };
enum SCAN_FLAGS { - SCAN_EXTRACT_ICONS = 1, - SCAN_DO_ACCESS = 2, - - SCAN_ALL = 3, - - SCAN_FILESYSTEM = 4 + SCAN_DONT_EXTRACT_ICONS = 1, + SCAN_DONT_ACCESS = 2 };
#ifndef ATTRIBUTE_SYMBOLIC_LINK @@ -62,8 +59,13 @@ struct Entry { protected: +#ifndef _NO_WIN_FS Entry(ENTRY_TYPE etype); Entry(Entry* parent, ENTRY_TYPE etype); +#else + Entry(); + Entry(Entry* parent); +#endif Entry(const Entry&);
public: @@ -84,7 +86,9 @@ LPTSTR _type_name; LPTSTR _content;
+#ifndef _NO_WIN_FS ENTRY_TYPE _etype; +#endif int /*ICON_ID*/ _icon_id;
BY_HANDLE_FILE_INFORMATION _bhfi; @@ -92,14 +96,14 @@
void free_subentries();
- void read_directory(SORT_ORDER sortOrder, int scan_flags=SCAN_ALL); + void read_directory(SORT_ORDER sortOrder, int scan_flags=0); Entry* read_tree(const void* path, SORT_ORDER sortOrder); void sort_directory(SORT_ORDER sortOrder); - void smart_scan(int scan_flags=SCAN_ALL); + void smart_scan(int scan_flags=0); int extract_icon(); int safe_extract_icon();
- virtual void read_directory(int scan_flags=SCAN_ALL) {} + virtual void read_directory(int scan_flags=0) {} virtual const void* get_next_path_component(const void*) const {return NULL;} virtual Entry* find_entry(const void*) {return NULL;} virtual bool get_path(PTSTR path) const = 0; _____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/mainframe.cp p --- branches/lean-explorer/reactos/subsys/system/explorer/shell/mainframe.cp p 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/shell/mainframe.cp p 2005-12-31 13:37:09 UTC (rev 20481) @@ -175,7 +175,6 @@
} else { _create_info._open_mode = mode; _create_info._shell_path = path; - _create_info._root_shell_path = SpecialFolderPath(CSIDL_DRIVES, _hwnd); //@@
update_explorer_view(); } @@ -192,7 +191,6 @@ } else { _create_info._open_mode = mode; _create_info._shell_path = path; - _create_info._root_shell_path = SpecialFolderPath(CSIDL_DRIVES, _hwnd); //@@
update_explorer_view(); } @@ -305,6 +303,11 @@ path = buffer; }
+ if (wparam & OWM_ROOTED) + _create_info._root_shell_path = shell_path; + else + _create_info._root_shell_path = SpecialFolderPath(CSIDL_DRIVES, _hwnd); + jump_to(shell_path, (OPEN_WINDOW_MODE)wparam); return TRUE;} // success
_____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/shellbrowser .cpp --- branches/lean-explorer/reactos/subsys/system/explorer/shell/shellbrowser .cpp 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/shell/shellbrowser .cpp 2005-12-31 13:37:09 UTC (rev 20481) @@ -263,13 +263,18 @@
if (itemData) { Entry* entry = (Entry*)itemData;
- if (entry->_etype == ET_SHELL) { +#ifndef _NO_WIN_FS + if (entry->_etype == ET_SHELL) +#endif + { ShellDirectory* dir = static_cast<ShellDirectory*>(entry->_up); ShellFolder folder = dir? dir->_folder: GetDesktopFolder(); LPCITEMIDLIST pidl = static_cast<ShellEntry*>(entry)->_pidl;
CHECKERROR(ShellFolderContextMenu(folder, _hwnd, 1, &pidl, pptScreen->x, pptScreen->y, _cm_ifs)); - } else { + } +#ifndef _NO_WIN_FS + else { ShellPath shell_path = entry->create_absolute_pidl(); LPCITEMIDLIST pidl_abs = shell_path;
@@ -287,6 +292,7 @@
CHECKERROR(hr); } +#endif } }
@@ -301,16 +307,19 @@ if (lpdi->item.mask & TVIF_TEXT) lpdi->item.pszText = entry->_display_name;
- if (lpdi->item.mask & (TVIF_IMAGE|TVIF_SELECTEDIMAGE)) { - ShellPath pidl_abs = entry->create_absolute_pidl(); // Caching of absolute PIDLs could enhance performance. - LPCITEMIDLIST pidl = pidl_abs; + if (lpdi->item.mask & (TVIF_IMAGE|TVIF_SELECTEDIMAGE)) + try { + ShellPath pidl_abs = entry->create_absolute_pidl(); // Caching of absolute PIDLs could enhance performance. + LPCITEMIDLIST pidl = pidl_abs;
- if (lpdi->item.mask & TVIF_IMAGE) - lpdi->item.iImage = get_entry_image(entry, pidl, SHGFI_SMALLICON, _image_map); + if (lpdi->item.mask & TVIF_IMAGE) + lpdi->item.iImage = get_entry_image(entry, pidl, SHGFI_SMALLICON, _image_map);
- if (lpdi->item.mask & TVIF_SELECTEDIMAGE) - lpdi->item.iSelectedImage = get_entry_image(entry, pidl, SHGFI_SMALLICON|SHGFI_OPENICON, _image_map_open); - } + if (lpdi->item.mask & TVIF_SELECTEDIMAGE) + lpdi->item.iSelectedImage = get_entry_image(entry, pidl, SHGFI_SMALLICON|SHGFI_OPENICON, _image_map_open); + } catch(COMException&) { + // ignore exception + } } }
@@ -662,7 +671,9 @@ Entry* entry = parent->find_entry(pidl);
if (entry && (entry->_data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)) +#ifndef _NO_WIN_FS if (entry->_etype == ET_SHELL) +#endif if (expand_folder(static_cast<ShellDirectory*>(entry))) return S_OK; } @@ -748,14 +759,17 @@ } }
- // in case of any problem directly call UpdateFolderView() + // If not already called, now directly call UpdateFolderView() using pidl. if (!entry) UpdateFolderView(ShellFolder(pidl)); }
void ShellBrowserChild::jump_to(Entry* entry) { - if (entry->_etype == ET_SHELL) { +#ifndef _NO_WIN_FS + if (entry->_etype == ET_SHELL) +#endif + { IShellFolder* folder; ShellDirectory* se = static_cast<ShellDirectory*>(entry);
@@ -769,8 +783,13 @@ return; }
- UpdateFolderView(folder); + if (_create_info._open_mode & OWM_EXPLORE) {
+ //@@ todo + + } else; + UpdateFolderView(folder); + _cur_dir = se; } } _____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/shellfs.cpp --- branches/lean-explorer/reactos/subsys/system/explorer/shell/shellfs.cpp 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/shell/shellfs.cpp 2005-12-31 13:37:09 UTC (rev 20481) @@ -110,13 +110,19 @@
CONTEXT("ShellEntry::create_absolute_pidl()");
if (_up) - if (_up->_etype == ET_SHELL) { +#ifndef _NO_WIN_FS + if (_up->_etype == ET_SHELL) +#endif + { ShellDirectory* dir = static_cast<ShellDirectory*>(_up);
if (dir->_pidl->mkid.cb) // Caching of absolute PIDLs could enhance performance. return _pidl.create_absolute_pidl(dir->create_absolute_pidl()); - } else + } +#ifndef _NO_WIN_FS + else return _pidl.create_absolute_pidl(_up->create_absolute_pidl()); +#endif
return _pidl; } @@ -217,9 +223,10 @@ /*if (_folder.empty()) return;*/
+#ifndef _NO_WIN_FS TCHAR buffer[MAX_PATH];
- if ((scan_flags&SCAN_FILESYSTEM) && get_path(buffer)) { + if (get_path(buffer)) { Entry* entry = NULL; // eliminate useless GCC warning by initializing entry
LPTSTR p = buffer + _tcslen(buffer); @@ -259,7 +266,7 @@
entry->_level = level;
- if (scan_flags & SCAN_DO_ACCESS) { + if (!(scan_flags & SCAN_DONT_ACCESS)) { HANDLE hFile = CreateFile(buffer, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
@@ -277,7 +284,7 @@ DWORD attribs = SFGAO_FILESYSTEM;
if (w32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) - attribs |= SFGAO_FOLDER; + attribs |= SFGAO_FOLDER|SFGAO_HASSUBFOLDER;
if (w32fd.dwFileAttributes & FILE_ATTRIBUTE_READONLY) attribs |= SFGAO_READONLY; @@ -297,7 +304,7 @@
if (w32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) entry->_icon_id = ICID_FOLDER; - else if (scan_flags & SCAN_EXTRACT_ICONS) + else if (!(scan_flags & SCAN_DONT_EXTRACT_ICONS)) entry->_icon_id = entry->safe_extract_icon();
last = entry; @@ -306,7 +313,10 @@ FindClose(hFind); }
- } else { // !SCAN_FILESYSTEM + } + else // no file system path +#endif + {
ShellItemEnumerator enumerator(_folder, SHCONTF_FOLDERS|SHCONTF_NONFOLDERS|SHCONTF_INCLUDEHIDDEN|SHCONTF_SHAREAB LE|SHCONTF_STORAGE);
@@ -346,7 +356,7 @@ if (attribs & SFGAO_REMOVABLE) { attribs |= SFGAO_HASSUBFOLDER; removeable = true; - } else if (scan_flags & SCAN_DO_ACCESS) { + } else if (!(scan_flags & SCAN_DONT_ACCESS)) { DWORD attribs2 = SFGAO_READONLY;
HRESULT hr = _folder->GetAttributesOf(1, (LPCITEMIDLIST*)&pidls[n], &attribs2); @@ -358,7 +368,7 @@ attribs = 0;
bhfi_valid = fill_w32fdata_shell(pidls[n], attribs, &w32fd, &bhfi, - (scan_flags&SCAN_DO_ACCESS) && !removeable); + !(scan_flags&SCAN_DONT_ACCESS) && !removeable);
try { Entry* entry = NULL; // eliminate useless GCC warning by initializing entry @@ -399,7 +409,7 @@ // get icons for files and virtual objects if (!(entry->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) || !(attribs & SFGAO_FILESYSTEM)) { - if (scan_flags & SCAN_EXTRACT_ICONS) + if (!(scan_flags & SCAN_DONT_EXTRACT_ICONS)) entry->_icon_id = entry->safe_extract_icon(); } else if (entry->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) entry->_icon_id = ICID_FOLDER; @@ -439,7 +449,10 @@ LPITEMIDLIST pidl = (LPITEMIDLIST) p;
for(Entry*entry=_down; entry; entry=entry->_next) - if (entry->_etype == ET_SHELL) { +#ifndef _NO_WIN_FS + if (entry->_etype == ET_SHELL) +#endif + { ShellEntry* se = static_cast<ShellEntry*>(entry);
if (se->_pidl && se->_pidl->mkid.cb==pidl->mkid.cb && !memcmp(se->_pidl, pidl, se->_pidl->mkid.cb)) _____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/shellfs.h --- branches/lean-explorer/reactos/subsys/system/explorer/shell/shellfs.h 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/shell/shellfs.h 2005-12-31 13:37:09 UTC (rev 20481) @@ -29,8 +29,13 @@
/// shell file/directory entry struct ShellEntry : public Entry { +#ifndef _NO_WIN_FS ShellEntry(Entry* parent, LPITEMIDLIST shell_path) : Entry(parent, ET_SHELL), _pidl(shell_path) {} ShellEntry(Entry* parent, const ShellPath& shell_path) : Entry(parent, ET_SHELL), _pidl(shell_path) {} +#else + ShellEntry(Entry* parent, LPITEMIDLIST shell_path) : Entry(parent), _pidl(shell_path) {} + ShellEntry(Entry* parent, const ShellPath& shell_path) : Entry(parent), _pidl(shell_path) {} +#endif
virtual bool get_path(PTSTR path) const; virtual ShellPath create_absolute_pidl() const; @@ -42,8 +47,13 @@ ShellPath _pidl; // parent relative PIDL
protected: +#ifndef _NO_WIN_FS ShellEntry(LPITEMIDLIST shell_path) : Entry(ET_SHELL), _pidl(shell_path) {} ShellEntry(const ShellPath& shell_path) : Entry(ET_SHELL), _pidl(shell_path) {} +#else + ShellEntry(LPITEMIDLIST shell_path) : _pidl(shell_path) {} + ShellEntry(const ShellPath& shell_path) : _pidl(shell_path) {} +#endif };
@@ -98,7 +108,7 @@ pFolder->Release(); }
- virtual void read_directory(int scan_flags=SCAN_ALL); + virtual void read_directory(int scan_flags=0); virtual const void* get_next_path_component(const void*) const; virtual Entry* find_entry(const void* p);
_____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/winfs.cpp --- branches/lean-explorer/reactos/subsys/system/explorer/shell/winfs.cpp 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/shell/winfs.cpp 2005-12-31 13:37:09 UTC (rev 20481) @@ -51,6 +51,17 @@
if (hFind != INVALID_HANDLE_VALUE) { do { + // ignore hidden files (usefull in the start menu) + if (w32fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) + continue; + + // ignore directory entries "." and ".." + if ((w32fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) && + w32fd.cFileName[0]==TEXT('.') && + (w32fd.cFileName[1]==TEXT('\0') || + (w32fd.cFileName[1]==TEXT('.') && w32fd.cFileName[2]==TEXT('\0')))) + continue; + lstrcpy(pname+1, w32fd.cFileName);
if (w32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) @@ -70,7 +81,7 @@ // display file type names, but don't hide file extensions g_Globals._ftype_mgr.set_type(entry, true);
- if (scan_flags & SCAN_DO_ACCESS) { + if (!(scan_flags & SCAN_DONT_ACCESS)) { HANDLE hFile = CreateFile(buffer, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
@@ -85,7 +96,8 @@ last = entry; // There is always at least one entry, because FindFirstFile() succeeded and we don't filter the file entries. } while(FindNextFile(hFind, &w32fd));
- last->_next = NULL; + if (last) + last->_next = NULL;
FindClose(hFind); } _____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/shell/winfs.h --- branches/lean-explorer/reactos/subsys/system/explorer/shell/winfs.h 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/shell/winfs.h 2005-12-31 13:37:09 UTC (rev 20481) @@ -60,7 +60,7 @@
_path = NULL; }
- virtual void read_directory(int scan_flags=SCAN_ALL); + virtual void read_directory(int scan_flags=0); virtual const void* get_next_path_component(const void* p) const; virtual Entry* find_entry(const void*); }; _____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/taskbar/quicklaunc h.cpp --- branches/lean-explorer/reactos/subsys/system/explorer/taskbar/quicklaunc h.cpp 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/taskbar/quicklaunc h.cpp 2005-12-31 13:37:09 UTC (rev 20481) @@ -104,7 +104,7 @@
RecursiveCreateDirectory(path); _dir = new ShellDirectory(GetDesktopFolder(), path, _hwnd);
- _dir->smart_scan(SCAN_EXTRACT_ICONS|SCAN_FILESYSTEM); + _dir->smart_scan(SCAN_DONT_ACCESS); } catch(COMException&) { return; } _____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/taskbar/startmenu. cpp --- branches/lean-explorer/reactos/subsys/system/explorer/taskbar/startmenu. cpp 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/taskbar/startmenu. cpp 2005-12-31 13:37:09 UTC (rev 20481) @@ -211,9 +211,9 @@
WaitCursor wait;
#ifdef _LAZY_ICONEXTRACT - dir.smart_scan(SCAN_FILESYSTEM); // lazy icon extraction, try to read directly from filesystem + dir.smart_scan(SCAN_DONT_EXTRACT_ICONS); // extract icons later #else - dir.smart_scan(SCAN_EXTRACT_ICONS|SCAN_FILESYSTEM); + dir.smart_scan(); #endif }
@@ -268,10 +268,14 @@ if (++cnt == max) break;
+#ifndef _NO_WIN_FS if (entry->_etype == ET_SHELL) AddEntry(dir._folder, static_cast<ShellEntry*>(entry)); else AddEntry(dir._folder, entry); +#else + AddEntry(dir._folder, static_cast<ShellEntry*>(entry)); +#endif } }
@@ -1234,6 +1238,7 @@
///@todo If the user explicitly clicked on a submenu, display this folder as floating start menu.
+#ifndef _NO_WIN_FS if (entry->_etype == ET_SHELL)
new_folders.push_back(entry->create_absolute_pidl()); else { @@ -1242,6 +1247,9 @@ if (entry->get_path(path)) new_folders.push_back(path); } +#else + new_folders.push_back(entry->create_absolute_pidl()); +#endif
if (title.empty()) title = entry->_display_name; @@ -2018,9 +2026,9 @@ WaitCursor wait;
#ifdef _LAZY_ICONEXTRACT - dir.smart_scan(SCAN_FILESYSTEM); + dir.smart_scan(SCAN_DONT_EXTRACT_ICONS); #else - dir.smart_scan(SCAN_EXTRACT_ICONS|SCAN_FILESYSTEM); + dir.smart_scan(); #endif }
_____
Modified: branches/lean-explorer/reactos/subsys/system/explorer/taskbar/startmenu. h --- branches/lean-explorer/reactos/subsys/system/explorer/taskbar/startmenu. h 2005-12-31 11:33:46 UTC (rev 20480) +++ branches/lean-explorer/reactos/subsys/system/explorer/taskbar/startmenu. h 2005-12-31 13:37:09 UTC (rev 20481) @@ -26,11 +26,6 @@
//
-#define _LIGHT_STARTMENU -//#define _LAZY_ICONEXTRACT -//#define _SINGLE_ICONEXTRACT - - #define CLASSNAME_STARTMENU TEXT("ReactosStartmenuClass") #define TITLE_STARTMENU TEXT("Start Menu")
@@ -138,7 +133,7 @@
typedef list<ShellPath> StartMenuFolders;
- /// structor containing information for creating start menus + /// struct containing information for creating start menus struct StartMenuCreateInfo { StartMenuCreateInfo() : _border_top(0) {}