diff options
author | Szymon Kłos <eszkadev@gmail.com> | 2016-08-06 23:31:18 +0200 |
---|---|---|
committer | Samuel Mehrbrodt <s.mehrbrodt@gmail.com> | 2016-08-22 19:38:25 +0000 |
commit | dabb20ebd5fa3b0d4bdb063b32f6ffbe2f59c3a2 (patch) | |
tree | abea74259c8b66cb30037401e2718add4b32cb44 /officecfg | |
parent | fc185fd35360a84136dd834bfdcd2e522350999a (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')
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> |