summaryrefslogtreecommitdiff
path: root/basctl
diff options
context:
space:
mode:
Diffstat (limited to 'basctl')
-rw-r--r--basctl/sdi/baside.sdi6
-rw-r--r--basctl/source/basicide/basides1.cxx16
2 files changed, 22 insertions, 0 deletions
diff --git a/basctl/sdi/baside.sdi b/basctl/sdi/baside.sdi
index 447e5ad6fd71..455924549556 100644
--- a/basctl/sdi/baside.sdi
+++ b/basctl/sdi/baside.sdi
@@ -206,6 +206,12 @@ shell basctl_Shell
StateMethod = GetState;
]
+ SID_NEWDOCDIRECT
+ [
+ ExecMethod = ExecuteGlobal;
+ StateMethod = GetState;
+ ]
+
SID_SAVEDOC
[
ExecMethod = ExecuteGlobal;
diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx
index 12399e823019..e42ad914390a 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -40,6 +40,7 @@
#include <svl/srchdefs.hxx>
#include <sal/log.hxx>
#include <osl/diagnose.h>
+#include <sfx2/app.hxx>
#include <sfx2/bindings.hxx>
#include <sfx2/childwin.hxx>
#include <sfx2/dinfdlg.hxx>
@@ -270,6 +271,14 @@ void Shell::ExecuteGlobal( SfxRequest& rReq )
sal_uInt16 nSlot = rReq.GetSlot();
switch ( nSlot )
{
+ case SID_NEWDOCDIRECT:
+ {
+ // we do not have a new document factory,
+ // so just forward to a fallback method.
+ SfxGetpApp()->ExecuteSlot(rReq);
+ }
+ break;
+
case SID_BASICSTOP:
{
// maybe do not simply stop if on breakpoint!
@@ -770,6 +779,13 @@ void Shell::GetState(SfxItemSet &rSet)
{
switch ( nWh )
{
+ case SID_NEWDOCDIRECT:
+ {
+ // we do not have a new document factory,
+ // so just forward to a fallback method.
+ SfxGetpApp()->GetSlotState(nWh, nullptr, &rSet);
+ }
+ break;
case SID_DOCINFO:
{
rSet.DisableItem( nWh );