mirror of
https://github.com/reactos/reactos.git
synced 2024-07-21 11:48:04 +00:00
re-activate already open shell/ntobj child windows instead of opening new windows
svn path=/trunk/; revision=7941
This commit is contained in:
parent
288705874e
commit
973445eeff
|
@ -44,7 +44,9 @@
|
||||||
|
|
||||||
|
|
||||||
#define PM_GET_FILEWND_PTR (WM_APP+0x05)
|
#define PM_GET_FILEWND_PTR (WM_APP+0x05)
|
||||||
#define PM_GET_CONTROLWINDOW (WM_APP+0x06)
|
#define PM_GET_SHELLBROWSER_PTR (WM_APP+0x06)
|
||||||
|
|
||||||
|
#define PM_GET_CONTROLWINDOW (WM_APP+0x16)
|
||||||
|
|
||||||
#define PM_RESIZE_CHILDREN (WM_APP+0x17)
|
#define PM_RESIZE_CHILDREN (WM_APP+0x17)
|
||||||
#define PM_GET_WIDTH (WM_APP+0x18)
|
#define PM_GET_WIDTH (WM_APP+0x18)
|
||||||
|
|
|
@ -523,6 +523,9 @@ int MainFrame::Command(int id, int code)
|
||||||
break;}
|
break;}
|
||||||
|
|
||||||
case ID_DRIVE_NTOBJ_NS: {
|
case ID_DRIVE_NTOBJ_NS: {
|
||||||
|
if (activate_fs_window(TEXT("NTOBJ")))
|
||||||
|
break;
|
||||||
|
|
||||||
#ifndef _NO_MDI
|
#ifndef _NO_MDI
|
||||||
FileChildWindow::create(_hmdiclient, NtObjChildWndInfo(TEXT("\\")));
|
FileChildWindow::create(_hmdiclient, NtObjChildWndInfo(TEXT("\\")));
|
||||||
#else
|
#else
|
||||||
|
@ -533,10 +536,8 @@ int MainFrame::Command(int id, int code)
|
||||||
case ID_DRIVE_DESKTOP: {
|
case ID_DRIVE_DESKTOP: {
|
||||||
TCHAR path[MAX_PATH];
|
TCHAR path[MAX_PATH];
|
||||||
|
|
||||||
/*TODO
|
|
||||||
if (activate_fs_window(TEXT("Desktop")))
|
if (activate_fs_window(TEXT("Desktop")))
|
||||||
break;
|
break;
|
||||||
*/
|
|
||||||
|
|
||||||
GetCurrentDirectory(MAX_PATH, path);
|
GetCurrentDirectory(MAX_PATH, path);
|
||||||
|
|
||||||
|
@ -769,6 +770,19 @@ bool MainFrame::activate_fs_window(LPCTSTR filesys)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ShellBrowserChild* shell_child = (ShellBrowserChild*) SendMessage(child_wnd, PM_GET_SHELLBROWSER_PTR, 0, 0);
|
||||||
|
|
||||||
|
if (shell_child) {
|
||||||
|
if (!lstrcmpi(shell_child->get_root()._fs, filesys)) {
|
||||||
|
SendMessage(_hmdiclient, WM_MDIACTIVATE, (WPARAM)child_wnd, 0);
|
||||||
|
|
||||||
|
if (IsMinimized(child_wnd))
|
||||||
|
ShowWindow(child_wnd, SW_SHOWNORMAL);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ void ShellBrowserChild::InitializeTree()
|
||||||
_root._drive_type = DRIVE_UNKNOWN;
|
_root._drive_type = DRIVE_UNKNOWN;
|
||||||
lstrcpy(_root._volname, root_name); // most of the time "Desktop"
|
lstrcpy(_root._volname, root_name); // most of the time "Desktop"
|
||||||
_root._fs_flags = 0;
|
_root._fs_flags = 0;
|
||||||
lstrcpy(_root._fs, TEXT("Shell"));
|
lstrcpy(_root._fs, TEXT("Desktop"));
|
||||||
|
|
||||||
//@@ _root._entry->read_tree(shell_info._root_shell_path.get_folder(), info._shell_path, SORT_NAME/*_sortOrder*/);
|
//@@ _root._entry->read_tree(shell_info._root_shell_path.get_folder(), info._shell_path, SORT_NAME/*_sortOrder*/);
|
||||||
|
|
||||||
|
@ -406,6 +406,9 @@ LRESULT ShellBrowserChild::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
|
||||||
case WM_GETISHELLBROWSER: // for Registry Explorer Plugin
|
case WM_GETISHELLBROWSER: // for Registry Explorer Plugin
|
||||||
return (LRESULT)static_cast<IShellBrowser*>(this);
|
return (LRESULT)static_cast<IShellBrowser*>(this);
|
||||||
|
|
||||||
|
case PM_GET_SHELLBROWSER_PTR:
|
||||||
|
return (LRESULT)this;
|
||||||
|
|
||||||
case PM_DISPATCH_COMMAND: {
|
case PM_DISPATCH_COMMAND: {
|
||||||
switch(LOWORD(wparam)) {
|
switch(LOWORD(wparam)) {
|
||||||
case ID_WINDOW_NEW: {CONTEXT("ShellBrowserChild PM_DISPATCH_COMMAND ID_WINDOW_NEW");
|
case ID_WINDOW_NEW: {CONTEXT("ShellBrowserChild PM_DISPATCH_COMMAND ID_WINDOW_NEW");
|
||||||
|
|
|
@ -101,6 +101,8 @@ struct ShellBrowserChild : public ChildWindow, public IShellBrowserImpl
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const Root& get_root() const {return _root;}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Root _root;
|
Root _root;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
#define IDW_QUICKLAUNCHBAR 101
|
#define IDW_QUICKLAUNCHBAR 101
|
||||||
|
|
||||||
#define PM_REFRESH (WM_APP+0x16)
|
#define PM_REFRESH (WM_APP+0x1B)
|
||||||
|
|
||||||
#define IDC_FIRST_QUICK_ID 0x4000
|
#define IDC_FIRST_QUICK_ID 0x4000
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue