Author: winesync Date: Wed Apr 25 12:22:24 2007 New Revision: 26501
URL: http://svn.reactos.org/svn/reactos?rev=26501&view=rev Log: Autosyncing with Wine HEAD
Added: trunk/reactos/dll/win32/oledlg/oledlg_Pl.rc (with props) trunk/reactos/dll/win32/oledlg/oledlg_private.h (with props) trunk/reactos/dll/win32/oledlg/pastespl.c (with props) Modified: trunk/reactos/dll/win32/oledlg/insobjdlg.c trunk/reactos/dll/win32/oledlg/oledlg.rbuild trunk/reactos/dll/win32/oledlg/oledlg_De.rc trunk/reactos/dll/win32/oledlg/oledlg_En.rc trunk/reactos/dll/win32/oledlg/oledlg_Fr.rc trunk/reactos/dll/win32/oledlg/oledlg_It.rc trunk/reactos/dll/win32/oledlg/oledlg_Ko.rc trunk/reactos/dll/win32/oledlg/oledlg_Nl.rc trunk/reactos/dll/win32/oledlg/oledlg_No.rc trunk/reactos/dll/win32/oledlg/oledlg_Pt.rc trunk/reactos/dll/win32/oledlg/oledlg_main.c trunk/reactos/dll/win32/oledlg/oledlg_ros.diff trunk/reactos/dll/win32/oledlg/resource.h trunk/reactos/dll/win32/oledlg/rsrc.rc
Modified: trunk/reactos/dll/win32/oledlg/insobjdlg.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/insobjdlg.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/insobjdlg.c (original) +++ trunk/reactos/dll/win32/oledlg/insobjdlg.c Wed Apr 25 12:22:24 2007 @@ -57,7 +57,7 @@
} InsertObjectDlgInfo;
-INT_PTR CALLBACK UIInsertObjectDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); +static INT_PTR CALLBACK UIInsertObjectDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); static LRESULT UIINSOBJDLG_OnWMCommand(HWND hwnd, WPARAM wParam, LPARAM lParam); static void UIINSERTOBJECTDLG_InitDialog(InsertObjectDlgInfo* pdlgInfo); static void UIINSERTOBJECTDLG_SelectCreateCtrl(InsertObjectDlgInfo* pdlgInfo);
Modified: trunk/reactos/dll/win32/oledlg/oledlg.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg.rbu... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg.rbuild (original) +++ trunk/reactos/dll/win32/oledlg/oledlg.rbuild Wed Apr 25 12:22:24 2007 @@ -17,6 +17,7 @@ <library>ntdll</library> <file>insobjdlg.c</file> <file>oledlg_main.c</file> + <file>pastespl.c</file> <file>rsrc.rc</file> <file>oledlg.spec</file> </module>
Modified: trunk/reactos/dll/win32/oledlg/oledlg_De.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_De.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_De.rc (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_De.rc Wed Apr 25 12:22:24 2007 @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT +LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU @@ -53,3 +53,43 @@ IDS_NOTOLEMOD "Die Datei ist offenbar kein gültiges OLE - Steuermodul. Die OLE - Steuerung konnte nicht registiert werden." IDS_NOTOLEMODCAPTION "Steuerung hinzufügen" } + +IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 293, 140 +STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Inhalte einfügen" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Quelle:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP + CONTROL "&Einfügen", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, + 6, 38, 55, 10 + CONTROL "&Verknüpfung einfügen", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + 6, 63, 55, 10 + LTEXT "&Als:", -1, 65, 25, 16, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 224, 6, 66, 14 + CONTROL "Abbrechen", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 23, 66, 14 + CONTROL "&Hilfe", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 42, 66, 14 + CONTROL "Als Symbol &darstellen", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 + CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 224, 75, 66, 44 + CONTROL "&Symbol ändern...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 + CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 + CONTROL "<< result text goes here >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 + CONTROL "Ergebnis", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 212, 48 + CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 +END + +STRINGTABLE DISCARDABLE +{ + IDS_PS_PASTE_DATA "Fügt den Inhalt der Zwischenablage in Ihr Dokument als %s ein." + IDS_PS_PASTE_OBJECT "Fügt den Inhalt der Zwischenablage so in Ihr Dokument ein dass Sie es mit %s aktivieren können." + IDS_PS_PASTE_OBJECT_AS_ICON "Fügt den Inhalt der Zwischenablage so in Ihr Dokument ein dass Sie es mit %s aktivieren können. Wird als Symbol dargestellt." + IDS_PS_PASTE_LINK_DATA "Fügt den Inhalt der Zwischenablage in Ihr Dokument als %s ein. Die Daten sind mit der Ursprungsdatei verknüpft so dass Änderungen an dieser in Ihrem Dokument erscheinen." + IDS_PS_PASTE_LINK_OBJECT "Fügt ein Bild des Zwischenablagen-Inhalts in Ihr Dokument ein. Das Bild ist mit der Ursprungsdatei verknüpft so dass Änderungen an dieser in Ihrem Dokument erscheinen." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Fügt eine Verknüpfung ein die auf den Ort des Zwischenablagen-Inhalts zeigt. Die Verknüpfung ist mit der Ursprungsdatei verknüpft so dass Änderungen an dieser in Ihrem Dokument erscheinen." + IDS_PS_NON_OLE "Fügt den Inhalt der Zwischenablage in Ihr Dokument als ein." + IDS_PS_UNKNOWN_TYPE "Unbekannter Typ" + IDS_PS_UNKNOWN_SRC "Unbekannte Quelle" + IDS_PS_UNKNOWN_APP "dem Erzeugerprogramm" +}
Modified: trunk/reactos/dll/win32/oledlg/oledlg_En.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_En.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_En.rc (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_En.rc Wed Apr 25 12:22:24 2007 @@ -53,3 +53,43 @@ IDS_NOTOLEMOD "File does not appear to be a valid OLE module. Unable to register OLE control." IDS_NOTOLEMODCAPTION "Add Control" } + +IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 293, 140 +STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Paste Special" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Source:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP + CONTROL "&Paste", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, + 6, 38, 55, 10 + CONTROL "Paste &Link", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + 6, 63, 55, 10 + LTEXT "&As:", -1, 65, 25, 16, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 224, 6, 66, 14 + CONTROL "Cancel", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 23, 66, 14 + CONTROL "&Help", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 42, 66, 14 + CONTROL "&Display As Icon", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 + CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 224, 75, 66, 44 + CONTROL "Change &Icon...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 + CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 + CONTROL "<< result text goes here >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 + CONTROL "Result", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 212, 48 + CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 +END + +STRINGTABLE DISCARDABLE +{ + IDS_PS_PASTE_DATA "Inserts the contents of the clipboard into your document as %s." + IDS_PS_PASTE_OBJECT "Inserts the contents of the clipboard into your document so that you can activate it using %s." + IDS_PS_PASTE_OBJECT_AS_ICON "Inserts the contents of the clipboard into your document so that you can activate it using %s. It will be displayed as an icon." + IDS_PS_PASTE_LINK_DATA "Inserts the contents of the clipboard into your document as %s. The data is linked to the source file so that changes to the file will be reflected in your document." + IDS_PS_PASTE_LINK_OBJECT "Inserts a picture of the clipboard contents into your document. The picture is linked to the source file so that changes to the file will be reflected in your document." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Inserts a shortcut which points to the location of the clipboard contents. The shortcut is linked to the source file so that changes to the file will be reflected in your document." + IDS_PS_NON_OLE "Inserts the contents of the clipboard into your document." + IDS_PS_UNKNOWN_TYPE "Unknown Type" + IDS_PS_UNKNOWN_SRC "Unknown Source" + IDS_PS_UNKNOWN_APP "the program which created it" +}
Modified: trunk/reactos/dll/win32/oledlg/oledlg_Fr.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_Fr.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_Fr.rc (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_Fr.rc Wed Apr 25 12:22:24 2007 @@ -2,7 +2,7 @@ * oledlg dll resources * French language support * - * Copyright (C) 2005 Jonathan Ernst + * Copyright (C) 2005-2006 Jonathan Ernst * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -30,30 +30,70 @@ LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP - LTEXT "Type d'objet:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE + LTEXT "Type d'objet :",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE DEFPUSHBUTTON "OK",IDOK,221,7,66,14 PUSHBUTTON "Annuler",IDCANCEL,221,24,66,14 GROUPBOX "Résultat",IDC_RESULT,7,103,208,41 - CONTROL "Créer Nouveau",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | + CONTROL "Créer nouveau",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | WS_GROUP,7,20,62,10 - CONTROL "Créer Contrôle",IDC_CREATECONTROL,"Button", + CONTROL "Créer le contrôle",IDC_CREATECONTROL,"Button", BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10 - CONTROL "Créer Depuis Fichier",IDC_CREATEFROMFILE,"Button", + CONTROL "Créer depuis le fichier",IDC_CREATEFROMFILE,"Button", BS_AUTORADIOBUTTON,7,37,67,10 LTEXT "",IDC_RESULTDESC,49,112,159,23 PUSHBUTTON "&Ajoute Contrôle...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE - CONTROL "Afficher Comme Icône",IDC_ASICON,"Button",BS_AUTOCHECKBOX | + CONTROL "Afficher comme icône",IDC_ASICON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10 PUSHBUTTON "Parcourir...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE - LTEXT "Fichier:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE + LTEXT "Fichier :",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE END
STRINGTABLE DISCARDABLE { IDS_RESULTOBJDESC "Insérer un nouvel object %s dans votre document" - IDS_RESULTFILEOBJDESC "Insère le contenu du fichier comme un objet dans votre document afin que vous puissiez l'activer en utilisant le programme avec lequel vous l'avez créé." + IDS_RESULTFILEOBJDESC "Insère le contenu du fichier comme un objet dans votre document afin que vous puissiez l'activer en utilisant le programme avec lequel il a été créé." IDS_BROWSE "Parcourir" IDS_NOTOLEMOD "Le fichier ne semble pas être un module OLE valide. Impossible d'enregistrer le contrôle OLE." - IDS_NOTOLEMODCAPTION "Ajouter Contrôle" + IDS_NOTOLEMODCAPTION "Ajouter un contrôle" } + +IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 293, 140 +STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Collage spécial" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Source :", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP + CONTROL "C&oller", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, + 6, 38, 55, 10 + CONTROL "Coller le &lien", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + 6, 63, 55, 10 + LTEXT "&Comme :", -1, 65, 25, 16, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 224, 6, 66, 14 + CONTROL "Annuler", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 23, 66, 14 + CONTROL "Aid&e", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 42, 66, 14 + CONTROL "&Afficher comme icône", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 + CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 224, 75, 66, 44 + CONTROL "Changer l'&icône...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 + CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 + CONTROL "<< le résultat vient ici >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 + CONTROL "Résultat", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 212, 48 + CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 +END + +STRINGTABLE DISCARDABLE +{ + IDS_PS_PASTE_DATA "Insère le contenu du presse-papiers dans votre document comme %s." + IDS_PS_PASTE_OBJECT "Insère le contenu du presse-papiers dans votre document de sorte que vous puissiez l'activer en utilisant %s." + IDS_PS_PASTE_OBJECT_AS_ICON "Insère le contenu du presse-papiers dans votre document de sorte que vous puissiez l'activer en utilisant %s. Il sera affiché comme une icône." + IDS_PS_PASTE_LINK_DATA "Insère le contenu du presse-papiers dans votre document comme %s. Les données sont liées au fichier source de sorte que les modifications de celles-ci seront répercutées dans votre document." + IDS_PS_PASTE_LINK_OBJECT "Insère le contenu du presse-papiers dans votre document. L'image est liée au fichier source de sorte que les modifications de celle-ci seront répercutées dans votre document." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Insère un raccourci qui pointe vers l'emplacement du contenu du presse-papiers. Le raccourci est lié au fichier source de sorte que les modifications de celui-ci seront répercutées dans votre document." + IDS_PS_NON_OLE "Insère le contenu du presse-papiers dans votre document." + IDS_PS_UNKNOWN_TYPE "Type inconnu" + IDS_PS_UNKNOWN_SRC "Source inconnue" + IDS_PS_UNKNOWN_APP "le programme avec lequel il a été créé" +}
Modified: trunk/reactos/dll/win32/oledlg/oledlg_It.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_It.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_It.rc (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_It.rc Wed Apr 25 12:22:24 2007 @@ -17,7 +17,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
Modified: trunk/reactos/dll/win32/oledlg/oledlg_Ko.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_Ko.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_Ko.rc (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_Ko.rc Wed Apr 25 12:22:24 2007 @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT +LANGUAGE LANG_KOREAN, SUBLANG_NEUTRAL
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU @@ -53,3 +53,43 @@ IDS_NOTOLEMOD "ÀÌ ÆÄÀÏÀº ¿Ã¹Ù¸¥ OLE¸ðµâÀÌ ¾Æ´Ñ°Å·Î º¸ÀÔ´Ï´Ù. OLEÄÁÆ®·ÑÀ» µî·ÏÇÒ¼ö ¾ø½À´Ï´Ù." IDS_NOTOLEMODCAPTION "ÄÁÆ®·Ñ ´õÇϱâ" } + +IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 293, 140 +STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Ưº°ÇÏ°Ô ºÙ¿©³Ö±â" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "¿øº»:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP + CONTROL "ºÙ¿©³Ö±â(&P)", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, + 6, 38, 55, 10 + CONTROL "¸µÅ©·Î ºÙ¿©³Ö±â(&L)", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + 6, 63, 55, 10 + LTEXT "&As:", -1, 65, 25, 16, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "È®ÀÎ", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 224, 6, 66, 14 + CONTROL "Ãë¼Ò", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 23, 66, 14 + CONTROL "µµ¿ò¸»(&H)", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 42, 66, 14 + CONTROL "¾ÆÀÌÄÜÀ¸·Î º¸±â(&D)", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 + CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 224, 75, 66, 44 + CONTROL "¾ÆÀÌÄÜ ¹Ù²Ù±â(&I)...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 + CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 + CONTROL "<< °á°ú ÅØ½ºÆ®´Â ¿©±â´Ù°¡ >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 + CONTROL "°á°ú", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 212, 48 + CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 +END + +STRINGTABLE DISCARDABLE +{ + IDS_PS_PASTE_DATA "´ç½ÅÀÇ ¹®¼ %s¿¡ Ŭ¸³º¸µåÀÇ ³»¿ë »ðÀÔÇϱâ." + IDS_PS_PASTE_OBJECT "´ç½ÅÀÇ ¹®¼¿¡ Ŭ¸³º¸µåÀÇ ³»¿ëµéÀ» ÷ºÎÇϸé %s¸¦ »ç¿ëÇØ¼ À̰ÍÀ» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù." + IDS_PS_PASTE_OBJECT_AS_ICON "´ç½ÅÀÇ ¹®¼¿¡ Ŭ¸³º¸µåÀÇ ³»¿ëµéÀ» ÷ºÎÇϸé %s¸¦ »ç¿ëÇØ¼ À̰ÍÀ» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ¾ÆÀÌÄÜÀ¸·Î ³ªÅ¸³»Áú °Ì´Ï´Ù." + IDS_PS_PASTE_LINK_DATA "´ç½ÅÀÇ ¹®¼ %s¿¡ Ŭ¸³º¸µåÀÇ ³»¿ë »ðÀÔÇϱâ. ÀÌ µ¥ÀÌÅÍ´Â ¿øº» ÆÄÀÏ¿¡ ¿¬°áµÇ¾î ÀÖ¾î¼ ÆÄÀÏÀÌ ¹Ù²î¸é ´ç½ÅÀÇ ¹®¼µµ ¹Ù²ð°Ì´Ï´Ù." + IDS_PS_PASTE_LINK_OBJECT "´ç½ÅÀÇ ¹®¼¿¡ Ŭ¸³º¸µå¿¡ ÀÖ´Â ±×¸²À» Áý¾î³Ö½À´Ï´Ù. ÀÌ ±×¸²Àº ¿øº» ÆÄÀÏ¿¡ ¿¬°áµÇ¾î ÀÖ¾î¼ ÆÄÀÏÀÌ ¹Ù²î¸é ´ç½ÅÀÇ ¹®¼µµ ¹Ù²ð°Ì´Ï´Ù." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "´ç½ÅÀÇ ¹®¼¿¡ Ŭ¸³º¸µå¿¡ ÀÖ´Â ´ÜÃà¾ÆÀÌÄÜÀ» Áý¾î³Ö½À´Ï´Ù. ÀÌ ´ÜÃà¾ÆÀÌÄÜÀº ¿øº» ÆÄÀÏ¿¡ ¿¬°áµÇ¾î ÀÖ¾î¼ ÆÄÀÏÀÌ ¹Ù²î¸é ´ç½ÅÀÇ ¹®¼µµ ¹Ù²ð°Ì´Ï´Ùt." + IDS_PS_NON_OLE "´ç½ÅÀÇ ¹®¼¿¡ Ŭ¸³º¸µåÀÇ ³»¿ë »ðÀÔÇϱâ." + IDS_PS_UNKNOWN_TYPE "¾Ë¼ö ¾ø´Â Çü½Ä" + IDS_PS_UNKNOWN_SRC "¾Ë¼ö ¾ø´Â ¿øº»" + IDS_PS_UNKNOWN_APP "ÀÌ ÇÁ·Î±×·¥Àº ¾Ë ¼ö ¾ø´Â ÇÁ·Î±×·¥À¸·Î ¸¸µé¾îÁ³½À´Ï´Ù" +}
Modified: trunk/reactos/dll/win32/oledlg/oledlg_Nl.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_Nl.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_Nl.rc (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_Nl.rc Wed Apr 25 12:22:24 2007 @@ -17,7 +17,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT +LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU @@ -33,7 +33,7 @@ GROUPBOX "Resultaat",IDC_RESULT,7,103,208,41 CONTROL "Nieuw",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | WS_GROUP,7,20,62,10 - CONTROL "Creëren",IDC_CREATECONTROL,"Button", + CONTROL "Creëren",IDC_CREATECONTROL,"Button", BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10 CONTROL "Bestand gebruiken",IDC_CREATEFROMFILE,"Button", BS_AUTORADIOBUTTON,7,37,67,10
Modified: trunk/reactos/dll/win32/oledlg/oledlg_No.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_No.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_No.rc (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_No.rc Wed Apr 25 12:22:24 2007 @@ -1,5 +1,5 @@ /* - * Copyright 2005 Alexander N. Sørnes alex@thehandofagony.com + * Copyright 2005-2006 Alexander N. Sørnes alex@thehandofagony.com * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -53,3 +53,43 @@ IDS_NOTOLEMOD "Filen ser ikke ut til å være en gyldig OLE-modul. Kunne ikke registrere OLE-kontroller." IDS_NOTOLEMODCAPTION "Legg til kontroller" } + +IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 293, 140 +STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Lim inn spesiell" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Kilde:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP + CONTROL "Lim in&n", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, + 6, 38, 55, 10 + CONTROL "Lim inn kob&ling", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + 6, 63, 55, 10 + LTEXT "&Som:", -1, 65, 25, 16, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 224, 6, 66, 14 + CONTROL "Avbryt", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 23, 66, 14 + CONTROL "&Hjelp", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 42, 66, 14 + CONTROL "&Vis som ikon", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 + CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 224, 75, 66, 44 + CONTROL "Endre &ikon . . .", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 + CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 + CONTROL "<< resultatet kommer her >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 + CONTROL "Resultat", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 212, 48 + CONTROL "", IDC_PS_SOURCETEXT, "Rediger", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 +END + +STRINGTABLE DISCARDABLE +{ + IDS_PS_PASTE_DATA "Setter innholdet fra utklippstavlen inn i dokumentet som %s." + IDS_PS_PASTE_OBJECT "Setter innholdet fra utklippstavlen inn i dokumentet så du kan aktivere det med %s." + IDS_PS_PASTE_OBJECT_AS_ICON "Setter innholdet fra utklippstavlen inn i dokumentet så du kan aktivere det med %s. Det vises som et ikon." + IDS_PS_PASTE_LINK_DATA "Setter innholdet fra utklippstavlen inn i dokumentet som %s. Det kobles til kildefilen så endrer i denne også skjer i dokumentet." + IDS_PS_PASTE_LINK_OBJECT "Setter inn et bilde av utklippstavleinnholdet i dokumentet. Bildet kobles til kildefilen så endringer i denne også skjer i dokumentet ." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Setter inn en snarvei som peker til plasseringen av innholdet på utklippstavlen. Snarveien kobles til kildefilen så endringer i denne også skjer i dokumentet." + IDS_PS_NON_OLE "Setter innholdet fra utklippstavlen inn i dokumentet." + IDS_PS_UNKNOWN_TYPE "Ukjent type" + IDS_PS_UNKNOWN_SRC "Ukjent kilde" + IDS_PS_UNKNOWN_APP "programmet som laget det" +}
Added: trunk/reactos/dll/win32/oledlg/oledlg_Pl.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_Pl.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_Pl.rc (added) +++ trunk/reactos/dll/win32/oledlg/oledlg_Pl.rc Wed Apr 25 12:22:24 2007 @@ -1,0 +1,96 @@ +/* + * Copyright 2003 Ulrich Czekalla for CodeWeavers + * Copyright 2006 Mikolaj Zalewski + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT + +UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 310, 151 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Wstaw objekt" +FONT 8, "MS Shell Dlg" +BEGIN + LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT | + LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL | + WS_TABSTOP + LTEXT "Typ obiektu:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE + DEFPUSHBUTTON "OK",IDOK,229,7,66,14 + PUSHBUTTON "Anuluj",IDCANCEL,229,24,66,14 + GROUPBOX "Wynik",IDC_RESULT,7,103,208,41 + CONTROL "Utwórz nowy",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,7,20,62,10 + CONTROL "Utwórz kontrolkê",IDC_CREATECONTROL,"Button", + BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,72,10 + CONTROL "Utwórz z pliku",IDC_CREATEFROMFILE,"Button", + BS_AUTORADIOBUTTON,7,37,67,10 + LTEXT "",IDC_RESULTDESC,49,112,159,23 + PUSHBUTTON "&Dodaj kontrolkê...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE + CONTROL "Wywietlaj jako ikonê",IDC_ASICON,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP | NOT WS_VISIBLE,223,58,84,10 + PUSHBUTTON "Przegl¹daj...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE + LTEXT "Plik:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE + EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE +END + +STRINGTABLE DISCARDABLE +{ + IDS_RESULTOBJDESC "Wstaw nowy objekt %s do dokumentu" + IDS_RESULTFILEOBJDESC "Wstaw zawartoæ pliku jako obiekt do dokumentu. Bêdzie mo¿na go aktywowaæ u¿ywaj¹c programu, który go stworzy³." + IDS_BROWSE "Przegl¹daj" + IDS_NOTOLEMOD "Plik nie wydaje siê byæ poprawnym modu³em OLE. Nie uda³o siê zarejestrowaæ kontrolki OLE." + IDS_NOTOLEMODCAPTION "Dodaj kontrolkê" +} + +IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 309, 140 +STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Wklej specjalnie" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ród³o:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP + CONTROL "&Wklej", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, + 6, 38, 55, 10 + CONTROL "Wklej &³¹czê", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + 6, 63, 55, 10 + LTEXT "&Jako:", -1, 65, 25, 16, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 232, 6, 66, 14 + CONTROL "Anuluj", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 232, 23, 66, 14 + CONTROL "&Pomoc", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 232, 42, 66, 14 + CONTROL "W&ywietlaj jako ikonê", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 84, 14 + CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 232, 75, 66, 44 + CONTROL "Zmieñ &ikonê...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 232, 123, 66, 14 + CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 + CONTROL "<< result text goes here >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 + CONTROL "Wynik", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 212, 48 + CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 +END + +STRINGTABLE DISCARDABLE +{ + IDS_PS_PASTE_DATA "Wstawia zawartoæ schowka do documentu jako %s." + IDS_PS_PASTE_OBJECT "Wstawia zawartoæ schowka do dokumentu, tak aby móg³ byæ aktywowany za pomoc¹ %s." + IDS_PS_PASTE_OBJECT_AS_ICON "Wstawia zawartoæ schowka do dokumentu, tak aby móg³ byæ aktywowany za pomoc¹ %s. Bêdzie wywietlany jako ikona." + IDS_PS_PASTE_LINK_DATA "Wstawia zawartoæ schowka do documentu jako %s. Dane bêd¹ po³¹czone z plikiem ród³owym, dziêki czemu zmiany w pliku bêd¹ odzwierciedlone w dokumencie." + IDS_PS_PASTE_LINK_OBJECT "Wstawia zawartoæ schowka do documentu jako obraz. Obraz bêdzie po³¹czony z plikiem ród³owym, dziêki czemu zmiany w pliku bêd¹ odzwierciedlone w dokumencie." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Wstawia do documentu skrót do zawartoci schowka. Skrót bêdzie po³¹czony z plikiem ród³owym, dziêki czemu zmiany w pliku bêd¹ odzwierciedlone w dokumencie." + IDS_PS_NON_OLE "Wstawia zawartoæ schowka do dokumentu" + IDS_PS_UNKNOWN_TYPE "Nieznany typ" + IDS_PS_UNKNOWN_SRC "Nieznane ród³o" + IDS_PS_UNKNOWN_APP "program który go stworzy³" +}
Propchange: trunk/reactos/dll/win32/oledlg/oledlg_Pl.rc ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/dll/win32/oledlg/oledlg_Pt.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_Pt.... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_Pt.rc (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_Pt.rc Wed Apr 25 12:22:24 2007 @@ -1,5 +1,6 @@ /* * Copyright 2004 Marcelo Duarte + * Copyright 2006 Américo José Melo * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -16,7 +17,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU @@ -45,6 +46,38 @@ EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE END
+LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + +UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Inserir objecto" +FONT 8, "MS Shell Dlg" +BEGIN + LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT | + LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL | + WS_TABSTOP + LTEXT "Tipo de objecto:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE + DEFPUSHBUTTON "OK",IDOK,221,7,66,14 + PUSHBUTTON "Cancelar",IDCANCEL,221,24,66,14 + GROUPBOX "Resultado",IDC_RESULT,7,103,208,41 + CONTROL "Criar novo",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,7,20,62,10 + CONTROL "Criar controlo",IDC_CREATECONTROL,"Button", + BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10 + CONTROL "Criar do ficheiro",IDC_CREATEFROMFILE,"Button", + BS_AUTORADIOBUTTON,7,37,67,10 + LTEXT "",IDC_RESULTDESC,49,112,159,23 + PUSHBUTTON "&Adicionar Controlo...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE + CONTROL "Mostrar como ícone",IDC_ASICON,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10 + PUSHBUTTON "Procurar...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE + LTEXT "Ficheiro:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE + EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE +END + + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + STRINGTABLE DISCARDABLE { IDS_RESULTOBJDESC "Inserir um novo objeto %s no documento" @@ -53,3 +86,14 @@ IDS_NOTOLEMOD "O arquivo não parece ser um módulo OLE válido. Impossível registrar o controle OLE." IDS_NOTOLEMODCAPTION "Adicionar Controle" } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + +STRINGTABLE DISCARDABLE +{ + IDS_RESULTOBJDESC "Inserir novo objecto %s no documento" + IDS_RESULTFILEOBJDESC "Inserir conteúdo do ficheiro como um objecto no documento de modo que opossa activar usando o programa que o criou." + IDS_BROWSE "Procurar" + IDS_NOTOLEMOD "O ficheiro não parece ser um módulo OLE válido. Impossível registrar o controlo OLE." + IDS_NOTOLEMODCAPTION "Adicionar Controlo" +}
Modified: trunk/reactos/dll/win32/oledlg/oledlg_main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_mai... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_main.c (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_main.c Wed Apr 25 12:22:24 2007 @@ -18,7 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COM_NO_WINDOWS_H #include <stdarg.h>
#include "windef.h" @@ -27,24 +26,69 @@ #include "wingdi.h" #include "winuser.h" #include "oledlg.h" +#include "ole2.h" +#include "oledlg_private.h" + #include "wine/debug.h" -#include "ole2.h"
WINE_DEFAULT_DEBUG_CHANNEL(ole);
HINSTANCE OLEDLG_hInstance = 0;
+UINT cf_embed_source; +UINT cf_embedded_object; +UINT cf_link_source; +UINT cf_object_descriptor; +UINT cf_link_src_descriptor; +UINT cf_ownerlink; +UINT cf_filename; +UINT cf_filenamew; + +UINT oleui_msg_help; +UINT oleui_msg_enddialog; + +static void register_clipboard_formats(void) +{ + /* These used to be declared in olestd.h, but that seems to have been removed from the api */ + static const WCHAR CF_EMBEDSOURCEW[] = { 'E','m','b','e','d',' ','S','o','u','r','c','e',0 }; + static const WCHAR CF_EMBEDDEDOBJECTW[] = { 'E','m','b','e','d','d','e','d',' ','O','b','j','e','c','t',0 }; + static const WCHAR CF_LINKSOURCEW[] = { 'L','i','n','k',' ','S','o','u','r','c','e',0 }; + static const WCHAR CF_OBJECTDESCRIPTORW[] = { 'O','b','j','e','c','t',' ','D','e','s','c','r','i','p','t','o','r',0 }; + static const WCHAR CF_LINKSRCDESCRIPTORW[] = { 'L','i','n','k',' ','S','o','u','r','c','e',' ','D','e','s','c','r','i','p','t','o','r',0 }; + static const WCHAR CF_OWNERLINKW[] = { 'O','w','n','e','r','L','i','n','k',0 }; + static const WCHAR CF_FILENAMEW[] = { 'F','i','l','e','N','a','m','e',0 }; + static const WCHAR CF_FILENAMEWW[] = { 'F','i','l','e','N','a','m','e','W',0 }; + + /* Load in the same order as native to make debugging easier */ + cf_object_descriptor = RegisterClipboardFormatW(CF_OBJECTDESCRIPTORW); + cf_link_src_descriptor = RegisterClipboardFormatW(CF_LINKSRCDESCRIPTORW); + cf_embed_source = RegisterClipboardFormatW(CF_EMBEDSOURCEW); + cf_embedded_object = RegisterClipboardFormatW(CF_EMBEDDEDOBJECTW); + cf_link_source = RegisterClipboardFormatW(CF_LINKSOURCEW); + cf_ownerlink = RegisterClipboardFormatW(CF_OWNERLINKW); + cf_filename = RegisterClipboardFormatW(CF_FILENAMEW); + cf_filenamew = RegisterClipboardFormatW(CF_FILENAMEWW); +} + +static void register_messages(void) +{ + oleui_msg_help = RegisterWindowMessageW(SZOLEUI_MSG_HELPW); + oleui_msg_enddialog = RegisterWindowMessageW(SZOLEUI_MSG_ENDDIALOGW); +} + /*********************************************************************** * DllMain */ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) { - TRACE("%p 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad); + TRACE("%p 0x%x %p\n", hinstDLL, fdwReason, fImpLoad);
switch(fdwReason) { case DLL_PROCESS_ATTACH: DisableThreadLibraryCalls(hinstDLL); OLEDLG_hInstance = hinstDLL; + register_clipboard_formats(); + register_messages(); break;
case DLL_PROCESS_DETACH: @@ -113,26 +157,6 @@ }
/*********************************************************************** - * OleUIPasteSpecialA (OLEDLG.4) - */ -UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial) -{ - FIXME("(%p): stub\n", lpOleUIPasteSpecial); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return OLEUI_FALSE; -} - -/*********************************************************************** - * OleUIPasteSpecialW (OLEDLG.22) - */ -UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial) -{ - FIXME("(%p): stub\n", lpOleUIPasteSpecial); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return OLEUI_FALSE; -} - -/*********************************************************************** * OleUIEditLinksA (OLEDLG.5) */ UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks)
Added: trunk/reactos/dll/win32/oledlg/oledlg_private.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_pri... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_private.h (added) +++ trunk/reactos/dll/win32/oledlg/oledlg_private.h Wed Apr 25 12:22:24 2007 @@ -1,0 +1,38 @@ +/* + * oledlg internal header file + * + * Copyright (C) 2006 Huw Davies + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef __OLEDLG_PRIVATE_H__ +#define __OLEDLG_PRIVATE_H__ + +extern HINSTANCE OLEDLG_hInstance; + +extern UINT cf_embed_source; +extern UINT cf_embedded_object; +extern UINT cf_link_source; +extern UINT cf_object_descriptor; +extern UINT cf_link_src_descriptor; +extern UINT cf_ownerlink; +extern UINT cf_filename; +extern UINT cf_filenamew; + +extern UINT oleui_msg_help; +extern UINT oleui_msg_enddialog; + +#endif /* __OLEDLG_PRIVATE_H__ */
Propchange: trunk/reactos/dll/win32/oledlg/oledlg_private.h ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/dll/win32/oledlg/oledlg_ros.diff URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/oledlg_ros... ============================================================================== --- trunk/reactos/dll/win32/oledlg/oledlg_ros.diff (original) +++ trunk/reactos/dll/win32/oledlg/oledlg_ros.diff Wed Apr 25 12:22:24 2007 @@ -58,8 +58,8 @@ =================================================================== --- rsrc.rc (revision 25690) +++ rsrc.rc (revision working copy) -@@ -44,3 +44,4 @@ - #include "oledlg_No.rc" +@@ -47,3 +47,4 @@ + #include "oledlg_Pl.rc" #include "oledlg_Pt.rc" #include "oledlg_Tr.rc" +#include "oledlg_Uk.rc"
Added: trunk/reactos/dll/win32/oledlg/pastespl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/pastespl.c... ============================================================================== --- trunk/reactos/dll/win32/oledlg/pastespl.c (added) +++ trunk/reactos/dll/win32/oledlg/pastespl.c Wed Apr 25 12:22:24 2007 @@ -1,0 +1,722 @@ +/* + * OleUIPasteSpecial implementation + * + * Copyright 2006 Huw Davies + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#define COBJMACROS +#define NONAMELESSSTRUCT +#define NONAMELESSUNION + +#include <stdarg.h> + +#include "windef.h" +#include "winbase.h" +#include "winerror.h" +#include "wingdi.h" +#include "winuser.h" +#include "winnls.h" +#include "oledlg.h" + +#include "oledlg_private.h" +#include "resource.h" + +#include "wine/debug.h" +#include "wine/unicode.h" + +WINE_DEFAULT_DEBUG_CHANNEL(ole); + +typedef struct +{ + OLEUIPASTESPECIALW *ps; + DWORD flags; + WCHAR *source_name; + WCHAR *link_source_name; + WCHAR *type_name; + WCHAR *link_type_name; + LPOLESTR app_name; +} ps_struct_t; + +static const struct ps_flag +{ + DWORD flag; + const char *name; +} ps_flags[] = { +#define PS_FLAG_ENTRY(p) {p, #p} + PS_FLAG_ENTRY(PSF_SHOWHELP), + PS_FLAG_ENTRY(PSF_SELECTPASTE), + PS_FLAG_ENTRY(PSF_SELECTPASTELINK), + PS_FLAG_ENTRY(PSF_CHECKDISPLAYASICON), + PS_FLAG_ENTRY(PSF_DISABLEDISPLAYASICON), + PS_FLAG_ENTRY(PSF_HIDECHANGEICON), + PS_FLAG_ENTRY(PSF_STAYONCLIPBOARDCHANGE), + PS_FLAG_ENTRY(PSF_NOREFRESHDATAOBJECT), + {-1, NULL} +#undef PS_FLAG_ENTRY +}; + +static void dump_ps_flags(DWORD flags) +{ + char flagstr[1000] = ""; + + const struct ps_flag *flag = ps_flags; + for( ; flag->name; flag++) { + if(flags & flag->flag) { + strcat(flagstr, flag->name); + strcat(flagstr, "|"); + } + } + TRACE("flags %08x %s\n", flags, flagstr); +} + +static void dump_pastespecial(LPOLEUIPASTESPECIALW ps) +{ + UINT i; + dump_ps_flags(ps->dwFlags); + TRACE("hwnd %p caption %s hook %p custdata %lx\n", + ps->hWndOwner, debugstr_w(ps->lpszCaption), ps->lpfnHook, ps->lCustData); + if(IS_INTRESOURCE(ps->lpszTemplate)) + TRACE("hinst %p template %04x hresource %p\n", ps->hInstance, (WORD)(ULONG_PTR)ps->lpszTemplate, ps->hResource); + else + TRACE("hinst %p template %s hresource %p\n", ps->hInstance, debugstr_w(ps->lpszTemplate), ps->hResource); + TRACE("dataobj %p arrpasteent %p cpasteent %d arrlinktype %p clinktype %d\n", + ps->lpSrcDataObj, ps->arrPasteEntries, ps->cPasteEntries, + ps->arrLinkTypes, ps->cLinkTypes); + TRACE("cclsidex %d lpclsidex %p nselect %d flink %d hmetapict %p size(%d,%d)\n", + ps->cClsidExclude, ps->lpClsidExclude, ps->nSelectedIndex, ps->fLink, + ps->hMetaPict, ps->sizel.cx, ps->sizel.cy); + for(i = 0; i < ps->cPasteEntries; i++) + { + TRACE("arrPasteEntries[%d]: cFormat %08x pTargetDevice %p dwAspect %d lindex %d tymed %d\n", + i, ps->arrPasteEntries[i].fmtetc.cfFormat, ps->arrPasteEntries[i].fmtetc.ptd, + ps->arrPasteEntries[i].fmtetc.dwAspect, ps->arrPasteEntries[i].fmtetc.lindex, + ps->arrPasteEntries[i].fmtetc.tymed); + TRACE("\tformat name %s result text %s flags %04x\n", debugstr_w(ps->arrPasteEntries[i].lpstrFormatName), + debugstr_w(ps->arrPasteEntries[i].lpstrResultText), ps->arrPasteEntries[i].dwFlags); + } + for(i = 0; i < ps->cLinkTypes; i++) + TRACE("arrLinkTypes[%d] %08x\n", i, ps->arrLinkTypes[i]); + for(i = 0; i < ps->cClsidExclude; i++) + TRACE("lpClsidExclude[%d] %s\n", i, debugstr_guid(&ps->lpClsidExclude[i])); + +} + +static inline WCHAR *strdupAtoW(const char *str) +{ + DWORD len; + WCHAR *ret; + if(!str) return NULL; + len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0); + ret = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); + MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len); + return ret; +} + +static inline WCHAR *strdupW(const WCHAR *str) +{ + DWORD len; + WCHAR *ret; + if(!str) return NULL; + len = lstrlenW(str) + 1; + ret = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); + memcpy(ret, str, len * sizeof(WCHAR)); + return ret; +} + +static void get_descriptors(HWND hdlg, ps_struct_t *ps_struct) +{ + FORMATETC fmtetc; + STGMEDIUM stg; + + fmtetc.tymed = TYMED_HGLOBAL; + fmtetc.dwAspect = DVASPECT_CONTENT; + fmtetc.ptd = NULL; + fmtetc.lindex = -1; + + fmtetc.cfFormat = cf_object_descriptor; + if(IDataObject_GetData(ps_struct->ps->lpSrcDataObj, &fmtetc, &stg) == S_OK) + { + OBJECTDESCRIPTOR *obj_desc = GlobalLock(stg.u.hGlobal); + if(obj_desc->dwSrcOfCopy) + ps_struct->source_name = strdupW((WCHAR*)((char*)obj_desc + obj_desc->dwSrcOfCopy)); + if(obj_desc->dwFullUserTypeName) + ps_struct->type_name = strdupW((WCHAR*)((char*)obj_desc + obj_desc->dwFullUserTypeName)); + OleRegGetUserType(&obj_desc->clsid, USERCLASSTYPE_APPNAME, &ps_struct->app_name); + /* Get the icon here. If dwDrawAspect & DVASCPECT_ICON call GetData(CF_METAFILEPICT), otherwise + native calls OleGetIconFromClass(obj_desc->clsid) */ + GlobalUnlock(stg.u.hGlobal); + GlobalFree(stg.u.hGlobal); + } + else + { + /* Try to get some data using some of the other clipboard formats */ + } + + fmtetc.cfFormat = cf_link_src_descriptor; + if(IDataObject_GetData(ps_struct->ps->lpSrcDataObj, &fmtetc, &stg) == S_OK) + { + OBJECTDESCRIPTOR *obj_desc = GlobalLock(stg.u.hGlobal); + if(obj_desc->dwSrcOfCopy) + ps_struct->link_source_name = strdupW((WCHAR*)((char*)obj_desc + obj_desc->dwSrcOfCopy)); + if(obj_desc->dwFullUserTypeName) + ps_struct->link_type_name = strdupW((WCHAR*)((char*)obj_desc + obj_desc->dwFullUserTypeName)); + GlobalUnlock(stg.u.hGlobal); + GlobalFree(stg.u.hGlobal); + } + + if(ps_struct->source_name == NULL && ps_struct->link_source_name == NULL) + { + WCHAR buf[200]; + LoadStringW(OLEDLG_hInstance, IDS_PS_UNKNOWN_SRC, buf, sizeof(buf)/sizeof(WCHAR)); + ps_struct->source_name = strdupW(buf); + } + + if(ps_struct->type_name == NULL && ps_struct->link_type_name == NULL) + { + WCHAR buf[200]; + LoadStringW(OLEDLG_hInstance, IDS_PS_UNKNOWN_TYPE, buf, sizeof(buf)/sizeof(WCHAR)); + ps_struct->type_name = strdupW(buf); + } +} + +static BOOL add_entry_to_lb(HWND hdlg, UINT id, OLEUIPASTEENTRYW *pe) +{ + HWND hwnd = GetDlgItem(hdlg, id); + BOOL ret = FALSE; + + /* FIXME %s handling */ + + /* Note that this suffers from the same bug as native, in that if a new string + is a substring of an already added string, then the FINDSTRING will succeed + this is probably not what we want */ + if(SendMessageW(hwnd, LB_FINDSTRING, 0, (LPARAM)pe->lpstrFormatName) == -1) + { + LRESULT pos = SendMessageW(hwnd, LB_ADDSTRING, 0, (LPARAM)pe->lpstrFormatName); + SendMessageW(hwnd, LB_SETITEMDATA, pos, (LPARAM)pe); + ret = TRUE; + } + return ret; +} + +static DWORD init_pastelist(HWND hdlg, OLEUIPASTESPECIALW *ps) +{ + IEnumFORMATETC *penum; + HRESULT hr; + FORMATETC fmts[20]; + DWORD fetched, items_added = 0; + + hr = IDataObject_EnumFormatEtc(ps->lpSrcDataObj, DATADIR_GET, &penum); + if(FAILED(hr)) + { + WARN("Unable to create IEnumFORMATETC\n"); + return 0; + } + + /* The native version grabs only the first 20 fmts and we do the same */ + hr = IEnumFORMATETC_Next(penum, sizeof(fmts)/sizeof(fmts[0]), fmts, &fetched); + TRACE("got %d formats hr %08x\n", fetched, hr); + + if(SUCCEEDED(hr)) + { + DWORD src_fmt, req_fmt; + for(req_fmt = 0; req_fmt < ps->cPasteEntries; req_fmt++) + { + /* This is used by update_structure() to set nSelectedIndex on exit */ + ps->arrPasteEntries[req_fmt].dwScratchSpace = req_fmt; + TRACE("req_fmt %x\n", ps->arrPasteEntries[req_fmt].fmtetc.cfFormat); + for(src_fmt = 0; src_fmt < fetched; src_fmt++) + { + TRACE("\tenum'ed fmt %x\n", fmts[src_fmt].cfFormat); + if(ps->arrPasteEntries[req_fmt].fmtetc.cfFormat == fmts[src_fmt].cfFormat) + { + add_entry_to_lb(hdlg, IDC_PS_PASTELIST, ps->arrPasteEntries + req_fmt); + items_added++; + break; + } + } + } + } + + IEnumFORMATETC_Release(penum); + EnableWindow(GetDlgItem(hdlg, IDC_PS_PASTE), items_added ? TRUE : FALSE); + return items_added; +} + +static DWORD init_linklist(HWND hdlg, OLEUIPASTESPECIALW *ps) +{ + HRESULT hr; + DWORD supported_mask = 0; + DWORD items_added = 0; + int link, req_fmt; + FORMATETC fmt = {0, NULL, DVASPECT_CONTENT, -1, -1}; + + for(link = 0; link < ps->cLinkTypes && link < PS_MAXLINKTYPES; link++) + { + fmt.cfFormat = ps->arrLinkTypes[link]; + hr = IDataObject_QueryGetData(ps->lpSrcDataObj, &fmt); + if(hr == S_OK) + supported_mask |= 1 << link; + } + TRACE("supported_mask %02x\n", supported_mask); + for(req_fmt = 0; req_fmt < ps->cPasteEntries; req_fmt++) + { + DWORD linktypes; + if(ps->arrPasteEntries[req_fmt].dwFlags & OLEUIPASTE_LINKANYTYPE) + linktypes = 0xff; + else + linktypes = ps->arrPasteEntries[req_fmt].dwFlags & 0xff; + + if(linktypes & supported_mask) + { + add_entry_to_lb(hdlg, IDC_PS_PASTELINKLIST, ps->arrPasteEntries + req_fmt); + items_added++; + } + } + + EnableWindow(GetDlgItem(hdlg, IDC_PS_PASTELINK), items_added ? TRUE : FALSE); + return items_added; +} + +/* copies src_list_id into the display list */ +static void update_display_list(HWND hdlg, UINT src_list_id) +{ + LONG count, i, old_pos; + WCHAR txt[256]; + LONG item_data; + HWND display_list = GetDlgItem(hdlg, IDC_PS_DISPLAYLIST); + HWND list = GetDlgItem(hdlg, src_list_id); + + old_pos = SendMessageW(display_list, LB_GETCURSEL, 0, 0); + if(old_pos == -1) old_pos = 0; + + SendMessageW(display_list, WM_SETREDRAW, 0, 0); + SendMessageW(display_list, LB_RESETCONTENT, 0, 0); + count = SendMessageW(list, LB_GETCOUNT, 0, 0); + for(i = 0; i < count; i++) + { + SendMessageW(list, LB_GETTEXT, i, (LPARAM)txt); + item_data = SendMessageW(list, LB_GETITEMDATA, i, 0); + SendMessageW(display_list, LB_INSERTSTRING, i, (LPARAM)txt); + SendMessageW(display_list, LB_SETITEMDATA, i, item_data); + } + old_pos = max(old_pos, count); + SendMessageW(display_list, LB_SETCURSEL, 0, 0); + SendMessageW(display_list, WM_SETREDRAW, 1, 0); + if(GetForegroundWindow() == hdlg) + SetFocus(display_list); +} + +static void init_lists(HWND hdlg, ps_struct_t *ps_struct) +{ + DWORD pastes_added = init_pastelist(hdlg, ps_struct->ps); + DWORD links_added = init_linklist(hdlg, ps_struct->ps); + UINT check_id, list_id; + + if((ps_struct->flags & (PSF_SELECTPASTE | PSF_SELECTPASTELINK)) == 0) + ps_struct->flags |= PSF_SELECTPASTE; + + if(!pastes_added && !links_added) + ps_struct->flags &= ~(PSF_SELECTPASTE | PSF_SELECTPASTELINK); + else if(!pastes_added && (ps_struct->flags & PSF_SELECTPASTE)) + { + ps_struct->flags &= ~PSF_SELECTPASTE; + ps_struct->flags |= PSF_SELECTPASTELINK; + } + else if(!links_added && (ps_struct->flags & PSF_SELECTPASTELINK)) + { + ps_struct->flags &= ~PSF_SELECTPASTELINK; + ps_struct->flags |= PSF_SELECTPASTE; + } + + check_id = 0; + list_id = 0; + if(ps_struct->flags & PSF_SELECTPASTE) + { + check_id = IDC_PS_PASTE; + list_id = IDC_PS_PASTELIST; + } + else if(ps_struct->flags & PSF_SELECTPASTELINK) + { + check_id = IDC_PS_PASTELINK; + list_id = IDC_PS_PASTELINKLIST; + } + + CheckRadioButton(hdlg, IDC_PS_PASTE, IDC_PS_PASTELINK, check_id); + + if(list_id) + update_display_list(hdlg, list_id); + else + EnableWindow(GetDlgItem(hdlg, IDOK), 0); +} + +static void update_src_text(HWND hdlg, ps_struct_t *ps_struct) +{ + WCHAR *str; + + if(ps_struct->flags & PSF_SELECTPASTE) + { + if(ps_struct->source_name) + str = ps_struct->source_name; + else + str = ps_struct->link_source_name; + + } + else + { + if(ps_struct->link_source_name) + str = ps_struct->link_source_name; + else + str = ps_struct->source_name; + + } + SetDlgItemTextW(hdlg, IDC_PS_SOURCETEXT, str); +} + +static void update_as_icon(HWND hdlg, ps_struct_t *ps_struct) +{ + HWND icon_display = GetDlgItem(hdlg, IDC_PS_ICONDISPLAY); + HWND display_as_icon = GetDlgItem(hdlg, IDC_PS_DISPLAYASICON); + HWND change_icon = GetDlgItem(hdlg, IDC_PS_CHANGEICON); + + /* FIXME. No as icon handling */ + ps_struct->flags &= ~PSF_CHECKDISPLAYASICON; + + CheckDlgButton(hdlg, IDC_PS_DISPLAYASICON, ps_struct->flags & PSF_CHECKDISPLAYASICON); + EnableWindow(display_as_icon, 0); + ShowWindow(icon_display, SW_HIDE); + EnableWindow(icon_display, 0); + ShowWindow(change_icon, SW_HIDE); + EnableWindow(change_icon, 0); +} + +static void update_result_text(HWND hdlg, ps_struct_t *ps_struct) +{ + WCHAR resource_txt[200]; + UINT res_id; + OLEUIPASTEENTRYW *pent; + LONG cur_sel; + static const WCHAR percent_s[] = {'%','s',0}; + WCHAR *result_txt, *ptr; + + cur_sel = SendMessageW(GetDlgItem(hdlg, IDC_PS_DISPLAYLIST), LB_GETCURSEL, 0, 0); + if(cur_sel == -1) return; + pent = (OLEUIPASTEENTRYW*)SendMessageW(GetDlgItem(hdlg, IDC_PS_DISPLAYLIST), LB_GETITEMDATA, cur_sel, 0); + + if(ps_struct->flags & PSF_SELECTPASTE) + { + if(ps_struct->flags & PSF_CHECKDISPLAYASICON) + res_id = IDS_PS_PASTE_OBJECT_AS_ICON; + else + res_id = IDS_PS_PASTE_DATA; + } + else + { + if(ps_struct->flags & PSF_CHECKDISPLAYASICON) + res_id = IDS_PS_PASTE_LINK_OBJECT_AS_ICON; + else + res_id = IDS_PS_PASTE_LINK_DATA; + } + + LoadStringW(OLEDLG_hInstance, res_id, resource_txt, sizeof(resource_txt)/sizeof(WCHAR)); + if((ptr = strstrW(resource_txt, percent_s))) + { + /* FIXME handle %s in ResultText. Sub appname if IDS_PS_PASTE_OBJECT{_AS_ICON}. Else sub appropiate type name */ + size_t result_txt_len = strlenW(pent->lpstrResultText); + ptrdiff_t offs = (char*)ptr - (char*)resource_txt; + result_txt = HeapAlloc(GetProcessHeap(), 0, (strlenW(resource_txt) + result_txt_len - 1) * sizeof(WCHAR)); + memcpy(result_txt, resource_txt, offs); + memcpy((char*)result_txt + offs, pent->lpstrResultText, result_txt_len * sizeof(WCHAR)); + memcpy((char*)result_txt + offs + result_txt_len * sizeof(WCHAR), ptr + 2, (strlenW(ptr + 2) + 1) * sizeof(WCHAR)); + } + else + result_txt = resource_txt; + + SetDlgItemTextW(hdlg, IDC_PS_RESULTTEXT, result_txt); + + if(result_txt != resource_txt) + HeapFree(GetProcessHeap(), 0, result_txt); + +} + +static void selection_change(HWND hdlg, ps_struct_t *ps_struct) +{ + update_as_icon(hdlg, ps_struct); + update_result_text(hdlg, ps_struct); +} + +static void mode_change(HWND hdlg, ps_struct_t *ps_struct, UINT id) +{ + if(id == IDC_PS_PASTE) + { + ps_struct->flags &= ~PSF_SELECTPASTELINK; + ps_struct->flags |= PSF_SELECTPASTE; + } + else + { + ps_struct->flags &= ~PSF_SELECTPASTE; + ps_struct->flags |= PSF_SELECTPASTELINK; + } + + update_src_text(hdlg, ps_struct); + update_display_list(hdlg, id == IDC_PS_PASTE ? IDC_PS_PASTELIST : IDC_PS_PASTELINKLIST); + selection_change(hdlg, ps_struct); +} + +static void post_help_msg(HWND hdlg, ps_struct_t *ps_struct) +{ + PostMessageW(ps_struct->ps->hWndOwner, oleui_msg_help, (WPARAM)hdlg, IDD_PASTESPECIAL); +} + +static void send_end_dialog_msg(HWND hdlg, ps_struct_t *ps_struct, UINT id) +{ + SendMessageW(hdlg, oleui_msg_enddialog, id, 0); +} + +static void update_structure(HWND hdlg, ps_struct_t *ps_struct) +{ + LONG cur_sel = SendMessageW(GetDlgItem(hdlg, IDC_PS_DISPLAYLIST), LB_GETCURSEL, 0, 0); + if(cur_sel != -1) + { + OLEUIPASTEENTRYW *pent; + pent = (OLEUIPASTEENTRYW *)SendMessageW(GetDlgItem(hdlg, IDC_PS_DISPLAYLIST), LB_GETITEMDATA, cur_sel, 0); + ps_struct->ps->nSelectedIndex = pent->dwScratchSpace; + } + ps_struct->ps->dwFlags = ps_struct->flags; + ps_struct->ps->fLink = (ps_struct->flags & PSF_SELECTPASTELINK) ? TRUE : FALSE; +} + +static void free_structure(ps_struct_t *ps_struct) +{ + HeapFree(GetProcessHeap(), 0, ps_struct->type_name); + HeapFree(GetProcessHeap(), 0, ps_struct->source_name); + HeapFree(GetProcessHeap(), 0, ps_struct->link_type_name); + HeapFree(GetProcessHeap(), 0, ps_struct->link_source_name); + CoTaskMemFree(ps_struct->app_name); + HeapFree(GetProcessHeap(), 0, ps_struct); +} + +static INT_PTR CALLBACK ps_dlg_proc(HWND hdlg, UINT msg, WPARAM wp, LPARAM lp) +{ + /* native uses prop name "Structure", but we're not compatible + with that so we'll prepend "Wine_". */ + static const WCHAR prop_name[] = {'W','i','n','e','_','S','t','r','u','c','t','u','r','e',0}; + ps_struct_t *ps_struct; + + TRACE("(%p, %04x, %08x, %08lx)\n", hdlg, msg, wp, lp); + + ps_struct = GetPropW(hdlg, prop_name); + + if(msg != WM_INITDIALOG) + { + if(!ps_struct) + return 0; + + if(ps_struct->ps->lpfnHook) + { + INT_PTR ret = ps_struct->ps->lpfnHook(hdlg, msg, wp, lp); + if(ret) return ret; + } + } + + switch(msg) + { + case WM_INITDIALOG: + { + ps_struct = HeapAlloc(GetProcessHeap(), 0, sizeof(*ps_struct)); + ps_struct->ps = (OLEUIPASTESPECIALW*)lp; + ps_struct->type_name = NULL; + ps_struct->source_name = NULL; + ps_struct->link_type_name = NULL; + ps_struct->link_source_name = NULL; + ps_struct->app_name = NULL; + ps_struct->flags = ps_struct->ps->dwFlags; + + SetPropW(hdlg, prop_name, ps_struct); + + if(!(ps_struct->ps->dwFlags & PSF_SHOWHELP)) + { + ShowWindow(GetDlgItem(hdlg, IDC_OLEUIHELP), SW_HIDE); + EnableWindow(GetDlgItem(hdlg, IDC_OLEUIHELP), 0); + } + + if(ps_struct->ps->lpszCaption) + SetWindowTextW(hdlg, ps_struct->ps->lpszCaption); + + get_descriptors(hdlg, ps_struct); + + init_lists(hdlg, ps_struct); + + update_src_text(hdlg, ps_struct); + + selection_change(hdlg, ps_struct); + + SetFocus(GetDlgItem(hdlg, IDC_PS_DISPLAYLIST)); + + if(ps_struct->ps->lpfnHook) + ps_struct->ps->lpfnHook(hdlg, msg, 0, 0); + return FALSE; /* use new focus */ + } + case WM_COMMAND: + switch(LOWORD(wp)) + { + case IDC_PS_DISPLAYLIST: + switch(HIWORD(wp)) + { + case LBN_SELCHANGE: + selection_change(hdlg, ps_struct); + return FALSE; + default: + return FALSE; + } + case IDC_PS_PASTE: + case IDC_PS_PASTELINK: + switch(HIWORD(wp)) + { + case BN_CLICKED: + mode_change(hdlg, ps_struct, LOWORD(wp)); + return FALSE; + + default: + return FALSE; + } + case IDC_OLEUIHELP: + switch(HIWORD(wp)) + { + case BN_CLICKED: + post_help_msg(hdlg, ps_struct); + return FALSE; + default: + return FALSE; + } + case IDOK: + case IDCANCEL: + switch(HIWORD(wp)) + { + case BN_CLICKED: + send_end_dialog_msg(hdlg, ps_struct, LOWORD(wp)); + return FALSE; + default: + return FALSE; + } + } + return FALSE; + default: + if(msg == oleui_msg_enddialog) + { + if(wp == IDOK) + update_structure(hdlg, ps_struct); + EndDialog(hdlg, wp); + /* native does its cleanup in WM_DESTROY */ + RemovePropW(hdlg, prop_name); + free_structure(ps_struct); + return TRUE; + } + return FALSE; + } + +} + +/*********************************************************************** + * OleUIPasteSpecialA (OLEDLG.4) + */ +UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA psA) +{ + OLEUIPASTESPECIALW ps; + UINT ret; + TRACE("(%p)\n", psA); + + memcpy(&ps, psA, psA->cbStruct); + + ps.lpszCaption = strdupAtoW(psA->lpszCaption); + if(!IS_INTRESOURCE(ps.lpszTemplate)) + ps.lpszTemplate = strdupAtoW(psA->lpszTemplate); + + if(psA->cPasteEntries > 0) + { + DWORD size = psA->cPasteEntries * sizeof(ps.arrPasteEntries[0]); + UINT i; + + ps.arrPasteEntries = HeapAlloc(GetProcessHeap(), 0, size); + memcpy(ps.arrPasteEntries, psA->arrPasteEntries, size); + for(i = 0; i < psA->cPasteEntries; i++) + { + ps.arrPasteEntries[i].lpstrFormatName = + strdupAtoW(psA->arrPasteEntries[i].lpstrFormatName); + ps.arrPasteEntries[i].lpstrResultText = + strdupAtoW(psA->arrPasteEntries[i].lpstrResultText); + } + } + + ret = OleUIPasteSpecialW(&ps); + + if(psA->cPasteEntries > 0) + { + UINT i; + for(i = 0; i < psA->cPasteEntries; i++) + { + HeapFree(GetProcessHeap(), 0, (WCHAR*)ps.arrPasteEntries[i].lpstrFormatName); + HeapFree(GetProcessHeap(), 0, (WCHAR*)ps.arrPasteEntries[i].lpstrResultText); + } + HeapFree(GetProcessHeap(), 0, ps.arrPasteEntries); + } + if(!IS_INTRESOURCE(ps.lpszTemplate)) + HeapFree(GetProcessHeap(), 0, (WCHAR*)ps.lpszTemplate); + HeapFree(GetProcessHeap(), 0, (WCHAR*)ps.lpszCaption); + + /* Copy back the output fields */ + psA->dwFlags = ps.dwFlags; + psA->lpSrcDataObj = ps.lpSrcDataObj; + psA->nSelectedIndex = ps.nSelectedIndex; + psA->fLink = ps.fLink; + psA->hMetaPict = ps.hMetaPict; + psA->sizel = ps.sizel; + + return ret; +} + +/*********************************************************************** + * OleUIPasteSpecialW (OLEDLG.22) + */ +UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW ps) +{ + LPCDLGTEMPLATEW dlg_templ = (LPCDLGTEMPLATEW)ps->hResource; + UINT ret; + + TRACE("(%p)\n", ps); + + if(TRACE_ON(ole)) dump_pastespecial(ps); + + if(!ps->lpSrcDataObj) + OleGetClipboard(&ps->lpSrcDataObj); + + if(ps->hInstance || !ps->hResource) + { + HINSTANCE hInst = ps->hInstance ? ps->hInstance : OLEDLG_hInstance; + const WCHAR *name = ps->hInstance ? ps->lpszTemplate : MAKEINTRESOURCEW(IDD_PASTESPECIAL4); + HRSRC hrsrc; + + if(name == NULL) return OLEUI_ERR_LPSZTEMPLATEINVALID; + hrsrc = FindResourceW(hInst, name, MAKEINTRESOURCEW(RT_DIALOG)); + if(!hrsrc) return OLEUI_ERR_FINDTEMPLATEFAILURE; + dlg_templ = LoadResource(hInst, hrsrc); + if(!dlg_templ) return OLEUI_ERR_LOADTEMPLATEFAILURE; + } + + ret = DialogBoxIndirectParamW(OLEDLG_hInstance, dlg_templ, ps->hWndOwner, ps_dlg_proc, (LPARAM)ps); + + return ret; +}
Propchange: trunk/reactos/dll/win32/oledlg/pastespl.c ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/dll/win32/oledlg/resource.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/resource.h... ============================================================================== --- trunk/reactos/dll/win32/oledlg/resource.h (original) +++ trunk/reactos/dll/win32/oledlg/resource.h Wed Apr 25 12:22:24 2007 @@ -38,3 +38,15 @@ #define IDC_BROWSE 1009 #define IDC_FILELBL 1010 #define IDC_FILE 1011 + +/* String ids for Paste Special */ +#define IDS_PS_PASTE_DATA 0x190 +#define IDS_PS_PASTE_OBJECT 0x191 +#define IDS_PS_PASTE_OBJECT_AS_ICON 0x192 +#define IDS_PS_PASTE_LINK_DATA 0x193 +#define IDS_PS_PASTE_LINK_OBJECT 0x194 +#define IDS_PS_PASTE_LINK_OBJECT_AS_ICON 0x195 +#define IDS_PS_NON_OLE 0x196 +#define IDS_PS_UNKNOWN_TYPE 0x197 +#define IDS_PS_UNKNOWN_SRC 0x198 +#define IDS_PS_UNKNOWN_APP 0x199
Modified: trunk/reactos/dll/win32/oledlg/rsrc.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oledlg/rsrc.rc?re... ============================================================================== --- trunk/reactos/dll/win32/oledlg/rsrc.rc (original) +++ trunk/reactos/dll/win32/oledlg/rsrc.rc Wed Apr 25 12:22:24 2007 @@ -22,6 +22,8 @@ #include "winbase.h" #include "winuser.h" #include "winnls.h" +#include "oledlg.h" + #include "resource.h"
/* @@ -42,6 +44,7 @@ #include "oledlg_Ko.rc" #include "oledlg_Nl.rc" #include "oledlg_No.rc" +#include "oledlg_Pl.rc" #include "oledlg_Pt.rc" #include "oledlg_Tr.rc" #include "oledlg_Uk.rc"