From 7aa79223d73a97c6530894a8feea51e9820b14cb Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Thu, 22 May 2014 17:29:56 +0200 Subject: bnc#467278: Introduce a warning that changes to VBA macros cannot be saved. As an InfoBar, so hopefully not annoying... Change-Id: I5d4e79273edc03829fdab2d6d5a291576c954e4b --- basctl/inc/basidesh.hrc | 1 + basctl/source/basicide/basidesh.cxx | 10 +++++++++- basctl/source/basicide/basidesh.src | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) (limited to 'basctl') diff --git a/basctl/inc/basidesh.hrc b/basctl/inc/basidesh.hrc index 4fee05a021d3..d6cf84dcabb8 100644 --- a/basctl/inc/basidesh.hrc +++ b/basctl/inc/basidesh.hrc @@ -61,6 +61,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 cad57f72a00c..f66f8ca44613 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -140,8 +141,8 @@ SFX_IMPL_INTERFACE(basctl_Shell, SfxViewShell, IDEResId(RID_STR_IDENAME)) void basctl_Shell::InitInterface_Impl() { GetStaticInterface()->RegisterChildWindow(SID_SEARCH_DLG); - GetStaticInterface()->RegisterChildWindow(SID_SHOW_PROPERTYBROWSER, false, BASICIDE_UI_FEATURE_SHOW_BROWSER); + GetStaticInterface()->RegisterChildWindow(SfxInfoBarContainerChild::GetChildWindowId()); GetStaticInterface()->RegisterPopupMenu(IDEResId(RID_POPUP_DLGED)); } @@ -253,7 +254,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 70d642349d65..3875f5b3ceb6 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." ; -- cgit