summaryrefslogtreecommitdiff
path: root/officecfg
diff options
context:
space:
mode:
authorSzymon Kłos <eszkadev@gmail.com>2016-08-06 23:31:18 +0200
committerSamuel Mehrbrodt <s.mehrbrodt@gmail.com>2016-08-22 19:38:25 +0000
commitdabb20ebd5fa3b0d4bdb063b32f6ffbe2f59c3a2 (patch)
treeabea74259c8b66cb30037401e2718add4b32cb44 /officecfg
parentfc185fd35360a84136dd834bfdcd2e522350999a (diff)
GSoC: tdf#101249 Toolbar Mode switching
+ added registry entry for storing current toolbar mode for each application + registry entries to store toolbar mode configuration, remember additional visible toolbars activated by user + changing toolbar mode hides and shows suitable toolbars + added menu controller for toolbar mode + notebookbar implementation entries are disabled when notebookbar mode is not active + each mode can open/collapse the sidebar Change-Id: I2b03f87c6dce53190d12102892d9ad30fbfd3bf6 Reviewed-on: https://gerrit.libreoffice.org/27991 Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com> Tested-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
Diffstat (limited to 'officecfg')
-rw-r--r--officecfg/Configuration_officecfg.mk1
-rw-r--r--officecfg/files.mk1
-rw-r--r--officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu11
-rw-r--r--officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu5
-rw-r--r--officecfg/registry/data/org/openoffice/Office/UI/Notebookbar.xcu10
-rw-r--r--officecfg/registry/data/org/openoffice/Office/UI/ToolbarMode.xcu288
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/UI/ToolbarMode.xcs93
7 files changed, 400 insertions, 9 deletions
diff --git a/officecfg/Configuration_officecfg.mk b/officecfg/Configuration_officecfg.mk
index 388bf54fa393..195535002381 100644
--- a/officecfg/Configuration_officecfg.mk
+++ b/officecfg/Configuration_officecfg.mk
@@ -175,5 +175,6 @@ $(eval $(call gb_Configuration_add_localized_datas,registry,officecfg/registry/d
org/openoffice/Office/UI/WriterWebWindowState.xcu \
org/openoffice/Office/UI/WriterCommands.xcu \
org/openoffice/Office/UI/GenericCategories.xcu \
+ org/openoffice/Office/UI/ToolbarMode.xcu \
))
diff --git a/officecfg/files.mk b/officecfg/files.mk
index ed3f460cfe64..adbce6b1d7d8 100644
--- a/officecfg/files.mk
+++ b/officecfg/files.mk
@@ -86,6 +86,7 @@ officecfg_XCSFILES := \
Office/UI/Sidebar \
Office/UI/StartModuleCommands \
Office/UI/StartModuleWindowState \
+ Office/UI/ToolbarMode \
Office/UI/WindowContentFactories \
Office/UI/WindowState \
Office/UI/WriterCommands \
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
index 3f7a319fd646..096ed337bf1c 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
@@ -386,6 +386,17 @@
<value>row_operations</value>
</prop>
</node>
+ <node oor:name="c32" oor:op="replace">
+ <prop oor:name="Command">
+ <value>.uno:ToolbarMode</value>
+ </prop>
+ <prop oor:name="Module">
+ <value/>
+ </prop>
+ <prop oor:name="Controller">
+ <value>com.sun.star.comp.framework.ToolbarModeMenuController</value>
+ </prop>
+ </node>
</node>
<node oor:name="ToolBar">
<node oor:name="ZoomToolBox" oor:op="replace">
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 5723254436e6..0247b1769d16 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -5635,6 +5635,11 @@
<value xml:lang="en-US">~Toolbars</value>
</prop>
</node>
+ <node oor:name=".uno:ToolbarMode" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Toolbar Layout</value>
+ </prop>
+ </node>
<node oor:name=".uno:AvailableToolbars" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">~Toolbars</value>
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Notebookbar.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Notebookbar.xcu
index 776dd9fdf545..3814b3e71e3c 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Notebookbar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Notebookbar.xcu
@@ -2,17 +2,9 @@
<!DOCTYPE oor:component-data SYSTEM "../../../../../component-update.dtd">
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:install="http://openoffice.org/2004/installation" oor:name="Notebookbar" oor:package="org.openoffice.Office.UI">
<prop oor:name="Active">
- <value></value>
+ <value>notebookbar.ui</value>
</prop>
<node oor:name="Implementations">
- <node oor:name="Off" oor:op="replace">
- <prop oor:name="Label">
- <value xml:lang="en-US">Off</value>
- </prop>
- <prop oor:name="File">
- <value></value>
- </prop>
- </node>
<node oor:name="Tabbed" oor:op="replace">
<prop oor:name="Label">
<value xml:lang="en-US">Tabbed</value>
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/ToolbarMode.xcu b/officecfg/registry/data/org/openoffice/Office/UI/ToolbarMode.xcu
new file mode 100644
index 000000000000..e9e8ddb6f98e
--- /dev/null
+++ b/officecfg/registry/data/org/openoffice/Office/UI/ToolbarMode.xcu
@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE oor:component-data SYSTEM "../../../../../component-update.dtd">
+<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:install="http://openoffice.org/2004/installation" oor:name="ToolbarMode" oor:package="org.openoffice.Office.UI">
+ <node oor:name="Applications">
+ <node oor:name="Writer" oor:op="replace">
+ <prop oor:name="Active">
+ <value>Default</value>
+ </prop>
+ <node oor:name="Modes">
+ <node oor:name="Default" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Default</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Default</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>0</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>false</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ <it>private:resource/toolbar/standardbar</it>
+ <it>private:resource/toolbar/textobjectbar</it>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Tabs</value>
+ </prop>
+ </node>
+ <node oor:name="Single" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Single toolbar</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Single</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>1</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>false</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ <it>private:resource/toolbar/singlemode</it>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Arrow</value>
+ </prop>
+ </node>
+ <node oor:name="Sidebar" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Sidebar</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Sidebar</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>2</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>false</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ <it>private:resource/toolbar/standardbar</it>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Opened</value>
+ </prop>
+ </node>
+ <node oor:name="Notebookbar" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Notebookbar</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>true</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>3</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Notebookbar</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Arrow</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+ <node oor:name="Calc" oor:op="replace">
+ <prop oor:name="Active">
+ <value>Default</value>
+ </prop>
+ <node oor:name="Modes">
+ <node oor:name="Default" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Default</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Default</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>0</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>false</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ <it>private:resource/toolbar/standardbar</it>
+ <it>private:resource/toolbar/formatobjectbar</it>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Tabs</value>
+ </prop>
+ </node>
+ <node oor:name="Single" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Single toolbar</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Single</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>1</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>false</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ <it>private:resource/toolbar/singlemode</it>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Arrow</value>
+ </prop>
+ </node>
+ <node oor:name="Sidebar" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Sidebar</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Sidebar</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>2</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>false</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ <it>private:resource/toolbar/standardbar</it>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Opened</value>
+ </prop>
+ </node>
+ <node oor:name="Notebookbar" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Notebookbar</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>true</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>3</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Notebookbar</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Arrow</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+ <node oor:name="Impress" oor:op="replace">
+ <prop oor:name="Active">
+ <value>Default</value>
+ </prop>
+ <node oor:name="Modes">
+ <node oor:name="Default" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Default</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Default</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>0</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>false</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ <it>private:resource/toolbar/standardbar</it>
+ <it>private:resource/toolbar/toolbar</it>
+ <it>private:resource/toolbar/commontaskbar</it>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Opened</value>
+ </prop>
+ </node>
+ <node oor:name="Notebookbar" oor:op="replace">
+ <prop oor:name="Label">
+ <value>Notebookbar</value>
+ </prop>
+ <prop oor:name="HasNotebookbar">
+ <value>true</value>
+ </prop>
+ <prop oor:name="MenuPosition">
+ <value>3</value>
+ </prop>
+ <prop oor:name="CommandArg">
+ <value>Notebookbar</value>
+ </prop>
+ <prop oor:name="Toolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="UserToolbars">
+ <value>
+ </value>
+ </prop>
+ <prop oor:name="Sidebar">
+ <value>Arrow</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+ </node>
+</oor:component-data>
diff --git a/officecfg/registry/schema/org/openoffice/Office/UI/ToolbarMode.xcs b/officecfg/registry/schema/org/openoffice/Office/UI/ToolbarMode.xcs
new file mode 100644
index 000000000000..4a2a5adc6282
--- /dev/null
+++ b/officecfg/registry/schema/org/openoffice/Office/UI/ToolbarMode.xcs
@@ -0,0 +1,93 @@
+<?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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+<!DOCTYPE oor:component-schema SYSTEM "../../../../../component-schema.dtd">
+<oor:component-schema xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oor:name="ToolbarMode" oor:package="org.openoffice.Office.UI" xml:lang="en-US">
+ <info>
+ <desc>Contains information about toolbar modes.</desc>
+ </info>
+ <templates>
+ <group oor:name="ModeEntry">
+ <info>
+ <desc>The container for mode description.</desc>
+ </info>
+ <prop oor:name="Label" oor:type="xs:string" oor:nillable="false" oor:localized="true">
+ <info>
+ <desc>The toolbar mode label.</desc>
+ </info>
+ </prop>
+ <prop oor:name="CommandArg" oor:type="xs:string" oor:nillable="false">
+ <info>
+ <desc>The toolbar mode name to use as a parameter in the UNO command. Must be a single word.</desc>
+ </info>
+ </prop>
+ <prop oor:name="MenuPosition" oor:type="xs:int" oor:nillable="false">
+ <info>
+ <desc>Position in the menu.</desc>
+ </info>
+ </prop>
+ <prop oor:name="HasNotebookbar" oor:type="xs:boolean" oor:nillable="false">
+ <info>
+ <desc>Determines if Notebookbar is visible.</desc>
+ </info>
+ </prop>
+ <prop oor:name="Toolbars" oor:type="oor:string-list" oor:nillable="false">
+ <info>
+ <desc>List of mandatory toolbars.</desc>
+ </info>
+ </prop>
+ <prop oor:name="UserToolbars" oor:type="oor:string-list" oor:nillable="false">
+ <info>
+ <desc>List of visible toolbars activated by user.</desc>
+ </info>
+ </prop>
+ <prop oor:name="Sidebar" oor:type="xs:string" oor:nillable="false">
+ <info>
+ <desc>
+ Describes sidebar mode.
+ Arrow - sidebar coollapsed, showing the 'open' arrow button
+ Tabs - sidebar is showing only tab bars
+ Opened - sidebar fully opened
+ </desc>
+ </info>
+ </prop>
+ </group>
+ <group oor:name="Application">
+ <info>
+ <desc>Describes toolbar modes for one application.</desc>
+ </info>
+ <prop oor:name="Active" oor:type="xs:string" oor:nillable="false">
+ <info>
+ <desc>Contains name of currently used mode.</desc>
+ </info>
+ </prop>
+ <set oor:name="Modes" oor:node-type="ModeEntry">
+ <info>
+ <desc>Contains list of toolbar modes.</desc>
+ </info>
+ </set>
+ </group>
+ </templates>
+ <component>
+ <set oor:name="Applications" oor:node-type="Application">
+ <info>
+ <desc>Contains list of toolbar mode settings for each application.</desc>
+ </info>
+ </set>
+ </component>
+</oor:component-schema>