use a different tab bar widget for tabbed documents
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. REVIEW: 128880 BUG: 363473
parent
088e4ab9
Please register or sign in to comment