Skip to content

#1380 #1381 #1387 Improved the scrolling UX in list widgets #1385

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

Merged
merged 1 commit into from
Sep 5, 2022
Merged

Conversation

kittaakos
Copy link
Contributor

@kittaakos kittaakos commented Sep 2, 2022

Motivation

Improves the scrolling in the library/boards manager widgets.

Change description

Other information

Closes #1380
Closes #1381
Closes #1387

Reviewer checklist

  • PR addresses a single concern.
  • The PR has no duplicates (please search among the Pull Requests before creating one)
  • PR title and description are properly filled.
  • Docs have been added / updated (for bug fixes / features)

@kittaakos kittaakos added topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project labels Sep 2, 2022
@kittaakos kittaakos marked this pull request as draft September 2, 2022 17:04
@kittaakos kittaakos added the status: on hold Do not proceed at this time label Sep 2, 2022
Copy link
Contributor

@per1234 per1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixes #1380 for me.

I find that an offset between the mouse pointer position and the scrollbar position does still accumulate as reported in #1381, but the magnitude is significantly less, so it doesn't harm the usability so much. In some cases, I find it now pushes the scrollbar ahead of the pointer instead of behind.

Thanks Akos!

@kittaakos
Copy link
Contributor Author

Thank you for the review.

I want to work on this and cover #1387 if possible. I have also noticed the defect (see: ede7479), but the change was incorrect.

@kittaakos kittaakos force-pushed the #1380 branch 2 times, most recently from 122ad8d to a256d6c Compare September 3, 2022 13:23
@kittaakos kittaakos changed the title #1380 #1381 Improved the scroll UX in list widgets #1380 #1381 #1387 Improved the scroll UX in list widgets Sep 3, 2022
@kittaakos
Copy link
Contributor Author

kittaakos commented Sep 3, 2022

Per, could you please take another look? I think the UX is better now, and the changes should cover #1387. Thank you!


Update:

please take another look

Could you please verify all three issues? 😊

@kittaakos kittaakos marked this pull request as ready for review September 3, 2022 13:25
@kittaakos kittaakos removed the status: on hold Do not proceed at this time label Sep 3, 2022
@kittaakos kittaakos changed the title #1380 #1381 #1387 Improved the scroll UX in list widgets #1380 #1381 #1387 Improved the scrolling UX in list widgets Sep 3, 2022
Copy link
Contributor

@per1234 per1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Describe the problem

When the mouse pointer is hovered over one of the Library/Boards Manager or list items, a version menu and "INSTALL" button are added at the bottom of the item, which increases its vertical size.

🐛 When the length of the listings fits within the vertical dimension of the view when not hovered, but does not fit when hovered, some glitches occur.

To reproduce

  1. Open the "Library Manager" view.
  2. Type arduinoiotcloud in the "Filter your search..." field.
    This is only an arbitrary example of a search that produces a suitable length of listings. By chance it has the perfect length for the default window and view dimensions on my machine.
  3. Resize the vertical dimension of the Arduino IDE window so that it is just long enough to show the full listings while in the non-hovered state, without a scrollbar on the Library Manager view.
    image
  4. Hover the mouse pointer over "Arduino_ConnectionHandler".
    🐛 Only half the "INSTALL" button is shown:
    image
  5. Hover the mouse pointer over "ArduinoIoTCloud".
    🐛 The "INSTALL" button is not shown:
    image
  6. Hover the mouse pointer over "ArduinoIoTCloudBearSSL".
  7. Move the mouse pointer horizontally until it is over the scrollbar (as would be a common user action after they see they need to scroll down to reach the version menu and buttons).
    🐛 The "Library Manager" view flickers rapidly between two states:
    flicker
    The flicker rate in real life is actually far higher than shown in the screencast GIF (the software was not able to capture it properly).

Arduino IDE version

2.0.0-rc9.2.snapshot-f869314 (tester build for fe69093).

Operating system

Windows 10

Additional context

The issue also occurs with the previous build from this PR (though the flicker rate is lower): 0694c24.

The issue does not occur with the latest build from the main branch: 20cc34c

 - Fixed scrollbar does not reach end of list widget.
 - Estimated row heights to provide better scroll UX.
 - Last item's `<select>` must be visible.

Closes #1380
Closes #1381
Closes #1387

Signed-off-by: Akos Kitta <[email protected]>
@kittaakos
Copy link
Contributor Author

Thank you for the steps. I could reproduce the glitches and fix them locally. Could you please try again with the latest build? Thank you!

Copy link
Contributor

@per1234 per1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I verified this resolves #1380, #1381, and #1387.

The "flicker" bug I reported in my previous review is fixed. The issue with the buttons reported in that review is mitigated, though not 100% fixed, but it is not a serious defect and so I don't see that it is cause to delay the valuable advancements already provided by this PR. I will submit a separate report to track the remaining component (UPDATE, here: #1403).

Thanks Akos!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
2 participants