summaryrefslogtreecommitdiff
path: root/basctl
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2014-05-22 17:29:56 +0200
committerJan Holesovsky <kendy@collabora.com>2014-05-22 17:31:27 +0200
commit7aa79223d73a97c6530894a8feea51e9820b14cb (patch)
treef210e7f16ff881fa271eccc5bbb35825d4390b8c /basctl
parentd967e03ace342bcc6bc0cbf39905331b1a883f30 (diff)
bnc#467278: Introduce a warning that changes to VBA macros cannot be saved.
As an InfoBar, so hopefully not annoying... Change-Id: I5d4e79273edc03829fdab2d6d5a291576c954e4b
Diffstat (limited to 'basctl')
-rw-r--r--basctl/inc/basidesh.hrc1
-rw-r--r--basctl/source/basicide/basidesh.cxx10
-rw-r--r--basctl/source/basicide/basidesh.src4
3 files changed, 14 insertions, 1 deletions
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 <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>
@@ -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." ;