You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by re...@apache.org on 2015/07/08 14:31:44 UTC
svn commit: r1689859 - in /openoffice/trunk/main:
dtrans/source/win32/ftransl/ helpcontent2/source/text/smath/
helpcontent2/source/text/smath/00/ helpcontent2/source/text/smath/01/
officecfg/registry/data/org/openoffice/Office/UI/ sot/inc/sot/ sot/sour...
Author: regina
Date: Wed Jul 8 12:31:43 2015
New Revision: 1689859
URL: http://svn.apache.org/r1689859
Log:
#i107734 Support for Math Input Panel in Windows 7
The patch introduces a new command .uno:ImportMathClipboard to module Math.
It imports MathML content from clipboard and transforms it to Starmath
It handles clipboard MIME type 'application/mathml+xml' and
plain text, which can be interpreted as MathML segment.
It partly solves issues #i14252, #i34781, and #i53509 too.
Review by: Hanya <ha...@gmail.com>
Modified:
openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx
openoffice/trunk/main/helpcontent2/source/text/smath/00/00000004.xhp
openoffice/trunk/main/helpcontent2/source/text/smath/01/06020000.xhp
openoffice/trunk/main/helpcontent2/source/text/smath/main0106.xhp
openoffice/trunk/main/officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu
openoffice/trunk/main/sot/inc/sot/formats.hxx
openoffice/trunk/main/sot/source/base/exchange.cxx
openoffice/trunk/main/starmath/inc/starmath.hrc
openoffice/trunk/main/starmath/sdi/smath.sdi
openoffice/trunk/main/starmath/sdi/smslots.sdi
openoffice/trunk/main/starmath/source/view.cxx
openoffice/trunk/main/starmath/uiconfig/smath/menubar/menubar.xml
Modified: openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx (original)
+++ openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx Wed Jul 8 12:31:43 2015
@@ -516,6 +516,8 @@ void SAL_CALL CDataFormatTranslator::ini
m_TranslTable.push_back(FormatEntry("image/bmp", "Windows Bitmap", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
//SOT_FORMATSTR_ID_PNG
m_TranslTable.push_back(FormatEntry("image/png", "PNG", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
+ //SOT_FORMATSTR_ID_MATHML
+ m_TranslTable.push_back(FormatEntry("application/mathml+xml", "MathML", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
//SOT_FORMATSTR_ID_DUMMY3
m_TranslTable.push_back(FormatEntry("application/x-openoffice-dummy3;windows_formatname=\"SO_DUMMYFORMAT_3\"", "SO_DUMMYFORMAT_3", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
//SOT_FORMATSTR_ID_DUMMY4
Modified: openoffice/trunk/main/helpcontent2/source/text/smath/00/00000004.xhp
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/helpcontent2/source/text/smath/00/00000004.xhp?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/helpcontent2/source/text/smath/00/00000004.xhp (original)
+++ openoffice/trunk/main/helpcontent2/source/text/smath/00/00000004.xhp Wed Jul 8 12:31:43 2015
@@ -323,6 +323,8 @@
</variable></paragraph>
<paragraph role="paragraph" id="par_id3153802" xml-lang="en-US" l10n="U" oldref="64"><variable id="etsfim">Choose <emph>Tools - Import Formula</emph>
</variable></paragraph>
+<paragraph role="paragraph" id="par_id3153803" xml-lang="en-US"><variable id="etsmim">Choose <emph>Tools - Import MathML from Clipboard</emph>
+</variable></paragraph>
<paragraph role="paragraph" id="par_id3154594" xml-lang="en-US" l10n="U" oldref="65"><variable id="etsaps">Choose <emph>Tools - Customize</emph>
</variable></paragraph>
<section id="sonst">
Modified: openoffice/trunk/main/helpcontent2/source/text/smath/01/06020000.xhp
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/helpcontent2/source/text/smath/01/06020000.xhp?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/helpcontent2/source/text/smath/01/06020000.xhp (original)
+++ openoffice/trunk/main/helpcontent2/source/text/smath/01/06020000.xhp Wed Jul 8 12:31:43 2015
@@ -30,14 +30,29 @@
</topic>
</meta>
<body>
-
-
-
- <bookmark xml-lang="en-US" branch="index" id="bm_id3154659"><bookmark_value>importing; %PRODUCTNAME Math formulas</bookmark_value></bookmark><bookmark branch="hid/.uno:InsertFormula" xml-lang="en-US" id="bm_id3150346"/><paragraph role="heading" level="1" id="hd_id3154659" l10n="U" xml-lang="en-US" oldref="1">Import formula</paragraph>
- <paragraph l10n="U" role="paragraph" id="par_id3150251" xml-lang="en-US" oldref="2"><variable id="formelimportierentext"><ahelp hid="SID_INSERT_FORMULA" visibility="visible">This command opens a dialog for importing a formula.</ahelp></variable></paragraph>
- <paragraph xml-lang="en-US" oldref="3" id="par_id3153916" l10n="U" role="paragraph">The <emph>Insert</emph> dialog is set up like the <link href="text/shared/01/01020000.xhp" name="Open">Open</link> dialog under <emph>File</emph>. Use the <emph>Insert</emph> dialog to load, edit and display a formula saved as a file in the <emph>Commands</emph> window.</paragraph>
+<section id="importfile">
+ <bookmark xml-lang="en-US" branch="index" id="bm_id3154659"><bookmark_value>importing; %PRODUCTNAME Math formulas</bookmark_value></bookmark>
+ <bookmark xml-lang="en-US" branch="index" id="bm_id3154660"><bookmark_value>MathML; import from file</bookmark_value></bookmark>
+ <bookmark branch="hid/.uno:ImportFormula" xml-lang="en-US" id="bm_id3150346"/>
+ <paragraph role="heading" level="1" id="hd_id3154659" xml-lang="en-US">Import Formula from File</paragraph>
+ <paragraph role="paragraph" id="par_id3150251" xml-lang="en-US"><variable id="formelimportierentext"><ahelp hid=".uno:ImportFormula" visibility="visible">This command opens a dialog for importing a formula.</ahelp></variable></paragraph>
+ <paragraph role="paragraph" id="par_id3153916" xml-lang="en-US">The <emph>Insert</emph> dialog is set up like the <link href="text/shared/01/01020000.xhp" name="Open">Open</link> dialog under <emph>File</emph>. Use the <emph>Insert</emph> dialog to load, edit and display a formula saved as a file in the <emph>Commands</emph> window.</paragraph>
+ <paragraph role="paragraph" id="par_id3153917" xml-lang="en-US">You can import MathML files created by other applications as well. The MathML source must have a <item type="code">math</item> element with an <item type="code">xmlns</item> attribute with value "http://www.w3.org/1998/Math/MathML". The languages MathML and StarMath are not fully compatible, therefore you should revise the import result. For details about the language MathML see its <link href="http://www.w3.org/TR/#tr_MathML">specification</link>.</paragraph>
<section id="howtoget">
<embed href="text/smath/00/00000004.xhp#etsfim"/>
+ </section>
</section>
- </body>
+<section id="importclipboard">
+ <bookmark xml-lang="en-US" branch="index" id="bm_id3154661"><bookmark_value>MathML; import via clipboard</bookmark_value></bookmark>
+ <bookmark xml-lang="en-US" branch="index" id="bm_id3154662"><bookmark_value>importing; MathML</bookmark_value></bookmark>
+ <bookmark branch="hid/.uno:ImportMathMLClipboard" xml-lang="en-US" id="bm_id3150347"/>
+ <paragraph role="heading" level="1" id="hd_id3154661" xml-lang="en-US">Import MathML from Clipboard</paragraph>
+ <paragraph role="paragraph" id="par_id3150252" xml-lang="en-US"><variable id="mathmlimportierentext"><ahelp hid=".uno:ImportMathMLClipboard" visibility="visible">This command transforms MathML clipboard content to StarMath and inserts it at the current cursor position.</ahelp></variable></paragraph>
+ <paragraph role="paragraph" id="par_id3153918" xml-lang="en-US">If the transformation fails, nothing is inserted.</paragraph>
+ <section id="howtoget">
+ <embed href="text/smath/00/00000004.xhp#etsmim"/>
+ </section>
+ <paragraph role="paragraph" id="par_id3153919" xml-lang="en-US">This command handles only MathML content. If you have copied a %PRODUCTNAME Math formula to clipboard, insert it using the command <link href="text/shared/01/02060000.xhp" name="Paste">Paste</link> under <emph>Edit</emph>.</paragraph>
+</section>
+</body>
</helpdocument>
Modified: openoffice/trunk/main/helpcontent2/source/text/smath/main0106.xhp
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/helpcontent2/source/text/smath/main0106.xhp?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/helpcontent2/source/text/smath/main0106.xhp (original)
+++ openoffice/trunk/main/helpcontent2/source/text/smath/main0106.xhp Wed Jul 8 12:31:43 2015
@@ -35,13 +35,15 @@
</meta>
<body>
<section id="extras">
-<paragraph role="heading" id="hd_id3149019" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/smath/main0106.xhp" name="Tools">Tools</link></paragraph>
-<paragraph role="paragraph" id="par_id3155959" xml-lang="en-US" l10n="U" oldref="2">Use this menu to open and edit the symbol catalog, or import an external formula as a data file. The program interface can be adjusted to meet your requirements. You can also change the program options.</paragraph>
+<paragraph role="heading" id="hd_id3149019" xml-lang="en-US" level="1"><link href="text/smath/main0106.xhp" name="Tools">Tools</link></paragraph>
+<paragraph role="paragraph" id="par_id3155959" xml-lang="en-US">Use this menu to open and edit the symbol catalog, or import an external formula as a data file or via clipboard. The program interface can be adjusted to meet your requirements. You can also change the program options.</paragraph>
</section>
<embed href="text/smath/01/06010000.xhp#symbol"/>
-<paragraph role="heading" id="hd_id3150206" xml-lang="en-US" level="2" l10n="U" oldref="4"><link href="text/smath/01/06020000.xhp" name="Import Formula">Import Formula</link></paragraph>
+<paragraph role="heading" id="hd_id3150206" xml-lang="en-US" level="2"><link href="text/smath/01/06020000.xhp#importfile" name="Import Formula">Import Formula</link></paragraph>
<embed href="text/smath/01/06020000.xhp#formelimportierentext"/>
-<paragraph role="heading" id="hd_id3145385" xml-lang="en-US" level="2" l10n="CHG" oldref="5"><link href="text/shared/01/06140000.xhp" name="Customize">Customize</link></paragraph>
+<paragraph role="heading" id="hd_id3150207" xml-lang="en-US" level="2"><link href="text/smath/01/06020000.xhp#importclipboard" name="Import MathML">Import MathML from Clipboard</link></paragraph>
+<embed href="text/smath/01/06020000.xhp#mathmlimportierentext"/>
+<paragraph role="heading" id="hd_id3145385" xml-lang="en-US" level="2"><link href="text/shared/01/06140000.xhp" name="Customize">Customize</link></paragraph>
<embed href="text/shared/01/06140000.xhp#anpassen"/>
<embed href="text/shared/optionen/01000000.xhp#optionen"/>
</body>
Modified: openoffice/trunk/main/officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu (original)
+++ openoffice/trunk/main/officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu Wed Jul 8 12:31:43 2015
@@ -77,6 +77,11 @@
<value xml:lang="en-US">~Import Formula...</value>
</prop>
</node>
+ <node oor:name=".uno:ImportMathMLClipboard" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Import MathML from Clipboard</value>
+ </prop>
+ </node>
<node oor:name=".uno:InsertCommand" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Insert Command</value>
Modified: openoffice/trunk/main/sot/inc/sot/formats.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sot/inc/sot/formats.hxx?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/sot/inc/sot/formats.hxx (original)
+++ openoffice/trunk/main/sot/inc/sot/formats.hxx Wed Jul 8 12:31:43 2015
@@ -182,7 +182,8 @@
#define SOT_FORMATSTR_ID_STARBASE_8 ((sal_uLong)139)
#define SOT_FORMATSTR_ID_HC_GDIMETAFILE ((sal_uLong)140)
#define SOT_FORMATSTR_ID_PNG ((sal_uLong)141)
-#define SOT_FORMATSTR_ID_USER_END SOT_FORMATSTR_ID_PNG
+#define SOT_FORMATSTR_ID_MATHML ((sal_uLong)142)
+#define SOT_FORMATSTR_ID_USER_END SOT_FORMATSTR_ID_MATHML
#endif // _SOT_FORMATS_HXX
Modified: openoffice/trunk/main/sot/source/base/exchange.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sot/source/base/exchange.cxx?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/sot/source/base/exchange.cxx (original)
+++ openoffice/trunk/main/sot/source/base/exchange.cxx Wed Jul 8 12:31:43 2015
@@ -208,6 +208,7 @@ namespace
/*139 SOT_FORMATSTR_ID_STARBASE_8*/ { MIMETYPE_OASIS_OPENDOCUMENT_DATABASE_ASCII, "StarBase 8", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
/*140 SOT_FORMAT_GDIMETAFILE*/ { "application/x-openoffice-highcontrast-gdimetafile;windows_formatname=\"GDIMetaFile\"", "High Contrast GDIMetaFile", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
/*141 SOT_FORMATSTR_ID_PNG*/ { "image/png", "PNG Bitmap", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
+ /*142 SOT_FORMATSTR_ID_MATHML*/ { "application/mathml+xml", "MathML", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
};
return &aInstance[0];
}
Modified: openoffice/trunk/main/starmath/inc/starmath.hrc
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/starmath/inc/starmath.hrc?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/starmath/inc/starmath.hrc (original)
+++ openoffice/trunk/main/starmath/inc/starmath.hrc Wed Jul 8 12:31:43 2015
@@ -52,6 +52,7 @@
#define SID_SYMBOLS (SID_SMA_START + 56) // Muss erstmal wieder aufgenommen werden !
#define SID_TEXTMODE (SID_SMA_START + 57)
#define SID_IMPORT_FORMULA (SID_SMA_START + 58)
+#define SID_IMPORT_MATHML_CLIPBOARD (SID_SMA_START + 59)
#define SID_TEXT (SID_SMA_START + 100)
#define SID_GAPHIC_SM (SID_SMA_START + 101)
#define SID_FITINWINDOW (SID_SMA_START + 103)
Modified: openoffice/trunk/main/starmath/sdi/smath.sdi
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/starmath/sdi/smath.sdi?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/starmath/sdi/smath.sdi (original)
+++ openoffice/trunk/main/starmath/sdi/smath.sdi Wed Jul 8 12:31:43 2015
@@ -424,6 +424,31 @@ SfxBoolItem ImportFormula SID_IMPORT_FOR
]
//--------------------------------------------------------------------------
+SfxBoolItem ImportMathMLClipboard SID_IMPORT_MATHML_CLIPBOARD
+()
+[
+ /* flags: */
+ AutoUpdate = FALSE,
+ Cachable = Cachable,
+ FastCall = TRUE,
+ HasCoreId = FALSE, /*obsolete */
+ HasDialog = FALSE, /*obsolete */
+ ReadOnlyDoc = FALSE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE, /*obsolete */
+ RecordPerSet;
+ Synchron;
+
+ /* config: */
+ AccelConfig = TRUE,
+ MenuConfig = TRUE,
+ StatusBarConfig = FALSE,
+ ToolBoxConfig = TRUE,
+ GroupId = GID_INSERT;
+]
+
+//--------------------------------------------------------------------------
SfxVoidItem LoadSymbols SID_LOADSYMBOLS
()
[
Modified: openoffice/trunk/main/starmath/sdi/smslots.sdi
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/starmath/sdi/smslots.sdi?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/starmath/sdi/smslots.sdi (original)
+++ openoffice/trunk/main/starmath/sdi/smslots.sdi Wed Jul 8 12:31:43 2015
@@ -277,6 +277,12 @@ interface FormulaView
StateMethod = GetState ;
Export = FALSE ;
]
+ SID_IMPORT_MATHML_CLIPBOARD //idlpp ole : no , status : no
+ [
+ ExecMethod = Execute ;
+ StateMethod = GetState ;
+ Export = FALSE ;
+ ]
//idlpp kein Menueeintrag , also keine Texte
SID_ATTR_ZOOM //idlpp ole : no , status : no
[
Modified: openoffice/trunk/main/starmath/source/view.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/starmath/source/view.cxx?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/starmath/source/view.cxx (original)
+++ openoffice/trunk/main/starmath/source/view.cxx Wed Jul 8 12:31:43 2015
@@ -64,6 +64,7 @@
#include <vcl/menu.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/wrkwin.hxx>
+#include <unotools/streamwrap.hxx>
#include "unomodel.hxx"
#include "view.hxx"
@@ -90,6 +91,8 @@ using namespace com::sun::star;
using namespace com::sun::star::accessibility;
using namespace com::sun::star::uno;
+using ::rtl::OUString;
+
//////////////////////////////////////////////////////////////////////
SmGraphicWindow::SmGraphicWindow(SmViewShell* pShell):
@@ -1601,6 +1604,77 @@ void SmViewShell::Execute(SfxRequest& rR
break;
}
+ case SID_IMPORT_MATHML_CLIPBOARD:
+ {
+ TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard(GetEditWindow()) );
+ uno::Reference < io::XInputStream > xStrm;
+ SotFormatStringId nId = SOT_FORMAT_SYSTEM_START; //dummy initialize to avoid warning
+ if ( aDataHelper.GetTransferable().is() )
+ {
+ if ( aDataHelper.HasFormat( nId = SOT_FORMATSTR_ID_MATHML ) )
+ {
+ if ( aDataHelper.GetInputStream( nId, xStrm ) && xStrm.is() )
+ {
+ SfxMedium* pClipboardMedium = new SfxMedium();
+ pClipboardMedium->GetItemSet(); //generate initial itemset, not sure if necessary
+ const SfxFilter* pMathFilter = SfxFilter::GetFilterByName( String::CreateFromAscii(MATHML_XML) );
+ pClipboardMedium->SetFilter(pMathFilter);
+ pClipboardMedium->setStreamToLoadFrom( xStrm, sal_True /*bIsReadOnly*/ );
+ InsertFrom(*pClipboardMedium);
+ GetDoc()->UpdateText();
+ delete pClipboardMedium;
+ }
+ }
+ else
+ {
+ if ( aDataHelper.HasFormat( nId = FORMAT_STRING) )
+ {
+ // In case of FORMAT_STRING no stream exists, need to generate one
+ ::rtl::OUString aString;
+ if (aDataHelper.GetString( nId, aString))
+ {
+ SfxMedium* pClipboardMedium = new SfxMedium();
+ pClipboardMedium->GetItemSet(); //generates initial itemset, not sure if necessary
+ const SfxFilter* pMathFilter = SfxFilter::GetFilterByName( String::CreateFromAscii(MATHML_XML) );
+ pClipboardMedium->SetFilter(pMathFilter);
+
+ SvMemoryStream * pStrm;
+ // The text to be imported might asserts encoding like 'encoding="utf-8"' but FORMAT_STRING is UTF-16.
+ // Force encoding to UTF-16, if encoding exists.
+ bool bForceUTF16 = false;
+ sal_Int32 nPosL = aString.indexOf( OUString::createFromAscii("encoding=\""));
+ sal_Int32 nPosU = -1;
+ if ( nPosL >= 0 && nPosL +10 < aString.getLength() )
+ {
+ nPosL += 10;
+ nPosU = aString.indexOf( '"',nPosL);
+ if (nPosU > nPosL)
+ {
+ bForceUTF16 = true;
+ }
+ }
+ if ( bForceUTF16 )
+ {
+ OUString aNewString = aString.replaceAt( nPosL,nPosU-nPosL,OUString::createFromAscii("UTF-16"));
+ pStrm = new SvMemoryStream( (void*)aNewString.getStr(), aNewString.getLength() * sizeof(sal_Unicode), STREAM_READ);
+ }
+ else
+ {
+ pStrm = new SvMemoryStream( (void*)aString.getStr(), aString.getLength() * sizeof(sal_Unicode), STREAM_READ);
+ }
+ com::sun::star::uno::Reference<com::sun::star::io::XInputStream> xStrm( new ::utl::OInputStreamWrapper( *pStrm ) );
+ pClipboardMedium->setStreamToLoadFrom( xStrm, sal_True /*bIsReadOnly*/ );
+ InsertFrom(*pClipboardMedium);
+ GetDoc()->UpdateText();
+ delete pClipboardMedium;
+ delete pStrm;
+ }
+ }
+ }
+ }
+ break;
+ }
+
case SID_NEXTERR:
NextError();
if (pWin)
Modified: openoffice/trunk/main/starmath/uiconfig/smath/menubar/menubar.xml
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/starmath/uiconfig/smath/menubar/menubar.xml?rev=1689859&r1=1689858&r2=1689859&view=diff
==============================================================================
--- openoffice/trunk/main/starmath/uiconfig/smath/menubar/menubar.xml (original)
+++ openoffice/trunk/main/starmath/uiconfig/smath/menubar/menubar.xml Wed Jul 8 12:31:43 2015
@@ -104,6 +104,7 @@
<menu:menupopup>
<menu:menuitem menu:id=".uno:SymbolCatalogue"/>
<menu:menuitem menu:id=".uno:ImportFormula"/>
+ <menu:menuitem menu:id=".uno:ImportMathMLClipboard"/>
<menu:menuseparator/>
<menu:menu menu:id=".uno:MacrosMenu">
<menu:menupopup>