[ScrollViewStyle] Evaluate frameVisible property
ClosedPublic

Authored by romangg on Feb 7 2017, 10:32 AM.

Details

Summary

ScrollArea has a property for en/disabling the frame provided by its style. Until now the property wasn't evaluated, which besides making it impossible to deactivate the frame leaded to visual artifacts (in @hein's simple menu flashing frame at the bottom of the page list).

Test Plan

Tested with simple menu.

Diff Detail

Repository
R242 Plasma Framework (Library)
Lint
Lint Skipped
Unit
Unit Tests Skipped
romangg updated this revision to Diff 10997.Feb 7 2017, 10:32 AM
romangg retitled this revision from to [ScrollViewStyle] Evaluate frameVisible property.
romangg updated this object.
romangg edited the test plan for this revision. (Show Details)
romangg added reviewers: Plasma, mart, hein.
romangg set the repository for this revision to R242 Plasma Framework (Library).
romangg added a project: Plasma.
romangg added a subscriber: hein.
Restricted Application added a project: Frameworks. · View Herald TranscriptFeb 7 2017, 10:32 AM
Restricted Application added subscribers: Frameworks, plasma-devel. · View Herald Transcript
mart accepted this revision.Feb 7 2017, 10:35 AM
mart edited edge metadata.
This revision is now accepted and ready to land.Feb 7 2017, 10:35 AM
hein edited edge metadata.Feb 7 2017, 11:00 AM

IIUI this means scroll indicators are now disabled by default unless a UI sets frameVisible: true? Marco, is this what you +1'd?

Note: This patch changes the default. Since until now the frameVisible property wasn't evaluated the frames were always shown.

But since QtQuickControls ScrollView (i.e. Plasma Extra Components ScrollArea aswell) has set frameVisible to false by default, they are now not shown anymore.

Still it makes sense of course to evaluate the property.

-1

I don't get the overflow indicator mark anywhere anymore since frameVisible is false by default for Plasma ScrollView.

mart added a comment.Feb 7 2017, 11:07 AM

what about changing the default to true but still have the binding?

You mean in Plasma's ScrollArea? Would be ok for me. It's a rather random deviation from upstream's ScrollView though.

Is this ok for anyone else aswell?

romangg updated this revision to Diff 11003.Feb 7 2017, 11:25 AM
romangg edited edge metadata.

Set ScrollArea's frameVisible default to true additional in order to not change current implementations.

hein added a comment.Feb 7 2017, 11:59 AM

Is there some danger in this when using the component with a different theme that has visible frames?

Should the scroll indicators be tied to frame visibility at all? That seems dubious to me.

The scroll indicators are the frame component in the Breeze style. So they get replaced in any other style by the frame specified there. If you take a look at ScrollViewStyle.qml, the indicators are inside the frame component and the frame sides just change their opacity values

hein added a comment.Feb 7 2017, 12:40 PM

Aye. I think that's weird, but I'm guessing the Breeze style had no choice there.

Does defaulting the frames to on mean the bottom flash is back too or is that still fixed?

Can't comment on the ramifications of defaulting it to on + other themes ...

In D4473#83779, @hein wrote:

Aye. I think that's weird

I agree.

Does defaulting the frames to on mean the bottom flash is back too or is that still fixed?

Still fixed.

Can't comment on the ramifications of defaulting it to on + other themes ...

Well, it should be pretty minimal. Because in general the frame component is obviously meant as a decoration only. The Plasma style changes this (maybe in a weird way) by being dependent on the scroll posibilities and therefore acting as a scrolling indicator.

This revision was automatically updated to reflect the committed changes.