D26572: Always render checkbox/radiobutton background

Noah Davis noreply at phabricator.kde.org
Fri Jan 10 19:30:27 GMT 2020


ndavis created this revision.
ndavis added reviewers: VDG, Breeze.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
ndavis requested review of this revision.

REVISION 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?).

REPOSITORY
  R31 Breeze

BRANCH
  checkbox-radiobutton-background (branched from master)

REVISION DETAIL
  https://phabricator.kde.org/D26572

AFFECTED FILES
  .clangd/index/breeze.h.4FF33B56EAE2D7BA.idx
  .clangd/index/breeze.h.7B10C7466ADC2AA0.idx
  .clangd/index/breezeaddeventfilter.cpp.D0E662BB28BE244D.idx
  .clangd/index/breezeaddeventfilter.h.9BABBE41CDB0D66F.idx
  .clangd/index/breezeanimation.cpp.275B156AFAB98527.idx
  .clangd/index/breezeanimation.h.693D1D99A9910A4B.idx
  .clangd/index/breezeanimationdata.cpp.4317A521E2DE2E2F.idx
  .clangd/index/breezeanimationdata.h.BC8F15C60A3034AB.idx
  .clangd/index/breezeanimations.cpp.C3E8FECE039B9FC5.idx
  .clangd/index/breezeanimations.h.5192379C11257929.idx
  .clangd/index/breezebaseengine.cpp.E83D566AFC278B4E.idx
  .clangd/index/breezebaseengine.h.505F11F7C6A87C62.idx
  .clangd/index/breezeblurhelper.cpp.AEC559F830AF17CC.idx
  .clangd/index/breezeblurhelper.h.C94B6F166C77187E.idx
  .clangd/index/breezeboxshadowrenderer.cpp.786229CDEA661D34.idx
  .clangd/index/breezeboxshadowrenderer.h.BC29F28B1740A3FC.idx
  .clangd/index/breezebusyindicatordata.cpp.1D6336C113AA80C6.idx
  .clangd/index/breezebusyindicatordata.h.DCD0DB12FADFCD79.idx
  .clangd/index/breezebusyindicatorengine.cpp.18A08078CD46CED1.idx
  .clangd/index/breezebusyindicatorengine.h.F624C75A30174FFC.idx
  .clangd/index/breezebutton.cpp.90886A3EBA068FEF.idx
  .clangd/index/breezebutton.h.530A068407DE2943.idx
  .clangd/index/breezeconfigwidget.cpp.50BB1F341C21C81E.idx
  .clangd/index/breezeconfigwidget.h.6F970B64E9C4907B.idx
  .clangd/index/breezedatamap.h.1C2EC78CB6B70291.idx
  .clangd/index/breezedecoration.cpp.D8E265288DDAC43D.idx
  .clangd/index/breezedecoration.h.A5778114F9E22002.idx
  .clangd/index/breezedetectwidget.cpp.EA9486E12A28BD5F.idx
  .clangd/index/breezedetectwidget.h.E2628B233F59D17F.idx
  .clangd/index/breezedialdata.cpp.35842EB928B480E0.idx
  .clangd/index/breezedialdata.h.AAEAD6CE0E86858C.idx
  .clangd/index/breezedialengine.cpp.4AD170FD3E70705B.idx
  .clangd/index/breezedialengine.h.3B19DD1F09077A0B.idx
  .clangd/index/breezeenabledata.cpp.D4493FE613990E6E.idx
  .clangd/index/breezeenabledata.h.D82CACA43D4D2295.idx
  .clangd/index/breezeexceptiondialog.cpp.6F9302774CF68C34.idx
  .clangd/index/breezeexceptiondialog.h.CD37D1206C6E2A0F.idx
  .clangd/index/breezeexceptionlist.cpp.2F7B4D10845DF367.idx
  .clangd/index/breezeexceptionlist.h.94D46BB9AE84A9CA.idx
  .clangd/index/breezeexceptionlistwidget.cpp.A9EE923843C03A49.idx
  .clangd/index/breezeexceptionlistwidget.h.AE38C771A5426EEE.idx
  .clangd/index/breezeexceptionmodel.cpp.BAA536AF418E6C15.idx
  .clangd/index/breezeexceptionmodel.h.91F5C64C32658FD8.idx
  .clangd/index/breezeframeshadow.cpp.B6BDDD99CEE326A3.idx
  .clangd/index/breezeframeshadow.h.F5B9EF8E98711482.idx
  .clangd/index/breezegenericdata.cpp.885FE94E6FF9E89E.idx
  .clangd/index/breezegenericdata.h.897C9E80FE921A2C.idx
  .clangd/index/breezeheaderviewdata.cpp.11F02F991FA17AC5.idx
  .clangd/index/breezeheaderviewdata.h.0BEE45C48B1B955E.idx
  .clangd/index/breezeheaderviewengine.cpp.FB9805E2FAB8BC8D.idx
  .clangd/index/breezeheaderviewengine.h.C88453BF3AF1A052.idx
  .clangd/index/breezehelper.cpp.3C462F86BFF5E5A0.idx
  .clangd/index/breezehelper.h.E38F1B4A9A26E28E.idx
  .clangd/index/breezeitemmodel.cpp.84413A312586CA51.idx
  .clangd/index/breezeitemmodel.h.7D0F974D26694300.idx
  .clangd/index/breezelistmodel.h.8B7D38E8B751D201.idx
  .clangd/index/breezemdiwindowshadow.cpp.280BE053A40C011A.idx
  .clangd/index/breezemdiwindowshadow.h.C2175FF1D49039F1.idx
  .clangd/index/breezemnemonics.cpp.EAEBB3411BAF9A5D.idx
  .clangd/index/breezemnemonics.h.355D80624A3E15D4.idx
  .clangd/index/breezepropertynames.cpp.E2389F07C3E61543.idx
  .clangd/index/breezepropertynames.h.A31791E8DAD35DEF.idx
  .clangd/index/breezescrollbardata.cpp.6AB2BC04084A6E9C.idx
  .clangd/index/breezescrollbardata.h.757AF4C9E13D9096.idx
  .clangd/index/breezescrollbarengine.cpp.6E3A3059FC5041C1.idx
  .clangd/index/breezescrollbarengine.h.7B1BFDEF270906E5.idx
  .clangd/index/breezesettingsprovider.cpp.7269A737CBA450D6.idx
  .clangd/index/breezesettingsprovider.h.276FEB6BFF2527D8.idx
  .clangd/index/breezeshadowhelper.cpp.5683ECBD133DFE7C.idx
  .clangd/index/breezeshadowhelper.h.4BD4EC4A995B0689.idx
  .clangd/index/breezesizegrip.cpp.FC68DA193A1431EB.idx
  .clangd/index/breezesizegrip.h.956D54695E10038A.idx
  .clangd/index/breezespinboxdata.cpp.00A4C84ED065EA6A.idx
  .clangd/index/breezespinboxdata.h.F4C6DE5EE901F3DB.idx
  .clangd/index/breezespinboxengine.cpp.D9D49602BA35761E.idx
  .clangd/index/breezespinboxengine.h.72C3875239E51B9A.idx
  .clangd/index/breezesplitterproxy.cpp.3165B6819AC84749.idx
  .clangd/index/breezesplitterproxy.h.1E3367F82813CB5A.idx
  .clangd/index/breezestackedwidgetdata.cpp.12C53B58511B5628.idx
  .clangd/index/breezestackedwidgetdata.h.8B76B85FFF9B8593.idx
  .clangd/index/breezestackedwidgetengine.cpp.83AAC16F892DD0BB.idx
  .clangd/index/breezestackedwidgetengine.h.6DDAA5C80463F4DD.idx
  .clangd/index/breezestyle.cpp.D55EE06D4FFD1EC8.idx
  .clangd/index/breezestyle.h.725BEA00CFEF0B06.idx
  .clangd/index/breezestyleconfig.cpp.9A03CEE2A496D0B9.idx
  .clangd/index/breezestyleconfig.h.2F74CDA02B255AB0.idx
  .clangd/index/breezestyleconfigmodule.cpp.6EB58B07C6351162.idx
  .clangd/index/breezestyleconfigmodule.h.09D73A12B9059F20.idx
  .clangd/index/breezestyleplugin.cpp.F26F14A37514E4D1.idx
  .clangd/index/breezestyleplugin.h.90F06B839763B950.idx
  .clangd/index/breezetabbardata.cpp.1A039D935B690C2F.idx
  .clangd/index/breezetabbardata.h.CB1AC7670CB920FE.idx
  .clangd/index/breezetabbarengine.cpp.FA6E6AE84CC7AB01.idx
  .clangd/index/breezetabbarengine.h.367912CE325769F9.idx
  .clangd/index/breezetileset.cpp.511AB81907809F73.idx
  .clangd/index/breezetileset.h.153A483EF79538E9.idx
  .clangd/index/breezetoolboxengine.cpp.05B6AAA34CE11A94.idx
  .clangd/index/breezetoolboxengine.h.11F527E5493A38FD.idx
  .clangd/index/breezetransitiondata.cpp.616EABF0DD500321.idx
  .clangd/index/breezetransitiondata.h.CC7F1C5C59E8F8BD.idx
  .clangd/index/breezetransitionwidget.cpp.3E97507618EBAE91.idx
  .clangd/index/breezetransitionwidget.h.B51A3E983B874D00.idx
  .clangd/index/breezewidgetexplorer.cpp.3029CC6756AD3A6D.idx
  .clangd/index/breezewidgetexplorer.h.9CE77D10E9F2D708.idx
  .clangd/index/breezewidgetstatedata.cpp.F2D4E8996DE27CE9.idx
  .clangd/index/breezewidgetstatedata.h.E47B172022AB1247.idx
  .clangd/index/breezewidgetstateengine.cpp.E0F6DE02CEDE08BE.idx
  .clangd/index/breezewidgetstateengine.h.3B3043E5B7F2735A.idx
  .clangd/index/breezewindowmanager.cpp.F8A96D8829FEE6B1.idx
  .clangd/index/breezewindowmanager.h.626AFAAEA98B6F6C.idx
  .clangd/index/main.cpp.1050EE6306A54994.idx
  .clangd/index/main.cpp.5813F9DF676A4A90.idx
  kstyle/breezestyle.cpp

To: ndavis, #vdg, #breeze
Cc: plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20200110/206be044/attachment-0001.html>


More information about the Plasma-devel mailing list