Bug 66876

Summary: [Sidebar] Large icons are not used
Product: LibreOffice Reporter: ape <idler.1st>
Component: UIAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED INVALID    
Severity: normal CC: idler.1st, jbfaure, ny.nathan.yee, philipz85, xiscofauli
Priority: medium    
Version: 4.1.0.2 rc   
Hardware: Other   
OS: All   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=82943
Whiteboard:
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 103428, 103459    
Attachments: Diff causing `undefined reference' errors.

Description ape 2013-07-13 13:59:51 UTC
The parameter "Large" (Options - View - User_Interface - Icon_size) isn't work in the window "Sidebar". Large icons are not used, but they are in "images_{}.zip\cmd\..; ..\sc,sw\res\sibebar\..; ..\sfx2,svx\res\symphony\.."-files.
Comment 1 Tin Man 2014-08-22 11:57:25 UTC
Large icons are unsuitable for the Properties panel, because a large number of object properties need to fit in this panel, with the aim being to completely replace formatting dialogs in the long run.

Supporting two types of icon sizes in the sidebar is also much more complex in the sidebar compared to the toolbar, as the layout is easily breakable. (That could, however, be fixed by designing a more flexible sidebar layout.)
Comment 2 Jan Holesovsky 2014-10-08 15:27:43 UTC
The sidebar uses the widget layout technique, so I wouldn't be that pessimistic; I guess worth trying as an Easy Hack, and then let's see.

* the setting if the current symbols are large can be obtained via:

  SvtMiscOptions().AreCurrentSymbolsLarge()

* the sidebar toolbars that are created via .ui files are created in
  vcl/source/window/builder.cxx, search for GtkToolbar

* with that in mind, calling SetToolboxButtonSize() on the newly created ToolBox
  in builder.cxx should hopefully do it :-)

That should be enough for testing; if it proves to be a good change, then it of course needs testing whether it changes the size when the user changes the settings (I suspect not, but maybe I am wrong), etc.
Comment 3 Nathan Yee 2015-03-22 22:26:25 UTC
I am working on this bug. I've tried to use "pWindow->SetToolboxButtonSize(TOOLBOX_BUTTON_SIZE);" but I get an error "'class vcl::Window' has no member named 'SetToolboxButtonSize'". As pWindow is a vcl::Window* instantiated as a ToolBox, it seems strange that pWindow wouldn't have the SetToolbarButtonSize member function. Can someone lead me in the right direction with this?
Comment 4 Nathan Yee 2015-03-23 06:01:43 UTC
Created attachment 114260 [details]
Diff causing `undefined reference' errors.

I believe that I have managed to solve my previous problem by downcasting with dynamic_cast. However, I am now getting many "undefined reference to `SvtMiscOptions::xxx' errors, but it seems like I am correctly using "SvtMiscOptions().AreCurrentSymbolsLarge()". I've attached my current changes to the code, and any help would be much appreciated.
Comment 5 QA Administrators 2015-10-14 19:50:21 UTC Comment hidden (obsolete)
Comment 6 Robinson Tryon (qubit) 2015-12-13 11:00:56 UTC Comment hidden (obsolete)
Comment 7 Robinson Tryon (qubit) 2016-02-18 14:51:39 UTC Comment hidden (obsolete)
Comment 8 QA Administrators 2016-05-09 20:08:04 UTC Comment hidden (obsolete)
Comment 9 Jean-Baptiste Faure 2019-01-21 20:16:45 UTC
@Xisco: I think this bug report was closed by mistake. The question of comment #4 should have been sent back to the developer list.

Best regards. JBF