summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--framework/source/uielement/recentfilesmenucontroller.cxx62
-rw-r--r--sfx2/source/toolbox/tbxitem.cxx6
2 files changed, 45 insertions, 23 deletions
diff --git a/framework/source/uielement/recentfilesmenucontroller.cxx b/framework/source/uielement/recentfilesmenucontroller.cxx
index a2c3432c77ca..61d2f0281b37 100644
--- a/framework/source/uielement/recentfilesmenucontroller.cxx
+++ b/framework/source/uielement/recentfilesmenucontroller.cxx
@@ -60,7 +60,8 @@ class RecentFilesMenuController : public svt::PopupMenuControllerBase
using svt::PopupMenuControllerBase::disposing;
public:
- RecentFilesMenuController( const uno::Reference< uno::XComponentContext >& xContext );
+ RecentFilesMenuController( const uno::Reference< uno::XComponentContext >& xContext,
+ const uno::Sequence< uno::Any >& args );
virtual ~RecentFilesMenuController();
// XServiceInfo
@@ -115,12 +116,25 @@ private:
std::vector< RecentFile > m_aRecentFilesItems;
bool m_bDisabled : 1;
+ bool m_bShowRemote;
};
-RecentFilesMenuController::RecentFilesMenuController( const uno::Reference< uno::XComponentContext >& xContext ) :
+RecentFilesMenuController::RecentFilesMenuController( const uno::Reference< uno::XComponentContext >& xContext,
+ const uno::Sequence< uno::Any >& args ) :
svt::PopupMenuControllerBase( xContext ),
- m_bDisabled( false )
+ m_bDisabled( false ),
+ m_bShowRemote( false )
{
+ css::beans::PropertyValue aPropValue;
+ for ( sal_Int32 i = 0; i < args.getLength(); ++i )
+ {
+ args[i] >>= aPropValue;
+ if ( aPropValue.Name == "ShowRemote" )
+ {
+ aPropValue.Value >>= m_bShowRemote;
+ break;
+ }
+ }
}
RecentFilesMenuController::~RecentFilesMenuController()
@@ -227,26 +241,30 @@ void RecentFilesMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >
FWK_RESSTR(STR_CLEAR_RECENT_FILES_HELP) );
// Open remote menu entry
- pVCLPopupMenu->InsertItem( sal_uInt16( nCount + 2 ),
- FWK_RESSTR(STR_OPEN_REMOTE) );
- pVCLPopupMenu->SetItemCommand( sal_uInt16( nCount + 2 ),
- OUString( CMD_OPEN_REMOTE ) );
+ if ( m_bShowRemote )
+ {
+ pVCLPopupMenu->InsertItem( sal_uInt16( nCount + 2 ),
+ FWK_RESSTR(STR_OPEN_REMOTE) );
+ pVCLPopupMenu->SetItemCommand( sal_uInt16( nCount + 2 ),
+ OUString( CMD_OPEN_REMOTE ) );
+ }
}
else
{
- // No recent documents => insert "no document" string
- pVCLPopupMenu->InsertItem( 1, FWK_RESSTR(STR_NODOCUMENT) );
- // Do not disable it, otherwise the Toolbar controller and MenuButton
- // will display SV_RESID_STRING_NOSELECTIONPOSSIBLE instead of STR_NODOCUMENT
- pVCLPopupMenu->SetItemBits( 1, pVCLPopupMenu->GetItemBits( 1 ) | MenuItemBits::NOSELECT );
-
- pVCLPopupMenu->InsertSeparator();
-
- // Open remote menu entry
- pVCLPopupMenu->InsertItem( sal_uInt16( 2 ),
- FWK_RESSTR(STR_OPEN_REMOTE) );
- pVCLPopupMenu->SetItemCommand( sal_uInt16( 2 ),
- OUString( CMD_OPEN_REMOTE ) );
+ if ( m_bShowRemote )
+ {
+ // Open remote menu entry
+ pVCLPopupMenu->InsertItem( 1, FWK_RESSTR(STR_OPEN_REMOTE) );
+ pVCLPopupMenu->SetItemCommand( 1, CMD_OPEN_REMOTE );
+ }
+ else
+ {
+ // No recent documents => insert "no document" string
+ pVCLPopupMenu->InsertItem( 1, FWK_RESSTR(STR_NODOCUMENT) );
+ // Do not disable it, otherwise the Toolbar controller and MenuButton
+ // will display SV_RESID_STRING_NOSELECTIONPOSSIBLE instead of STR_NODOCUMENT
+ pVCLPopupMenu->SetItemBits( 1, pVCLPopupMenu->GetItemBits( 1 ) | MenuItemBits::NOSELECT );
+ }
}
}
}
@@ -444,9 +462,9 @@ IMPL_STATIC_LINK( RecentFilesMenuController, ExecuteHdl_Impl, LoadRecentFile*, p
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_comp_framework_RecentFilesMenuController_get_implementation(
css::uno::XComponentContext *context,
- css::uno::Sequence<css::uno::Any> const &)
+ css::uno::Sequence<css::uno::Any> const &args)
{
- return cppu::acquire(new RecentFilesMenuController(context));
+ return cppu::acquire(new RecentFilesMenuController(context, args));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/toolbox/tbxitem.cxx b/sfx2/source/toolbox/tbxitem.cxx
index ed53d9693ce6..29061001dc61 100644
--- a/sfx2/source/toolbox/tbxitem.cxx
+++ b/sfx2/source/toolbox/tbxitem.cxx
@@ -1153,6 +1153,10 @@ VclPtr<SfxPopupWindow> SfxRecentFilesToolBoxControl::CreatePopupWindow()
aPropValue.Value <<= m_xFrame;
aArgs[1] <<= aPropValue;
+ aPropValue.Name = "ShowRemote";
+ aPropValue.Value <<= true;
+ aArgs[2] <<= aPropValue;
+
uno::Reference< frame::XPopupMenuController > xPopupController( m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(
"com.sun.star.comp.framework.RecentFilesMenuController", aArgs, m_xContext ), UNO_QUERY );
@@ -1191,7 +1195,7 @@ VclPtr<SfxPopupWindow> SfxSaveAsToolBoxControl::CreatePopupWindow()
sal_uInt16 nItemId = GetId();
::Rectangle aRect( rBox.GetItemRect( nItemId ) );
- Sequence< Any > aArgs( 2 );
+ Sequence< Any > aArgs( 3 );
PropertyValue aPropValue;
aPropValue.Name = "CommandURL";