36 #include "../dialogs/settings.h" 63 if (
cmd.IsValidPath()) {
85 for(
int i=pida->
cidl;
i>0; --
i) {
96 bool mdi = XMLBool(explorer_options,
"mdi",
true);
97 bool separateFolders = XMLBool(explorer_options,
"separate-folders",
false);
102 if (
hFrameWnd && (mdi || !separateFolders)) {
156 static TCHAR Title2[] =
TEXT(
"Address :");
209 toolbarBtns,
sizeof(toolbarBtns)/
sizeof(
TBBUTTON),
264 rbBand.cxMinChild = 0;
265 rbBand.cyMinChild = 0;
267 rbBand.cyMaxChild = 0;
268 rbBand.cyIntegral = btn_hgt;
270 rbBand.lpText =
NULL;
272 rbBand.cxMinChild = 0;
273 rbBand.cyMinChild = btn_hgt;
279 rbBand.lpText = Title2;
281 rbBand.cxMinChild = 0;
282 rbBand.cyMinChild = btn_hgt;
356 if (
wparam == FCW_STATUS) {
390 CONTEXT(
"MainFrameBase::Command()");
417 CONTEXT(
"ID_EXECUTE - ShellExecute()");
469 if (pnmgit->lParam) {
474 if (!
node._pfolder->_description.empty())
475 lstrcpyn(pnmgit->pszText,
node._pfolder->_description.c_str(), pnmgit->cchTextMax);
480 if (!
node._pbookmark->_url.empty()) {
484 txt +=
node._pbookmark->_url;
487 lstrcpyn(pnmgit->pszText, txt.c_str(), pnmgit->cchTextMax);
529 rect.top = rt.bottom;
535 int parts[] = {300, 500};
540 rect.bottom -= rt.bottom;
545 rect.left += rt.right-rt.left;
553 ClientRect
rect(_hwnd);
577 prect->
top += rt.bottom+2;
582 prect->
bottom -= rt.bottom;
654 WindowCanvas canvas(_hwnd);
670 tvi.item.pszText = sFavorites.str();
671 tvi.item.iSelectedImage = tvi.item.iImage = 0;
749 extraBtns.iBitmap = 6;
755 extraBtns.iBitmap = 7;
762 extraBtns.iBitmap = 8;
769 extraBtns.iBitmap = 9;
776 extraBtns.iBitmap = 10;
817 default: drivebarBtn.
iBitmap = 2;
821 ++drivebarBtn.idCommand;
822 ++drivebarBtn.iString;
836 #ifndef RBBS_HIDETITLE // missing in MinGW headers as of 25.02.2004 837 #define RBBS_HIDETITLE 0x400 841 TCHAR ExtrasBand[] =
_T(
"Extras");
842 rbBand.lpText = ExtrasBand;
844 rbBand.cxMinChild = 0;
845 rbBand.cyMinChild = btn_hgt;
851 TCHAR DrivesBand[] =
_T(
"Drives");
852 rbBand.lpText = DrivesBand;
854 rbBand.cxMinChild = 0;
855 rbBand.cyMinChild = btn_hgt;
932 CONTEXT(
"MDIMainFrame PM_OPEN_WINDOW");
946 LOG(FmtString(
TEXT(
"MDIMainFrame PM_OPEN_WINDOW: path=%s"),
path));
964 OBJ_CONTEXT(
"create WebChild window",
path);
968 OBJ_CONTEXT(
"create ShellChildWndInfo",
path);
1020 CONTEXT(
"MDIMainFrame::Command()");
1185 prect->
top += rt.bottom+2;
1205 rect.top = rt.bottom;
1212 int new_top = --
rect.top + rt.bottom;
1222 int new_top = --
rect.top + rt.bottom;
1231 int parts[] = {300, 500};
1236 rect.bottom -= rt.bottom;
1241 rect.left += rt.right-rt.left;
1392 PaintCanvas canvas(_hwnd);
1395 ClientRect rt(_hwnd);
1402 rt.top = right_rect.top;
1403 rt.bottom = right_rect.bottom;
1407 Rectangle(canvas, rt.left, rt.top-1, rt.right, rt.bottom+1);
1430 ClientRect rt(_hwnd);
1459 ClientRect rt(_hwnd);
1461 if (
x>=0 &&
x<rt.right) {
1475 CONTEXT(
"SDIMainFrame PM_OPEN_WINDOW");
1489 LOG(FmtString(
TEXT(
"SDIMainFrame PM_OPEN_WINDOW: path=%s"),
path));
1551 rect.top = rt.bottom;
1557 int parts[] = {300, 500};
1562 rect.bottom -= rt.bottom;
1567 rect.left += rt.right-rt.left;
1600 ClientRect
rect(_hwnd);
1617 ClientRect
rect(_hwnd);
information structure for creation of MDIShellBrowserChild
HGDIOBJ WINAPI GetStockObject(_In_ int)
#define WINDOW_CREATOR(WND_CLASS)
#define TranslateAccelerator
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
MDI child window displaying file lists.
#define WM_SYSCOLORCHANGE
bool activate_drive_window(LPCTSTR path)
void resize_frame(int cx, int cy)
HDWP WINAPI BeginDeferWindowPos(_In_ int)
Explorer command line parser.
#define PM_GET_FILEWND_PTR
information structure for creation of FileChildWindow for NT object namespace
BOOL launch_file(HWND hwnd, LPCTSTR cmd, UINT nCmdShow, LPCTSTR parameters)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
int ImageList_AddAlphaIcon(HIMAGELIST himl, HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd)
add icon with alpha channel to imagelist using the specified background color
FullScreenParameters _fullscreen
static MDIShellBrowserChild * create(const ShellChildWndInfo &info)
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
#define GetNextWindow(h, c)
Retrieval of file system paths of ShellPath objects.
#define ID_DRIVE_REGISTRY
int Command(int id, int code)
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HDC WINAPI GetDC(_In_opt_ HWND)
#define TreeView_DeleteAllItems(hwnd)
GLsizei const GLchar ** path
static const D3D_BLOB_PART parts[]
Implementation of IShellBrowserImpl interface in explorer child windows.
virtual BOOL TranslateMsg(MSG *pmsg)
static INT_PTR CALLBACK WndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
#define TreeView_GetCount(hwnd)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define GetLogicalDriveStrings
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
BOOL WINAPI UpdateWindow(_In_ HWND)
TCHAR _drives[BUFFER_LEN]
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
DWORD WINAPI GetLastError(VOID)
virtual void entry_selected(Entry *entry)
int Command(int id, int code)
GLint GLint GLint GLint GLint x
#define ID_DRIVE_SHELL_NS
IShellFolder smart pointer.
#define Frame_CalcFrameClient(hwnd, prt)
#define ID_WINDOW_TILE_VERT
#define TVIF_SELECTEDIMAGE
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
HWND WINAPI CreateToolbarEx(HWND hwnd, DWORD style, UINT wID, INT nBitmaps, HINSTANCE hBMInst, UINT_PTR wBMID, LPCTBBUTTON lpButtons, INT iNumButtons, INT dxButton, INT dyButton, INT dxBitmap, INT dyBitmap, UINT uStructSize)
BOOL WINAPI IsIconic(_In_ HWND)
BOOL WINAPI DestroyWindow(_In_ HWND)
#define ID_VIEW_FULLSCREEN
DWORD WINAPI GetVersion(VOID)
static HWND Create(const ExplorerCmd &cmd)
#define PM_FRM_GET_MENUINFO
void explorer_about(HWND hwndParent)
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
Exception with context information.
#define TreeView_InsertItem(hwnd, lpis)
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
#define ID_VIEW_DRIVE_BAR
#define WM_MDIICONARRANGE
#define ID_VIEW_STATUSBAR
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
information structure for creation of FileChildWindow for the Registry
#define DEFAULT_SPLIT_POS
#define CreateStatusWindow
_Tp * release() _STLP_NOTHROW
static UINT WPARAM LPARAM lparam
#define MDITILE_HORIZONTAL
BOOL WINAPI EndDeferWindowPos(_In_ HDWP)
void toggle_child(HWND hwnd, UINT cmd, HWND hchild, int band_idx=-1)
HWND WINAPI GetCapture(void)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define PM_FRM_CALC_CLIENT
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
#define GetCurrentDirectory
void set_url(LPCTSTR url)
_Out_opt_ int _Out_opt_ int * cy
bool activate_child_window(LPCTSTR filesys)
virtual void frame_get_clientspace(PRECT prect)
struct tagMINMAXINFO * LPMINMAXINFO
#define CCS_NOPARENTALIGN
static HWND Create(CREATORFUNC creator, DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int w, int h, HWND hwndParent=0, HMENU hMenu=0)
_Tp * get() const _STLP_NOTHROW
#define TreeView_SetImageList(hwnd, himl, iImage)
ChildWindow * CreateChild(LPCTSTR path=NULL, int mode=OWM_EXPLORE|OWM_DETAILS)
ShellPath _root_shell_path
BOOL WINAPI GetWindowPlacement(_In_ HWND, _Inout_ WINDOWPLACEMENT *)
void resize_frame_client()
int Notify(int id, NMHDR *pnmh)
convenient loading of small (16x16) icon resources
#define ID_WINDOW_CASCADE
virtual void resize_frame(int cx, int cy)
void HandleException(COMException &e, HWND hwnd)
Exception Handler for COM exceptions.
virtual bool go_to(LPCTSTR url, bool new_window)
virtual void resize_frame(int cx, int cy)
#define TreeView_GetSelection(hwnd)
"rooted" window with special shell namespace root
HDWP WINAPI DeferWindowPos(_In_ HDWP, _In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
#define PM_GET_SHELLBROWSER_PTR
static HWND new_window(LPCSTR lpClassName, DWORD dwStyle, HWND parent)
int add_to_imagelist(HIMAGELIST himl, HDC hdc_wnd, COLORREF bk_color=GetSysColor(COLOR_WINDOW), HBRUSH bk_brush=GetSysColorBrush(COLOR_WINDOW)) const
bool select_folder(Entry *entry, bool expand)
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
int WINAPI GetSystemMetrics(_In_ int)
information structure for creation of WebChildWindow
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
ShellPath _root_shell_path
bool ProcessMessage(UINT nmsg, WPARAM wparam, LPARAM lparam, LRESULT *pres)
void UpdateFolderView(IShellFolder *folder)
#define PM_GET_CONTROLWINDOW
void display_error(HWND hwnd, DWORD error)
#define ID_WINDOW_TILE_HORZ
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
virtual LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
#define ID_VIEW_EXTRA_BAR
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
SHORT WINAPI GetAsyncKeyState(_In_ int)
ExplorerGlobals g_Globals
const Icon & get_icon(int icon_id)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
virtual BOOL TranslateMsg(MSG *pmsg)
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
#define ID_WINDOW_ARRANGE
void fill_tree(HWND hwnd, HTREEITEM parent, HIMAGELIST, HDC hdc_wnd) const
fill treeview control with bookmark tree content
_Check_return_ _Ret_opt_z_ _CRTIMP char *__cdecl getcwd(_Out_writes_opt_(_SizeInBytes) char *_DstBuf, _In_ int _SizeInBytes)
GLint GLint GLsizei GLsizei height
const Root & get_root() const
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI SetCapture(_In_ HWND hWnd)
HWND create_webchildwindow(const WebChildWndInfo &info)
ShellPath create_absolute_pidl(LPCITEMIDLIST parent_pidl) const
#define WS_EX_NOPARENTNOTIFY
#define GET_WINDOW(CLASS, hwnd)
void assign(LPCITEMIDLIST pidl, size_t size)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define ID_ABOUT_EXPLORER
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
void update_shell_browser()
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
ShellPathInfo _shellpath_info
static int OpenShellFolders(LPIDA pida, HWND hFrameWnd)
BOOL WINAPI IsZoomed(_In_ HWND)
information structure for creation of FileChildWindow
The "Execute..."-dialog lets the user enter a command line to launch.
information structure for creation of FileChildWindow
virtual void frame_get_clientspace(PRECT prect)
#define RBBS_GRIPPERALWAYS
#define TVS_SHOWSELALWAYS
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
CtxMenuInterfaces _cm_ifs
BOOL WINAPI ReleaseCapture(void)
configuration dialog to choose between MDI and SDI mode
#define WS_OVERLAPPEDWINDOW
static int DoModal(UINT nid, CREATORFUNC creator, HWND hwndParent=0)
BOOL WINAPI IsWindowVisible(_In_ HWND)
#define IsMinimized(hwnd)
#define SelectBrush(hdc, hbr)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
virtual bool go_to(LPCTSTR url, bool new_window)
static FileChildWindow * create(const FileChildWndInfo &info)
view files in detail mode
void jump_to(LPCITEMIDLIST pidl)
convenient loading of string resources
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
void jump_to(LPCTSTR path, int mode)
LPARAM TreeView_GetItemData(HWND hwndTreeView, HTREEITEM hItem)
#define TreeView_Expand(hwnd, hitem, code)
#define ID_DRIVE_NTOBJ_NS
int Command(int id, int code)
#define PM_DISPATCH_COMMAND
HMENU WINAPI GetMenu(_In_ HWND)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
wrapper class for item ID lists
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
BOOL WINAPI TranslateMDISysAccel(_In_ HWND, _In_ LPMSG)
auto_ptr< ShellBrowser > _shellBrowser
base of all file and directory entries
#define SetCurrentDirectory
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
path is given as PIDL, otherwise as LPCTSTR
static UINT WPARAM wparam
static IShellBrowser ShellBrowser
Shell folder path of the desktop.