1. 13 Jan, 2020 1 commit
    • Noah Davis's avatar
      Always render checkbox/radiobutton background · 98781f18
      Noah Davis authored
      Summary:
      QQC2/Kirigami checkboxes and radio buttons can turn invisible when rendered over a selected item because their background isn't rendered and they don't have any hacks to detect when they're being rendered over a selected list item.
      
      While the problem isn't technically a Breeze QStyle problem and a hack could be made for QQC2/Kirigami, I don't think there's any great style benefit to not rendering a background for the checkbox. I suppose there is a performance benefit to not rendering a checkbox background except for when the background is different from normal. In my testing with GammaRay's paint analyzer, the checkbox background has a cost less than 5%. The radiobutton background has a cost of 15-20% (maybe it can be improved?).
      
      Reviewers: #vdg, #breeze, #plasma, hpereiradacosta, ngraham
      
      Reviewed By: #vdg, hpereiradacosta, ngraham
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26572
      98781f18
  2. 06 Jan, 2020 1 commit
  3. 05 Jan, 2020 1 commit
  4. 04 Jan, 2020 2 commits
  5. 30 Dec, 2019 2 commits
  6. 29 Dec, 2019 6 commits
  7. 28 Dec, 2019 1 commit
    • Noah Davis's avatar
      Add standard pen widths and replace hardcoded numbers · c16eb7a4
      Noah Davis authored
      Summary:
      The replaced numbers are directly related to the width of the pen.
      This patch likely doesn't replace all of the numbers that could be replaced.
      It just replaces the ones I'm currently certain of being related to pen width.
      The goal is to make the code show the intent of the designer.
      
      Reviewers: #breeze, #plasma, hpereiradacosta, ngraham
      
      Reviewed By: #breeze, hpereiradacosta, ngraham
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26217
      c16eb7a4
  8. 26 Dec, 2019 2 commits
  9. 25 Dec, 2019 1 commit
  10. 21 Dec, 2019 2 commits
    • Noah Davis's avatar
      Make arrows pixel perfect · bda1b374
      Noah Davis authored
      bda1b374
    • Noah Davis's avatar
      Revert "Revert "Reduce the indicator arrow size for press-and-hold menus in QToolButtons"" · 288c3b85
      Noah Davis authored
      Summary:
      This reverts commit c9aa5358.
      
      Also makes the small down arrow pixel perfect. I will make the other arrows pixel perfect in a separate patch.
      
      After D19890 (27bcd1be) was reopened, there was some discussion about the reason it was reverted and the problems it introduced. It is possible that an icon could partially cover this arrow, but it seemed uncommon enough that ignoring the problem was deemed acceptable. The type of control that this arrow is used for is also pretty uncommon because it does not feel very good to use with a mouse or touchpad.
      
      Reviewers: #vdg, #breeze, #plasma, hpereiradacosta, ngraham
      
      Reviewed By: #vdg, #breeze, ngraham
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26139
      288c3b85
  11. 19 Dec, 2019 1 commit
    • Noah Davis's avatar
      Add shadow rendering helper functions · 4a78561a
      Noah Davis authored
      Summary:
      This patch makes other helper functions reuse more code by calling these shadow rendering functions instead of defining their own shadows.
      
      The shadows are perfectly shaped, tested up to 8x scaling.
      Without this patch, the radius of the shadows for checkboxes is slighly too wide and there is a gap between the inside edge of the radio button shadow and the outside edge of the radio button.
      Shadow rendering performance has also been improved a bit.
      
      Test Plan:
      run `QT_SCALE_FACTOR=8 oxygen-demo5` and examine the shadows. You can try higher scaling levels, but that's overkill.
      
      8x scaling
      
      before: {F7824689, size=full} {F7824691, size=full}
      
      after: {F7824692, size=full} {F7824693, size=full}
      
      Reviewers: #breeze, hpereiradacosta, #plasma
      
      Reviewed By: hpereiradacosta
      
      Subscribers: ngraham, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26094
      4a78561a
  12. 18 Dec, 2019 1 commit
  13. 14 Dec, 2019 2 commits
    • Noah Davis's avatar
    • Noah Davis's avatar
      Fix rubberband selection outline position · 80650e0e
      Noah Davis authored
      Summary:
      Before this patch, the outline of the rubberband selection control was down and to the right half a pixel too far.
      This wasn't visible at 1x scaling because of the lack of antialiasing, but resulted in the top/left being too thin and bottom/right being too thick on high DPI displays.
      To fix the issue, I enabled antialiasing and moved all sides inwards by half a pixel so that the outline would be pixel perfect.
      I also added a function to get a QRectF with the correct size and position for rectangles with pen strokes.
      
      Test Plan:
      - Open dolphin and make a selection with the mouse
      - Go to a Folder View Plasma widget and make a selection with the mouse
      
      2x scaling
      before: {F7818498, size=full}
      after: {F7818500, size=full}
      
      3x scaling
      before: {F7818484}
      after: {F7818483}
      
      Reviewers: #vdg, #breeze, #plasma, hpereiradacosta, broulik
      
      Reviewed By: hpereiradacosta
      
      Subscribers: broulik, plasma-devel
      
      Tags: #plasma, #breeze, #vdg
      
      Differential Revision: https://phabricator.kde.org/D26001
      80650e0e
  14. 10 Dec, 2019 2 commits
  15. 07 Dec, 2019 1 commit
  16. 06 Dec, 2019 1 commit
  17. 03 Dec, 2019 1 commit
  18. 29 Nov, 2019 1 commit
  19. 12 Nov, 2019 1 commit
  20. 08 Nov, 2019 1 commit
  21. 04 Nov, 2019 1 commit
    • David Edmundson's avatar
      Add KDEClangFormat cmake support · 4a6da365
      David Edmundson authored
      Summary:
      This allows devs to run: "make clang-format" and format all files easily
      using the preset KDE clang format style
      
      This patch adds support so devs can easily test the intended formatting
      now, it doesn't change the code yet.
      
      Doing an initial run to commit everything will happen later.
      
      Test Plan:
      Ran script
      git diff was full of amazingly cleaned code
      
      See D25134
      4a6da365
  22. 31 Oct, 2019 1 commit
  23. 29 Oct, 2019 1 commit
  24. 22 Oct, 2019 1 commit
  25. 19 Oct, 2019 1 commit
  26. 14 Oct, 2019 1 commit
    • Albert Astals Cid's avatar
      Micro optimizations · 993c96a0
      Albert Astals Cid authored
      Summary:
      Add some const & for things that return const & so there's no need to make a copy
      Add a std::move for a thing that we pass by copy and it's just saved in another variable
      
      Reviewers: zzag
      
      Reviewed By: zzag
      
      Subscribers: zzag, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D24614
      993c96a0
  27. 10 Oct, 2019 3 commits