Review Request 128201: Improved StatusbarProgressDidget that looks better on OS X and Linux

René J.V. Bertin rjvbertin at gmail.com
Thu Jun 23 18:31:47 UTC 2016



> On June 22, 2016, 11:27 p.m., David Faure wrote:
> > shell/progresswidget/statusbarprogresswidget.cpp, line 112
> > <https://git.reviewboard.kde.org/r/128201/diff/5/?file=469366#file469366line112>
> >
> >     Yes this should certainly be fontMetrics().height()+2.
> >     
> >     My intent was certainly not to end up with a -6 magic value somewhere.
> >     
> >     We're not getting any closer to a platform-independent solution as I was trying to push towards (I still have the feeling this could be done without some object name comparison, by comparing the sizehint with the size of the contents), and I can't test this myself, so I'm giving up trying to get my idea through. Maybe I'm wrong and there's no better way after all.

I don't see how, but if you have a suggestion how to compare the *sizehint with the size of the contents* I'm more than will to have a look. But I'm not convinced, not as long as there are also differences in how the button icon and the button itself are sized and rendered.

What I could imagine doing is to evaluate the progressbar height for 2 or more font sizes; that's comparable to David's `qmin` expression above except that it only takes the minimum if the progressbar doesn't show text. If the height remains fixed we could then presume that we're using the macintosh style. But how is that less brittle than using a magic number? I have no way of knowing what other styles are also height independent (I seem to recall reading that the Vista or Win7+ styles are) and cannot test them. 

It might in fact be useful to do such a check because there's no point in sizing up the widget if it isn't going to show a text label (or if it uses a fixed typeface!). But a style that does that doesn't have to behave like the macintosh style in the other aspects (a highly configurable style like QtCurve could have a "no progressbar text label option"; it already has the option to use a bold typeface.


- René J.V.


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


On June 20, 2016, 12:56 p.m., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128201/
> -----------------------------------------------------------
> 
> (Updated June 20, 2016, 12:56 p.m.)
> 
> 
> Review request for KDevelop and David Faure.
> 
> 
> Repository: kdevplatform
> 
> 
> Description
> -------
> 
> I came across this old bit of code, judging from the use of the deprecated `Q_OS_MAC` token. 
> Some quick testing suggests that using `WA_LayoutUsesWidgetRect` achieves what I think is the intended effect without platform-specific code. (That platform test ought really check for using the `macintosh` widget style btw, rather than "are we running on OS X").
> 
> 
> Diffs
> -----
> 
>   shell/progresswidget/statusbarprogresswidget.cpp 1a32ea8 
> 
> Diff: https://git.reviewboard.kde.org/r/128201/diff/
> 
> 
> Testing
> -------
> 
> For now only on OS X, with the native theme as well as QtCurve, Breeze and Oxygen.
> 
> 
> File Attachments
> ----------------
> 
> OS X/Mac native *without* the patch
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/16/1498e8dc-4541-473b-b6db-2c2ae138cbc3__Screen_Shot_2016-06-17_at_00.17.17.png
> stock widget under Linux (same layout using Breeze)
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/17/dd352994-1753-4b33-a0d2-cd2a3132df48__progress-stock.png
> OS X/native with the new patch
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/8e6a0761-b760-4f41-be67-7f9ba7318349__Screen_Shot_2016-06-18_at_19.21.52.png
> OS X using QtCurve with the new patch
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/3535be4c-3034-493d-88c0-61ab9a13844d__Screen_Shot_2016-06-18_at_19.24.46.png
> Linux, Breeze, new patch
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/359d5f57-bdaa-45a7-a0b0-6acb5609459f__Screen_Shot_2016-06-18_at_19.16.19.png
> Linux, QtCurve, new patch
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/f5eb0902-884a-47e5-bf84-a3581a21bece__Screen_Shot_2016-06-18_at_19.14.17.png
> Linux, Oxygen, new patch
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/536d4f09-8409-4eb4-80ca-27d3f744d6a0__Screen_Shot_2016-06-18_at_19.16.56.png
> Linux, Breeze + Breeze icons, new patch
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/19/ee2d687e-69ea-493f-9ae4-87d90be614e2__progress-patched-breeze.png
> Linux, QtCurve + Breeze icons, new patch
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/19/7e3cfc5c-cb80-491c-b4d2-4d6f9c839a48__progress-patched-qtcurve.png
> Linux,Oxygen+Breeze icons, new patch
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/19/0b10d97d-3ba6-4d05-a663-3a03e29bc1c9__progress-patched-oxygen.png
> Linux, Breeze, new patch with maximumHeight from progressBar->sizeHint().height()
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/19/2a5b48bf-38f1-4ba9-a291-5de65537f8e1__progress-patched-breeze2.png
> X11, Breeze style + icons
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/20/346b2bdb-6577-416b-80ff-dc16ff4f5a27__Screen_Shot_2016-06-20_at_12.27.58.png
> X11, Oxygen style, Breeze icons
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/20/9693a989-5e2b-476a-bf61-90bff8532cef__Screen_Shot_2016-06-20_at_12.29.13.png
> X11, QtCurve style, Breeze icons
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/20/8ef04667-1ef7-4a5f-915b-364a90dbca4a__Screen_Shot_2016-06-20_at_12.30.04.png
> X11, Oxygen style & icons
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/20/0ab45b09-ba1e-4987-b431-c7b0869e23a2__Screen_Shot_2016-06-20_at_12.31.17.png
> X11, Oxygen style & icons, expanded state
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/20/b43b065e-7b1f-4c3f-8548-0c60842c81c6__xzHbU.png
> X11, Breeze, no "additional adjustments"
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/20/4801a619-3092-4b51-8549-36867189fdd9__Screen_Shot_2016-06-20_at_12.48.34.png
> X11, Oxygen, taller progbar due to "no additional adjustments"
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/20/f9db48ac-4a0d-4574-8daf-bcfd3781baf0__Screen_Shot_2016-06-20_at_12.48.56.png
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20160623/4649cb63/attachment.html>


More information about the KDevelop-devel mailing list