summaryrefslogtreecommitdiff
path: root/sd/source/ui/view/drviews2.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/view/drviews2.cxx')
-rwxr-xr-xsd/source/ui/view/drviews2.cxx25
1 files changed, 25 insertions, 0 deletions
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index 3102dc726a61..9be01df4fe7a 100755
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -130,6 +130,31 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
switch ( nSId )
{
+ case SID_OUTLINE_TEXT_AUTOFIT:
+ {
+ SfxUndoManager* pUndoManager = GetDocSh()->GetUndoManager();
+ SdrObject* pObj = NULL;
+ const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
+ if( rMarkList.GetMarkCount() == 1 )
+ {
+ pUndoManager->EnterListAction( String(), String() );
+ mpDrawView->BegUndo();
+
+ pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
+ bool bSet = ((const SdrTextFitToSizeTypeItem*)pObj->GetMergedItemSet().GetItem(SDRATTR_TEXT_FITTOSIZE))->GetValue() != SDRTEXTFIT_NONE;
+
+ mpDrawView->AddUndo(GetDoc()->GetSdrUndoFactory().CreateUndoAttrObject(*pObj));
+
+ pObj->SetMergedItem(SdrTextFitToSizeTypeItem(bSet ? SDRTEXTFIT_NONE : SDRTEXTFIT_AUTOFIT));
+
+ mpDrawView->EndUndo();
+ pUndoManager->LeaveListAction();
+ }
+ Cancel();
+ rReq.Done();
+ }
+ break;
+
// Flaechen und Linien-Attribute:
// Sollten (wie StateMethode) eine eigene
// Execute-Methode besitzen