Bug 101249 - Easily activate single toolbar, sidebar mode, and extended toolbar
Summary: Easily activate single toolbar, sidebar mode, and extended toolbar
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
5.3.0.0.alpha0+
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard: target:5.3.0
Keywords:
Depends on:
Blocks: Notebookbar Toolbars
  Show dependency treegraph
 
Reported: 2016-08-01 13:00 UTC by Yousuf Philips (jay) (retired)
Modified: 2017-04-24 16:40 UTC (History)
11 users (show)

See Also:
Crash report or crash signature:


Attachments
Added an entry named "Interface Layout" to Start Center (1.16 MB, image/png)
2016-09-11 10:39 UTC, Pedro
Details
Kingsoft Office Layout changing button is visible to the user and not hidden in a Menu. (117.42 KB, image/png)
2016-09-11 10:53 UTC, Pedro
Details
Button to the side of the update button and above Zotero toolbar (67.02 KB, image/jpeg)
2016-09-11 16:01 UTC, Pedro
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yousuf Philips (jay) (retired) 2016-08-01 13:00:02 UTC
In order to make people comfortable with switching their UI to a different arrangement, we need to make the process as simple as changing the document view.

So we need a radio button set in View > Mode which would have 4 entries in it for - Default, Single Toolbar, Sidebar, Notebookbar.

Default mode is the standard mode we have now of 2 top toolbars and a partially open sidebar.

Single toolbar mode hides the 2 top toolbars and various contextual toolbars, collapses the sidebar so the arrow button can reopen it if the user wants, and unhides the standard (single mode) toolbar. The list of toolbars to hide are found in bug 92218 comment 13. Also the icon theme would be changed to sifr small.

screenshot - https://wiki.documentfoundation.org/images/9/99/Single_Toolbar_Mode.png

Sidebar mode would hide the formatting toolbar and various contextual toolbars and leave only the standard toolbar visible, and then fully open the sidebar (bug 92220).

screenshot - https://redmine.documentfoundation.org/attachments/download/235/IBM%20Symphony%20Toolbars.png

Notebookbar mode would hide all toolbars and fully close the sidebar.

