diff options
Diffstat (limited to 'svx/source/form/fmshell.cxx')
-rw-r--r-- | svx/source/form/fmshell.cxx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/svx/source/form/fmshell.cxx b/svx/source/form/fmshell.cxx index 2819045c237d..93cf9c1778af 100644 --- a/svx/source/form/fmshell.cxx +++ b/svx/source/form/fmshell.cxx @@ -685,7 +685,7 @@ void FmFormShell::Execute(SfxRequest &rReq) case SID_FM_FILTER_NAVIGATOR: case SID_FM_SHOW_DATANAVIGATOR : { - GetViewShell()->GetViewFrame()->ChildWindowExecute(rReq); + GetViewShell()->GetViewFrame()->ChildWindowExecute( rReq ); rReq.Done(); } break; case SID_FM_SHOW_FMEXPLORER: @@ -827,7 +827,7 @@ void FmFormShell::Execute(SfxRequest &rReq) bReopenNavigator = sal_True; } - Reference< XFormController > xController( GetImpl()->getActiveController() ); + Reference< runtime::XFormController > xController( GetImpl()->getActiveController() ); if ( GetViewShell()->GetViewFrame()->HasChildWindow( SID_FM_FILTER_NAVIGATOR ) // closing the window was denied, for instance because of a invalid criterion @@ -857,6 +857,11 @@ void FmFormShell::Execute(SfxRequest &rReq) { GetImpl()->startFiltering(); rReq.Done(); + + // initially open the filter navigator, the whole form based filter is pretty useless without it + SfxBoolItem aIdentifierItem( SID_FM_FILTER_NAVIGATOR, TRUE ); + GetViewShell()->GetViewFrame()->GetDispatcher()->Execute( SID_FM_FILTER_NAVIGATOR, SFX_CALLMODE_ASYNCHRON, + &aIdentifierItem, NULL ); } break; } } @@ -1400,7 +1405,7 @@ SdrUnoObj* FmFormShell::GetFormControl( const Reference< XControlModel >& _rxMod } //------------------------------------------------------------------------ -Reference< XFormController > FmFormShell::GetFormController( const Reference< XForm >& _rxForm, const SdrView& _rView, const OutputDevice& _rDevice ) const +Reference< runtime::XFormController > FmFormShell::GetFormController( const Reference< XForm >& _rxForm, const SdrView& _rView, const OutputDevice& _rDevice ) const { const FmFormView* pFormView = dynamic_cast< const FmFormView* >( &_rView ); if ( !pFormView ) |