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

[Breaking change] Removal of quick access items state from persistent state storage #810

Closed
batzen opened this issue May 28, 2020 · 2 comments

Comments

@batzen
Copy link
Member

batzen commented May 28, 2020

The current implementation for persisting (saving and loading) quick access items relies on the order and structure of the logical tree.
Every time I make changes to the logical tree structure this state storage breaks for many users/consumers.
Because of this breaking nature I will remove the built in storage mechanism till someone suggests a better way to store quick access items on disk.

This change will be part of version 8.0.

@batzen batzen self-assigned this May 28, 2020
@batzen batzen pinned this issue May 28, 2020
@batzen batzen changed the title Removal of quick access items state from persistent state storage [Breaking change] Removal of quick access items state from persistent state storage May 28, 2020
@batzen batzen added this to the 8.0.0 milestone May 28, 2020
@batzen batzen closed this as completed Sep 19, 2020
@batzen batzen unpinned this issue Sep 19, 2020
@nkrs200
Copy link

nkrs200 commented Dec 30, 2020

Sorry if this may seem like a late response (especially to a closed issue), but I have a suggestion on how this might be fixed. Could it be possible to implement a specific state storage that is separate from the ribbon state storage so that the quick access storage is on its own? Another possible solution would be utilizing data models to control the state of contents shown in the quick access toolbar and have the data model potentially stored in the ribbon state storage?

Those are the only ideas that I can think of at this time, but I can elaborate if needed.

@batzen
Copy link
Member Author

batzen commented Dec 30, 2020

The ribbon state storage is flexible enough to have a separate area for QAT items. You can even roll your own state storage with whatever state you like.

The main issues with persisting and loading the data are:

  1. How to identify items? This was done by indexes, which was very unreliable, especially when i made changes to the logical tree. The only way to solve this would be to use some globally (as in application globally) unique ID for every item/control that could go into the QAT and only allow adding items to the QAT which have such ID.
  2. Availability of items. For example: Items might be part of tabs that are context specific and are only added at a later point in time. What should be displayed for these as the ribbon knows nothing about them.

This might be solved by your suggestion, if i understand it correctly.

But to be honest: I personally don't use the QAT, except for hard-coded items and don't allow users to customize the QAT. This means i won't invest time in this area. If someone else wants to implement it, i would of course happily accept PRs in that area.

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

No branches or pull requests

2 participants