Bug 121752 - Vertical tabs don't scroll when overflowed
Summary: Vertical tabs don't scroll when overflowed
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
6.3.0.0.alpha0+
Hardware: All Linux (All)
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:6.3.0 target:6.2.0.1
Keywords:
Depends on:
Blocks: GTK3
  Show dependency treegraph
 
Reported: 2018-11-28 11:06 UTC by Heiko Tietze
Modified: 2018-11-28 19:48 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Paragraph style dialog using "Emacs" Gtk3 theme (72.20 KB, image/png)
2018-11-28 11:06 UTC, Heiko Tietze
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Heiko Tietze 2018-11-28 11:06:43 UTC
Created attachment 147088 [details]
Paragraph style dialog using "Emacs" Gtk3 theme

With some gtk3 themes the vertical alignment of tabs overflow the dialog height requiring to scroll up/down to reach the other items. That's only possible per click on up/down but not via mouse scrolling or using the scrollbar, which makes it hard to reach the upper/lower items from the other side.

Version: 6.3.0.0.alpha0+
Build ID: 9c56e63c434be69d94a81078b7d5491a5775c8e0
CPU threads: 8; OS: Linux 4.19; UI render: default; VCL: gtk3; 
Locale: en-US (en_US.UTF-8); UI-Language: en-US
Calc: threaded

LXQt / Gtk themes via KDE system settings: "Breeze" works (small tabs), "Emacs" doesn't (large tabs)
Comment 1 Heiko Tietze 2018-11-28 11:08:21 UTC
PS: There is no scrollbar, the highlighting of the active tab fooled me.
Comment 2 Heiko Tietze 2018-11-28 11:49:55 UTC
Caolan, the references are about switching tabs via scroll not talking about overflow. Scrolling should only show the upper/lower part of the menu and not change the selection.
Comment 3 Caolán McNamara 2018-11-28 12:10:37 UTC
The tab area isn't comprised of a full list of all the GtkLabels where the "missing" labels are merely clipped out above/below the visible area. It sets the visibility of the missing labels off, hiding the GtkLabels associated with the not-shown entries. So there isn't a "thing" there to scroll to show the extra GtkLabels, so that capacity isn't available within the constraints of using a unmodified GtkNotebook. (FWIW there is a right-click context menu which shows the full set of tabs)

What I can offer is adding scrolling support to the notebook so it flips to next next tab in the direction of the scroll which allows flipping through them without multiple clicking.
Comment 4 Heiko Tietze 2018-11-28 12:31:45 UTC
(In reply to Caolán McNamara from comment #3)
> What I can offer is adding scrolling support to the notebook so it flips to
> next next tab in the direction of the scroll which allows flipping through
> them without multiple clicking.

You mean like what was dropped from the GtkNotebook as stated in the references? Can we put a scrollarea around the menu? Or adjust the dialog height?
Comment 5 Caolán McNamara 2018-11-28 13:00:05 UTC
a) You mean like what was dropped from the GtkNotebook as stated in the references?
yeah, like that, I'll merge in a bit and you can see it in action

b) Can we put a scrollarea around the menu?
no, there's no real access to the notebook internals, and even if we did wedge an intermediate widget in there the labels are not actually visible in order to scroll them. They are not clipped out of the view, they're set to invisible.

c) Or adjust the dialog height?
The style dialog in impress/draw has 16 tabs so, no matter what height tweaking goes on, there will be cases where they just don't all fit in either one column or one row.

If we can't live with the GtkNotebook then we'll have to replace it with some bodge of our own creation bringing back multi-decker tabs and be done with it.
Comment 6 Commit Notification 2018-11-28 13:36:33 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/+/f6e0212285f48beab3c47a00e5b2f9549654a066%5E%21

Resolves: tdf#121752 let scroll wheel change active notebook tab

It will be available in 6.3.0.

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

Affected users are encouraged to test the fix and report feedback.
Comment 7 Heiko Tietze 2018-11-28 13:57:30 UTC
(In reply to Caolán McNamara from comment #5)
> a) You mean like what was dropped from the GtkNotebook as stated in the
> references?
> yeah, like that, I'll merge in a bit and you can see it in action

Not compliant with Gnome style but at least this solution allows to quickly go through the list. Thanks for the patch!
Comment 8 Commit Notification 2018-11-28 19:48:59 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-6-2":

https://git.libreoffice.org/core/+/f761968bdd609267add6c968d62fffee1d9ee9e7%5E%21

Resolves: tdf#121752 let scroll wheel change active notebook tab

It will be available in 6.2.0.1.

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

Affected users are encouraged to test the fix and report feedback.