When jumping from one mode to the next, settings should be maintained so users can easily jump back to the previous setup without having to adjust the configurations. The logic behind saving these settings are mentioned in bug 92218 comment 3.
Comment 1 Heiko Tietze 2016-08-01 14:27:53 UTC
I suggest to provide this feature as an open list since users may want to add own configurations beyond the four factory settings. For example, Benjamin wants to switch from a configuration "homework" that focuses on writing text to "playground" which offers more graphical tools. Or Eve and Benjamin share the same account but want to have different UI layouts.
Comment 2 Yousuf Philips (jay) (retired) 2016-08-01 19:51:39 UTC
(In reply to Heiko Tietze from comment #1)
> I suggest to provide this feature as an open list since users may want to
> add own configurations beyond the four factory settings.

I guess being able to save a specific UI configuration could be implemented, though dont see this as useful to most.

> For example,
> Benjamin wants to switch from a configuration "homework" that focuses on
> writing text to "playground" which offers more graphical tools.

Benjamin would open up draw for graphical stuff.

> Or Eve and
> Benjamin share the same account but want to have different UI layouts.

Benjamin wouldnt know how to alter the UI and would use Eve's configuration if that was what was there and vice versa.

Most users dont modify the default configuration, especially users like Benjamin, which means that only users like Eve would be doing so. This enhancement is focused on users like Benjamin who dont know how to alter the UI, but want an easy automated means to do so.
Comment 3 Roman Kuznetsov 2016-08-02 08:29:01 UTC
(In reply to Yousuf (Jay) Philips from comment #2)
> This
> enhancement is focused on users like Benjamin who dont know how to alter the
> UI, but want an easy automated means to do so.

i known how to customize UI in LibreOffice, but i want also easy automated means to do so.

Heiko wants to do something incomprehensible
Comment 4 Heiko Tietze 2016-08-02 10:56:22 UTC
(In reply to kompilainenn from comment #3)
> Heiko wants to do something incomprehensible

First of all my comment was about to not limit features to a certain extend. There are other ideas beyond customization that requires to have more than four options. For instance, we could predefine toolbar UIs for a number of use cases, it's not necessarily done by the user.

But incomprehensible configurability? Don't think so. Have a look at Firefox's configuration. Or play a game and see how to place controls freely. Check out our customization today and imagine a few options added. There are many ways to Rome.
Comment 5 Commit Notification 2016-08-22 19:39:36 UTC
Szymon Kłos committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=dabb20ebd5fa3b0d4bdb063b32f6ffbe2f59c3a2

GSoC: tdf#101249 Toolbar Mode switching

It will be available in 5.3.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 6 steve 2016-08-23 15:20:42 UTC
verified. takes a few seconds after the selection to actually switch the toolbars which is a bit confusing but works.
Comment 7 Roman Kuznetsov 2016-08-24 15:00:31 UTC
(In reply to steve -_- from comment #6)
> verified. takes a few seconds after the selection to actually switch the
> toolbars which is a bit confusing but works.

i verified switcher on Windows 7 with intel hd4000 video. change is very fast.

But menu item "Toolbar Layout", imho, need change on "Toolbar mode". "Layout" - term is not quite perfect
Comment 8 steve 2016-08-24 15:03:44 UTC
video of change behavior on osx 10.11.6
https://vid.me/bpS3
Comment 9 Pedro 2016-09-11 10:39:06 UTC
Created attachment 127254 [details]
Added an entry named "Interface Layout" to Start Center
Comment 10 Pedro 2016-09-11 10:47:32 UTC
The video showing the UI switching should be improved and included in the Release Notes. Maybe with a small entry explaining each of the 4 options.

A new entry in the Release Notes should be created talking about the Notebookbar. Maybe with a video depicting it as well.

Furthermore, I think that that an entry in the View menu --> Toolbar layout is not enough for people to take notice of this if they don't know that they should look on the menus. And many people avoid looking in the menus. 

Therefore I propose having a button in the Start Center - my previous comment.

I would further add that having a button dedicated to changing the layouts always visible to the user is crucial.
One example of an Office suite doing this is Kingsoft Office, which has a button near the Minimize/Maximize/Close buttons just to change the UI between Toolbar and Ribbon mode.

Would it be possible to add such an icon just as in Kingsoft Office?
Comment 11 Pedro 2016-09-11 10:53:06 UTC
Created attachment 127255 [details]
Kingsoft Office Layout changing button is visible to the user and not hidden in a Menu.

Should we think of a way to make this option more visible in LibreOffice as well?
Comment 12 Yousuf Philips (jay) (retired) 2016-09-11 11:56:59 UTC
(In reply to Pedro from comment #10)
> The video showing the UI switching should be improved and included in the
> Release Notes. Maybe with a small entry explaining each of the 4 options.

The marketing team will definitely include it in their what's new 5.3 videos.

> A new entry in the Release Notes should be created talking about the
> Notebookbar. Maybe with a video depicting it as well.

Already was done. https://wiki.documentfoundation.org/ReleaseNotes/5.3#Toolbars

> Furthermore, I think that that an entry in the View menu --> Toolbar layout
> is not enough for people to take notice of this if they don't know that they
> should look on the menus. And many people avoid looking in the menus. 

Yes most people dont look in the menus for most things, but outside of the basics, they will have to open up the menus.

> Therefore I propose having a button in the Start Center - my previous
> comment.

Most users dont see the start center, unless you are forced to see it like on mac, so it isnt a good thing to clutter up the start center with it.

> I would further add that having a button dedicated to changing the layouts
> always visible to the user is crucial.

It would be nice to put it somewhere but it wont be suitable in the toolbars, as it would have to be in all toolbar implementations.

> One example of an Office suite doing this is Kingsoft Office, which has a
> button near the Minimize/Maximize/Close buttons just to change the UI
> between Toolbar and Ribbon mode.
>
> Would it be possible to add such an icon just as in Kingsoft Office?

Kingsoft draws it ribbon UI's entire window, which is how it is able to put the icon that place, but if you change to 'Classic Style', they use the OS toolbar and have the button in the toolbar. So i'm not sure its possible to add it to the title bar and would doubt that it could be done cross platform. But you are more than welcome to open a new bug report to suggest it and ask devs its feasibility.
Comment 13 Roman Kuznetsov 2016-09-11 12:38:18 UTC
"Toolbar layout" - IMHO, this is not correctly name for item which changes mode of displayed.
May be rename it to "Toolbar mode"? Or "GUI mode"?

Also, Notebookbar have'nt icon for change mode to Toolbar.
Comment 14 V Stuart Foote 2016-09-11 14:12:31 UTC
(In reply to Pedro from comment #10)
> Furthermore, I think that that an entry in the View menu --> Toolbar layout
> is not enough for people to take notice of this if they don't know that they
> should look on the menus. And many people avoid looking in the menus. 
> 
> Therefore I propose having a button in the Start Center - my previous
> comment.
> 

No, the StartCenter is a transient landing location. We do not configure the modules from the STARTMODULE, such settings are made and retained in each module.

> I would further add that having a button dedicated to changing the layouts
> always visible to the user is crucial.
> One example of an Office suite doing this is Kingsoft Office, which has a
> button near the Minimize/Maximize/Close buttons just to change the UI
> between Toolbar and Ribbon mode.
> 
> Would it be possible to add such an icon just as in Kingsoft Office?

Yes it could be done, but we've rejected similar as too invasive to OS/DE integration, as well for the code maintenance overhead implementing cross platform would incur.

=-ref-=
bug 97445 - move menu bar on window title
bug 60476 - Provide ability to hide title bar when the window is maximized
Comment 15 Pedro 2016-09-11 16:01:44 UTC
Created attachment 127259 [details]
Button to the side of the update button and above Zotero toolbar

Yousuf, there should exist a couple of screenshots of the Notebookbar in the Release Notes. It's something that a lot of people have been asking for and pointing people's attention to it would be crucial.

V Stuart Foote and Yousuf, thanks for the replies explaining why both options that I suggested are not feasible.

Yousuf, I think that having a button in each toolbar implementation would be feasible. However maybe place it separately from the rest of the toolbars?

For example, when there's an update there's a button that appears in the Menu bar. Why not place a button to change the UI next to that one?

Or, position it in the toolbar where I have the Zotero toolbar in the example I attached.

By the way, did any of you guys tested the zotero toolbar in the Notebookbar mode? Would using the Notebookbar still allow me to see the Zotero toolbar or toolbars that are attached to LO by other software?
Comment 16 Yousuf Philips (jay) (retired) 2016-09-11 17:45:50 UTC
(In reply to kompilainenn from comment #13)
> "Toolbar layout" - IMHO, this is not correctly name for item which changes
> mode of displayed.
> May be rename it to "Toolbar mode"? Or "GUI mode"?

Yes it will be changed to Toolbar Mode, but i'm waiting for a decision on the final name for Notebookbar to change that at the same time.

> Also, Notebookbar have'nt icon for change mode to Toolbar.

There is a menu when you click on the first tab, which gives you access to re-enable the menubar and then you can change back to a different toolbar mode.

(In reply to Pedro from comment #15)
> Yousuf, there should exist a couple of screenshots of the Notebookbar in the
> Release Notes. It's something that a lot of people have been asking for and
> pointing people's attention to it would be crucial.

Yes someone will be adding screenshots for it.

> Yousuf, I think that having a button in each toolbar implementation would be
> feasible. However maybe place it separately from the rest of the toolbars?

Toolbars are focused on having the most important features that are used regular in them, which unfortunately changing the toolbar mode isnt.

> For example, when there's an update there's a button that appears in the
> Menu bar. Why not place a button to change the UI next to that one?

Yes an icon could appear in that location, similar to the update icon appearing there, but i wonder what happens with users who have their menus in the top bar (mac, ubuntu). File a bug report for this for people to comment.

> By the way, did any of you guys tested the zotero toolbar in the Notebookbar
> mode? Would using the Notebookbar still allow me to see the Zotero toolbar
> or toolbars that are attached to LO by other software?

All toolbars are disabled in Notebookbar mode and other toolbars will eventually become tabs of the notebookbar.
Comment 17 Roman Kuznetsov 2016-09-11 18:26:35 UTC
(In reply to Yousuf Philips (jay) from comment #16)
> (In reply to kompilainenn from comment #13)
> 
> > Also, Notebookbar have'nt icon for change mode to Toolbar.
> 
> There is a menu when you click on the first tab, which gives you access to
> re-enable the menubar and then you can change back to a different toolbar
> mode.
 
This is "crutch" =( Need add icon "Toolbar mode" to tab "View" on Notebookbar (where is his assigned bug?!)
Comment 18 Pedro 2016-09-12 09:48:29 UTC
Ok, I filled a new bug report:
https://bugs.documentfoundation.org/show_bug.cgi?id=102070
Comment 19 Yousuf Philips (jay) (retired) 2016-09-12 19:40:42 UTC
(In reply to kompilainenn from comment #17)
> This is "crutch" =( Need add icon "Toolbar mode" to tab "View" on
> Notebookbar (where is his assigned bug?!)

Good idea. File a new bug and set to block the notebookbar meta bug (bug 102062).
Comment 20 Stephan Bergmann 2016-09-21 15:04:08 UTC
Bisecting shows that the commit from comment 5 caused the following regression:  (At least with a fresh UserInstallation, at least on Linux), open a new Writer document, then "Insert - Object - OLE Object... - Create new - LibreOffice 5.3 Spreadsheet - OK" causes a crash at

> sfx2::SfxNotebookBar::StateMethod(SystemWindow*, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, rtl::OUString const&) (pSysWindow=0x0, xFrame=uno::Reference to ((anonymous namespace)::Frame *) 0x6160005ef8f0, rUIFile="modules/scalc/ui/") at sfx2/source/notebookbar/SfxNotebookBar.cxx:182
> sfx2::SfxNotebookBar::StateMethod(SfxBindings&, rtl::OUString const&) (rBindings=..., rUIFile="modules/scalc/ui/") at sfx2/source/notebookbar/SfxNotebookBar.cxx:175
> ScDocShell::GetState(SfxItemSet&) (this=0x61d00235a080, rSet=SfxItemSet of pool 0x619000747280 with parent 0x0 and Which ranges: [(6586, 6587), (10338, 10338), (26084, 26084), (26204, 26204), (26238, 26238), (26309, 26310), (26317, 26317)] = {...}) at sc/source/ui/docshell/docsh4.cxx:1874
> SfxStubScDocShellGetState(SfxShell*, SfxItemSet&) (pShell=0x61d00235a080, rSet=SfxItemSet of pool 0x619000747280 with parent 0x0 and Which ranges: [(6586, 6587), (10338, 10338), (26084, 26084), (26204, 26204), (26238, 26238), (26309, 26310), (26317, 26317)] = {...}) at workdir/SdiTarget/sc/sdi/scslots.hxx:1098
> SfxShell::CallState(void (*)(SfxShell*, SfxItemSet&), SfxItemSet&) (this=0x61d00235a080, pFunc=0x7ffcc4326c70 <SfxStubScDocShellGetState(SfxShell*, SfxItemSet&)>, rSet=SfxItemSet of pool 0x619000747280 with parent 0x0 and Which ranges: [(6586, 6587), (10338, 10338), (26084, 26084), (26204, 26204), (26238, 26238), (26309, 26310), (26317, 26317)] = {...}) at include/sfx2/shell.hxx:216
> SfxDispatcher::FillState_(SfxSlotServer const&, SfxItemSet&, SfxSlot const*) (this=0x6020004408b0, rSvr=..., rState=SfxItemSet of pool 0x619000747280 with parent 0x0 and Which ranges: [(6586, 6587), (10338, 10338), (26084, 26084), (26204, 26204), (26238, 26238), (26309, 26310), (26317, 26317)] = {...}, pRealSlot=0x7ffccfa08780 <aScDocShellSlots_Impl>) at sfx2/source/control/dispatch.cxx:1914
> SfxBindings::Update_Impl(SfxStateCache*) (this=0x604001368090, pCache=0x607002162bc0) at sfx2/source/control/bindings.cxx:327
> SfxBindings::NextJob_Impl(Timer*) (this=0x604001368090, pTimer=0x6110004c69c8) at sfx2/source/control/bindings.cxx:1506
> SfxBindings::NextJob(Timer*) (this=0x604001368090, pTimer=0x6110004c69c8) at sfx2/source/control/bindings.cxx:1441
> SfxBindings::LinkStubNextJob(void*, Timer*) (instance=0x604001368090, data=0x6110004c69c8) at sfx2/source/control/bindings.cxx:1439
> Link<Timer*, void>::Call(Timer*) const (this=0x6110004c69e8, data=0x6110004c69c8) at include/tools/link.hxx:84
> Timer::Invoke() (this=0x6110004c69c8) at vcl/source/app/timer.cxx:88
> ImplSchedulerData::Invoke() (this=0x603001df9500) at vcl/source/app/scheduler.cxx:45
> Scheduler::ProcessTaskScheduling(bool) (bTimerOnly=true) at vcl/source/app/scheduler.cxx:177
> ImplYield(bool, bool, unsigned long) (i_bWait=false, i_bAllEvents=false, nReleased=0) at vcl/source/app/svapp.cxx:522
> Application::Yield() () at vcl/source/app/svapp.cxx:555
> Application::Execute() () at vcl/source/app/svapp.cxx:472
> desktop::Desktop::DoExecute() () at desktop/source/app/app.cxx:1319
> desktop::Desktop::Main() (this=0x7fff76646e50) at desktop/source/app/app.cxx:1646
> ImplSVMain() () at vcl/source/app/svmain.cxx:185
> SVMain() () at vcl/source/app/svmain.cxx:223
> soffice_main() () at desktop/source/app/sofficemain.cxx:165
> sal_main () at desktop/source/app/main.c:48
> main (argc=1, argv=0x7fffffffe268) at desktop/source/app/main.c:47

because pSysWindow is null.
Comment 21 Commit Notification 2016-09-26 12:26:42 UTC
Szymon Kłos committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=d8e91627b96e1325a8859d8ee54cdf5e15516bb9

tdf#101249 fixed crash after inserting OLE object

It will be available in 5.3.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 22 Commit Notification 2016-09-27 12:31:23 UTC
Szymon Kłos committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=9b8e77e2936d3dc44450a68a80de39658d69cd17

tdf#101249 fixed crash after inserting OLE object 2

It will be available in 5.3.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 23 Commit Notification 2016-10-05 14:59:08 UTC
Szymon Kłos committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=36ca919da2e360fde7cc28230069eff488a85ac5

tdf#101249 Notebookbar: remember the menubar visibility

It will be available in 5.3.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 24 Yousuf Philips (jay) (retired) 2016-10-18 23:17:53 UTC
OLE Object crashers are fixed, so returning it back to fixed. Please file further issues a new bug reports and set them as blocks bug 102062 if it is notebookbar related.