summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2018-04-18 02:49:37 +0300
committerMaxim Monastirsky <momonasmon@gmail.com>2018-04-26 22:14:45 +0200
commit9d9076cb00c474ba7f13d458f1e280e31f5d4bac (patch)
tree51a601f5304de1b6fe5f75d7a0f8c270e11b947c
parent4af174f659ecd1ae8338865a17e436aba9e74685 (diff)
tdf#57000 Add a context menu to the formula bar input field
As a side effect also fixes tdf#70597 Change-Id: Idd872d93f7a9da50f67c91a11e7e0231c7ac924e Reviewed-on: https://gerrit.libreoffice.org/53513 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
-rw-r--r--officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu5
-rw-r--r--sc/UIConfig_scalc.mk1
-rw-r--r--sc/source/ui/app/inputwin.cxx14
-rw-r--r--sc/uiconfig/scalc/popupmenu/formulabar.xml17
4 files changed, 37 insertions, 0 deletions
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu b/officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu
index 7614ea3827c0..b9948964babf 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu
@@ -65,6 +65,11 @@
<value xml:lang="en-US">Text Box Formatting</value>
</prop>
</node>
+ <node oor:name="private:resource/popupmenu/formulabar" oor:op="replace">
+ <prop oor:name="UIName" oor:type="xs:string">
+ <value xml:lang="en-US">Formula Bar</value>
+ </prop>
+ </node>
<node oor:name="private:resource/popupmenu/graphic" oor:op="replace">
<prop oor:name="UIName" oor:type="xs:string">
<value xml:lang="en-US">Image</value>
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index bfbf46305226..6eb7c34d49f9 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -26,6 +26,7 @@ $(eval $(call gb_UIConfig_add_popupmenufiles,modules/scalc,\
sc/uiconfig/scalc/popupmenu/drawtext \
sc/uiconfig/scalc/popupmenu/form \
sc/uiconfig/scalc/popupmenu/formrichtext \
+ sc/uiconfig/scalc/popupmenu/formulabar \
sc/uiconfig/scalc/popupmenu/freezepanes \
sc/uiconfig/scalc/popupmenu/graphic \
sc/uiconfig/scalc/popupmenu/media \
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index fd97dc58d21c..4389cb643cec 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1418,6 +1418,20 @@ void ScTextWnd::Command( const CommandEvent& rCEvt )
rBindings.Invalidate( SID_ATTR_CHAR_FONTHEIGHT );
}
}
+ else if ( nCommand == CommandEventId::ContextMenu )
+ {
+ SfxViewFrame* pViewFrm = SfxViewFrame::Current();
+ if (pViewFrm)
+ {
+ Point aPos = rCEvt.GetMousePosPixel();
+ if (!rCEvt.IsMouseEvent())
+ {
+ Size aSize = GetOutputSizePixel();
+ aPos = Point(aSize.Width() / 2, aSize.Height() / 2);
+ }
+ pViewFrm->GetDispatcher()->ExecutePopup("formulabar", this, &aPos);
+ }
+ }
else if ( nCommand == CommandEventId::Wheel )
{
//don't call InputChanged for CommandEventId::Wheel
diff --git a/sc/uiconfig/scalc/popupmenu/formulabar.xml b/sc/uiconfig/scalc/popupmenu/formulabar.xml
new file mode 100644
index 000000000000..ce6abf1d393d
--- /dev/null
+++ b/sc/uiconfig/scalc/popupmenu/formulabar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+-->
+<menu:menupopup xmlns:menu="http://openoffice.org/2001/menu">
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+</menu:menupopup>