Added: vendor/wine/dlls/avifil32/current/avifile_Ko.rc
Modified: vendor/wine/dlls/avifil32/current/rsrc.rc
Modified: vendor/wine/dlls/comctl32/current/comctl_Ko.rc
Modified: vendor/wine/dlls/comctl32/current/header.c
Modified: vendor/wine/dlls/comctl32/current/rebar.c
Modified: vendor/wine/dlls/comctl32/current/syslink.c
Modified: vendor/wine/dlls/comctl32/current/tooltips.c
Modified: vendor/wine/dlls/commdlg/current/cdlg_Ko.rc
Modified: vendor/wine/dlls/commdlg/current/filedlg.c
Modified: vendor/wine/dlls/commdlg/current/fontdlg16.c
Modified: vendor/wine/dlls/crypt32/current/cert.c
Modified: vendor/wine/dlls/crypt32/current/encode.c
Modified: vendor/wine/dlls/dinput/current/dinput_main.c
Modified: vendor/wine/dlls/dinput/current/effect_linuxinput.c
Modified: vendor/wine/dlls/dinput/current/joystick_linuxinput.c
Modified: vendor/wine/dlls/dplayx/current/dplay.c
Modified: vendor/wine/dlls/msi/current/helpers.c
Modified: vendor/wine/dlls/msi/current/msi_Ko.rc
Modified: vendor/wine/dlls/msi/current/registry.c
Modified: vendor/wine/dlls/netapi32/current/access.c
Modified: vendor/wine/dlls/netapi32/current/netapi32.c
Modified: vendor/wine/dlls/oledlg/current/oledlg_Ko.rc
Modified: vendor/wine/dlls/rpcrt4/current/rpcrt4.spec
Modified: vendor/wine/dlls/shdocvw/current/Ko.rc
Modified: vendor/wine/dlls/shdocvw/current/Makefile.in
Modified: vendor/wine/dlls/shdocvw/current/client.c
Added: vendor/wine/dlls/shdocvw/current/dochost.c
Modified: vendor/wine/dlls/shdocvw/current/events.c
Modified: vendor/wine/dlls/shdocvw/current/oleobject.c
Modified: vendor/wine/dlls/shdocvw/current/shdocvw.h
Modified: vendor/wine/dlls/shdocvw/current/webbrowser.c
Modified: vendor/wine/dlls/shell32/current/brsfolder.c
Modified: vendor/wine/dlls/shell32/current/iconcache.c
Modified: vendor/wine/dlls/shell32/current/shell32_main.c
Modified: vendor/wine/dlls/shell32/current/shell32_main.h
Modified: vendor/wine/dlls/shell32/current/shellpath.c
Modified: vendor/wine/dlls/shell32/current/shfldr_desktop.c
Modified: vendor/wine/dlls/shell32/current/shfldr_mycomp.c
Modified: vendor/wine/dlls/shell32/current/shfldr_unixfs.c
Modified: vendor/wine/dlls/uxtheme/current/draw.c
Modified: vendor/wine/libs/unicode/current/c_037.c
Modified: vendor/wine/libs/unicode/current/c_10000.c
Modified: vendor/wine/libs/unicode/current/c_10006.c
Modified: vendor/wine/libs/unicode/current/c_10007.c
Modified: vendor/wine/libs/unicode/current/c_10029.c
Modified: vendor/wine/libs/unicode/current/c_1006.c
Modified: vendor/wine/libs/unicode/current/c_10079.c
Modified: vendor/wine/libs/unicode/current/c_10081.c
Modified: vendor/wine/libs/unicode/current/c_1026.c
Modified: vendor/wine/libs/unicode/current/c_1250.c
Modified: vendor/wine/libs/unicode/current/c_1251.c
Modified: vendor/wine/libs/unicode/current/c_1252.c
Modified: vendor/wine/libs/unicode/current/c_1253.c
Modified: vendor/wine/libs/unicode/current/c_1254.c
Modified: vendor/wine/libs/unicode/current/c_1255.c
Modified: vendor/wine/libs/unicode/current/c_1256.c
Modified: vendor/wine/libs/unicode/current/c_1257.c
Modified: vendor/wine/libs/unicode/current/c_1258.c
Modified: vendor/wine/libs/unicode/current/c_20866.c
Modified: vendor/wine/libs/unicode/current/c_20932.c
Modified: vendor/wine/libs/unicode/current/c_21866.c
Modified: vendor/wine/libs/unicode/current/c_28591.c
Modified: vendor/wine/libs/unicode/current/c_28592.c
Modified: vendor/wine/libs/unicode/current/c_28593.c
Modified: vendor/wine/libs/unicode/current/c_28594.c
Modified: vendor/wine/libs/unicode/current/c_28595.c
Modified: vendor/wine/libs/unicode/current/c_28596.c
Modified: vendor/wine/libs/unicode/current/c_28597.c
Modified: vendor/wine/libs/unicode/current/c_28598.c
Modified: vendor/wine/libs/unicode/current/c_28599.c
Modified: vendor/wine/libs/unicode/current/c_28600.c
Modified: vendor/wine/libs/unicode/current/c_28603.c
Modified: vendor/wine/libs/unicode/current/c_28604.c
Modified: vendor/wine/libs/unicode/current/c_28605.c
Modified: vendor/wine/libs/unicode/current/c_28606.c
Modified: vendor/wine/libs/unicode/current/c_424.c
Modified: vendor/wine/libs/unicode/current/c_437.c
Modified: vendor/wine/libs/unicode/current/c_500.c
Modified: vendor/wine/libs/unicode/current/c_737.c
Modified: vendor/wine/libs/unicode/current/c_775.c
Modified: vendor/wine/libs/unicode/current/c_850.c
Modified: vendor/wine/libs/unicode/current/c_852.c
Modified: vendor/wine/libs/unicode/current/c_855.c
Modified: vendor/wine/libs/unicode/current/c_856.c
Modified: vendor/wine/libs/unicode/current/c_857.c
Modified: vendor/wine/libs/unicode/current/c_860.c
Modified: vendor/wine/libs/unicode/current/c_861.c
Modified: vendor/wine/libs/unicode/current/c_862.c
Modified: vendor/wine/libs/unicode/current/c_863.c
Modified: vendor/wine/libs/unicode/current/c_864.c
Modified: vendor/wine/libs/unicode/current/c_865.c
Modified: vendor/wine/libs/unicode/current/c_866.c
Modified: vendor/wine/libs/unicode/current/c_869.c
Modified: vendor/wine/libs/unicode/current/c_874.c
Modified: vendor/wine/libs/unicode/current/c_875.c
Modified: vendor/wine/libs/unicode/current/c_878.c
Modified: vendor/wine/libs/unicode/current/c_932.c
Modified: vendor/wine/libs/unicode/current/c_936.c
Modified: vendor/wine/libs/unicode/current/c_949.c
Modified: vendor/wine/libs/unicode/current/c_950.c
[truncated at 100 lines; 5 more skipped]
--- vendor/wine/dlls/avifil32/current/avifile_Ko.rc 2005-11-25 22:01:19 UTC (rev 19574)
+++ vendor/wine/dlls/avifil32/current/avifile_Ko.rc 2005-11-25 22:10:34 UTC (rev 19575)
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2002 Michael G³nnewig
+ * Copyright 2005 YunSong Hwang
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
+
+IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82
+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION "¥ð?Ó ???Ã"
+FONT 8, "MS Shell Dlg"
+BEGIN
+ LTEXT "¢?ã«©? ????(&C):",-1,2,5,114,10
+ COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL |
+ WS_TABSTOP
+ PUSHBUTTON "???Ã(&O)...",IDC_OPTIONS,145,17,45,14
+ AUTOCHECKBOX "ÃÎ?¾ ?¾?ú?Þ?í(&I)",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP
+ EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL
+ LTEXT "Ã?À??Ë",-1,104,43,36,9
+ LTEXT "Ã÷?þ 㸩?:",-1,3,56,53,9
+ LTEXT "?þ?Ù?? ©±?¹?©À? ä?? ?°",IDC_FORMATTEXT,55,56,90,26
+ DEFPUSHBUTTON "?«??",IDOK,145,42,45,14
+ PUSHBUTTON "?Ù?Ê",IDCANCEL,145,61,45,14
+END
+
+STRINGTABLE DISCARDABLE
+{
+ IDS_WAVESTREAMFORMAT "?????Ûã¹: %s"
+ IDS_WAVEFILETYPE "?????Ûã¹"
+ IDS_ALLMULTIMEDIA "©Áþ ©Íã???Á¥¯ ã??¤"
+ IDS_ALLFILES "©Áþ ã??¤ (*.*)@*.*"
+ IDS_VIDEO "?±Á??"
+ IDS_AUDIO "??Á??"
+ IDS_AVISTREAMFORMAT "%s %s #%d"
+ IDS_AVIFILETYPE "Wine AVI-?Ô??-ã??¤Ã?ÁÚÀ»r"
+ IDS_UNCOMPRESSED "?±¥ð?Ó"
+}
Property changes on: vendor/wine/dlls/avifil32/current/avifile_Ko.rc
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
--- vendor/wine/dlls/avifil32/current/rsrc.rc 2005-11-25 22:01:19 UTC (rev 19574)
+++ vendor/wine/dlls/avifil32/current/rsrc.rc 2005-11-25 22:10:34 UTC (rev 19575)
@@ -45,6 +45,7 @@
#include "avifile_Fr.rc"
#include "avifile_It.rc"
#include "avifile_Ja.rc"
+#include "avifile_Ko.rc"
#include "avifile_Nl.rc"
#include "avifile_No.rc"
#include "avifile_Pl.rc"
--- vendor/wine/dlls/comctl32/current/comctl_Ko.rc 2005-11-25 22:01:19 UTC (rev 19574)
+++ vendor/wine/dlls/comctl32/current/comctl_Ko.rc 2005-11-25 22:10:34 UTC (rev 19575)
@@ -1,5 +1,6 @@
/*
* Copyright 2002 Won-kyu Park <wkpark@kldp.org>
+ * Copyright 2005 YunSong Hwang
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -20,20 +21,20 @@
IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
-CAPTION "Properties for "
+CAPTION "?Ë??"
FONT 9, "MS Shell Dlg"
BEGIN
DEFPUSHBUTTON "?«??", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
PUSHBUTTON "?Ù?Ê", IDCANCEL,58,122,50,14
PUSHBUTTON "?¹?Ù(&A)", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
PUSHBUTTON "ÁÁ??©?", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
- CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114
+ CONTROL "?Ã", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114
END
IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
-CAPTION "Wizard"
+CAPTION "©Â?²?þ"
FONT 9, "MS Shell Dlg"
BEGIN
PUSHBUTTON "< ???³(&B)", IDC_BACK_BUTTON,71,138,50,14
@@ -42,26 +43,26 @@
PUSHBUTTON "?Ù?Ê", IDCANCEL,178,138,50,14
PUSHBUTTON "ÁÁ??©?", IDHELP,235,138,50,14,WS_GROUP
LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
- CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
+ CONTROL "?Ã", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE
END
IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Customize Toolbar"
+CAPTION "ÁÁ?©?? ?þ?Ù?? ?ñ?Ã"
FONT 9, "MS Shell Dlg"
BEGIN
DEFPUSHBUTTON "?¦?Ô(&C)", IDCANCEL,308,6,44,14
PUSHBUTTON "??¢?(&e)", IDC_RESET_BTN,308,23,44,14
PUSHBUTTON "ÁÁ??©?(&H)", IDC_HELP_BTN,308,40,44,14
- PUSHBUTTON "Move &Up", IDC_MOVEUP_BTN,308,74,44,14
- PUSHBUTTON "Move &Down", IDC_MOVEDN_BTN,308,91,44,14
- LTEXT "A&vailable buttons:", -1,4,5,84,10
+ PUSHBUTTON "?ºÀ? ??Á?(&U)", IDC_MOVEUP_BTN,308,74,44,14
+ PUSHBUTTON "¥ãÀíÀ? ??Á?(&D)", IDC_MOVEDN_BTN,308,91,44,14
+ LTEXT "?í??ÃÐ ?÷ã?(&v)", -1,4,5,84,10
LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
- PUSHBUTTON "&Add ->", IDOK, 131, 42, 44, 14
- PUSHBUTTON "<- &Remove", IDC_REMOVE_BTN,131,62,44,14
- LTEXT "&Toolbar buttons:", -1,182,5,78,10
+ PUSHBUTTON "?§Ã¤?Ô(&A) ->", IDOK, 131, 42, 44, 14
+ PUSHBUTTON "<- ?ª??ä?Ô(&R)", IDC_REMOVE_BTN,131,62,44,14
+ LTEXT "ÁÁ?©?? ?÷ã?(&T):", -1,182,5,78,10
LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
END
@@ -73,10 +74,10 @@
STRINGTABLE DISCARDABLE
{
IDM_TODAY "????:"
- IDM_GOTODAY "Go to today"
+ IDM_GOTODAY "????À? ?í?Ô"
}
STRINGTABLE DISCARDABLE
{
- IDS_SEPARATOR "Separator"
+ IDS_SEPARATOR "?ð©«??"
}
--- vendor/wine/dlls/comctl32/current/header.c 2005-11-25 22:01:19 UTC (rev 19574)
+++ vendor/wine/dlls/comctl32/current/header.c 2005-11-25 22:10:34 UTC (rev 19575)
@@ -813,12 +813,11 @@
if (phdi->mask == 0)
return TRUE;
-
if ((nItem < 0) || (nItem >= (INT)infoPtr->uNumItem))
- lpItem = NULL;
- else
- lpItem = &infoPtr->items[nItem];
+ return FALSE;
+ lpItem = &infoPtr->items[nItem];
+
if (phdi->mask & HDI_BITMAP)
phdi->hbm = (lpItem != NULL) ? lpItem->hbm : 0;
--- vendor/wine/dlls/comctl32/current/rebar.c 2005-11-25 22:01:19 UTC (rev 19574)
+++ vendor/wine/dlls/comctl32/current/rebar.c 2005-11-25 22:10:34 UTC (rev 19575)
@@ -2131,9 +2131,9 @@
lpBand->hwndChild = lprbbi->hwndChild;
lpBand->hwndPrevParent =
SetParent (lpBand->hwndChild, hwnd);
- /* below in trace fro WinRAR */
+ /* below in trace from WinRAR */
ShowWindow(lpBand->hwndChild, SW_SHOWNOACTIVATE | SW_SHOWNORMAL);
- /* above in trace fro WinRAR */
+ /* above in trace from WinRAR */
}
else {
TRACE("child: %p prev parent: %p\n",
--- vendor/wine/dlls/comctl32/current/syslink.c 2005-11-25 22:01:19 UTC (rev 19574)
+++ vendor/wine/dlls/comctl32/current/syslink.c 2005-11-25 22:10:34 UTC (rev 19575)
@@ -1,7 +1,7 @@
/*
* SysLink control
*
- * Copyright 2004 Thomas Weidenmueller <w3seek@reactos.com>
+ * Copyright 2004, 2005 Thomas Weidenmueller <w3seek@reactos.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -25,12 +25,6 @@
* Unless otherwise noted, we believe this code to be complete, as per
* the specification mentioned above.
* If you discover missing features, or bugs, please note them below.
- *
- * TODO:
- * - Fix SHIFT+TAB and TAB issue (wrong link is selected when control gets the focus)
- * - Better string parsing
- * - Improve word wrapping
- *
*/
#include <stdarg.h>
@@ -52,6 +46,7 @@
typedef struct
{
int nChars;
+ int nSkip;
RECT rc;
} DOC_TEXTBLOCK, *PDOC_TEXTBLOCK;
@@ -78,7 +73,6 @@
UINT state; /* Link state */
WCHAR *szID; /* Link ID string */
WCHAR *szUrl; /* Link URL string */
- HRGN hRgn; /* Region of the link */
} Link;
struct
{
@@ -100,6 +94,7 @@
COLORREF TextColor; /* Color of the text */
COLORREF LinkColor; /* Color of links */
COLORREF VisitedColor; /* Color of visited links */
+ WCHAR BreakChar; /* Break Character for the current font */
} SYSLINK_INFO;
static const WCHAR SL_LINKOPEN[] = { '<','a', 0 };
@@ -126,11 +121,6 @@
Free(DocItem->u.Link.szUrl);
}
- if(DocItem->Type == slLink && DocItem->u.Link.hRgn != NULL)
- {
- DeleteObject(DocItem->u.Link.hRgn);
- }
-
/* we don't free Text because it's just a pointer to a character in the
entire window text string */
@@ -215,9 +205,8 @@
{
BOOL ValidParam = FALSE, ValidLink = FALSE;
- switch (*(current + 2))
+ if(*(current + 2) == '>')
{
- case '>':
/* we just have to deal with a <a> tag */
taglen = 3;
ValidLink = TRUE;
@@ -226,8 +215,8 @@
linklen = 0;
lpID = NULL;
lpUrl = NULL;
- break;
- case ' ':
+ }
+ else if(*(current + 2) == infoPtr->BreakChar)
{
/* we expect parameters, parse them */
LPCWSTR *CurrentParameter = NULL, tmp;
@@ -285,28 +274,23 @@
* 1. another parameter is coming, so expect a ' ' (space) character
* 2. the tag is being closed, so expect a '<' character
*/
- switch(*tmp)
+ if(*tmp == infoPtr->BreakChar)
{
- case ' ':
/* we expect another parameter, do the whole thing again */
taglen++;
tmp++;
goto CheckParameter;
-
- case '>':
+ }
+ else if(*tmp == '>')
+ {
/* the tag is being closed, we're done */
ValidLink = TRUE;
taglen++;
- break;
- default:
+ }
+ else
tmp++;
- break;
- }
}
-
- break;
}
- }
if(ValidLink && ValidParam)
{
@@ -495,16 +479,26 @@
*/
static VOID SYSLINK_RepaintLink (SYSLINK_INFO *infoPtr, PDOC_ITEM DocItem)
{
+ PDOC_TEXTBLOCK bl;
+ int n;
+
if(DocItem->Type != slLink)
{
ERR("DocItem not a link!\n");
return;
}
- if(DocItem->u.Link.hRgn != NULL)
+ bl = DocItem->Blocks;
+ if (bl != NULL)
{
- /* repaint the region */
- RedrawWindow(infoPtr->Self, NULL, DocItem->u.Link.hRgn, RDW_INVALIDATE | RDW_UPDATENOW);
+ n = DocItem->nText;
+
+ while(n > 0)
+ {
+ InvalidateRect(infoPtr->Self, &bl->rc, TRUE);
+ n -= bl->nChars + bl->nSkip;
+ bl++;
+ }
}
}
@@ -615,7 +609,8 @@
* SYSLINK_WrapLine
* Tries to wrap a line.
*/
-static BOOL SYSLINK_WrapLine (HDC hdc, LPWSTR Text, WCHAR BreakChar, int *LineLen, int nFit, LPSIZE Extent, int Width)
+static BOOL SYSLINK_WrapLine (HDC hdc, LPWSTR Text, WCHAR BreakChar, int *LineLen,
+ int nFit, LPSIZE Extent, int Width)
{
WCHAR *Current;
@@ -659,7 +654,6 @@
PDOC_ITEM Current;
HGDIOBJ hOldFont;
int x, y, LineHeight;
- TEXTMETRICW tm;
GetClientRect(infoPtr->Self, &rc);
rc.right -= SL_RIGHTMARGIN;
@@ -668,7 +662,6 @@
if(rc.right - SL_LEFTMARGIN < 0 || rc.bottom - SL_TOPMARGIN < 0) return;
hOldFont = SelectObject(hdc, infoPtr->Font);
- GetTextMetricsW(hdc, &tm);
x = SL_LEFTMARGIN;
y = SL_TOPMARGIN;
@@ -684,13 +677,18 @@
if(Current->nText == 0)
{
- ERR("DOC_ITEM with no text?!\n");
continue;
}
tx = Current->Text;
n = Current->nText;
- bl = Current->Blocks;
+
+ if (Current->Blocks != NULL)
+ {
+ Free(Current->Blocks);
+ Current->Blocks = NULL;
+ }
+ bl = NULL;
nBlocks = 0;
if(Current->Type == slText)
@@ -704,41 +702,80 @@
while(n > 0)
{
- if(GetTextExtentExPointW(hdc, tx, n, rc.right - x, &nFit, NULL, &szDim))
+ int SkipChars = 0;
+
+ /* skip break characters unless they're the first of the doc item */
+ if(tx != Current->Text || x == SL_LEFTMARGIN)
{
+ while(n > 0 && (*tx) == infoPtr->BreakChar)
+ {
+ tx++;
+ SkipChars++;
+ n--;
+ }
+ }
+
+ if((n == 0 && SkipChars != 0) ||
+ GetTextExtentExPointW(hdc, tx, n, rc.right - x, &nFit, NULL, &szDim))
+ {
int LineLen = n;
- BOOL Wrap = SYSLINK_WrapLine(hdc, tx, tm.tmBreakChar, &LineLen, nFit, &szDim, rc.right - x);
+ BOOL Wrap = FALSE;
- if(LineLen == 0)
+ if(n != 0)
{
- if(x > SL_LEFTMARGIN)
+ Wrap = SYSLINK_WrapLine(hdc, tx, infoPtr->BreakChar, &LineLen, nFit, &szDim, rc.right - x);
+
+ if(LineLen == 0)
{
- /* move one line down, the word didn't fit into the line */
- x = SL_LEFTMARGIN;
- y += LineHeight;
- LineHeight = 0;
- continue;
+ if(x > SL_LEFTMARGIN)
+ {
+ /* move one line down, the word didn't fit into the line */
+ x = SL_LEFTMARGIN;
+ y += LineHeight;
+ LineHeight = 0;
+ continue;
+ }
+ else
+ {
+ /* the word starts at the beginning of the line and doesn't
+ fit into the line, so break it at the last character that fits */
+ LineLen = max(nFit, 1);
+ }
}
- else
+
+ if(LineLen != n)
{
- /* the word starts at the beginning of the line and doesn't
- fit into the line, so break it at the last character that fits */
- LineLen = max(nFit, 1);
+ if(!GetTextExtentExPointW(hdc, tx, LineLen, rc.right - x, NULL, NULL, &szDim))
+ {
+ if(bl != NULL)
+ {
+ Free(bl);
+ bl = NULL;
+ }
+ break;
+ }
}
}
- if(LineLen != n)
- {
- GetTextExtentExPointW(hdc, tx, LineLen, rc.right - x, NULL, NULL, &szDim);
- }
-
if(bl != NULL)
{
- bl = ReAlloc(bl, ++nBlocks * sizeof(DOC_TEXTBLOCK));
+ PDOC_TEXTBLOCK nbl = ReAlloc(bl, (nBlocks + 1) * sizeof(DOC_TEXTBLOCK));
+ if (nbl != NULL)
+ {
+ bl = nbl;
+ nBlocks++;
+ }
+ else
+ {
+ Free(bl);
+ bl = NULL;
+ }
}
else
{
- bl = Alloc(++nBlocks * sizeof(DOC_TEXTBLOCK));
+ bl = Alloc((nBlocks + 1) * sizeof(DOC_TEXTBLOCK));
+ if (bl != NULL)
+ nBlocks++;
}
if(bl != NULL)
@@ -746,42 +783,24 @@
cbl = bl + nBlocks - 1;
cbl->nChars = LineLen;
+ cbl->nSkip = SkipChars;
cbl->rc.left = x;
cbl->rc.top = y;
cbl->rc.right = x + szDim.cx;
cbl->rc.bottom = y + szDim.cy;
- x += szDim.cx;
- LineHeight = max(LineHeight, szDim.cy);
-
- /* (re)calculate the link's region */
- if(Current->Type == slLink)
+ if(LineLen != 0)
{
- if(nBlocks <= 1)
+ x += szDim.cx;
+ LineHeight = max(LineHeight, szDim.cy);
+
+ if(Wrap)
{
- if(Current->u.Link.hRgn != NULL)
- {
- DeleteObject(Current->u.Link.hRgn);
- }
- /* initialize the link's hRgn */
- Current->u.Link.hRgn = CreateRectRgnIndirect(&cbl->rc);
+ x = SL_LEFTMARGIN;
+ y += LineHeight;
+ LineHeight = 0;
}
- else if(Current->u.Link.hRgn != NULL)
- {
- HRGN hrgn;
- hrgn = CreateRectRgnIndirect(&cbl->rc);
- /* add the rectangle */
- CombineRgn(Current->u.Link.hRgn, Current->u.Link.hRgn, hrgn, RGN_OR);
- DeleteObject(hrgn);
- }
}
-
- if(Wrap)
- {
- x = SL_LEFTMARGIN;
- y += LineHeight;
- LineHeight = 0;
- }
}
else
{
@@ -793,11 +812,16 @@
}
else
{
- ERR("GetTextExtentExPoint() failed?!\n");
n--;
}
}
- Current->Blocks = bl;
+
+ if(nBlocks != 0)
+ {
+ Current->Blocks = bl;
+ }
+ else
+ Current->Blocks = NULL;
}
SelectObject(hdc, hOldFont);
@@ -849,6 +873,7 @@
while(n > 0)
{
+ tx += bl->nSkip;
ExtTextOutW(hdc, bl->rc.left, bl->rc.top, ETO_OPAQUE | ETO_CLIPPED, &bl->rc, tx, bl->nChars, NULL);
if((Current->Type == slLink) && (Current->u.Link.state & LIS_FOCUSED) && infoPtr->HasFocus)
{
@@ -858,7 +883,7 @@
SetBkColor(hdc, PrevColor);
}
tx += bl->nChars;
- n -= bl->nChars;
+ n -= bl->nChars + bl->nSkip;
bl++;
}
}
@@ -896,6 +921,7 @@
{
HDC hdc;
LOGFONTW lf;
+ TEXTMETRICW tm;
HFONT hOldFont = infoPtr->Font;
infoPtr->Font = hFont;
@@ -911,10 +937,12 @@
if(hdc != NULL)
{
/* create a new underline font */
- if(GetObjectW(infoPtr->Font, sizeof(LOGFONTW), &lf))
+ if(GetTextMetricsW(hdc, &tm) &&
+ GetObjectW(infoPtr->Font, sizeof(LOGFONTW), &lf))
{
lf.lfUnderline = TRUE;
infoPtr->LinkFont = CreateFontIndirectW(&lf);
+ infoPtr->BreakChar = tm.tmBreakChar;
}
else
{
@@ -1133,6 +1161,34 @@
}
/***********************************************************************
+ * SYSLINK_PtInDocItem
+ * Determines if a point is in the region of a document item
+ */
+static BOOL SYSLINK_PtInDocItem (PDOC_ITEM DocItem, POINT pt)
+{
+ PDOC_TEXTBLOCK bl;
+ int n;
+
+ bl = DocItem->Blocks;
+ if (bl != NULL)
+ {
+ n = DocItem->nText;
+
+ while(n > 0)
+ {
+ if (PtInRect(&bl->rc, pt))
+ {
+ return TRUE;
+ }
+ n -= bl->nChars + bl->nSkip;
+ bl++;
+ }
+ }
+
+ return FALSE;
+}
+
+/***********************************************************************
* SYSLINK_HitTest
* Determines the link the user clicked on.
*/
@@ -1145,8 +1201,7 @@
{
if(Current->Type == slLink)
{
- if((Current->u.Link.hRgn != NULL) &&
- PtInRegion(Current->u.Link.hRgn, HitTest->pt.x, HitTest->pt.y))
+ if(SYSLINK_PtInDocItem(Current, HitTest->pt))
{
HitTest->item.mask = 0;
HitTest->item.iLink = id;
@@ -1252,25 +1307,13 @@
infoPtr->HasFocus = TRUE;
-#if 1
- /* FIXME - How to detect whether SHIFT+TAB or just TAB has been pressed?
- * The problem is we could get this message without keyboard input, too
- */
- Focus = SYSLINK_GetFocusLink(infoPtr, NULL);
-
- if(Focus == NULL && (Focus = SYSLINK_GetNextLink(infoPtr, NULL)))
- {
- SYSLINK_SetFocusLink(infoPtr, Focus);
- }
-#else
- /* This is a temporary hack since I'm not really sure how to detect which link to select.
- See message above! */
+ /* We always select the first link, even if we activated the control using
+ SHIFT+TAB. This is the default behavior */
Focus = SYSLINK_GetNextLink(infoPtr, NULL);
if(Focus != NULL)
{
SYSLINK_SetFocusLink(infoPtr, Focus);
}
-#endif
SYSLINK_RepaintLink(infoPtr, Focus);
@@ -1307,8 +1350,7 @@
for(Current = infoPtr->Items; Current != NULL; Current = Current->Next)
{
- if((Current->Type == slLink) && (Current->u.Link.hRgn != NULL) &&
- PtInRegion(Current->u.Link.hRgn, pt->x, pt->y) &&
+ if((Current->Type == slLink) && SYSLINK_PtInDocItem(Current, *pt) &&
(!MustBeEnabled || (MustBeEnabled && (Current->u.Link.state & LIS_ENABLED))))
{
if(LinkId != NULL)
@@ -1335,6 +1377,8 @@
Current = SYSLINK_LinkAtPt(infoPtr, pt, &id, TRUE);
if(Current != NULL)
{
+ SetFocus(infoPtr->Self);
+
Old = SYSLINK_SetFocusLink(infoPtr, Current);
if(Old != NULL && Old != Current)
{
@@ -1342,7 +1386,6 @@
}
infoPtr->MouseDownID = id;
SYSLINK_RepaintLink(infoPtr, Current);
- SetFocus(infoPtr->Self);
}
return 0;
@@ -1460,7 +1503,7 @@
infoPtr = (SYSLINK_INFO *)GetWindowLongPtrW(hwnd, 0);
if (!infoPtr && message != WM_CREATE)
- return DefWindowProcW( hwnd, message, wParam, lParam );
+ goto HandleDefaultMessage;
switch(message) {
case WM_PRINTCLIENT:
@@ -1482,8 +1525,7 @@
return TRUE;
}
/* let the default window proc handle this message */
- return DefWindowProcW(hwnd, message, wParam, lParam);
-
+ goto HandleDefaultMessage;
}
case WM_SIZE:
@@ -1505,7 +1547,7 @@
case WM_SETTEXT:
SYSLINK_SetText(infoPtr, (LPWSTR)lParam);
- return DefWindowProcW(hwnd, message, wParam, lParam);
+ goto HandleDefaultMessage;
case WM_LBUTTONDOWN:
{
@@ -1536,7 +1578,7 @@
return 0;
}
}
- return DefWindowProcW(hwnd, message, wParam, lParam);
+ goto HandleDefaultMessage;
}
case WM_GETDLGCODE:
@@ -1638,6 +1680,7 @@
infoPtr->TextColor = GetSysColor(COLOR_WINDOWTEXT);
infoPtr->LinkColor = GetSysColor(COLOR_HIGHLIGHT);
infoPtr->VisitedColor = GetSysColor(COLOR_HIGHLIGHT);
+ infoPtr->BreakChar = ' ';
TRACE("SysLink Ctrl creation, hwnd=%p\n", hwnd);
SYSLINK_SetText(infoPtr, ((LPCREATESTRUCTW)lParam)->lpszName);
return 0;
@@ -1652,8 +1695,11 @@
return 0;
default:
+HandleDefaultMessage:
if ((message >= WM_USER) && (message < WM_APP))
- ERR("unknown msg %04x wp=%04x lp=%08lx\n", message, wParam, lParam );
+ {
+ ERR("unknown msg %04x wp=%04x lp=%08lx\n", message, wParam, lParam );
+ }
return DefWindowProcW(hwnd, message, wParam, lParam);
}
}
--- vendor/wine/dlls/comctl32/current/tooltips.c 2005-11-25 22:01:19 UTC (rev 19574)
+++ vendor/wine/dlls/comctl32/current/tooltips.c 2005-11-25 22:10:34 UTC (rev 19575)
@@ -1507,7 +1507,7 @@
/* NB this API is broken, there is no way for the app to determine
what size buffer it requires nor a way to specify how long the
- one it supplies is. We'll assume it's upto INFOTIPSIZE */
+ one it supplies is. We'll assume it's up to INFOTIPSIZE */
WideCharToMultiByte(CP_ACP, 0, infoPtr->tools[nTool].lpszText, -1,
lpToolInfo->lpszText, INFOTIPSIZE, NULL, NULL);
--- vendor/wine/dlls/commdlg/current/cdlg_Ko.rc 2005-11-25 22:01:19 UTC (rev 19574)
+++ vendor/wine/dlls/commdlg/current/cdlg_Ko.rc 2005-11-25 22:10:34 UTC (rev 19575)
@@ -1,5 +1,6 @@
/*
* Copyright 1996 Bang Jun Young
+ * Copyright 2005 YunSong Hwang
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -85,7 +86,7 @@
LTEXT "???Ô Ã??·(&Q):", 1092, 6, 100, 76, 9
COMBOBOX 1136, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
CHECKBOX "ã??¤À? ???Ô(&L)", 1040, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- CHECKBOX "Condensed", 1041, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
+ CHECKBOX " ã°?? ????", 1041, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
}
@@ -117,76 +118,76 @@
PRINT32 DIALOG LOADONCALL MOVEABLE DISCARDABLE 32, 32, 288, 186
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU |
DS_CONTEXTHELP | DS_3DLOOK
-CAPTION "Print"
+CAPTION "???Ô"
FONT 9, "MS Shell Dlg"
{
- DEFPUSHBUTTON "OK", IDOK, 180,164, 48,14, WS_GROUP | BS_DEFPUSHBUTTON
- PUSHBUTTON "Cancel", IDCANCEL, 232,164, 48,14, WS_GROUP
- PUSHBUTTON "&Help", pshHelp, 50, 161, 48,14, WS_GROUP
+ DEFPUSHBUTTON "?«??", IDOK, 180,164, 48,14, WS_GROUP | BS_DEFPUSHBUTTON
+ PUSHBUTTON "?Ù?Ê", IDCANCEL, 232,164, 48,14, WS_GROUP
+ PUSHBUTTON "ÁÁ??©?(&H)", pshHelp, 50, 161, 48,14, WS_GROUP
- GROUPBOX "Printer", grp4, 8, 4, 272,84, WS_GROUP
- CONTROL "Print to fi&le", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,212,70,64,12
- PUSHBUTTON "&Properties", psh2, 212, 17, 60,14, WS_GROUP
- LTEXT "&Name:", stc6, 16, 20, 36,8
+ GROUPBOX "Ã?©???", grp4, 8, 4, 272,84, WS_GROUP
+ CONTROL "ã??¤À? ???Ô(&l)", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,212,70,64,12
+ PUSHBUTTON "?Ë??(&P)", psh2, 212, 17, 60,14, WS_GROUP
+ LTEXT "??©º(&N):", stc6, 16, 20, 36,8
COMBOBOX cmb4, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
- LTEXT "Status:", stc8, 16, 36, 36,10, SS_NOPREFIX
- LTEXT "Dummy State", stc12, 52, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
- LTEXT "Type:", stc7, 16, 48, 36,10, SS_NOPREFIX
- LTEXT "Dummy Type", stc11, 52, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
- LTEXT "Where:", stc10, 16, 60, 36,10, SS_NOPREFIX
- LTEXT "Dummy Location", stc14, 52, 60, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
- LTEXT "Comment:", stc9, 16, 72, 36,10, SS_NOPREFIX
- LTEXT "Dummy Remark", stc13, 52, 72, 152,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
+ LTEXT "?¾??:", stc8, 16, 36, 36,10, SS_NOPREFIX
+ LTEXT "?§?? ?¾??", stc12, 52, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
+ LTEXT "?©?È:", stc7, 16, 48, 36,10, SS_NOPREFIX
+ LTEXT "?§?? ?©?È", stc11, 52, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
+ LTEXT "¥¯Á?:", stc10, 16, 60, 36,10, SS_NOPREFIX
+ LTEXT "?§?? ?º?í", stc14, 52, 60, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
+ LTEXT "??©Ý:", stc9, 16, 72, 36,10, SS_NOPREFIX
+ LTEXT "?§?? ??©Ý", stc13, 52, 72, 152,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
- GROUPBOX "Copies", grp2, 160, 92, 120,64, WS_GROUP
- LTEXT "Number of &copies:",stc5,168,108,68,8
+ GROUPBOX "???þ??", grp2, 160, 92, 120,64, WS_GROUP
+ LTEXT "???þ?? ???÷(&c):",stc5,168,108,68,8
ICON "", ico3, 162,124, 76,24, WS_GROUP | SS_CENTERIMAGE
- CONTROL "C&ollate", chx2,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,240,130,36,12
+ CONTROL "Ãi?í?Ô(&o)", chx2,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,240,130,36,12
EDITTEXT edt3, 240,106, 32,12, WS_GROUP | ES_NUMBER
- GROUPBOX "Print range", grp1, 8,92, 144,64, WS_GROUP
- CONTROL "&All", rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,106,64,12
- CONTROL "Pa&ges", rad3,"Button",BS_AUTORADIOBUTTON,16,122,36,12
- CONTROL "&Selection", rad2,"Button",BS_AUTORADIOBUTTON,16,138,64,12
+ GROUPBOX "???Ô ?³?º", grp1, 8,92, 144,64, WS_GROUP
+ CONTROL "©Á?(&A)", rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,106,64,12
+ CONTROL "ãõ???÷(&g)", rad3,"Button",BS_AUTORADIOBUTTON,16,122,36,12
+ CONTROL "?????Á?¬(&S)", rad2,"Button",BS_AUTORADIOBUTTON,16,138,64,12
EDITTEXT edt1, 74,122, 26,12, WS_GROUP | ES_NUMBER
EDITTEXT edt2, 118,122, 26,12, WS_GROUP | ES_NUMBER
- RTEXT "&from:", stc2, 52,124, 20,8
- RTEXT "&to:", stc3, 100,124, 16,8
+ RTEXT "?®?Ô?¡????(&f):", stc2, 52,124, 20,8
+ RTEXT "?®?Ô?¯?÷(&t):", stc3, 100,124, 16,8
}
PRINT32_SETUP DIALOG LOADONCALL MOVEABLE DISCARDABLE 32, 32, 288, 178
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU |
DS_CONTEXTHELP | DS_3DLOOK
-CAPTION "Print Setup"
+CAPTION "???Ô ???ñ"
FONT 9, "MS Shell Dlg"
BEGIN
- DEFPUSHBUTTON "OK",IDOK,180,156,48,14,WS_GROUP
- PUSHBUTTON "Cancel",IDCANCEL,232,156,48,14
-/* PUSHBUTTON "Network...", psh5, 284,156,48,14 */
+ DEFPUSHBUTTON "?«??",IDOK,180,156,48,14,WS_GROUP
+ PUSHBUTTON "?Ù?Ê",IDCANCEL,232,156,48,14
+/* PUSHBUTTON "?Îã«?÷?®...", psh5, 284,156,48,14 */
- GROUPBOX "Printer", grp4, 8, 4, 272,84, WS_GROUP
- PUSHBUTTON "&Properties", psh2, 212, 17, 60,14, WS_GROUP
- LTEXT "&Name:", stc6, 16, 20, 36,8
+ GROUPBOX "Ã?©???", grp4, 8, 4, 272,84, WS_GROUP
+ PUSHBUTTON "?Ë??(&P)", psh2, 212, 17, 60,14, WS_GROUP
+ LTEXT "??©º(&N):", stc6, 16, 20, 36,8
COMBOBOX cmb1, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
- LTEXT "Status:", stc8, 16, 36, 36,10, SS_NOPREFIX
- LTEXT "Dummy State", stc12, 52, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
- LTEXT "Type:", stc7, 16, 48, 36,10, SS_NOPREFIX
- LTEXT "Dummy Type", stc11, 52, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
- LTEXT "Where:", stc10, 16, 60, 36,10, SS_NOPREFIX
- LTEXT "Dummy Location", stc14, 52, 60, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
- LTEXT "Comment:", stc9, 16, 72, 36,10, SS_NOPREFIX
- LTEXT "Dummy Remark", stc13, 52, 72, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
+ LTEXT "?¾??:", stc8, 16, 36, 36,10, SS_NOPREFIX
+ LTEXT "?§?± ?¾??", stc12, 52, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
+ LTEXT "?©?È:", stc7, 16, 48, 36,10, SS_NOPREFIX
+ LTEXT "?§?? ?©?È", stc11, 52, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
+ LTEXT "¥¯Á?:", stc10, 16, 60, 36,10, SS_NOPREFIX
+ LTEXT "?§?? ?º?í", stc14, 52, 60, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
+ LTEXT "??©Ý:", stc9, 16, 72, 36,10, SS_NOPREFIX
+ LTEXT "?§?? ??©Ý", stc13, 52, 72, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
- GROUPBOX "Paper", grp2, 8, 92, 164,56, WS_GROUP
- LTEXT "Si&ze:", stc2, 16,108, 36, 8
+ GROUPBOX "?¥??", grp2, 8, 92, 164,56, WS_GROUP
+ LTEXT "?®?Ô(&z):", stc2, 16,108, 36, 8
COMBOBOX cmb2, 52,106, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
- LTEXT "&Source:", stc3, 16,128, 36, 8
+ LTEXT "?°??(&S):", stc3, 16,128, 36, 8
COMBOBOX cmb3, 52,126, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
- GROUPBOX "Orientation", grp1, 180, 92, 100,56, WS_GROUP
+ GROUPBOX "?µÃÔ", grp1, 180, 92, 100,56, WS_GROUP
ICON "", ico1, 195,112, 18,20, WS_GROUP
- CONTROL "P&ortrait", rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP |WS_TABSTOP,224,106,52,12
- CONTROL "L&andscape", rad2,"Button",BS_AUTORADIOBUTTON,224,126,52,12
+ CONTROL "?íÀ?(&o)", rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP |WS_TABSTOP,224,106,52,12
+ CONTROL "??À?(&a)", rad2,"Button",BS_AUTORADIOBUTTON,224,126,52,12
END
--- vendor/wine/dlls/commdlg/current/filedlg.c 2005-11-25 22:01:19 UTC (rev 19574)
+++ vendor/wine/dlls/commdlg/current/filedlg.c 2005-11-25 22:10:34 UTC (rev 19575)
@@ -283,7 +283,7 @@
}
/* Some shell namespace extensions depend on COM being initialized. */
- hr = CoInitialize(NULL);
+ hr = OleInitialize(NULL);
lRes = DialogBoxIndirectParamA(COMDLG32_hInstance,
(LPDLGTEMPLATEA) template,
@@ -291,7 +291,7 @@
FileOpenDlgProc95,
(LPARAM) fodInfos);
if (SUCCEEDED(hr))
- CoUninitialize();
+ OleUninitialize();
/* Unable to create the dialog */
if( lRes == -1)
@@ -701,10 +701,6 @@
/* finally use fixed parent size */
rectParent.bottom -= help_fixup;
- /* save the size of the parent's client area */
- rectChild.right = rectParent.right;
- rectChild.bottom = rectParent.bottom;
-
/* set the size of the parent dialog */
AdjustWindowRectEx(&rectParent, GetWindowLongW(hwndParentDlg, GWL_STYLE),
FALSE, GetWindowLongW(hwndParentDlg, GWL_EXSTYLE));
@@ -713,10 +709,6 @@
rectParent.right - rectParent.left,
rectParent.bottom - rectParent.top,
SWP_NOMOVE | SWP_NOZORDER);
-
- /* set the size of the child dialog */
- SetWindowPos(hwndChildDlg, HWND_BOTTOM,
- 0, 0, rectChild.right, rectChild.bottom, SWP_NOACTIVATE);
}
static INT_PTR CALLBACK FileOpenDlgProcUserTemplate(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
@@ -1032,9 +1024,29 @@
FILEDLG95_InitControls(hwnd);
if (fodInfos->DlgInfos.hwndCustomDlg)
+ {
+ RECT rc;
+ UINT flags = SWP_NOACTIVATE;
+
ArrangeCtrlPositions(fodInfos->DlgInfos.hwndCustomDlg, hwnd,
(fodInfos->ofnInfos->Flags & (OFN_HIDEREADONLY | OFN_SHOWHELP)) == OFN_HIDEREADONLY);
+ /* resize the custom dialog to the parent size */
+ if (fodInfos->ofnInfos->Flags & (OFN_ENABLETEMPLATE | OFN_ENABLETEMPLATEHANDLE))
+ GetClientRect(hwnd, &rc);
+ else
+ {
+ /* our own fake template is zero sized and doesn't have
+ * children, so there is no need to resize it.
+ * Picasa depends on it.
+ */
+ flags |= SWP_NOSIZE;
+ SetRectEmpty(&rc);
+ }
+ SetWindowPos(fodInfos->DlgInfos.hwndCustomDlg, HWND_BOTTOM,
+ 0, 0, rc.right, rc.bottom, flags);
+ }
+
FILEDLG95_FillControls(hwnd, wParam, lParam);
SendCustomDlgNotificationMessage(hwnd,CDN_INITDONE);
@@ -3782,6 +3794,8 @@
{
BOOL win16look = FALSE;
+ TRACE("flags %08lx\n", ofn->Flags);
+
/* OFN_FILEMUSTEXIST implies OFN_PATHMUSTEXIST */
if (ofn->Flags & OFN_FILEMUSTEXIST)
ofn->Flags |= OFN_PATHMUSTEXIST;
@@ -3810,6 +3824,12 @@
{
BOOL win16look = FALSE;
[truncated at 1000 lines; 6432 more skipped]