8 modified files
reactos/subsys/system/explorer/doc
diff -u -r1.33 -r1.34
--- TODO.txt 8 Mar 2004 09:45:19 -0000 1.33
+++ TODO.txt 14 Mar 2004 12:06:24 -0000 1.34
@@ -30,16 +30,12 @@
- Startmenu: You can't close the start menu with pressing Win-key You can open the start menu
with pressing Win-key, but can't close with another hit of Win-key.
-- Despite of settings, the clock's always shown I set my Win-Exp to hide the clock shown in
- the taskbar, but the ROS-Exp ignores the setting and always shows the clock.
+- > Despite of settings, the clock's always shown I set my Win-Explorer to hide the clock
+ > shown in the taskbar, but the ROS-Exp ignores the setting and always shows the clock.
Yes, ROS explorer doesn't read many settings from the registry currently,
as it doesn't have a way to configure them. (missing configuration dialogs)
-- Wenn man in der Toolbar auf "NT Obj." klickt und dann mit der rechten
- Maustaste in die TreeView klickt, gibt es eine COM Exeption "Falscher Parameter".
- Wenn man das �fter macht crasht das Programm.
-
-- Es scheint ein paar GDI-Leaks in deinem Programm zu geben�
+- Es scheint ein paar GDI-Leaks in deinem Programm zu geben.
Wenn man ein neues MDI Fenster �ffnet und dann wieder schlie�t, werden
- einige GDI-Objekte nicht wieder gel�scht�
+ einige GDI-Objekte nicht wieder gel�scht.
reactos/subsys/system/explorer/shell
diff -u -r1.21 -r1.22
--- entries.cpp 3 Mar 2004 20:29:51 -0000 1.21
+++ entries.cpp 14 Mar 2004 12:06:25 -0000 1.22
@@ -315,19 +315,6 @@
}
-ShellPath Entry::create_absolute_pidl() const
-{
- CONTEXT("Entry::create_absolute_pidl()");
-
- TCHAR path[MAX_PATH];
-
- if (get_path(path))
- return ShellPath(path);
-
- return ShellPath();
-}
-
-
void Entry::extract_icon()
{
TCHAR path[MAX_PATH];
reactos/subsys/system/explorer/shell
diff -u -r1.22 -r1.23
--- entries.h 7 Feb 2004 15:00:28 -0000 1.22
+++ entries.h 14 Mar 2004 12:06:25 -0000 1.23
@@ -109,7 +109,7 @@
virtual const void* get_next_path_component(const void*) {return NULL;}
virtual Entry* find_entry(const void*) {return NULL;}
virtual bool get_path(PTSTR path) const = 0;
- virtual ShellPath create_absolute_pidl() const;
+ virtual ShellPath create_absolute_pidl() const {return (LPCITEMIDLIST)NULL;}
virtual HRESULT GetUIObjectOf(HWND hWnd, REFIID riid, LPVOID* ppvOut);
virtual BOOL launch_entry(HWND hwnd, UINT nCmdShow=SW_SHOWNORMAL);
};
reactos/subsys/system/explorer/shell
diff -u -r1.2 -r1.3
--- fatfs.cpp 7 Feb 2004 15:00:28 -0000 1.2
+++ fatfs.cpp 14 Mar 2004 12:06:25 -0000 1.3
@@ -293,6 +293,21 @@
return true;
}
+ShellPath FATEntry::create_absolute_pidl() const
+{
+ CONTEXT("WinEntry::create_absolute_pidl()");
+
+ return (LPCITEMIDLIST)NULL;
+/* prepend root path if the drive is currently actually mounted in the file system -> return working PIDL
+ TCHAR path[MAX_PATH];
+
+ if (get_path(path))
+ return ShellPath(path);
+
+ return ShellPath();
+*/
+}
+
FATDirectory::FATDirectory(FATDrive& drive, LPCTSTR root_path)
: FATEntry(),
reactos/subsys/system/explorer/shell
diff -u -r1.2 -r1.3
--- fatfs.h 7 Feb 2004 15:00:28 -0000 1.2
+++ fatfs.h 14 Mar 2004 12:06:25 -0000 1.3
@@ -35,6 +35,7 @@
FATEntry() : Entry(ET_FAT) {}
virtual bool get_path(PTSTR path) const;
+ virtual ShellPath create_absolute_pidl() const;
DWORD _cluster;
};
reactos/subsys/system/explorer/shell
diff -u -r1.40 -r1.41
--- filechild.cpp 3 Mar 2004 20:33:21 -0000 1.40
+++ filechild.cpp 14 Mar 2004 12:06:25 -0000 1.41
@@ -501,22 +501,24 @@
ShellPath shell_path = entry->create_absolute_pidl();
LPCITEMIDLIST pidl_abs = shell_path;
- IShellFolder* parentFolder;
- LPCITEMIDLIST pidlLast;
-
- static DynamicFct<HRESULT(WINAPI*)(LPCITEMIDLIST, REFIID, LPVOID*, LPCITEMIDLIST*)> SHBindToParent(TEXT("SHELL32"), "SHBindToParent");
-
- if (SHBindToParent) {
- // get and use the parent folder to display correct context menu in all cases -> correct "Properties" dialog for directories, ...
- if (SUCCEEDED((*SHBindToParent)(pidl_abs, IID_IShellFolder, (LPVOID*)&parentFolder, &pidlLast))) {
- HRESULT hr = ShellFolderContextMenu(parentFolder, _hwnd, 1, &pidlLast, pos.x, pos.y);
-
- parentFolder->Release();
-
- CHECKERROR(hr);
+ if (pidl_abs) {
+ IShellFolder* parentFolder;
+ LPCITEMIDLIST pidlLast;
+
+ static DynamicFct<HRESULT(WINAPI*)(LPCITEMIDLIST, REFIID, LPVOID*, LPCITEMIDLIST*)> SHBindToParent(TEXT("SHELL32"), "SHBindToParent");
+
+ if (SHBindToParent) {
+ // get and use the parent folder to display correct context menu in all cases -> correct "Properties" dialog for directories, ...
+ if (SUCCEEDED((*SHBindToParent)(pidl_abs, IID_IShellFolder, (LPVOID*)&parentFolder, &pidlLast))) {
+ HRESULT hr = ShellFolderContextMenu(parentFolder, _hwnd, 1, &pidlLast, pos.x, pos.y);
+
+ parentFolder->Release();
+
+ CHECKERROR(hr);
+ }
+ } else {
+ CHECKERROR(ShellFolderContextMenu(GetDesktopFolder(), _hwnd, 1, &pidl_abs, pos.x, pos.y));
}
- } else {
- CHECKERROR(ShellFolderContextMenu(GetDesktopFolder(), _hwnd, 1, &pidl_abs, pos.x, pos.y));
}
}
break;}
reactos/subsys/system/explorer/shell
diff -u -r1.11 -r1.12
--- winfs.cpp 2 Feb 2004 23:18:07 -0000 1.11
+++ winfs.cpp 14 Mar 2004 12:06:25 -0000 1.12
@@ -280,3 +280,15 @@
return true;
}
+
+ShellPath WinEntry::create_absolute_pidl() const
+{
+ CONTEXT("WinEntry::create_absolute_pidl()");
+
+ TCHAR path[MAX_PATH];
+
+ if (get_path(path))
+ return ShellPath(path);
+
+ return ShellPath();
+}
reactos/subsys/system/explorer/shell
diff -u -r1.8 -r1.9
--- winfs.h 31 Jan 2004 19:31:51 -0000 1.8
+++ winfs.h 14 Mar 2004 12:06:25 -0000 1.9
@@ -35,6 +35,7 @@
WinEntry() : Entry(ET_WINDOWS) {}
virtual bool get_path(PTSTR path) const;
+ virtual ShellPath create_absolute_pidl() const;
};
CVSspam 0.2.8