--- DEV300_m20_original_code/sc/source/ui/view/cellsh3.cxx 2008-04-11 09:26:30.000000000 +0800 +++ DEV300_m20/sc/source/ui/view/cellsh3.cxx 2008-07-17 15:19:38.000000000 +0800 @@ -889,24 +889,38 @@ case SID_CANCEL: { + SfxPoolItem* pItem = 0; + BOOL bIsFullScreen = false; if (GetViewData()->HasEditView(GetViewData()->GetActivePart())) pScMod->InputCancelHandler(); else if (pTabViewShell->HasPaintBrush()) pTabViewShell->ResetBrushDocument(); // abort format paint brush else if (pTabViewShell->HasHintWindow()) pTabViewShell->RemoveHintWindow(); // Eingabemeldung abschalten - else + else if (rBindings.QueryState( nSlot, pItem ) >= SFX_ITEM_DEFAULT) { - // TODO/LATER: when is this code executed? - pTabViewShell->Escape(); - //SfxObjectShell* pObjSh = GetViewData()->GetSfxDocShell(); - //if (pObjSh->GetInPlaceObject() && - // pObjSh->GetInPlaceObject()->GetIPClient()) - //{ - // GetViewData()->GetDocShell()-> - // DoInPlaceActivate(FALSE); // OLE beenden - //} + bIsFullScreen = !static_cast< SfxBoolItem* >( pItem )->GetValue(); + + if (bIsFullScreen) + pTabViewShell->Escape(); + else + { + SfxBoolItem aItem( SID_WIN_FULLSCREEN, FALSE ); + pTabViewShell->GetDispatcher()->Execute( SID_WIN_FULLSCREEN, SFX_CALLMODE_RECORD, &aItem, 0L ); + } } + //else + //{ + // // TODO/LATER: when is this code executed? + // pTabViewShell->Escape(); + // //SfxObjectShell* pObjSh = GetViewData()->GetSfxDocShell(); + // //if (pObjSh->GetInPlaceObject() && + // // pObjSh->GetInPlaceObject()->GetIPClient()) + // //{ + // // GetViewData()->GetDocShell()-> + // // DoInPlaceActivate(FALSE); // OLE beenden + // //} + //} // SetSumAssignMode(); //ScInputWindow }