[Libreoffice-commits] core.git: include/svx svx/inc svx/source svx/uiconfig svx/UIConfig_svx.mk

Caolán McNamara caolanm at redhat.com
Sat Apr 15 18:12:16 UTC 2017


 include/svx/fmresids.hrc          |    1 
 include/svx/svxids.hrc            |    8 -
 svx/UIConfig_svx.mk               |    1 
 svx/inc/fmhelp.hrc                |    4 
 svx/source/form/fmexpl.src        |   88 ----------------
 svx/source/form/navigatortree.cxx |  205 +++++++++++++++++---------------------
 svx/uiconfig/ui/formnavimenu.ui   |  119 ++++++++++++++++++++++
 7 files changed, 219 insertions(+), 207 deletions(-)

New commits:
commit e0950f61ee37468e5e12d7625eb584637120592d
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Apr 15 19:00:30 2017 +0100

    convert form navigator menu to .ui
    
    Change-Id: Ic6de06c2b17bb65ef326d6debeff9490eec91c9e

diff --git a/include/svx/fmresids.hrc b/include/svx/fmresids.hrc
index 66e9b70741b9..c33dbe73ff9e 100644
--- a/include/svx/fmresids.hrc
+++ b/include/svx/fmresids.hrc
@@ -62,7 +62,6 @@
 #define RID_SVXTBX_FORMDESIGN                       (RID_FORMS_START +  6)
 
 // Menu-Id's -----------------------------------------------------------
-#define RID_FMEXPLORER_POPUPMENU                    (RID_FORMS_START + 0)
 #define RID_FMSHELL_CONVERSIONMENU                  (RID_FORMS_START + 4)
 #define RID_FM_FILTER_MENU                          (RID_FORMS_START + 5)
 #define RID_MENU_DATANAVIGATOR                      (RID_FORMS_START + 10)
diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc
index 18ddd6436a84..64decd7a10b8 100644
--- a/include/svx/svxids.hrc
+++ b/include/svx/svxids.hrc
@@ -564,8 +564,8 @@
 #define SID_FM_FILECONTROL                              ( SID_SVX_START + 605 )
 //FREE
 #define SID_FM_NAVIGATIONBAR                            ( SID_SVX_START + 607 )
-#define SID_FM_NEW_HIDDEN                               ( SID_SVX_START + 608 )
-#define SID_FM_RENAME_OBJECT                            ( SID_SVX_START + 609 )
+//FREE
+//FREE
 #define SID_FM_DELETEROWS                               ( SID_SVX_START + 610 )
 //FREE
 //FREE
@@ -594,9 +594,9 @@
 #define SID_FM_SHOW_PROPERTIES                          ( SID_SVX_START + 635 )
 #define SID_FM_PROPERTY_CONTROL                         ( SID_SVX_START + 636 )
 #define SID_FM_FMEXPLORER_CONTROL                       ( SID_SVX_START + 637 )
-#define SID_FM_NEW                                      ( SID_SVX_START + 638 )
+//FREE
 #define SID_FM_DELETE                                   ( SID_SVX_START + 639 )
-#define SID_FM_NEW_FORM                                 ( SID_SVX_START + 640 )
+//FREE
 #define SID_3D_WIN                                      ( SID_SVX_START + 644 )
 #define SID_3D_STATE                                    ( SID_SVX_START + 645 )
 #define SID_3D_INIT                                     ( SID_SVX_START + 646 )
