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

René J.V. Bertin rjvbertin at gmail.com
Sat Jun 18 17:47:36 UTC 2016


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

(Updated June 18, 2016, 7:47 p.m.)


Review request for KDevelop.


Changes
-------

I've spent an afternoon tweaking the StatusbarProgressWidget so it conforms better (IMHO) to the criterium of being the same height as the progressbar. Not easy, as not all widget styles allow control over the progressbar height: on OS X it's considerably taller than `maximumHeight` whereas with Breeze it's considerably thinner.
I think the result isn't too bad though of course finding a solution that works with all tested styles doesn't make the code less complex.

On OS X I didn't find a way to align the pushbutton and the progressbar correctly, so I used `QPushButton::setFlat()` to turn the button into a true icon-only widget which is a bit more in lign with what's usual on the platform. It would be trivial to do this on all platforms; Oxygen already does it (for me) when not hovering over the button, and on Breeze it would probably look better.


Summary (updated)
-----------------

Improved StatusbarProgressDidget that looks better on OS X and Linux


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 (updated)
-----

  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 (updated)
----------------

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


Thanks,

René J.V. Bertin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20160618/366581a6/attachment-0001.html>


More information about the KDevelop-devel mailing list