Update ooo320-m1
[ooovba.git] / applied_patches / 0564-optional-outplace-ole.diff
blobdc0d3a2d84b80e45a4805c538944949fe90b56b1
1 --- embeddedobj/source/general/docholder.cxx.old 2009-04-02 10:44:16.000000000 +0000
2 +++ embeddedobj/source/general/docholder.cxx 2009-04-06 16:42:20.000000000 +0000
3 @@ -1029,16 +1029,13 @@ sal_Bool DocumentHolder::LoadDocToFrame(
4 if( !xComponentLoader.is() )
5 throw uno::RuntimeException();
7 - uno::Sequence< beans::PropertyValue > aArgs( bInPlace ? 3 : 2 );
8 + uno::Sequence< beans::PropertyValue > aArgs(3);
9 aArgs[0].Name = ::rtl::OUString::createFromAscii( "Model" );
10 aArgs[0].Value <<= m_xComponent;
11 aArgs[1].Name = ::rtl::OUString::createFromAscii( "ReadOnly" );
12 aArgs[1].Value <<= m_bReadOnly;
13 - if ( bInPlace )
14 - {
15 - aArgs[2].Name = ::rtl::OUString::createFromAscii( "PluginMode" );
16 - aArgs[2].Value <<= sal_Int16(1);
17 - }
18 + aArgs[2].Name = ::rtl::OUString::createFromAscii( "PluginMode" );
19 + aArgs[2].Value <<= sal_Int16(bInPlace ? 1 : 2);
20 ::rtl::OUString sUrl;
21 uno::Reference< lang::XServiceInfo> xServiceInfo(xDoc,uno::UNO_QUERY);
22 if ( xServiceInfo.is()
23 --- sc/inc/sc.hrc.old 2009-04-06 16:42:07.000000000 +0000
24 +++ sc/inc/sc.hrc 2009-04-06 16:42:20.000000000 +0000
25 @@ -670,6 +670,9 @@
26 #define FID_DOC_MANAGER (SC_FUNCTION_START + 1)
27 #define FID_CURSOR_ENTER (SC_FUNCTION_START + 2)
28 #define SID_MAIL (SC_FUNCTION_START + 3)
29 +#define SID_INPLACE_OBJECT (SC_FUNCTION_START + 10)
30 +#define SID_OUTPLACE_OBJECT (SC_FUNCTION_START + 11)
32 #define FILE_MENU_END (SC_FUNCTION_START + 20)
34 #define EDIT_MENU_START (FILE_MENU_END)
35 --- sc/sdi/scalc.sdi.old 2009-04-06 16:42:06.000000000 +0000
36 +++ sc/sdi/scalc.sdi 2009-04-06 16:42:20.000000000 +0000
37 @@ -4904,6 +4904,56 @@ SfxObjectItem Offset SID_RANGE_OFFSET
40 //--------------------------------------------------------------------------
41 +SfxVoidItem InplaceOleObject SID_INPLACE_OBJECT
42 +()
44 + /* flags: */
45 + AutoUpdate = FALSE,
46 + Cachable = Cachable,
47 + FastCall = FALSE,
48 + HasCoreId = FALSE,
49 + HasDialog = FALSE,
50 + ReadOnlyDoc = TRUE,
51 + Toggle = FALSE,
52 + Container = FALSE,
53 + RecordAbsolute = FALSE,
54 + RecordPerSet;
55 + Synchron;
57 + /* config: */
58 + AccelConfig = FALSE,
59 + MenuConfig = TRUE,
60 + StatusBarConfig = FALSE,
61 + ToolBoxConfig = FALSE,
62 + GroupId = GID_DATA;
65 +//--------------------------------------------------------------------------
66 +SfxVoidItem OutplaceOleObject SID_OUTPLACE_OBJECT
67 +()
69 + /* flags: */
70 + AutoUpdate = FALSE,
71 + Cachable = Cachable,
72 + FastCall = FALSE,
73 + HasCoreId = FALSE,
74 + HasDialog = FALSE,
75 + ReadOnlyDoc = TRUE,
76 + Toggle = FALSE,
77 + Container = FALSE,
78 + RecordAbsolute = FALSE,
79 + RecordPerSet;
80 + Synchron;
82 + /* config: */
83 + AccelConfig = FALSE,
84 + MenuConfig = TRUE,
85 + StatusBarConfig = FALSE,
86 + ToolBoxConfig = FALSE,
87 + GroupId = GID_DATA;
90 +//--------------------------------------------------------------------------
91 SfxObjectItem OleObject SID_OLE_OBJECT
94 --- sc/sdi/tabvwsh.sdi.old 2009-04-06 16:42:06.000000000 +0000
95 +++ sc/sdi/tabvwsh.sdi 2009-04-06 16:42:20.000000000 +0000
96 @@ -195,6 +195,8 @@ interface TableEditView : View
98 SID_PRINTPREVIEW [ ExecMethod = Execute; StateMethod = GetState; ]
100 + SID_INPLACE_OBJECT [ ExecMethod = Execute; StateMethod = NoState; Export = FALSE; ]
101 + SID_OUTPLACE_OBJECT [ ExecMethod = Execute; StateMethod = NoState; Export = FALSE; ]
103 // Suchen/Eersetzen:
104 FID_SEARCH_NOW [ ExecMethod = ExecSearch; StateMethod = NoState; ]
105 --- sc/source/ui/drawfunc/fudraw.cxx.old 2009-04-06 16:41:49.000000000 +0000
106 +++ sc/source/ui/drawfunc/fudraw.cxx 2009-04-06 16:42:20.000000000 +0000
107 @@ -44,6 +44,7 @@
108 #include <svx/svdundo.hxx>
109 #include <sfx2/dispatch.hxx>
110 #include <sfx2/viewfrm.hxx>
111 +#include <com/sun/star/embed/EmbedVerbs.hpp>
113 #include "sc.hrc"
114 #include "fudraw.hxx"
115 @@ -57,6 +58,8 @@
116 #include "globstr.hrc"
117 #include "drawview.hxx"
119 +using namespace ::com::sun::star;
121 /*************************************************************************
123 |* Basisklasse fuer alle Drawmodul-spezifischen Funktionen
124 @@ -318,7 +321,12 @@ BOOL __EXPORT FuDraw::KeyInput(const Key
125 if( pObj && pObj->ISA( SdrOle2Obj ) && !bOle )
127 //HMHpView->HideMarkHdl();
128 - pViewShell->ActivateObject( static_cast< SdrOle2Obj* >( pObj ), 0 );
129 + if(rKEvt.GetKeyCode().IsShift())
130 + pViewShell->ActivateObject( static_cast< SdrOle2Obj* >( pObj ),
131 + embed::EmbedVerbs::MS_OLEVERB_OPEN );
132 + else
133 + pViewShell->ActivateObject( static_cast< SdrOle2Obj* >( pObj ),
134 + embed::EmbedVerbs::MS_OLEVERB_PRIMARY );
136 // consumed
137 bReturn = TRUE;
138 --- sc/source/ui/drawfunc/objdraw.src.old 2009-04-06 16:41:49.000000000 +0000
139 +++ sc/source/ui/drawfunc/objdraw.src 2009-04-06 16:42:20.000000000 +0000
140 @@ -1453,6 +1453,21 @@ Menu RID_POPUP_OLE
142 //-#i68101#----------------------
143 MenuItem { Separator = TRUE ; };
144 + MenuItem
146 + Identifier = SID_INPLACE_OBJECT ;
147 + HelpID = SID_INPLACE_OBJECT ;
148 + Text [ en-US ] = "~Activate OLE object" ;
149 + };
150 + MenuItem
152 + Identifier = SID_OUTPLACE_OBJECT ;
153 + HelpID = SID_OUTPLACE_OBJECT ;
154 + Text [ en-US ] = "~Activate OLE object outplace" ;
155 + };
157 + //-#i68101#----------------------
158 + MenuItem { Separator = TRUE ; };
159 MN_TITLE_DESCRIPTION_OBJECT
160 MN_RENAME_OBJECT
161 //-#i68101#----------------------
162 @@ -1481,6 +1496,20 @@ Menu RID_POPUP_CHART
163 MenuItem { ITEM_FORMAT_ATTR_TRANSFORM };
164 MN_ORIGINALSIZE
166 + MenuItem { Separator = TRUE ; };
167 + MenuItem
169 + Identifier = SID_INPLACE_OBJECT ;
170 + HelpID = SID_INPLACE_OBJECT ;
171 + Text [ en-US ] = "~Activate OLE object" ;
172 + };
173 + MenuItem
175 + Identifier = SID_OUTPLACE_OBJECT ;
176 + HelpID = SID_OUTPLACE_OBJECT ;
177 + Text [ en-US ] = "~Activate OLE object outplace" ;
178 + };
180 //-#i68101#----------------------
181 MenuItem { Separator = TRUE ; };
182 MN_TITLE_DESCRIPTION_OBJECT
183 --- sc/source/ui/view/tabvwsh3.cxx.old 2009-04-06 16:41:50.000000000 +0000
184 +++ sc/source/ui/view/tabvwsh3.cxx 2009-04-06 16:42:20.000000000 +0000
185 @@ -37,6 +37,9 @@
187 #include "scitems.hxx"
188 #include <svx/eeitem.hxx>
189 +#include <svx/svdmark.hxx>
190 +#include <svx/svdoole2.hxx>
191 +#include <svx/svdview.hxx>
193 #include <sfx2/app.hxx>
194 //CHINA001 #include <svx/zoom.hxx>
195 @@ -52,6 +55,8 @@
196 #include <vcl/msgbox.hxx>
197 #include <vcl/vclenum.hxx>
199 +#include <com/sun/star/embed/EmbedVerbs.hpp>
201 #include "globstr.hrc"
202 #include "scmod.hxx"
203 #include "appoptio.hxx"
204 @@ -99,6 +104,8 @@ using ::std::auto_ptr;
205 #define GET_BOOL(nid) ((const SfxBoolItem&)pReqArgs->Get(nid)).GetValue()
206 #define RECALC_PAGE(pDocSh) ScPrintFunc( pDocSh, GetPrinter(), nCurTab ).UpdatePages()
208 +using namespace com::sun::star;
210 //------------------------------------------------------------------
212 /** Try to parse the given range using Calc-style syntax first, then
213 @@ -1222,6 +1229,31 @@ void ScTabViewShell::Execute( SfxRequest
215 break;
217 + case SID_OUTPLACE_OBJECT:
218 + case SID_INPLACE_OBJECT:
220 + SdrView* pDrView = GetSdrView();
221 + if ( pDrView )
223 + const SdrMarkList& rMarkList = pDrView->GetMarkedObjectList();
224 + if (rMarkList.GetMarkCount() == 1)
226 + BOOL bOle = GetViewFrame()->GetFrame()->IsInPlace();
227 + SdrObject* pObj = rMarkList.GetMark( 0 )->GetMarkedSdrObj();
228 + if( pObj && pObj->ISA( SdrOle2Obj ) && !bOle )
230 + if( nSlot == SID_OUTPLACE_OBJECT )
231 + ActivateObject( static_cast< SdrOle2Obj* >( pObj ),
232 + embed::EmbedVerbs::MS_OLEVERB_OPEN );
233 + else
234 + ActivateObject( static_cast< SdrOle2Obj* >( pObj ),
235 + embed::EmbedVerbs::MS_OLEVERB_PRIMARY );
239 + break;
242 default:
243 DBG_ERROR("Unbekannter Slot bei ScTabViewShell::Execute");
244 break;
245 --- sc/source/ui/view/tabvwsh4.cxx.old 2009-04-06 16:41:50.000000000 +0000
246 +++ sc/source/ui/view/tabvwsh4.cxx 2009-04-06 16:42:20.000000000 +0000
247 @@ -612,6 +612,7 @@ void ScTabViewShell::DoReadUserDataSeque
248 TestHintWindow();
250 //! if ViewData has more tables than document, remove tables in ViewData
251 + UIFeatureChanged();
254 // DoReadUserData is also called from ctor when switching from print preview
255 @@ -647,6 +648,7 @@ void ScTabViewShell::DoReadUserData( con
256 TestHintWindow();
258 //! if ViewData has more tables than document, remove tables in ViewData
259 + UIFeatureChanged();
262 //------------------------------------------------------------------
263 --- sd/inc/app.hrc
264 +++ sd/inc/app.hrc
265 @@ -460,11 +460,13 @@
266 #define SID_INSERTPAGE_LAYOUT_MENU (SID_SD_START+438)
267 #define SID_TP_EDIT_MASTER (SID_SD_START+439)
268 #define SID_OUTLINE_TEXT_AUTOFIT (SID_SD_START+440)
269 +#define SID_INPLACE_OBJECT (SID_SD_START+441)
270 +#define SID_OUTPLACE_OBJECT (SID_SD_START+442)
272 // Add companion for the SID_HIDE_SLIDE (that is defined in svx)
273 -#define SID_SHOW_SLIDE (SID_SD_START+441)
274 +#define SID_SHOW_SLIDE (SID_SD_START+443)
276 -#define SID_ADD_MOTION_PATH (SID_SD_START+442)
277 -#define SID_TABLE_TOOLBOX (SID_SD_START+443)
278 +#define SID_ADD_MOTION_PATH (SID_SD_START+444)
279 +#define SID_TABLE_TOOLBOX (SID_SD_START+445)
281 #endif
282 --- sd/sdi/_drvwsh.sdi.old 2009-04-06 16:42:18.000000000 +0000
283 +++ sd/sdi/_drvwsh.sdi 2009-04-06 16:42:20.000000000 +0000
284 @@ -73,6 +73,16 @@ interface DrawView
285 ExecMethod = FuTemporary ;
286 StateMethod = GetMenuState ;
288 + SID_INPLACE_OBJECT // ole : yes, status : ?
290 + ExecMethod = FuTemporary ;
291 + StateMethod = GetMenuState ;
293 + SID_OUTPLACE_OBJECT // ole : yes, status : ?
295 + ExecMethod = FuTemporary ;
296 + StateMethod = GetMenuState ;
298 SID_SAVEGRAPHIC
300 ExecMethod = FuTemporary ;
301 --- sd/sdi/sdraw.sdi.old 2009-04-06 16:42:18.000000000 +0000
302 +++ sd/sdi/sdraw.sdi 2009-04-06 16:42:20.000000000 +0000
303 @@ -4865,6 +4865,56 @@ SfxVoidItem OriginalSize SID_ORIGINAL_SI
306 //--------------------------------------------------------------------------
307 +SfxVoidItem OutplaceOleObject SID_OUTPLACE_OBJECT
310 + /* flags: */
311 + AutoUpdate = FALSE,
312 + Cachable = Cachable,
313 + FastCall = FALSE,
314 + HasCoreId = FALSE,
315 + HasDialog = FALSE,
316 + ReadOnlyDoc = TRUE,
317 + Toggle = FALSE,
318 + Container = FALSE,
319 + RecordAbsolute = FALSE,
320 + RecordPerSet;
321 + Synchron;
323 + /* config: */
324 + AccelConfig = FALSE,
325 + MenuConfig = FALSE,
326 + StatusBarConfig = FALSE,
327 + ToolBoxConfig = FALSE,
328 + GroupId = GID_MODIFY;
331 +//--------------------------------------------------------------------------
332 +SfxVoidItem InplaceOleObject SID_INPLACE_OBJECT
335 + /* flags: */
336 + AutoUpdate = FALSE,
337 + Cachable = Cachable,
338 + FastCall = FALSE,
339 + HasCoreId = FALSE,
340 + HasDialog = FALSE,
341 + ReadOnlyDoc = TRUE,
342 + Toggle = FALSE,
343 + Container = FALSE,
344 + RecordAbsolute = FALSE,
345 + RecordPerSet;
346 + Synchron;
348 + /* config: */
349 + AccelConfig = FALSE,
350 + MenuConfig = FALSE,
351 + StatusBarConfig = FALSE,
352 + ToolBoxConfig = FALSE,
353 + GroupId = GID_MODIFY;
356 +//--------------------------------------------------------------------------
357 SfxVoidItem SaveGraphic SID_SAVEGRAPHIC
360 --- sd/source/ui/app/menuids_tmpl.src.old 2009-04-06 16:42:18.000000000 +0000
361 +++ sd/source/ui/app/menuids_tmpl.src 2009-04-06 16:42:20.000000000 +0000
362 @@ -870,11 +870,19 @@
363 #define MN_OLE_OBJECT\
364 MenuItem\
366 - Identifier = SID_OBJECT ; \
367 - HelpID = SID_OBJECT ; \
368 + Identifier = SID_INPLACE_OBJECT ; \
369 + HelpID = SID_INPLACE_OBJECT ; \
370 Text [ en-US ] = "~OLE Object" ; \
373 +#define MN_OUTPLACE_OLE_OBJECT\
374 + MenuItem\
375 + {\
376 + Identifier = SID_OUTPLACE_OBJECT ; \
377 + HelpID = SID_OUTPLACE_OBJECT ; \
378 + Text [ en-US ] = "~Outplace OLE Object" ; \
379 + };
381 #define MN_ORIGINAL_SIZE\
382 MenuItem\
384 --- sd/source/ui/app/popup2_tmpl.src.old 2009-04-06 16:42:18.000000000 +0000
385 +++ sd/source/ui/app/popup2_tmpl.src 2009-04-06 16:42:20.000000000 +0000
386 @@ -683,6 +683,7 @@
387 MN_TRANSFORM
388 MN_ORIGINAL_SIZE
389 MN_OLE_OBJECT
390 + MN_OUTPLACE_OLE_OBJECT
391 SEPARATOR
392 MN_POSITION
393 MN_OBJECT_ALIGN
394 --- sd/source/ui/func/fudraw.cxx.old 2009-04-02 10:45:52.000000000 +0000
395 +++ sd/source/ui/func/fudraw.cxx 2009-04-06 16:42:20.000000000 +0000
396 @@ -52,6 +52,7 @@
397 #include <svx/svdpagv.hxx>
399 #include <sfx2/viewfrm.hxx>
400 +#include <com/sun/star/embed/EmbedVerbs.hpp>
402 #include "anminfo.hxx"
403 #include "anmdef.hxx"
404 @@ -858,7 +859,8 @@ void FuDraw::DoubleClick(const MouseEven
405 * aktivate OLE-object
406 **********************************************************/
407 //HMHmpView->HideMarkHdl();
408 - mpViewShell->ActivateObject( (SdrOle2Obj*) pObj, 0);
409 + mpViewShell->ActivateObject( (SdrOle2Obj*) pObj,
410 + embed::EmbedVerbs::MS_OLEVERB_PRIMARY );
413 else if (nInv == SdrInventor && nSdrObjKind == OBJ_GRAF && pObj->IsEmptyPresObj() )
414 --- sd/source/ui/func/fuinsert.cxx.old 2009-04-06 16:42:16.000000000 +0000
415 +++ sd/source/ui/func/fuinsert.cxx 2009-04-06 16:42:20.000000000 +0000
416 @@ -42,6 +42,7 @@
417 #include <com/sun/star/beans/XPropertySet.hpp>
418 #include <com/sun/star/chart2/XChartDocument.hpp>
419 #include <com/sun/star/drawing/FillStyle.hpp>
420 +#include <com/sun/star/embed/EmbedVerbs.hpp>
422 #include <tools/urlobj.hxx>
423 #include <svtools/urihelper.hxx>
424 @@ -387,7 +388,7 @@ void FuInsertOLE::DoExecute( SfxRequest&
425 aSz.Width = aTmp.Width();
426 aSz.Height = aTmp.Height();
427 xObj->setVisualAreaSize( nAspect, aSz );
428 - mpViewShell->ActivateObject(pOleObj, SVVERB_SHOW);
429 + mpViewShell->ActivateObject(pOleObj, embed::EmbedVerbs::MS_OLEVERB_SHOW);
431 if (nSlotId == SID_INSERT_DIAGRAM)
433 @@ -662,7 +663,7 @@ void FuInsertOLE::DoExecute( SfxRequest&
434 xObj->setVisualAreaSize( nAspect, aSz );
437 - mpViewShell->ActivateObject(pObj, SVVERB_SHOW);
438 + mpViewShell->ActivateObject(pObj, embed::EmbedVerbs::MS_OLEVERB_SHOW);
441 Size aVisSizePixel = mpWindow->GetOutputSizePixel();
442 --- sd/source/ui/func/fupoor.cxx.old 2009-04-02 10:45:52.000000000 +0000
443 +++ sd/source/ui/func/fupoor.cxx 2009-04-06 16:42:20.000000000 +0000
444 @@ -49,6 +49,7 @@
445 #include <com/sun/star/drawing/XLayer.hpp>
446 #include <com/sun/star/drawing/XLayerManager.hpp>
447 #include <com/sun/star/container/XChild.hpp>
448 +#include <com/sun/star/embed/EmbedVerbs.hpp>
450 #ifndef SD_FRAMW_VIEW_HXX
451 #include "FrameView.hxx"
452 @@ -339,8 +340,12 @@ BOOL FuPoor::KeyInput(const KeyEvent& rK
454 if( pObj && pObj->ISA( SdrOle2Obj ) && !mpDocSh->IsUIActive() )
456 - //HMHmpView->HideMarkHdl();
457 - mpViewShell->ActivateObject( static_cast< SdrOle2Obj* >( pObj ), 0 );
458 + if(rKEvt.GetKeyCode().IsShift())
459 + mpViewShell->ActivateObject( static_cast< SdrOle2Obj* >( pObj ),
460 + embed::EmbedVerbs::MS_OLEVERB_OPEN );
461 + else
462 + mpViewShell->ActivateObject( static_cast< SdrOle2Obj* >( pObj ),
463 + embed::EmbedVerbs::MS_OLEVERB_PRIMARY );
465 else if( pObj && pObj->IsEmptyPresObj() && pObj->ISA( SdrGrafObj ) )
467 --- sd/source/ui/view/drviews2.cxx.old 2009-04-06 16:42:18.000000000 +0000
468 +++ sd/source/ui/view/drviews2.cxx 2009-04-06 16:42:20.000000000 +0000
469 @@ -58,6 +58,7 @@
470 #include <svx/flditem.hxx>
471 #include <svx/xlineit0.hxx>
472 #include <svx/xfillit0.hxx>
473 +#include <svx/svdoole2.hxx>
475 #ifndef _SDOUTL_HXX //autogen
476 #include <svx/svdoutl.hxx>
477 @@ -98,6 +99,7 @@
478 #include "sdabstdlg.hxx"
479 #include <com/sun/star/drawing/XMasterPagesSupplier.hpp>
480 #include <com/sun/star/drawing/XDrawPages.hpp>
481 +#include <com/sun/star/embed/EmbedVerbs.hpp>
483 #include <strings.hrc>
485 @@ -998,6 +1000,26 @@ void DrawViewShell::FuTemporary(SfxReque
487 Cancel();
488 rReq.Ignore();
490 + break;
492 + case SID_INPLACE_OBJECT:
493 + case SID_OUTPLACE_OBJECT:
495 + const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
496 + if( rMarkList.GetMarkCount() == 1 )
498 + SdrOle2Obj *pOleObj = dynamic_cast< SdrOle2Obj* >( rMarkList.GetMark( 0 )->GetMarkedSdrObj() );
499 + if( pOleObj && !GetDocSh()->IsUIActive() )
501 + if( SID_OUTPLACE_OBJECT == nSId )
502 + ActivateObject( pOleObj, embed::EmbedVerbs::MS_OLEVERB_OPEN );
503 + else
504 + ActivateObject( pOleObj, embed::EmbedVerbs::MS_OLEVERB_PRIMARY );
507 + Cancel();
508 + rReq.Ignore();
510 break;
512 --- sd/source/ui/view/drviews5.cxx.old 2009-04-02 10:46:02.000000000 +0000
513 +++ sd/source/ui/view/drviews5.cxx 2009-04-06 16:42:20.000000000 +0000
514 @@ -623,7 +623,7 @@ void DrawViewShell::ReadUserDataSequence
516 const Rectangle aVisArea( mpFrameView->GetVisArea() );
518 - if ( GetDocSh()->GetCreateMode() == SFX_CREATE_MODE_EMBEDDED )
519 + if ( GetDocSh()->GetCreateMode() == SFX_CREATE_MODE_EMBEDDED && !aVisArea.IsEmpty() )
521 GetDocSh()->SetVisArea(aVisArea);
523 --- sd/source/ui/view/frmview.cxx.old 2009-04-02 10:46:02.000000000 +0000
524 +++ sd/source/ui/view/frmview.cxx 2009-04-06 16:42:20.000000000 +0000
525 @@ -886,7 +886,7 @@ void FrameView::ReadUserDataSequence ( c
526 else if (pValue->Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( sUNO_View_VisibleAreaWidth ) ) )
528 sal_Int32 nWidth = 0;
529 - if( pValue->Value >>= nWidth )
530 + if( (pValue->Value >>= nWidth) && nWidth > 0 )
532 Rectangle aVisArea( GetVisArea() );
533 aVisArea.nRight = aVisArea.nLeft + nWidth - 1;
534 @@ -896,7 +896,7 @@ void FrameView::ReadUserDataSequence ( c
535 else if (pValue->Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( sUNO_View_VisibleAreaHeight ) ) )
537 sal_Int32 nHeight = 0;
538 - if( pValue->Value >>= nHeight )
539 + if( (pValue->Value >>= nHeight) && nHeight > 0 )
541 Rectangle aVisArea( GetVisArea() );
542 aVisArea.nBottom = nHeight + aVisArea.nTop - 1;
543 --- sfx2/source/view/topfrm.cxx
544 +++ sfx2/source/view/topfrm.cxx
545 @@ -963,7 +963,7 @@ sal_Bool SfxTopFrame::InsertDocument( Sf
547 if ( !pImp->bHidden )
549 - if ( pDoc->IsHelpDocument() || (pPluginItem && pPluginItem->GetValue() == 2) )
550 + if ( pDoc->IsHelpDocument() )
551 pFrame->GetDispatcher()->HideUI( TRUE );
552 else
553 pFrame->GetDispatcher()->HideUI( FALSE );
554 --- sw/inc/cmdid.h.old 2009-04-06 16:42:02.000000000 +0000
555 +++ sw/inc/cmdid.h 2009-04-06 16:42:20.000000000 +0000
556 @@ -1261,6 +1261,8 @@ Achtung: Ab sofort sind in diesem File k
558 #define FN_SET_FRM_ALT_NAME (FN_FRAME + 18)
560 +#define FN_INPLACE_OLE (FN_FRAME + 19)
561 +#define FN_OUTPLACE_OLE (FN_FRAME + 20)
563 //Member-Ids fuer Fill/SetVariable an Items
564 #define MID_STYLE 0xe0
565 --- sw/sdi/_frmsh.sdi.old 2009-04-02 10:50:08.000000000 +0000
566 +++ sw/sdi/_frmsh.sdi 2009-04-06 16:42:20.000000000 +0000
567 @@ -176,6 +176,20 @@ interface BaseTextFrame
568 DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
571 + FN_INPLACE_OLE // status(final|play)
573 + ExecMethod = Execute ;
574 + StateMethod = GetState ;
575 + DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
578 + FN_OUTPLACE_OLE // status(final|play)
580 + ExecMethod = Execute ;
581 + StateMethod = GetState ;
582 + DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
585 SID_FRAME_LINESTYLE // status()
587 ExecMethod = ExecFrameStyle ;
588 --- sw/sdi/swriter.sdi.old 2009-04-06 16:42:02.000000000 +0000
589 +++ sw/sdi/swriter.sdi 2009-04-06 16:42:20.000000000 +0000
590 @@ -2141,6 +2141,56 @@ SfxVoidItem FrameDialog FN_FORMAT_FRAME_
593 //--------------------------------------------------------------------------
594 +SfxVoidItem InplaceOle FN_INPLACE_OLE
597 + /* flags: */
598 + AutoUpdate = FALSE,
599 + Cachable = Cachable,
600 + FastCall = TRUE,
601 + HasCoreId = FALSE,
602 + HasDialog = TRUE,
603 + ReadOnlyDoc = FALSE,
604 + Toggle = FALSE,
605 + Container = FALSE,
606 + RecordAbsolute = FALSE,
607 + RecordPerItem;
608 + Asynchron;
610 + /* config: */
611 + AccelConfig = TRUE,
612 + MenuConfig = TRUE,
613 + StatusBarConfig = FALSE,
614 + ToolBoxConfig = TRUE,
615 + GroupId = GID_FRAME;
618 +//--------------------------------------------------------------------------
619 +SfxVoidItem OutplaceOle FN_OUTPLACE_OLE
622 + /* flags: */
623 + AutoUpdate = FALSE,
624 + Cachable = Cachable,
625 + FastCall = TRUE,
626 + HasCoreId = FALSE,
627 + HasDialog = TRUE,
628 + ReadOnlyDoc = FALSE,
629 + Toggle = FALSE,
630 + Container = FALSE,
631 + RecordAbsolute = FALSE,
632 + RecordPerItem;
633 + Asynchron;
635 + /* config: */
636 + AccelConfig = TRUE,
637 + MenuConfig = TRUE,
638 + StatusBarConfig = FALSE,
639 + ToolBoxConfig = TRUE,
640 + GroupId = GID_FRAME;
643 +//--------------------------------------------------------------------------
644 SfxBoolItem GoDown FN_LINE_DOWN
645 (SfxInt16Item Count FN_PARAM_MOVE_COUNT,SfxBoolItem Select FN_PARAM_MOVE_SELECTION)
647 --- sw/sdi/swslots.src.old 2009-04-06 16:42:02.000000000 +0000
648 +++ sw/sdi/swslots.src 2009-04-06 16:42:20.000000000 +0000
649 @@ -290,6 +290,14 @@ SfxSlotInfo FN_FORMAT_FRAME_DLG
651 Slotname [ en-US ] = "Frame Properties";
653 +SfxSlotInfo FN_INPLACE_OLE
655 + Slotname [ en-US ] = "Open OLE object inplace";
657 +SfxSlotInfo FN_OUTPLACE_OLE
659 + Slotname [ en-US ] = "Open OLE object outplace";
661 SfxSlotInfo FN_FORMAT_GRAFIC_DLG
663 Slotname [ en-US ] = "Edit Graphics";
664 --- sw/source/ui/app/mn.src.old 2009-04-02 10:50:28.000000000 +0000
665 +++ sw/source/ui/app/mn.src 2009-04-06 16:42:20.000000000 +0000
666 @@ -996,6 +996,18 @@ Menu MN_OLE_POPUPMENU
667 HelpID = FN_FORMAT_FRAME_DLG ;
668 Text [ en-US ] = "Object..." ;
670 + MenuItem
672 + Identifier = FN_INPLACE_OLE ;
673 + HelpID = FN_INPLACE_OLE ;
674 + Text [ en-US ] = "Activate OLE object" ;
675 + };
676 + MenuItem
678 + Identifier = FN_OUTPLACE_OLE ;
679 + HelpID = FN_OUTPLACE_OLE ;
680 + Text [ en-US ] = "Activate OLE object outplace" ;
681 + };
682 MN_FRM_CAPTION_ITEM
685 --- sw/source/ui/docvw/edtwin.cxx.old 2009-04-06 16:41:53.000000000 +0000
686 +++ sw/source/ui/docvw/edtwin.cxx 2009-04-06 16:42:20.000000000 +0000
687 @@ -40,6 +40,7 @@
688 #include <com/sun/star/i18n/XBreakIterator.hpp>
689 #include <com/sun/star/i18n/ScriptType.hpp>
690 #include <com/sun/star/i18n/InputSequenceCheckMode.hpp>
691 +#include <com/sun/star/embed/EmbedVerbs.hpp>
693 #include <com/sun/star/i18n/UnicodeScript.hpp>
695 @@ -1779,6 +1780,14 @@ KEYINPUT_CHECKTABLE_INSDEL:
697 break;
699 + case KEY_RETURN | KEY_SHIFT: // SHIFT-Return
700 + if( !rSh.HasReadonlySel() )
702 + if(rSh.GetSelectionType() & nsSelectionType::SEL_OLE)
703 + eKeyState = KS_LaunchOLEObject;
705 + break;
707 case KEY_RETURN | KEY_MOD2: // ALT-Return
708 if( !rSh.HasReadonlySel() && !rSh.IsSttPara() && rSh.GetCurNumRule() )
709 eKeyState = KS_NoNum;
710 @@ -2180,7 +2189,10 @@ KEYINPUT_CHECKTABLE_INSDEL:
712 break;
713 case KS_LaunchOLEObject:
714 - rSh.LaunchOLEObj();
715 + if( rKEvt.GetKeyCode().IsShift() )
716 + rSh.LaunchOLEObj(embed::EmbedVerbs::MS_OLEVERB_OPEN);
717 + else
718 + rSh.LaunchOLEObj();
719 eKeyState = KS_Ende;
720 break;
721 case KS_GoIntoFly :
722 --- sw/source/ui/shells/frmsh.cxx
723 +++ sw/source/ui/shells/frmsh.cxx
724 @@ -50,7 +50,7 @@
725 #include <svx/svdview.hxx>
726 #include <vcl/msgbox.hxx>
727 // <--
729 +#include <com/sun/star/embed/EmbedVerbs.hpp>
731 #include <fmturl.hxx>
732 #include <fmtclds.hxx>
733 @@ -577,6 +577,16 @@ void SwFrameShell::Execute(SfxRequest &r
736 break;
737 + case FN_INPLACE_OLE:
739 + rSh.LaunchOLEObj();
741 + break;
742 + case FN_OUTPLACE_OLE:
744 + rSh.LaunchOLEObj(embed::EmbedVerbs::MS_OLEVERB_OPEN);
746 + break;
747 case FN_FRAME_MIRROR_ON_EVEN_PAGES:
749 SwFmtHoriOrient aHori(aMgr.GetHoriOrient());