1. 23 Aug, 2020 1 commit
  2. 11 Aug, 2020 2 commits
  3. 10 Aug, 2020 1 commit
  4. 03 Aug, 2020 1 commit
    • Martin Tobias Holmedahl Sandsmark's avatar
      Load and use global animation settings · 20dd5b94
      Martin Tobias Holmedahl Sandsmark authored
      Summary:
      In addition to the specific Breeze animation settings, KDE has "global" animation settings primarily used for `Qt::UIEffect`s like `Qt::UI_AnimateMenu`, `Qt::UI_AnimateCombo`, `Qt::UI_AnimateTooltip` and `Qt::UI_AnimateToolBox`.
      
      This patch ensures that Breeze use and respect those settings, which both harmonizes with other styles (if `QGuiApplication::desktopSettingsAware()` is true).
      
      Test Plan:
      Turn animations on and off in kdeglobals, and see animations turn off and on when using Breeze.
      
      Also makes https://phabricator.kde.org/D17732 work properly with breeze.
      
      Reviewers: #breeze, ngraham
      
      Reviewed By: #breeze, ngraham
      
      Subscribers: meven, cblack, davidedmundson, ngraham, hpereiradacosta, ndavis, plasma-devel, #breeze
      
      Tags: #plasma, #breeze
      
      Differential Revision: https://phabricator.kde.org/D28651
      20dd5b94
  5. 29 Jul, 2020 1 commit
  6. 19 May, 2020 1 commit
    • Nate Graham's avatar
      [QStyle] Make menu titles look less like menu items · 9b5fd370
      Nate Graham authored
      Summary:
      The look of Breeze menu titles has always slightly bothered me since they have the same
      visual style and weighting as items, so they look clickable even though they aren't, and
      they don't really do a very good job of separating sections, as seems to be their purpose.
      This patch my my attempt to remedy the situation by making them look more "title-like"
      and have greater visual distinctiveness from the items above and below them.
      
      Test Plan:
      Plasma Task Manager item context menu, before: {F8252758}
      Plasma Task Manager context menu, after: {F8253825}
      
      KMoreTools menu, before: {F8252757}
      KMoreTools menu, after: {F8253827}
      
      Reviewers: #vdg, #breeze, niccolove, ndavis
      
      Reviewed By: #vdg, #breeze, niccolove, ndavis
      
      Subscribers: cblack, cfeck, ndavis, niccolove, broulik, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D29081
      9b5fd370
  7. 24 Apr, 2020 1 commit
  8. 14 Apr, 2020 1 commit
  9. 07 Apr, 2020 1 commit
    • David Redondo's avatar
      Apply the correct palette to icons · 582f5eba
      David Redondo authored
      Summary:
      Our icons can be recolored. However there is a difference between custom colors
      on widgets and icons. We will respect the palette but KIconLoader that creates
      the icon pixmaps operates on an application wide palette basis. This can create
      miscolored icons when a widget has a custom palette. A helper function is
      introduced to load the pixmaps that switches the palette of the global
      KIconLoader if necessary and resets it appropriately.
      
      Test Plan:
      Before:
      {F8205856}
      After:
      {F8205857}
      
      Reviewers: #breeze, ndavis, cblack, hpereiradacosta, mart
      
      Reviewed By: cblack, mart
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D28433
      582f5eba
  10. 22 Jan, 2020 1 commit
    • Vlad Zahorodnii's avatar
      [kstyle] Drop Qt 4 style plugin · 2df91ac9
      Vlad Zahorodnii authored
      Summary:
      KWindowSystem cannot be used in the Qt 4 style plugin. On the other hand,
      we need to use KWindowSystem to make QWidget-based internal clients in
      KWin cast drop-shadows.
      
      Another problem with the Qt 4 style plugin is that some distributions
      have already dropped Qt 4, so one has to build it first in order to
      verify that his or her change works with Qt 4.
      
      Given maintenance burden and the fact that Qt 6 is around the corner,
      this change drops the Qt 4 style plugin.
      
      Reviewers: #kwin, #plasma, davidedmundson
      
      Reviewed By: #kwin, #plasma, davidedmundson
      
      Subscribers: davidedmundson, mart, plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T12496
      
      Differential Revision: https://phabricator.kde.org/D26476
      2df91ac9
  11. 21 Jan, 2020 2 commits
    • Marco Martin's avatar
      Center only during drawing, not the hit rects · 650f2cef
      Marco Martin authored
      Summary:
      center only the drawing of the components but never modify the
      subcontrolrects (and hit targets)
      
      BUG: 416348
      FIXED-IN: 5.18.0
      
      Test Plan:
      now the handle activates immediately without one single pixel
      margin
      
      Reviewers: #vdg, hpereiradacosta, ndavis
      
      Reviewed By: #vdg, ndavis
      
      Subscribers: ngraham, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26783
      650f2cef
    • Marco Martin's avatar
      Center only during drawing, not the hit rects · 5a447b59
      Marco Martin authored
      Summary:
      center only the drawing of the components but never modify the
      subcontrolrects (and hit targets)
      
      BUG: 416348
      FIXED-IN: 5.18.0
      
      Test Plan:
      now the handle activates immediately without one single pixel
      margin
      
      Reviewers: #vdg, hpereiradacosta, ndavis
      
      Reviewed By: #vdg, ndavis
      
      Subscribers: ngraham, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26783
      5a447b59
  12. 15 Jan, 2020 4 commits
    • Noah Davis's avatar
      Use Text instead of WindowText for scrollbar border · d336cca2
      Noah Davis authored
      Hugo Pereira Da Costa said Text is better because scrollbar are usually
      rendered over item views.
      d336cca2
    • Noah Davis's avatar
      Fix hardcoded scrollbar separator width · e606b264
      Noah Davis authored
      e606b264
    • Marco Martin's avatar
      show a thin separator between view and scrollbar · df134061
      Marco Martin authored
      Summary:
      This look makes listviews look way better, not having the selected
      items look truncated into nothingness.
      Always display "big" handles, due to the numerous complaints of the slim handles not being obvious
      
      Test Plan:
      Before:
      {F7882628}
      After:
      {F7882624}
      
      Reviewers: #plasma, #breeze, #vdg, ngraham, hpereiradacosta
      
      Reviewed By: #vdg, ngraham, hpereiradacosta
      
      Subscribers: ndavis, ahiemstra, hpereiradacosta, mthw, plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T9126
      
      Differential Revision: https://phabricator.kde.org/D26655
      df134061
    • Marco Martin's avatar
      Make the scrollbar always thick · 6694eb7a
      Marco Martin authored
      Summary:
      Second part of D26655, removes the thin scrollbar and makes it always thick
      to implement the desired design
      
      BUG: 396747
      FIXED-IN: 5.18.0
      
      Test Plan: {F7884060}
      
      Reviewers: #plasma, #vdg, #breeze, ngraham, ndavis
      
      Reviewed By: #vdg, #breeze, ngraham, ndavis
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T9126
      
      Differential Revision: https://phabricator.kde.org/D26685
      6694eb7a
  13. 13 Jan, 2020 3 commits
    • Noah Davis's avatar
      Make checkboxes/radiobuttons use Window Background in windows and View Backround in lists · 3e9cd8d1
      Noah Davis authored
      Summary: If the widget has an item view parent, use the View Background color. Otherwise, use Window Background.
      
      Test Plan: {F7881597, size=full}
      
      Reviewers: #vdg, #breeze, hpereiradacosta, ngraham
      
      Reviewed By: #vdg, hpereiradacosta
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26639
      3e9cd8d1
    • Noah Davis's avatar
      3577d15f
    • 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
  14. 04 Jan, 2020 1 commit
  15. 29 Dec, 2019 1 commit
  16. 21 Dec, 2019 1 commit
    • 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
  17. 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
  18. 10 Dec, 2019 1 commit
  19. 19 Oct, 2019 1 commit
  20. 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
  21. 07 Oct, 2019 1 commit
  22. 17 Sep, 2019 1 commit
  23. 17 Aug, 2019 1 commit
  24. 16 Aug, 2019 3 commits
  25. 15 Aug, 2019 1 commit
    • Noah Davis's avatar
      Fix width and separator of ToolButtonComplexControl outline w/ dropdown menu · b43e19e3
      Noah Davis authored
      Summary: Apparently, the code to adjust the rectangle when a menu is present is what was causing the problem. Also added an if statement to move the separator with the button when sunken.
      
      Test Plan:
      Old:
      {F7248297, size=full}
      {F7248298, size=full}
      
      New:
      {F7248300, size=full}
      {F7248301, size=full}
      
      Reviewers: #vdg, #breeze, ngraham
      
      Reviewed By: #vdg, #breeze, ngraham
      
      Subscribers: ngraham, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D23169
      b43e19e3
  26. 06 Aug, 2019 1 commit
  27. 05 Jul, 2019 1 commit
    • Hugo Pereira Da Costa's avatar
      Remove unneeded 1 pixel margin around side panels · d6b2a3a3
      Hugo Pereira Da Costa authored
      Summary:
      Remove unneeded 1 pixel margin around side panels, namely QAbstractScrollArea with property _kde_side_panel_view set to true.
      In order to be able to still draw a vertical line on the side of the list, a one pixel margin is kept, on this side only, using SE_FrameContent subelementRect
      The viewport background is kept to QPalette::Base, as for regular lists.
      The logic in polishScrollArea has been adjusted accordingly
      
      Differential Revision: https://phabricator.kde.org/D22138
      d6b2a3a3
  28. 28 Jun, 2019 1 commit
    • Hugo Pereira Da Costa's avatar
      - fixed "missing override" warnings · 62ac0c18
      Hugo Pereira Da Costa authored
      - removed useless "virtual" specifications
      - removed useless destructors
      - cleanup variable initializations
      - moved protected methods as private when possible for better encapsulation
      62ac0c18
  29. 07 Jun, 2019 2 commits
    • Sebastian Kügler's avatar
      re-read color palettes when application color changes · 9d6c7c7f
      Sebastian Kügler authored
      Summary:
      Without this patch, changing the application color scheme from system
      settings only affects some widgets. Notably, checkboxes highlighting
      colors stays the old color, leading to a hodge-podge color scheme and
      bad contrast on some items.
      
      The breeze QStyle caches the colors read via KSharedConfig, so it needs
      to re-read the configuration when the application color changes.
      QApplication emits a signal (originating in KGlobalSettings), which we
      can react to.
      
      This fixes the coloring of various widgets in breeze right after color
      changes.
      
      BUG:408416
      FIXED-IN: 5.16
      
      Those I haven't tested, but look quite suspicious (so please re-test):
      CCBUG:382505
      CCBUG:355295
      
      Test Plan:
      1. open kcmshell5 colors
      2. change to a theme with a different highlight color
      3. apply
      * without patch: checkbox in color KCM (and a whole lot of other
        widgets all over the place) don't change colors
      * with patch: colors change as expected
      
      Reviewers: #plasma, broulik, sitter
      
      Reviewed By: #plasma, broulik, sitter
      
      Subscribers: sitter, cfeck, broulik, zzag, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D21646
      9d6c7c7f
    • Sebastian Kügler's avatar
      re-read color palettes when application color changes · 092d4460
      Sebastian Kügler authored
      Summary:
      Without this patch, changing the application color scheme from system
      settings only affects some widgets. Notably, checkboxes highlighting
      colors stays the old color, leading to a hodge-podge color scheme and
      bad contrast on some items.
      
      The breeze QStyle caches the colors read via KSharedConfig, so it needs
      to re-read the configuration when the application color changes.
      QApplication emits a signal (originating in KGlobalSettings), which we
      can react to.
      
      This fixes the coloring of various widgets in breeze right after color
      changes.
      
      BUG:408416
      FIXED-IN: 5.16
      
      Those I haven't tested, but look quite suspicious (so please re-test):
      CCBUG:382505
      CCBUG:355295
      
      Test Plan:
      1. open kcmshell5 colors
      2. change to a theme with a different highlight color
      3. apply
      * without patch: checkbox in color KCM (and a whole lot of other
        widgets all over the place) don't change colors
      * with patch: colors change as expected
      
      Reviewers: #plasma, broulik, sitter
      
      Reviewed By: #plasma, broulik, sitter
      
      Subscribers: sitter, cfeck, broulik, zzag, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D21646
      092d4460