Review Request 128880: [OS X] use a different tab bar widget for tabbed documents

René J.V. Bertin rjvbertin at gmail.com
Sat Sep 10 20:40:59 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128880/
-----------------------------------------------------------

(Updated Sept. 10, 2016, 10:40 p.m.)


Review request for KDE Software on Mac OS X and KDevelop.


Changes
-------

A slightly more elaborate version that sets `documentMode`, `usesScrollButtons` and `elideMode=Qt::ElideNone`. The latter two are the default settings almost all widget styles.
These changes cater to the case where KDevelop runs against a Qt install that doesn't have the Fusion style installed. The resulting fallback look is quite different, but the tabbar retains the expected behaviour: tab text isn't truncated, and the window isn't enlarged to make space for new tabs when further truncation isn't possible.


Repository: kdevplatform


Description
-------

This is a potential fix for an issue raised on BKO: https://bugs.kde.org/show_bug.cgi?id=363473

It's also the most complete/implementation:
- applies only when the Macintosh widget style is being used
- if so, creates a QStyle object for the Fusion widget style
- when successful, sets the `Sublime::ContainerTabBar` to use that style

This solves all issues stemming from Qt's use of a "native" widget that is intended only for use in dialogs and not in tabbed document interfaces.

In my testing, the `ContainerTabBar` ctor is called only rarely, apparently only when changing views (e.g. code -> patch review and back again, or code -> debug). If that observation is correct, use of a global `qTabBarStyle` variable is justified (but more elegant solutions might exist). This observation also justifies (IMHO) the check for the active application style rather than using an `#ifdef Q_OS_OSX` or even applying the fix across all platforms and application styles. That is certainly a possibility that doesn't lead to any shocking style mismatches in my eyes. It does cause some loss of compactness when using my QtCurve settings, which is why I added the style check; a small cost as a gesture to users of a highly configurable style.

There is still some weirdness behind the tabs which looks like a misaligned well or frame. I'd love to get that right too.


Diffs (updated)
-----

  sublime/container.cpp b04f6c3 

Diff: https://git.reviewboard.kde.org/r/128880/diff/


Testing
-------

See https://bugsfiles.kde.org/attachment.cgi?id=99160 (unpatched) and the last series of screenshots attached to the ticket on BKO. They show the fix applied to various styles on OS X.


Thanks,

René J.V. Bertin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20160910/db7534e3/attachment.html>


More information about the kde-mac mailing list