wine/programs/winefile winefile.h winefile.c
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Nov 17 05:05:35 CST 2005
ChangeSet ID: 21308
CVSROOT: /opt/cvs-commit
Module name: wine
Changes by: julliard at winehq.org 2005/11/17 05:05:35
Modified files:
programs/winefile: winefile.h winefile.c
Log message:
Martin Fuchs <martin-fuchs at gmx.net>
Use command line for initial directory selection.
Remove useless hwndParent variable.
Patch: http://cvs.winehq.org/patch.py?id=21308
Old revision New revision Changes Path
1.16 1.17 +0 -1 wine/programs/winefile/winefile.h
1.62 1.63 +24 -15 wine/programs/winefile/winefile.c
Index: wine/programs/winefile/winefile.h
diff -u -p wine/programs/winefile/winefile.h:1.16 wine/programs/winefile/winefile.h:1.17
--- wine/programs/winefile/winefile.h:1.16 17 Nov 2005 11: 5:35 -0000
+++ wine/programs/winefile/winefile.h 17 Nov 2005 11: 5:35 -0000
@@ -113,7 +113,6 @@ typedef struct
HANDLE hInstance;
HACCEL haccel;
ATOM hframeClass;
- HWND hwndParent;
HWND hMainWnd;
HMENU hMenuFrame;
Index: wine/programs/winefile/winefile.c
diff -u -p wine/programs/winefile/winefile.c:1.62 wine/programs/winefile/winefile.c:1.63
--- wine/programs/winefile/winefile.c:1.62 17 Nov 2005 11: 5:35 -0000
+++ wine/programs/winefile/winefile.c 17 Nov 2005 11: 5:35 -0000
@@ -2143,9 +2143,7 @@ static LRESULT CALLBACK FrameWndProc(HWN
break;
case WM_DESTROY:
- /* don't exit desktop when closing file manager window */
- if (!Globals.hwndParent)
- PostQuitMessage(0);
+ PostQuitMessage(0);
break;
case WM_INITMENUPOPUP: {
@@ -4654,11 +4652,11 @@ static void InitInstance(HINSTANCE hinst
}
-static void show_frame(HWND hwndParent, int cmdshow)
+static void show_frame(HWND hwndParent, int cmdshow, LPCTSTR path)
{
static const TCHAR sMDICLIENT[] = {'M','D','I','C','L','I','E','N','T','\0'};
- TCHAR path[MAX_PATH], b1[BUFFER_LEN];
+ TCHAR buffer[MAX_PATH], b1[BUFFER_LEN];
ChildWnd* child;
HMENU hMenuFrame, hMenuWindow;
@@ -4667,8 +4665,6 @@ static void show_frame(HWND hwndParent,
if (Globals.hMainWnd)
return;
- Globals.hwndParent = hwndParent;
-
hMenuFrame = LoadMenu(Globals.hInstance, MAKEINTRESOURCE(IDM_WINEFILE));
hMenuWindow = GetSubMenu(hMenuFrame, GetMenuItemCount(hMenuFrame)-2);
@@ -4723,7 +4719,11 @@ static void show_frame(HWND hwndParent,
Globals.hMainWnd, (HMENU)IDW_STATUSBAR, hinstance, 0);*/
/*TODO: read paths and window placements from registry */
- GetCurrentDirectory(MAX_PATH, path);
+
+ if (!path || !*path) {
+ GetCurrentDirectory(MAX_PATH, buffer);
+ path = buffer;
+ }
ShowWindow(Globals.hMainWnd, cmdshow);
@@ -4797,7 +4797,7 @@ static int find_window_class(LPCTSTR cla
#endif
-static int winefile_main(HINSTANCE hinstance, HWND hwndParent, int cmdshow)
+static int winefile_main(HINSTANCE hinstance, int cmdshow, LPCTSTR path)
{
MSG msg;
@@ -4807,7 +4807,7 @@ static int winefile_main(HINSTANCE hinst
/*TODO: read window placement from registry */
cmdshow = SW_MAXIMIZE;
- show_frame(hwndParent, cmdshow);
+ show_frame(0, cmdshow, path);
while(GetMessage(&msg, 0, 0, 0)) {
if (Globals.hmdiclient && TranslateMDISysAccel(Globals.hmdiclient, &msg))
@@ -4826,17 +4826,26 @@ static int winefile_main(HINSTANCE hinst
}
-int APIENTRY WinMain(HINSTANCE hinstance,
- HINSTANCE previnstance,
- LPSTR cmdline,
- int cmdshow)
+#if defined(UNICODE) && defined(_MSC_VER)
+int APIENTRY wWinMain(HINSTANCE hinstance, HINSTANCE previnstance, LPWSTR cmdline, int cmdshow)
+#else
+int APIENTRY WinMain(HINSTANCE hinstance, HINSTANCE previnstance, LPSTR cmdline, int cmdshow)
+#endif
{
#ifdef _NO_EXTENSIONS
if (find_window_class(sWINEFILEFRAME))
return 1;
#endif
- winefile_main(hinstance, 0, cmdshow);
+#if defined(UNICODE) && !defined(_MSC_VER)
+ { /* convert ANSI cmdline into WCS path string */
+ TCHAR buffer[MAX_PATH];
+ MultiByteToWideChar(CP_ACP, 0, cmdline, -1, buffer, MAX_PATH);
+ winefile_main(hinstance, cmdshow, buffer);
+ }
+#else
+ winefile_main(hinstance, cmdshow, cmdline);
+#endif
return 0;
}
More information about the wine-cvs
mailing list