Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 :
21 : #include "OutlineViewShell.hxx"
22 :
23 : #include <com/sun/star/presentation/XPresentation2.hpp>
24 : #include <com/sun/star/beans/PropertyValue.hpp>
25 : #include <com/sun/star/uno/Any.hxx>
26 :
27 : #include "app.hrc"
28 : #include <svx/hlnkitem.hxx>
29 : #include <sfx2/docfile.hxx>
30 : #include <sfx2/dispatch.hxx>
31 : #include <sfx2/request.hxx>
32 : #include <svl/eitem.hxx>
33 : #include <sfx2/zoomitem.hxx>
34 : #include <svx/svxids.hrc>
35 : #include <vcl/msgbox.hxx>
36 : #include <editeng/eeitem.hxx>
37 : #include <editeng/flditem.hxx>
38 : #include <editeng/editstat.hxx>
39 : #include "optsitem.hxx"
40 : #include <unotools/useroptions.hxx>
41 :
42 : #include <sfx2/viewfrm.hxx>
43 : #include "Outliner.hxx"
44 : #include "Window.hxx"
45 : #include "fubullet.hxx"
46 : #include "fuolbull.hxx"
47 : #include "FrameView.hxx"
48 : #include "fuzoom.hxx"
49 : #include "fuscale.hxx"
50 : #include "fuchar.hxx"
51 : #include "fuinsfil.hxx"
52 : #include "fuprobjs.hxx"
53 : #include "futhes.hxx"
54 : #include "futempl.hxx"
55 : #include "fusldlg.hxx"
56 : #include "zoomlist.hxx"
57 : #include "fuexpand.hxx"
58 : #include "fusumry.hxx"
59 : #include "fucushow.hxx"
60 : #include "drawdoc.hxx"
61 : #include "sdattr.hxx"
62 : #include "ViewShellBase.hxx"
63 : #include "sdabstdlg.hxx"
64 : #include "framework/FrameworkHelper.hxx"
65 : #include "DrawViewShell.hxx"
66 : #include "slideshow.hxx"
67 : #include <boost/scoped_ptr.hpp>
68 :
69 : using namespace ::com::sun::star::uno;
70 : using namespace ::com::sun::star::presentation;
71 : using namespace ::com::sun::star::beans;
72 :
73 : namespace sd {
74 :
75 :
76 : /************************************************************************/
77 :
78 : /**
79 : * SfxRequests for temporary functions
80 : */
81 :
82 0 : void OutlineViewShell::FuTemporary(SfxRequest &rReq)
83 : {
84 0 : DeactivateCurrentFunction();
85 :
86 0 : OutlinerView* pOutlinerView = pOlView->GetViewByWindow( GetActiveWindow() );
87 0 : sal_uInt16 nSId = rReq.GetSlot();
88 :
89 0 : switch( nSId )
90 : {
91 : case SID_ATTR_ZOOM:
92 : {
93 0 : const SfxItemSet* pArgs = rReq.GetArgs();
94 :
95 0 : if ( pArgs )
96 : {
97 : SvxZoomType eZT = ( ( const SvxZoomItem& ) pArgs->
98 0 : Get( SID_ATTR_ZOOM ) ).GetType();
99 0 : switch( eZT )
100 : {
101 : case SVX_ZOOM_PERCENT:
102 : SetZoom( (long) ( ( const SvxZoomItem& ) pArgs->
103 0 : Get( SID_ATTR_ZOOM ) ).GetValue() );
104 0 : Invalidate( SID_ATTR_ZOOM );
105 0 : Invalidate( SID_ATTR_ZOOMSLIDER );
106 0 : break;
107 : default:
108 0 : break;
109 : }
110 0 : rReq.Done();
111 : }
112 : else
113 : {
114 : // open the zoom dialog here
115 0 : SetCurrentFunction( FuScale::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
116 : }
117 0 : Cancel();
118 : }
119 0 : break;
120 :
121 : case SID_ATTR_ZOOMSLIDER:
122 : {
123 0 : const SfxItemSet* pArgs = rReq.GetArgs();
124 :
125 0 : if (pArgs && pArgs->Count () == 1 )
126 : {
127 0 : SFX_REQUEST_ARG (rReq, pScale, SfxUInt16Item, SID_ATTR_ZOOMSLIDER, false);
128 0 : if (CHECK_RANGE (5, pScale->GetValue (), 3000))
129 : {
130 0 : SetZoom (pScale->GetValue ());
131 :
132 0 : SfxBindings& rBindings = GetViewFrame()->GetBindings();
133 0 : rBindings.Invalidate( SID_ATTR_ZOOM );
134 0 : rBindings.Invalidate( SID_ZOOM_IN );
135 0 : rBindings.Invalidate( SID_ZOOM_OUT );
136 0 : rBindings.Invalidate( SID_ATTR_ZOOMSLIDER );
137 :
138 : }
139 : }
140 :
141 0 : Cancel();
142 0 : rReq.Done ();
143 0 : break;
144 : }
145 :
146 : case SID_ZOOM_OUT:
147 : {
148 0 : SetCurrentFunction( FuZoom::Create(this, GetActiveWindow(), pOlView, GetDoc(), rReq) );
149 : // ends itself, no need for Cancel()!
150 0 : rReq.Done();
151 : }
152 0 : break;
153 :
154 : case SID_SIZE_REAL:
155 : {
156 0 : SetZoom( 100 );
157 0 : Rectangle aVisAreaWin = GetActiveWindow()->PixelToLogic( Rectangle( Point(0,0),
158 0 : GetActiveWindow()->GetOutputSizePixel()) );
159 0 : mpZoomList->InsertZoomRect(aVisAreaWin);
160 0 : Invalidate( SID_ATTR_ZOOM );
161 0 : Invalidate( SID_ATTR_ZOOMSLIDER );
162 0 : Cancel();
163 0 : rReq.Done();
164 : }
165 0 : break;
166 :
167 : case SID_ZOOM_IN:
168 : {
169 0 : SetZoom( std::max( (long) ( GetActiveWindow()->GetZoom() / 2 ), (long) GetActiveWindow()->GetMinZoom() ) );
170 0 : Rectangle aVisAreaWin = GetActiveWindow()->PixelToLogic( Rectangle( Point(0,0),
171 0 : GetActiveWindow()->GetOutputSizePixel()) );
172 0 : mpZoomList->InsertZoomRect(aVisAreaWin);
173 0 : Invalidate( SID_ATTR_ZOOM );
174 0 : Invalidate( SID_ZOOM_OUT);
175 0 : Invalidate( SID_ZOOM_IN );
176 0 : Invalidate( SID_ATTR_ZOOMSLIDER );
177 0 : Cancel();
178 0 : rReq.Done();
179 : }
180 0 : break;
181 :
182 : case SID_OUTLINE_COLLAPSE_ALL:
183 : {
184 0 : pOutlinerView->CollapseAll();
185 0 : Cancel();
186 0 : rReq.Done();
187 : }
188 0 : break;
189 :
190 : case SID_OUTLINE_COLLAPSE:
191 : {
192 0 : pOutlinerView->Collapse();
193 0 : Cancel();
194 0 : rReq.Done();
195 : }
196 0 : break;
197 :
198 : case SID_OUTLINE_EXPAND_ALL:
199 : {
200 0 : pOutlinerView->ExpandAll();
201 0 : Cancel();
202 0 : rReq.Done();
203 : }
204 0 : break;
205 :
206 : case SID_OUTLINE_EXPAND:
207 : {
208 0 : pOutlinerView->Expand();
209 0 : Cancel();
210 0 : rReq.Done();
211 : }
212 0 : break;
213 :
214 : case SID_OUTLINE_FORMAT:
215 : {
216 0 : ::Outliner* pOutl = pOutlinerView->GetOutliner();
217 0 : pOutl->SetFlatMode( !pOutl->IsFlatMode() );
218 0 : Invalidate( SID_COLORVIEW );
219 0 : Cancel();
220 0 : rReq.Done();
221 : }
222 0 : break;
223 :
224 : case SID_SELECTALL:
225 : {
226 0 : ::Outliner* pOutl = pOlView->GetOutliner();
227 0 : sal_Int32 nParaCount = pOutl->GetParagraphCount();
228 0 : if (nParaCount > 0)
229 : {
230 0 : pOutlinerView->SelectRange( 0, nParaCount );
231 : }
232 0 : Cancel();
233 : }
234 0 : break;
235 :
236 : case SID_PRESENTATION:
237 : case SID_PRESENTATION_CURRENT_SLIDE:
238 : case SID_REHEARSE_TIMINGS:
239 : {
240 0 : pOlView->PrepareClose();
241 0 : ShowSlideShow(rReq);
242 0 : Cancel();
243 0 : rReq.Done();
244 : }
245 0 : break;
246 :
247 : case SID_COLORVIEW:
248 : {
249 0 : ::Outliner* pOutl = pOutlinerView->GetOutliner();
250 0 : sal_uLong nCntrl = pOutl->GetControlWord();
251 :
252 0 : if ( !(nCntrl & EE_CNTRL_NOCOLORS) )
253 : {
254 : // color view is enabled: disable
255 0 : pOutl->SetControlWord(nCntrl | EE_CNTRL_NOCOLORS);
256 : }
257 : else
258 : {
259 : // color view is disabled: enable
260 0 : pOutl->SetControlWord(nCntrl & ~EE_CNTRL_NOCOLORS);
261 : }
262 :
263 0 : InvalidateWindows();
264 0 : Invalidate( SID_COLORVIEW );
265 0 : Cancel();
266 0 : rReq.Done();
267 : }
268 0 : break;
269 :
270 : case SID_STYLE_EDIT:
271 : case SID_STYLE_UPDATE_BY_EXAMPLE:
272 : {
273 0 : if( rReq.GetArgs() )
274 : {
275 0 : SetCurrentFunction( FuTemplate::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
276 0 : Cancel();
277 : }
278 :
279 0 : rReq.Ignore ();
280 : }
281 0 : break;
282 :
283 : case SID_PRESENTATION_DLG:
284 : {
285 0 : SetCurrentFunction( FuSlideShowDlg::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
286 0 : Cancel();
287 : }
288 0 : break;
289 :
290 : case SID_CUSTOMSHOW_DLG:
291 : {
292 0 : SetCurrentFunction( FuCustomShowDlg::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
293 0 : Cancel();
294 : }
295 0 : break;
296 :
297 : case SID_PHOTOALBUM:
298 : {
299 0 : SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
300 : VclAbstractDialog* pDlg = pFact ? pFact->CreateSdPhotoAlbumDialog(
301 0 : GetActiveWindow(),
302 0 : GetDoc()) : 0;
303 :
304 0 : if (pDlg)
305 : {
306 0 : pDlg->Execute();
307 0 : delete pDlg;
308 : }
309 0 : Cancel();
310 0 : rReq.Ignore ();
311 : }
312 0 : break;
313 : }
314 :
315 0 : if(HasCurrentFunction())
316 0 : GetCurrentFunction()->Activate();
317 :
318 0 : Invalidate( SID_OUTLINE_COLLAPSE_ALL );
319 0 : Invalidate( SID_OUTLINE_COLLAPSE );
320 0 : Invalidate( SID_OUTLINE_EXPAND_ALL );
321 0 : Invalidate( SID_OUTLINE_EXPAND );
322 :
323 0 : SfxBindings& rBindings = GetViewFrame()->GetBindings();
324 0 : rBindings.Invalidate( SID_OUTLINE_LEFT );
325 0 : rBindings.Invalidate( SID_OUTLINE_RIGHT );
326 0 : rBindings.Invalidate( SID_OUTLINE_UP );
327 0 : rBindings.Invalidate( SID_OUTLINE_DOWN );
328 :
329 0 : Invalidate( SID_OUTLINE_FORMAT );
330 0 : Invalidate( SID_COLORVIEW );
331 0 : Invalidate(SID_CUT);
332 0 : Invalidate(SID_COPY);
333 0 : Invalidate(SID_PASTE);
334 0 : Invalidate(SID_PASTE_UNFORMATTED);
335 0 : }
336 :
337 0 : void OutlineViewShell::ShowSlideShow(SfxRequest& rReq)
338 : {
339 0 : slideshowhelp::ShowSlideShow(rReq, *GetDoc());
340 0 : }
341 :
342 0 : void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq)
343 : {
344 0 : sal_uInt16 nSId = rReq.GetSlot();
345 0 : boost::scoped_ptr< OutlineViewModelChangeGuard > aGuard;
346 0 : if (nSId != SID_OUTLINE_BULLET && nSId != FN_SVX_SET_BULLET && nSId != FN_SVX_SET_NUMBER)
347 : {
348 0 : aGuard.reset( new OutlineViewModelChangeGuard(*pOlView) );
349 : }
350 0 : DeactivateCurrentFunction();
351 :
352 0 : OutlinerView* pOutlinerView = pOlView->GetViewByWindow( GetActiveWindow() );
353 : //sal_uInt16 nSId = rReq.GetSlot();
354 :
355 0 : switch( nSId )
356 : {
357 : case SID_HYPERLINK_SETLINK:
358 : {
359 0 : const SfxItemSet* pReqArgs = rReq.GetArgs();
360 :
361 0 : if (pReqArgs)
362 : {
363 : SvxHyperlinkItem* pHLItem =
364 0 : (SvxHyperlinkItem*) &pReqArgs->Get(SID_HYPERLINK_SETLINK);
365 :
366 0 : SvxFieldItem aURLItem(SvxURLField(pHLItem->GetURL(),
367 0 : pHLItem->GetName(),
368 0 : SVXURLFORMAT_REPR), EE_FEATURE_FIELD);
369 0 : ESelection aSel( pOutlinerView->GetSelection() );
370 0 : pOutlinerView->InsertField(aURLItem);
371 0 : if ( aSel.nStartPos <= aSel.nEndPos )
372 0 : aSel.nEndPos = aSel.nStartPos + 1;
373 : else
374 0 : aSel.nStartPos = aSel.nEndPos + 1;
375 0 : pOutlinerView->SetSelection( aSel );
376 : }
377 :
378 0 : Cancel();
379 0 : rReq.Ignore ();
380 : }
381 0 : break;
382 :
383 : case FN_INSERT_SOFT_HYPHEN:
384 : case FN_INSERT_HARDHYPHEN:
385 : case FN_INSERT_HARD_SPACE:
386 : case SID_INSERT_RLM :
387 : case SID_INSERT_LRM :
388 : case SID_INSERT_ZWNBSP :
389 : case SID_INSERT_ZWSP:
390 : case SID_CHARMAP:
391 : {
392 0 : SetCurrentFunction( FuBullet::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
393 0 : Cancel();
394 : }
395 0 : break;
396 :
397 : case SID_OUTLINE_BULLET:
398 : case FN_SVX_SET_BULLET:
399 : case FN_SVX_SET_NUMBER:
400 : {
401 0 : SetCurrentFunction( FuOutlineBullet::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
402 0 : Cancel();
403 : }
404 0 : break;
405 :
406 : case SID_THESAURUS:
407 : {
408 0 : SetCurrentFunction( FuThesaurus::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
409 0 : Cancel();
410 0 : rReq.Ignore ();
411 : }
412 0 : break;
413 :
414 : case SID_CHAR_DLG_EFFECT:
415 : case SID_CHAR_DLG:
416 : {
417 0 : SetCurrentFunction( FuChar::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
418 0 : Cancel();
419 : }
420 0 : break;
421 :
422 : case SID_INSERTFILE:
423 : {
424 0 : SetCurrentFunction( FuInsertFile::Create(this, GetActiveWindow(), pOlView, GetDoc(), rReq) );
425 0 : Cancel();
426 : }
427 0 : break;
428 :
429 : case SID_PRESENTATIONOBJECT:
430 : {
431 0 : SetCurrentFunction( FuPresentationObjects::Create(this, GetActiveWindow(), pOlView, GetDoc(), rReq) );
432 0 : Cancel();
433 : }
434 0 : break;
435 :
436 : case SID_SET_DEFAULT:
437 : {
438 0 : pOutlinerView->RemoveAttribs(true); // sal_True = also paragraph attributes
439 0 : Cancel();
440 0 : rReq.Done();
441 : }
442 0 : break;
443 :
444 : case SID_SUMMARY_PAGE:
445 : {
446 0 : pOlView->SetSelectedPages();
447 0 : SetCurrentFunction( FuSummaryPage::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
448 0 : pOlView->GetOutliner()->Clear();
449 0 : pOlView->FillOutliner();
450 0 : pOlView->GetActualPage();
451 0 : Cancel();
452 : }
453 0 : break;
454 :
455 : case SID_EXPAND_PAGE:
456 : {
457 0 : pOlView->SetSelectedPages();
458 0 : SetCurrentFunction( FuExpandPage::Create( this, GetActiveWindow(), pOlView, GetDoc(), rReq ) );
459 0 : pOlView->GetOutliner()->Clear();
460 0 : pOlView->FillOutliner();
461 0 : pOlView->GetActualPage();
462 0 : Cancel();
463 : }
464 0 : break;
465 :
466 : case SID_INSERT_FLD_DATE_FIX:
467 : case SID_INSERT_FLD_DATE_VAR:
468 : case SID_INSERT_FLD_TIME_FIX:
469 : case SID_INSERT_FLD_TIME_VAR:
470 : case SID_INSERT_FLD_AUTHOR:
471 : case SID_INSERT_FLD_PAGE:
472 : case SID_INSERT_FLD_PAGES:
473 : case SID_INSERT_FLD_FILE:
474 : {
475 0 : SvxFieldItem* pFieldItem = 0;
476 :
477 0 : switch( nSId )
478 : {
479 : case SID_INSERT_FLD_DATE_FIX:
480 : pFieldItem = new SvxFieldItem(
481 0 : SvxDateField( Date( Date::SYSTEM ), SVXDATETYPE_FIX ), EE_FEATURE_FIELD );
482 0 : break;
483 :
484 : case SID_INSERT_FLD_DATE_VAR:
485 0 : pFieldItem = new SvxFieldItem( SvxDateField(), EE_FEATURE_FIELD );
486 0 : break;
487 :
488 : case SID_INSERT_FLD_TIME_FIX:
489 : pFieldItem = new SvxFieldItem(
490 0 : SvxExtTimeField( Time( Time::SYSTEM ), SVXTIMETYPE_FIX ), EE_FEATURE_FIELD );
491 0 : break;
492 :
493 : case SID_INSERT_FLD_TIME_VAR:
494 0 : pFieldItem = new SvxFieldItem( SvxExtTimeField(), EE_FEATURE_FIELD );
495 0 : break;
496 :
497 : case SID_INSERT_FLD_AUTHOR:
498 : {
499 0 : SvtUserOptions aUserOptions;
500 : pFieldItem = new SvxFieldItem(
501 : SvxAuthorField(
502 : aUserOptions.GetFirstName(), aUserOptions.GetLastName(), aUserOptions.GetID() )
503 0 : , EE_FEATURE_FIELD );
504 : }
505 0 : break;
506 :
507 : case SID_INSERT_FLD_PAGE:
508 0 : pFieldItem = new SvxFieldItem( SvxPageField(), EE_FEATURE_FIELD );
509 0 : break;
510 :
511 : case SID_INSERT_FLD_PAGES:
512 0 : pFieldItem = new SvxFieldItem( SvxPagesField(), EE_FEATURE_FIELD );
513 0 : break;
514 :
515 : case SID_INSERT_FLD_FILE:
516 : {
517 0 : OUString aName;
518 0 : if( GetDocSh()->HasName() )
519 0 : aName = GetDocSh()->GetMedium()->GetName();
520 : //else
521 : // aName = GetDocSh()->GetName();
522 0 : pFieldItem = new SvxFieldItem( SvxExtFileField( aName ), EE_FEATURE_FIELD );
523 : }
524 0 : break;
525 : }
526 :
527 0 : const SvxFieldItem* pOldFldItem = pOutlinerView->GetFieldAtSelection();
528 :
529 0 : if( pOldFldItem && ( pOldFldItem->GetField()->ISA( SvxURLField ) ||
530 0 : pOldFldItem->GetField()->ISA( SvxDateField ) ||
531 0 : pOldFldItem->GetField()->ISA( SvxTimeField ) ||
532 0 : pOldFldItem->GetField()->ISA( SvxExtTimeField ) ||
533 0 : pOldFldItem->GetField()->ISA( SvxExtFileField ) ||
534 0 : pOldFldItem->GetField()->ISA( SvxAuthorField ) ||
535 0 : pOldFldItem->GetField()->ISA( SvxPageField ) ||
536 0 : pOldFldItem->GetField()->ISA( SvxPagesField )) )
537 : {
538 : // select field, so it gets deleted on Insert
539 0 : ESelection aSel = pOutlinerView->GetSelection();
540 0 : if( aSel.nStartPos == aSel.nEndPos )
541 0 : aSel.nEndPos++;
542 0 : pOutlinerView->SetSelection( aSel );
543 : }
544 :
545 0 : if( pFieldItem )
546 0 : pOutlinerView->InsertField( *pFieldItem );
547 :
548 0 : delete pFieldItem;
549 :
550 0 : Cancel();
551 0 : rReq.Ignore ();
552 : }
553 0 : break;
554 :
555 : case SID_MODIFY_FIELD:
556 : {
557 0 : const SvxFieldItem* pFldItem = pOutlinerView->GetFieldAtSelection();
558 :
559 0 : if( pFldItem && (pFldItem->GetField()->ISA( SvxDateField ) ||
560 0 : pFldItem->GetField()->ISA( SvxAuthorField ) ||
561 0 : pFldItem->GetField()->ISA( SvxExtFileField ) ||
562 0 : pFldItem->GetField()->ISA( SvxExtTimeField ) ) )
563 : {
564 : // Dialog...
565 0 : SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
566 0 : AbstractSdModifyFieldDlg* pDlg = pFact ? pFact->CreateSdModifyFieldDlg(GetActiveWindow(), pFldItem->GetField(), pOutlinerView->GetAttribs() ) : 0;
567 0 : if( pDlg && (pDlg->Execute() == RET_OK) )
568 : {
569 0 : SvxFieldData* pField = pDlg->GetField();
570 0 : if( pField )
571 : {
572 0 : SvxFieldItem aFieldItem( *pField, EE_FEATURE_FIELD );
573 : //pOLV->DeleteSelected(); <-- unfortunately missing!
574 : // select field, so it gets deleted on Insert
575 0 : ESelection aSel = pOutlinerView->GetSelection();
576 0 : sal_Bool bSel = sal_True;
577 0 : if( aSel.nStartPos == aSel.nEndPos )
578 : {
579 0 : bSel = sal_False;
580 0 : aSel.nEndPos++;
581 : }
582 0 : pOutlinerView->SetSelection( aSel );
583 :
584 0 : pOutlinerView->InsertField( aFieldItem );
585 :
586 : // reset selection to original state
587 0 : if( !bSel )
588 0 : aSel.nEndPos--;
589 0 : pOutlinerView->SetSelection( aSel );
590 :
591 0 : delete pField;
592 : }
593 :
594 0 : SfxItemSet aSet( pDlg->GetItemSet() );
595 0 : if( aSet.Count() )
596 : {
597 0 : pOutlinerView->SetAttribs( aSet );
598 :
599 0 : ::Outliner* pOutliner = pOutlinerView->GetOutliner();
600 0 : if( pOutliner )
601 0 : pOutliner->UpdateFields();
602 0 : }
603 : }
604 0 : delete pDlg;
605 : }
606 :
607 0 : Cancel();
608 0 : rReq.Ignore ();
609 : }
610 0 : break;
611 : }
612 :
613 0 : if(HasCurrentFunction())
614 0 : GetCurrentFunction()->Activate();
615 :
616 0 : Invalidate( SID_OUTLINE_COLLAPSE_ALL );
617 0 : Invalidate( SID_OUTLINE_COLLAPSE );
618 0 : Invalidate( SID_OUTLINE_EXPAND_ALL );
619 0 : Invalidate( SID_OUTLINE_EXPAND );
620 :
621 0 : SfxBindings& rBindings = GetViewFrame()->GetBindings();
622 0 : rBindings.Invalidate( SID_OUTLINE_LEFT );
623 0 : rBindings.Invalidate( SID_OUTLINE_RIGHT );
624 0 : rBindings.Invalidate( SID_OUTLINE_UP );
625 0 : rBindings.Invalidate( SID_OUTLINE_DOWN );
626 :
627 0 : Invalidate( SID_OUTLINE_FORMAT );
628 0 : Invalidate( SID_COLORVIEW );
629 0 : Invalidate(SID_CUT);
630 0 : Invalidate(SID_COPY);
631 0 : Invalidate(SID_PASTE);
632 0 : Invalidate(SID_PASTE_UNFORMATTED);
633 0 : }
634 :
635 :
636 0 : } // end of namespace sd
637 :
638 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|