+ // We need side-padding when the full row is a click target to still be able to not click items.
+ // So here the default padding is enabled when the full row highlight is enabled.
+ if (m_entireRow->isChecked() && !DetailsModeSettings::highlightEntireRow()) {
+ auto detailsModeSettings = DetailsModeSettings::self();
+ const bool usedDefaults = detailsModeSettings->useDefaults(true);
+ const uint defaultSidePadding = detailsModeSettings->sidePadding();
+ detailsModeSettings->useDefaults(usedDefaults);
+ if (DetailsModeSettings::sidePadding() < defaultSidePadding) {
+ DetailsModeSettings::setSidePadding(defaultSidePadding);
+ }
+ } else if (!m_entireRow->isChecked() && DetailsModeSettings::highlightEntireRow()) {
+ // The full row click target is disabled so now most of the view area can be used to interact
+ // with the view background. Having an extra side padding has no usability benefit in this case.
+ DetailsModeSettings::setSidePadding(0);
+ }
+ DetailsModeSettings::setHighlightEntireRow(m_entireRow->isChecked());