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

add horizontal scrollbar to start page #13782

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

efferre79
Copy link
Contributor

On systems with legacy monitors the display might be not as large as needed to display completely the start page. In that case the user is forced to use the keyboard to scroll horizontally the start page.

On systems with legacy monitors the display might be not as large as needed to display completely the start page. In that case the user is forced to use the keyboard to scroll horizontally the start page.
@chennes
Copy link
Member

chennes commented May 2, 2024

Can you please post a screenshot of the "before" on your monitor? Horizontal scrolling is undesirable, so I'd rather seek an alternate solution.

@efferre79
Copy link
Contributor Author

I would not be scared about the horizontal scrollbar, the policy is not ScrollBarAlwaysOn but ScrollBarAsNeeded so it shows only when needed. It should not impact systems with a larger monitor which are more common today.

The following is what I see on my screen by using 1280x1024 resolution:

image

Moreover I have also a simple patch to move the horizontal line in the FirstStartWidget, in fact now when the Done button is pressed the line is still currently visible at the top of the page. This is really a minor issue because next time the program is started the line is not drawn anymore.

@chennes
Copy link
Member

chennes commented May 2, 2024

I'd argue that the real problem is that the TreeView is showing, taking up valuable screen real estate and providing nothing useful.

(Yes, I know about the horizontal divider, feel free to submit a PR for that one, it's on the back burner for me right now...)

@efferre79
Copy link
Contributor Author

IMHO the treeview width is fine, as you can see for the Arch example shipped with freecad:

image

I do personally prefer to have the scrollbar in the start page rather then in the treeview because the first one is not used as often as the other one. Basically the horizontal scrollbar is needed only by the FirstStart widget which will not be visible anymore after the Done button is pressed.

The alternative I can see if to put all the dropdown selectors in a single colums and to reduce the icon size of the theme buttons.

@chennes
Copy link
Member

chennes commented May 2, 2024

My point is that the treeview shouldn't be showing at all when you are in Start -- it's not useful in that context. Absent the tree view, you can see the whole Start interface.

@furgo16
Copy link
Contributor

furgo16 commented May 2, 2024

The same applies for the Tasks panel. If the layout is arranged so that the tree view panel is on the left and the tasks panel is on the right, there is even less room available and this issue becomes more apparent.

Rather than adding an horizontal scrollbar, does Qt not have the ability to have multiple layouts that are triggered depending on screen size or form factor? If so, would that not be a more robust alternative?

@chennes
Copy link
Member

chennes commented May 2, 2024

It's no problem to have multiple layouts depending on width, but as you suggest, the same thing I say for the TreeView applies to the Task Panel: they really shouldn't be on the screen when First Start is showing.

@furgo16
Copy link
Contributor

furgo16 commented May 11, 2024

As an additional data point, VS Code does not hide its equivalent panel to FreeCAD's Tree view when starting and showing the Start page. This comment does not advocate for one approact or the other. Neither is the intention to say that FreeCAD should follow suit:

vscode

@maxwxyz
Copy link
Collaborator

maxwxyz commented May 12, 2024

I'd also argue that the first run wizard should be shown without any other dialogs or panels opened (tree, property, python or report view). The appearance of FreeCAD would then be set once, maybe even including active panels and positions.

@onekk
Copy link

onekk commented May 12, 2024

A solution could be to place a litte placeholder of some pixel and when the mouse is on it substitute it with real task panel, using the mouse position in the widget as a trigger.

When task panel, (combo box tree view) is not needed or has no sense the trigger method is simply do nothing.

So a simple check to the flag will control the behaviour.

Only an idea.

Kind regards

Carlo D.

@FEA-eng
Copy link
Contributor

FEA-eng commented May 13, 2024

Shouldn't this PR be set to Draft or closed if there's an agreement that a different solution is desired here?

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

Successfully merging this pull request may close these issues.

None yet

6 participants