diff --git a/svx/UIConfig_svx.mk b/svx/UIConfig_svx.mk
index 98af04cd8aef..032a64019d36 100644
--- a/svx/UIConfig_svx.mk
+++ b/svx/UIConfig_svx.mk
@@ -45,6 +45,7 @@ $(eval $(call gb_UIConfig_add_uifiles,svx,\
 	svx/uiconfig/ui/fontworkgallerydialog \
 	svx/uiconfig/ui/fontworkspacingdialog \
 	svx/uiconfig/ui/formlinkwarndialog \
+	svx/uiconfig/ui/formnavimenu \
 	svx/uiconfig/ui/functionmenu \
 	svx/uiconfig/ui/gallerymenu1 \
 	svx/uiconfig/ui/gallerymenu2 \
diff --git a/svx/inc/fmhelp.hrc b/svx/inc/fmhelp.hrc
index 7cea12f7c35f..b0f5365c5372 100644
--- a/svx/inc/fmhelp.hrc
+++ b/svx/inc/fmhelp.hrc
@@ -42,10 +42,6 @@
 #define HID_FM_FILTER_EDIT                                    "SVX_HID_FM_EDIT"
 #define HID_FM_FILTER_IS_NULL                                 "SVX_HID_FM_FILTER_IS_NULL"
 #define HID_FM_FILTER_IS_NOT_NULL                             "SVX_HID_FM_IS_NOT_NULL"
-#define HID_FM_NEW                                            "SVX_HID_FM_NEW"
-#define HID_FM_NEW_FORM                                       "SVX_HID_FM_NEW_FORM"
-#define HID_FM_NEW_HIDDEN                                     "SVX_HID_FM_NEW_HIDDEN"
-#define HID_FM_RENAME_OBJECT                                  "SVX_HID_FM_RENAME_OBJECT"
 
 #endif
 
diff --git a/svx/source/form/fmexpl.src b/svx/source/form/fmexpl.src
index 2e6afb5eb0e2..3b0994616bcc 100644
--- a/svx/source/form/fmexpl.src
+++ b/svx/source/form/fmexpl.src
@@ -22,94 +22,6 @@
 #include <svx/svxcommands.h>
 #include "fmhelp.hrc"
 
-Menu RID_FMEXPLORER_POPUPMENU
-{
-    ItemList =
-    {
-        MenuItem
-        {
-            Identifier = SID_FM_NEW ;
-            HelpId = HID_FM_NEW ;
-            Text [ en-US ] = "~New" ;
-            SubMenu = Menu
-            {
-                ItemList =
-                {
-                    MenuItem
-                    {
-                        Identifier = SID_FM_NEW_FORM ;
-                        HelpId = HID_FM_NEW_FORM ;
-                        Text [ en-US ] = "Form" ;
-                    };
-                    MenuItem
-                    {
-                        Identifier = SID_FM_NEW_HIDDEN ;
-                        HelpId = HID_FM_NEW_HIDDEN ;
-                        Text [ en-US ] = "Hidden Control" ;
-                    };
-                };
-            };
-        };
-        MenuItem
-        {
-            Identifier = SID_FM_CHANGECONTROLTYPE ;
-            HelpId = CMD_SID_FM_CHANGECONTROLTYPE ;
-            Text [ en-US ] = "Replace with";
-        };
-        MenuItem {
-            Identifier = SID_CUT ;
-            Command = ".uno:Cut" ;
-            Text [ en-US ] = "Cu~t" ;
-        };
-        MenuItem {
-            Identifier = SID_COPY ;
-            Command = ".uno:Copy" ;
-            Text [ en-US ] = "~Copy" ;
-        };
-        MenuItem {
-            Identifier = SID_PASTE ;
-            Command = ".uno:Paste" ;
-            Text [ en-US ] = "~Paste" ;
-        };
-        MenuItem
-        {
-            Identifier = SID_FM_DELETE ;
-            HelpId = HID_FM_DELETE ;
-            Text [ en-US ] = "~Delete" ;
-        };
-        MenuItem
-        {
-            Identifier = SID_FM_TAB_DIALOG ;
-            HelpId = CMD_SID_FM_TAB_DIALOG ;
-            Text [ en-US ] = "Tab Order..." ;
-        };
-        MenuItem
-        {
-            Identifier = SID_FM_RENAME_OBJECT ;
-            HelpId = HID_FM_RENAME_OBJECT ;
-            Text [ en-US ] = "~Rename" ;
-        };
-        MenuItem
-        {
-            Identifier = SID_FM_SHOW_PROPERTY_BROWSER ;
-            HelpId = CMD_SID_FM_SHOW_PROPERTY_BROWSER ;
-            Text [ en-US ] = "Propert~ies" ;
-        };
-        MenuItem
-        {
-            Identifier = SID_FM_OPEN_READONLY ;
-            HelpId = CMD_SID_FM_OPEN_READONLY ;
-            Text [ en-US ] = "Open in Design Mode" ;
-        };
-        MenuItem
-        {
-            Identifier = SID_FM_AUTOCONTROLFOCUS ;
-            HelpId = CMD_SID_FM_AUTOCONTROLFOCUS ;
-            Text [ en-US ] = "Automatic Control Focus";
-        };
-    };
-};
-
 Menu RID_FMSHELL_CONVERSIONMENU
 {
     ItemList =
diff --git a/svx/source/form/navigatortree.cxx b/svx/source/form/navigatortree.cxx
index 3ff0d2000906..d0ae2f7a2b57 100644
--- a/svx/source/form/navigatortree.cxx
+++ b/svx/source/form/navigatortree.cxx
@@ -358,167 +358,152 @@ namespace svxform
                 FmFormModel* pFormModel = pFormShell ? pFormShell->GetFormModel() : nullptr;
                 if( pFormShell && pFormModel )
                 {
-                    ScopedVclPtrInstance<PopupMenu> aContextMenu(SVX_RES(RID_FMEXPLORER_POPUPMENU));
-                    PopupMenu* pSubMenuNew = aContextMenu->GetPopupMenu( SID_FM_NEW );
+                    VclBuilder aBuilder(nullptr, VclBuilderContainer::getUIRootDir(), "svx/ui/formnavimenu.ui", "");
+                    VclPtr<PopupMenu> aContextMenu(aBuilder.get_menu("menu"));
+                    const sal_uInt16 nNewId = aContextMenu->GetItemId("new");
+                    PopupMenu* pSubMenuNew = aContextMenu->GetPopupMenu(nNewId);
 
                     // menu 'New' only exists, if only the root or only one form is selected
-                    aContextMenu->EnableItem( SID_FM_NEW, bSingleSelection && (m_nFormsSelected || m_bRootSelected) );
+                    aContextMenu->EnableItem(nNewId, bSingleSelection && (m_nFormsSelected || m_bRootSelected));
 
                     // 'New'\'Form' under the same terms
-                    pSubMenuNew->EnableItem( SID_FM_NEW_FORM, bSingleSelection && (m_nFormsSelected || m_bRootSelected) );
-                    pSubMenuNew->SetItemImage(SID_FM_NEW_FORM, Image(BitmapEx(SVX_RES(RID_SVXBMP_FORM))));
-                    pSubMenuNew->SetItemImage(SID_FM_NEW_HIDDEN, Image(BitmapEx(SVX_RES(RID_SVXBMP_HIDDEN))));
+                    const sal_uInt16 nFormId = pSubMenuNew->GetItemId("form");
+                    pSubMenuNew->EnableItem(nFormId, bSingleSelection && (m_nFormsSelected || m_bRootSelected));
+                    pSubMenuNew->SetItemImage(nFormId, Image(BitmapEx(SVX_RES(RID_SVXBMP_FORM))));
 
                     // 'New'\'hidden...', if exactly one form is selected
-                    pSubMenuNew->EnableItem( SID_FM_NEW_HIDDEN, bSingleSelection && m_nFormsSelected );
+                    const sal_uInt16 nHiddenId = pSubMenuNew->GetItemId("hidden");
+                    pSubMenuNew->EnableItem(nHiddenId, bSingleSelection && m_nFormsSelected);
+                    pSubMenuNew->SetItemImage(nHiddenId, Image(BitmapEx(SVX_RES(RID_SVXBMP_HIDDEN))));
 
                     // 'Delete': everything which is not root can be removed
-                    aContextMenu->EnableItem( SID_FM_DELETE, !m_bRootSelected );
+                    aContextMenu->EnableItem(aContextMenu->GetItemId("delete"), !m_bRootSelected);
 
                     // 'Cut', 'Copy' and 'Paste'
-                    aContextMenu->EnableItem( SID_CUT, !m_bRootSelected && implAllowExchange( DND_ACTION_MOVE ) );
-                    aContextMenu->EnableItem( SID_COPY, !m_bRootSelected && implAllowExchange( DND_ACTION_COPY ) );
-                    aContextMenu->EnableItem( SID_PASTE, implAcceptPaste( ) );
+                    aContextMenu->EnableItem(aContextMenu->GetItemId("cut"), !m_bRootSelected && implAllowExchange(DND_ACTION_MOVE));
+                    aContextMenu->EnableItem(aContextMenu->GetItemId("copy"), !m_bRootSelected && implAllowExchange(DND_ACTION_COPY));
+                    aContextMenu->EnableItem(aContextMenu->GetItemId("paste"), implAcceptPaste());
 
                     // TabDialog, if exactly one form
-                    aContextMenu->EnableItem( SID_FM_TAB_DIALOG, bSingleSelection && m_nFormsSelected );
+                    aContextMenu->EnableItem(aContextMenu->GetItemId("taborder"), bSingleSelection && m_nFormsSelected);
 
+                    const sal_uInt16 nBrowserId = aContextMenu->GetItemId("props");
                     // in XML forms, we don't allow for the properties of a form
                     // #i36484#
                     if ( pFormShell->GetImpl()->isEnhancedForm() && !m_nControlsSelected )
-                        aContextMenu->RemoveItem( aContextMenu->GetItemPos( SID_FM_SHOW_PROPERTY_BROWSER ) );
+                        aContextMenu->RemoveItem(aContextMenu->GetItemPos(nBrowserId));
 
                     // if the property browser is already open, we don't allow for the properties, too
                     if( pFormShell->GetImpl()->IsPropBrwOpen() )
-                        aContextMenu->RemoveItem( aContextMenu->GetItemPos( SID_FM_SHOW_PROPERTY_BROWSER ) );
+                        aContextMenu->RemoveItem(aContextMenu->GetItemPos(nBrowserId));
                     // and finally, if there's a mixed selection of forms and controls, disable the entry, too
                     else
-                        aContextMenu->EnableItem( SID_FM_SHOW_PROPERTY_BROWSER,
+                        aContextMenu->EnableItem(nBrowserId,
                             (m_nControlsSelected && !m_nFormsSelected) || (!m_nControlsSelected && m_nFormsSelected) );
 
                     // rename, if one element and no root
-                    aContextMenu->EnableItem( SID_FM_RENAME_OBJECT, bSingleSelection && !m_bRootSelected );
+                    aContextMenu->EnableItem(aContextMenu->GetItemId("rename"), bSingleSelection && !m_bRootSelected);
 
                     // Readonly-entry is only for root
-                    aContextMenu->EnableItem( SID_FM_OPEN_READONLY, m_bRootSelected );
+                    aContextMenu->EnableItem(aContextMenu->GetItemId("designmode"), m_bRootSelected);
                     // the same for automatic control focus
-                    aContextMenu->EnableItem( SID_FM_AUTOCONTROLFOCUS, m_bRootSelected );
+                    aContextMenu->EnableItem(aContextMenu->GetItemId("controlfocus"), m_bRootSelected);
 
                     // ConvertTo-Slots are enabled, if one control is selected
                     // the corresponding slot is disabled
+                    const sal_Int16 nChangeId = aContextMenu->GetItemId("change");
                     if (!m_bRootSelected && !m_nFormsSelected && (m_nControlsSelected == 1))
                     {
-                        aContextMenu->SetPopupMenu( SID_FM_CHANGECONTROLTYPE, FmXFormShell::GetConversionMenu() );
+                        aContextMenu->SetPopupMenu(nChangeId, FmXFormShell::GetConversionMenu() );
 #if OSL_DEBUG_LEVEL > 0
                         FmControlData* pCurrent = static_cast<FmControlData*>((*m_arrCurrentSelection.begin())->GetUserData());
                         OSL_ENSURE( pFormShell->GetImpl()->isSolelySelected( pCurrent->GetFormComponent() ),
                             "NavigatorTree::Command: inconsistency between the navigator selection, and the selection as the shell knows it!" );
 #endif
 
-                        pFormShell->GetImpl()->checkControlConversionSlotsForCurrentSelection( *aContextMenu->GetPopupMenu( SID_FM_CHANGECONTROLTYPE ) );
+                        pFormShell->GetImpl()->checkControlConversionSlotsForCurrentSelection(*aContextMenu->GetPopupMenu(nChangeId));
                     }
                     else
-                        aContextMenu->EnableItem( SID_FM_CHANGECONTROLTYPE, false );
+                        aContextMenu->EnableItem(nChangeId, false );
 
                     // remove all disabled entries
                     aContextMenu->RemoveDisabledEntries(true, true);
 
                     // set OpenReadOnly
 
-                    aContextMenu->CheckItem( SID_FM_OPEN_READONLY, pFormModel->GetOpenInDesignMode() );
-                    aContextMenu->CheckItem( SID_FM_AUTOCONTROLFOCUS, pFormModel->GetAutoControlFocus() );
+                    aContextMenu->CheckItem(aContextMenu->GetItemId("designmode"), pFormModel->GetOpenInDesignMode());
+                    aContextMenu->CheckItem(aContextMenu->GetItemId("controlfocus"), pFormModel->GetAutoControlFocus());
 
-                    sal_uInt16 nSlotId = aContextMenu->Execute( this, ptWhere );
-                    switch( nSlotId )
+                    sal_uInt16 nSlotId = aContextMenu->Execute(this, ptWhere);
+                    OString sIdent = aContextMenu->GetCurItemIdent();
+                    if (sIdent.isEmpty())
+                        sIdent = pSubMenuNew->GetCurItemIdent();
+                    if (sIdent == "form")
                     {
-                        case SID_FM_NEW_FORM:
-                        {
-                            OUString aStr(SVX_RESSTR(RID_STR_FORM));
-                            OUString aUndoStr = SVX_RESSTR(RID_STR_UNDO_CONTAINER_INSERT).replaceAll("#", aStr);
-
-                            pFormModel->BegUndo(aUndoStr);
-                            // slot was only available, if there is only one selected entry,
-                            // which is a root or a form
-                            NewForm( *m_arrCurrentSelection.begin() );
-                            pFormModel->EndUndo();
-
-                        }   break;
-                        case SID_FM_NEW_HIDDEN:
-                        {
-                            OUString aStr(SVX_RESSTR(RID_STR_CONTROL));
-                            OUString aUndoStr = SVX_RESSTR(RID_STR_UNDO_CONTAINER_INSERT).replaceAll("#", aStr);
-
-                            pFormModel->BegUndo(aUndoStr);
-                            // slot was valid for (exactly) one selected form
-                            OUString fControlName = FM_COMPONENT_HIDDEN;
-                            NewControl( fControlName, *m_arrCurrentSelection.begin(), true );
-                            pFormModel->EndUndo();
-
-                        }   break;
-
-                        case SID_CUT:
-                            doCut();
-                            break;
+                        OUString aStr(SVX_RESSTR(RID_STR_FORM));
+                        OUString aUndoStr = SVX_RESSTR(RID_STR_UNDO_CONTAINER_INSERT).replaceAll("#", aStr);
+
+                        pFormModel->BegUndo(aUndoStr);
+                        // slot was only available, if there is only one selected entry,
+                        // which is a root or a form
+                        NewForm( *m_arrCurrentSelection.begin() );
+                        pFormModel->EndUndo();
+                    }
+                    else if (sIdent == "hidden")
+                    {
+                        OUString aStr(SVX_RESSTR(RID_STR_CONTROL));
+                        OUString aUndoStr = SVX_RESSTR(RID_STR_UNDO_CONTAINER_INSERT).replaceAll("#", aStr);
+
+                        pFormModel->BegUndo(aUndoStr);
+                        // slot was valid for (exactly) one selected form
+                        OUString fControlName = FM_COMPONENT_HIDDEN;
+                        NewControl( fControlName, *m_arrCurrentSelection.begin(), true );
+                        pFormModel->EndUndo();
+                    }
+                    else if (sIdent == "cut")
+                        doCut();
+                    else if (sIdent == "copy")
+                        doCopy();
+                    else if (sIdent == "paste")
+                        doPaste();
+                    else if (sIdent == "delete")
+                        DeleteSelection();
+                    else if (sIdent == "taborder")
+                    {
+                        // this slot was effective for exactly one selected form
+                        SvTreeListEntry* pSelectedForm = *m_arrCurrentSelection.begin();
+                        DBG_ASSERT( IsFormEntry(pSelectedForm), "NavigatorTree::Command: This entry must be a FormEntry." );
 
-                        case SID_COPY:
-                            doCopy();
-                            break;
+                        FmFormData* pFormData = static_cast<FmFormData*>(pSelectedForm->GetUserData());
+                        Reference< XForm >  xForm(  pFormData->GetFormIface());
 
-                        case SID_PASTE:
-                            doPaste();
+                        Reference< XTabControllerModel >  xTabController(xForm, UNO_QUERY);
+                        if( !xTabController.is() )
                             break;
-
-                        case SID_FM_DELETE:
-                        {
-                            DeleteSelection();
-                        }
-                        break;
-                        case SID_FM_TAB_DIALOG:
-                        {
-                            // this slot was effective for exactly one selected form
-                            SvTreeListEntry* pSelectedForm = *m_arrCurrentSelection.begin();
-                            DBG_ASSERT( IsFormEntry(pSelectedForm), "NavigatorTree::Command: This entry must be a FormEntry." );
-
-                            FmFormData* pFormData = static_cast<FmFormData*>(pSelectedForm->GetUserData());
-                            Reference< XForm >  xForm(  pFormData->GetFormIface());
-
-                            Reference< XTabControllerModel >  xTabController(xForm, UNO_QUERY);
-                            if( !xTabController.is() )
-                                break;
-                            GetNavModel()->GetFormShell()->GetImpl()->ExecuteTabOrderDialog( xTabController );
-                        }
-                        break;
-
-                        case SID_FM_SHOW_PROPERTY_BROWSER:
-                        {
-                            ShowSelectionProperties(true);
-                        }
-                        break;
-                        case SID_FM_RENAME_OBJECT:
-                        {
-                            // only allowed for one no-root-entry
-                            EditEntry( *m_arrCurrentSelection.begin() );
-                        }
-                        break;
-                        case SID_FM_OPEN_READONLY:
-                        {
-                            pFormModel->SetOpenInDesignMode( !pFormModel->GetOpenInDesignMode() );
-                            pFormShell->GetViewShell()->GetViewFrame()->GetBindings().Invalidate(SID_FM_OPEN_READONLY);
-                        }
-                        break;
-                        case SID_FM_AUTOCONTROLFOCUS:
-                        {
-                            pFormModel->SetAutoControlFocus( !pFormModel->GetAutoControlFocus() );
-                            pFormShell->GetViewShell()->GetViewFrame()->GetBindings().Invalidate(SID_FM_AUTOCONTROLFOCUS);
-                        }
-                        break;
-                        default:
-                            if (FmXFormShell::isControlConversionSlot(nSlotId))
-                            {
-                                FmControlData* pCurrent = static_cast<FmControlData*>((*m_arrCurrentSelection.begin())->GetUserData());
-                                if ( pFormShell->GetImpl()->executeControlConversionSlot( pCurrent->GetFormComponent(), nSlotId ) )
-                                    ShowSelectionProperties();
-                            }
+                        GetNavModel()->GetFormShell()->GetImpl()->ExecuteTabOrderDialog( xTabController );
+                    }
+                    else if (sIdent == "props")
+                        ShowSelectionProperties(true);
+                    else if (sIdent == "rename")
+                    {
+                        // only allowed for one no-root-entry
+                        EditEntry( *m_arrCurrentSelection.begin() );
+                    }
+                    else if (sIdent == "designmode")
+                    {
+                        pFormModel->SetOpenInDesignMode( !pFormModel->GetOpenInDesignMode() );
+                        pFormShell->GetViewShell()->GetViewFrame()->GetBindings().Invalidate(SID_FM_OPEN_READONLY);
+                    }
+                    else if (sIdent == "controlfocus")
+                    {
+                        pFormModel->SetAutoControlFocus( !pFormModel->GetAutoControlFocus() );
+                        pFormShell->GetViewShell()->GetViewFrame()->GetBindings().Invalidate(SID_FM_AUTOCONTROLFOCUS);
+                    }
+                    else if (FmXFormShell::isControlConversionSlot(nSlotId))
+                    {
+                        FmControlData* pCurrent = static_cast<FmControlData*>((*m_arrCurrentSelection.begin())->GetUserData());
+                        if ( pFormShell->GetImpl()->executeControlConversionSlot( pCurrent->GetFormComponent(), nSlotId ) )
+                            ShowSelectionProperties();
                     }
                 }
                 bHandled = true;
diff --git a/svx/uiconfig/ui/formnavimenu.ui b/svx/uiconfig/ui/formnavimenu.ui
new file mode 100644
index 000000000000..f1325a52d98e
--- /dev/null
+++ b/svx/uiconfig/ui/formnavimenu.ui
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
+<interface>
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkMenu" id="menu">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <child>
+      <object class="GtkMenuItem" id="new">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_New</property>
+        <property name="use_underline">True</property>
+        <child type="submenu">
+          <object class="GtkMenu">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkMenuItem" id="form">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Form</property>
+                <property name="use_underline">True</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkMenuItem" id="hidden">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Hidden Control</property>
+                <property name="use_underline">True</property>
+              </object>
+            </child>
+          </object>
+        </child>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="change">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Replace with</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="cut">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Cu_t</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="copy">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Copy</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="paste">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Paste</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="delete">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Delete</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="taborder">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Tab Order...</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="rename">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">_Rename</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="props">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Propert_ies</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="designmode">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Open in Design Mode</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="controlfocus">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Automatic Control Focus</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+  </object>
+</interface>


More information about the Libreoffice-commits mailing list