Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Mouse wheel usage for plugin cards #1679

Open
pStyl3 opened this issue Jan 24, 2022 · 16 comments
Open

Improve Mouse wheel usage for plugin cards #1679

pStyl3 opened this issue Jan 24, 2022 · 16 comments

Comments

@pStyl3
Copy link
Member

pStyl3 commented Jan 24, 2022

Would it be possible so that the plugin card list can be moved by pressing down the mouse wheel? Pressing down the mouse wheel currently doesn't have an effect in the plugin card list.

Also, I think that the normal scrolling using the mouse wheel scrolls LOOTs right pane too much up and down at once. Here's a screenshot with the general information card being at the top, notice the placement of ccbgssse005-goldbrand.esl:
grafik

And here is one after I scrolled down once using the mouse wheel:
grafik

ccbgssse005-goldbrand.esl is now at the top, almost out of view. Would it be possible to decrease the amount those incremental steps are moving the list?

@Ortham
Copy link
Member

Ortham commented Jan 24, 2022

I've tweaked the scrolling step size in the better-card-scrolling branch, what do you think of it now?

@pStyl3
Copy link
Member Author

pStyl3 commented Jan 24, 2022

Using loot_0.17.0-97-g78a3935_better-card-scrolling-win64.7z, I think scrolling the plugin cards is now a lot better than before, I'm now moving the list by ~3 plugins with each scroll. Personally I probably would reduce it even more, just a bit, so that the list get's moved by ~2 plugin cards. The Qt GUI is really compact now, so the increased need for scrolling shouldn't matter too much, however you should gain more control in moving the plugin cards exactly where you want them to be, and it should be getting easier to "follow the plugin cards with your eyes".

@sibir-ine
Copy link
Member

I like the new scrolling speed as well 👍

@Ortham
Copy link
Member

Ortham commented Jan 25, 2022

@pStyl3 @sibir-ine Are you sure the scroll speed actually changed? The commit you downloaded the snapshot build for has a bug that means there should be (and as far as I can tell, there is) no change in scrolling behaviour.

@pStyl3
Copy link
Member Author

pStyl3 commented Jan 25, 2022

Yes, the speed did indeed change. I've recorded two videos to show the difference (the following links will be deprecated once this issue is closed).

loot_0.17.0-84-g864b91b_master-win64.7z (from here):
Video 1

loot_0.17.0-97-g78a3935_better-card-scrolling-win64.7z:
Video 2

I've had the About LOOT window and the search window open during the recording, but they apparently didn't get captured, only LOOTs main window did. Video 1 is the reference, Video 2 shows how scrolling is happening now in smaller steps.

@sibir-ine
Copy link
Member

sibir-ine commented Jan 25, 2022

Yeah, after double-checking, the speed has in fact changed for me too. Before, in v0.17.0+735ab41, one scroll would move the card list an entire page, including messages. Now, in v0.17.0+78a3935, one scroll moves 3 cards at a time.

@Ortham
Copy link
Member

Ortham commented Jan 25, 2022

Huh, I tested again and I see the same thing.

EDIT: Ah, it's because scrolling per pixel scrolls by a step size that's based on item height, while scrolling by item scrolls by 3 items at a time, which is why accidentally disabling scrolling by pixel (and so defaulting to by item) caused the change.

@Ortham
Copy link
Member

Ortham commented Jan 25, 2022

Would it be possible so that the plugin card list can be moved by pressing down the mouse wheel? Pressing down the mouse wheel currently doesn't have an effect in the plugin card list.

By this, I think you mean auto-scroll (pressing and holding the middle mouse button shows an icon with some arrows, and then moving the mouse in a direction scrolls in that direction)? There doesn't seem to be any built-in support for it, and while I might be able to implement it on a case-by-case basis, I think that would just end up with some things not being scrollable like that, and the inconsistency might be worse than it just not being supported at all.

@pStyl3
Copy link
Member Author

pStyl3 commented Jan 25, 2022

By this, I think you mean auto-scroll (pressing and holding the middle mouse button shows an icon with some arrows, and then moving the mouse in a direction scrolls in that direction)?

That's correct. It would be a nice to have feature, though I can also understand your reasoning, if it's too much of a hassle to implement.

@Ortham
Copy link
Member

Ortham commented Feb 5, 2022

I've just updated the better-card-scrolling branch to scroll the cards by a fixed amount that's the height of two empty cards, what do you think of it now?

@pStyl3
Copy link
Member Author

pStyl3 commented Feb 5, 2022

That's much better, thanks. 👍

@Ortham
Copy link
Member

Ortham commented Feb 5, 2022

OK, I'll close this then as I've merged that change in 6957957, and I'm not going to look into auto-scroll any further than I have.

@Ortham Ortham closed this as completed Feb 5, 2022
@sibir-ine sibir-ine added this to the 0.18.0 milestone Feb 6, 2022
@pStyl3
Copy link
Member Author

pStyl3 commented Feb 8, 2022

I've noticed that there's one more difference between the old and new GUI when it comes to scrolling the plugin cards. The current Qt GUI scrolls the intended amount instantly, while with the old GUI scrolling once would take roughly about 1/4th of a second and the scrolling itself would transition smoothly from the current to the new position.

Now that I've noticed this, I think that this transition effect seems to really help in following a point (plugin card) with your eyes moving up and down in the list, since this visual effect creates a real motion which the eye can follow.

So while the current implementation is already much better than before, I think this would finetune scrolling even more.

@Ortham
Copy link
Member

Ortham commented Feb 9, 2022

I don't think that would be easy to implement, but I'll reopen this so that suggestion isn't lost.

@Ortham Ortham reopened this Feb 9, 2022
@sibir-ine sibir-ine removed this from the 0.18.0 milestone Feb 9, 2022
@Ortham Ortham removed their assignment Feb 15, 2022
@pStyl3
Copy link
Member Author

pStyl3 commented Feb 20, 2022

For what it's worth, multiple programs I know also made their scrolling behavior smooth & a bit delayed, e.g. Discord, Word, Firefox. Now that doesn't really help here since AFAIK those apps aren't based upon Qt, but still it doesn't seem to be a rare feature.

Searching Qt smooth scrolling via google yields a few results, e.g. this one (though I don't know how much that would help).

@Ortham
Copy link
Member

Ortham commented Feb 20, 2022

I do have an idea of how to implement smooth scrolling (basically, intercept the scroll event, measure how far it would scroll, cancel the event and then scroll that distance in smaller steps over a period of time). As I see it the complexity is more around dealing with things like a user that keeps scrolling (you've got to add the extra scrolling distances to the smooth scroll that is currently happening) and more significantly how to tune the smooth scrolling so that it feels good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants