diff options
-rw-r--r-- | basctl/inc/basidesh.hrc | 1 | ||||
-rw-r--r-- | basctl/source/basicide/basidesh.cxx | 9 | ||||
-rw-r--r-- | basctl/source/basicide/basidesh.src | 4 | ||||
-rw-r--r-- | include/sfx2/viewfrm.hxx | 2 |
4 files changed, 15 insertions, 1 deletions
diff --git a/basctl/inc/basidesh.hrc b/basctl/inc/basidesh.hrc index 623cb0e8b868..a40f788dd480 100644 --- a/basctl/inc/basidesh.hrc +++ b/basctl/inc/basidesh.hrc @@ -68,6 +68,7 @@ #define RID_STR_OPEN ( RID_BASICIDE_START + 20 ) #define RID_STR_SAVE ( RID_BASICIDE_START + 21 ) #define RID_STR_RUNTIMEERROR ( RID_BASICIDE_START + 22 ) +#define RID_STR_CANNOTSAVEVBA ( RID_BASICIDE_START + 23 ) #define RID_STR_STDDIALOGNAME ( RID_BASICIDE_START + 24 ) #define RID_STR_STDMODULENAME ( RID_BASICIDE_START + 27 ) diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx index 674775b79d77..f95e6f4d491a 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -35,6 +35,7 @@ #include <sfx2/app.hxx> #include <sfx2/dinfdlg.hxx> #include <sfx2/dispatch.hxx> +#include <sfx2/infobar.hxx> #include <sfx2/minfitem.hxx> #include <sfx2/objface.hxx> #include <svl/aeitem.hxx> @@ -137,6 +138,7 @@ SFX_IMPL_INTERFACE( basctl_Shell, SfxViewShell, IDEResId( RID_STR_IDENAME ) ) { SFX_CHILDWINDOW_REGISTRATION( SID_SEARCH_DLG ); SFX_FEATURED_CHILDWINDOW_REGISTRATION(SID_SHOW_PROPERTYBROWSER, BASICIDE_UI_FEATURE_SHOW_BROWSER); + SFX_CHILDWINDOW_REGISTRATION(SfxInfoBarContainerChild::GetChildWindowId()); SFX_POPUPMENU_REGISTRATION( IDEResId( RID_POPUP_DLGED ) ); } @@ -250,7 +252,14 @@ Shell::~Shell() void Shell::onDocumentCreated( const ScriptDocument& /*_rDocument*/ ) { if (pCurWin) + { pCurWin->OnNewDocument(); + + // for VBA documents, show a warning that we can save them only in ODF + if (pCurWin->GetDocument().isInVBAMode()) + GetViewFrame()->AppendInfoBar("vba_save", IDE_RESSTR(RID_STR_CANNOTSAVEVBA)); + } + UpdateWindows(); } diff --git a/basctl/source/basicide/basidesh.src b/basctl/source/basicide/basidesh.src index 6876130f944f..5e019fd91dd4 100644 --- a/basctl/source/basicide/basidesh.src +++ b/basctl/source/basicide/basidesh.src @@ -216,6 +216,10 @@ String RID_STR_CANNOTCLOSE { Text [ en-US ] = "The window cannot be closed while BASIC is running." ; }; +String RID_STR_CANNOTSAVEVBA +{ + Text [ en-US ] = "You are editing a VBA macro. Changes can be saved only in OpenDocument Format." ; +}; String RID_STR_REPLACESTDLIB { Text [ en-US ] = "The default library cannot be replaced." ; diff --git a/include/sfx2/viewfrm.hxx b/include/sfx2/viewfrm.hxx index cf316b7d0554..8541397653fb 100644 --- a/include/sfx2/viewfrm.hxx +++ b/include/sfx2/viewfrm.hxx @@ -190,7 +190,7 @@ public: The buttons will be added from Right to Left at the right of the info bar. The parent, size and position of each button will be changed: only the width will remain unchanged. */ - void AppendInfoBar( const OUString& sId, const OUString& sMessage, std::vector< PushButton* > aButtons ); + void AppendInfoBar( const OUString& sId, const OUString& sMessage, std::vector< PushButton* > aButtons = std::vector< PushButton* >() ); void RemoveInfoBar( const OUString& sId ); SAL_DLLPRIVATE void SetDowning_Impl(); |