-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
Context-switchable GUI / Workspaces #302
Comments
Just a note on terminology. For me "workspace" strongly implies what we call "projects". Maybe instead "Tool configuration" (midly convinced...) ? We also have the concept of Profile, which is a different thing. There's a potential for confusing users... |
It looks like what Eclipse call perspective
I like the idea though I'm not a UI expert. I often want to switch from a set of panel/view to another. I agree the wording and how it would be presented to the user would be important. |
Yeah, I'm very open to suggestions on the naming. Workspaces was what it was called in initial discussions, I believe borrowed from Blender: https://docs.blender.org/manual/en/latest/interface/window_system/workspaces.html "Perspective" is definitely a decent suggestion! I've also considered "Task", though that might maybe be to general? Another train of thought is that these "workspaces" (or whatever they should be called) might be used to show different "perspectives" during different steps of a workflow; you might have one for "Review", one for "Adjust" and one for "Upload" for example. If one stays on that train it would also be interesting to consider how this proposal would interact with a full workflow/task/job feature, though I think that's out of scope for now. |
Indeed I know this concept from Blender, and there they're called workspaces. But perspectives, tasks, activities, modes, scopes would all work. |
This is a great idea - many thanks for the QEP. |
This is very exciting. I currently use the QGIST Workbench plugin for this https://plugins.qgis.org/plugins/workbench/ which does this and find it is very helpful. I know having a set of workspaces for different purposes would be helpful when I am teaching QGIS and can tell students to switch to different workspace rather than going trough each toolbar and panel that they need to turn on. AutoCAD and Adobe both use Workspace to name this type of feature. Affinity uses the term Personas which I like. |
The workbench plugin mentioned above seems like a good start? The project did not have any commits since 5 years though... |
To clarify -- is this actually something someone is actively working on? Or just brainstorming at this stage? |
From a usability standpoint I'd say either all or none, or showing a question on plugin install (though that's the most complex). I would probably lean towards all at least in QGIS 3?
Or even just bikeshedding what it should be called :P
That indeed looks interesting, will take a closer look at it to see if there are any "stealable ideas" there!
I'd say right now still brainstorming/requirement gathering. My ambition is to move to implement this as soon as my spare time allows (might be next week, might be next year, so if anyone else wants to take a stab at it feel free!) (or if I can find funding to do it at work), though some parts will likely have to wait until QGIS 4 (especially anything that changes the default UX when you open QGIS for the first time). |
Do you intend to also include the list of activated plugins ? This seems also to be relevant to the notion of workbench/workspace. |
I don't think it would make sense to activate/deactivate plugins when switching between workspaces (or whatever), rather just hiding toolbars/panels/etc. as needed. (if you want to switch between sets of plugins that's exactly what profiles are for) |
QGIS Enhancement: Context-switchable GUI / Workspaces
Date 2024/09/12
Author Raymond Nijssen (@raymondnijssen), Jan Dalheimer (@02JanDal)
Contact jan at dalheimer dot de
Version QGIS 3.x or 4.x
Summary
(this proposal is heavily based on an idea by @raymondnijssen, and was discussed during the contributor meeting in Bratislava)
Rather than always showing all toolbars, buttons, and panels regardless of the task, we could allow the user to switch between different task-based "workspaces", for example, "Viewing" (only showing basic controls and the layer and browser panels), "Styling" (showing annotation toolbar and styling panel) etc.
For new users, this would result in a less overwhelming user interface, and experienced users would get less clutter and more space for the map (since toolbars and panels are easy to hide and restore based on the task done).
Base functionality
Add, possibly to the right on the menu bar, a selection of "workspaces" (including functionality to add/remove them). When switching between workspaces, the toolbar, panel, and associated configuration/customization restore stored for the workspace switched to.
This results in the following possible workflow:
QGIS 4.x - default for new installations
The above might be implementable in QGIS 3.x technically (maybe), however, we don't want to present users with a significant change to their experience within a major version. For this reason, initially, they will get the same UI as today, just with the option to configure workspaces themselves.
This could be changed in QGIS 4 (or another future major version). Initially, QGIS could then contain some pre-configured workspaces (none of which are the "everything" workspace we have today). If we have already had the base functionality available for a while we should be able to get a good idea of how various users have configured their workspaces, and based on that design the pre-configured workspaces.
Proposed Solution
Can possibly use the Qt-builtin functionality to store/restore
QMainWindow
structure. Workspaces are normally stored in the profile, though it might also be an idea to store them in projects as well.Deliverables
(required for QGIS grant submissions)
Example(s)
How the UI currently might look
Possible workspace configuration
Affected Files
(optional)
Risks
(required)
Performance Implications
There might be a slight performance hit when changing workspaces, as it can significantly change the UI (including the size of the map which then might have to re-render), however, it should be minimal and not occur to often.
Further Considerations/Improvements
While a free-standing proposal, for the best effect this could be combined with other ideas:
Backwards Compatibility
Opening a newer QGIS version would use the previous UI configuration as the first workspace, saving it as a workspace.
Opening an older (pre this change) QGIS version would use the UI configuration last stored by an older version, or use the default structure (i.e. older versions completely ignore the workspace configuration).
Issue Tracking ID(s)
(optional)
The text was updated successfully, but these errors were encountered: