Ribbon config initial - #6305
Open
RensDofferhoff wants to merge 3 commits into
Open
Conversation
…eference; logs use sandbox only on Windows
- Every module, the common/core ones included, can be (de)selected in the + modules menu; deselecting merely hides it from the ribbon instead of removing its analyses (unloading is reserved for uninstall/replace) - The stored selection is authoritative once it exists; the common flag only provides the initial default set and a one-time migration appends the core modules to selections stored before this change - Module order is user-configurable through up/down arrows in the modules menu; the order persists in MODULES_ORDER, is applied at startup, disabled modules keep their position, and special buttons (data, separator, R-console) stay anchored - OverrideCommon from enterprise TOML merely seeds the initial order when none is stored yet - Fix separators disappearing from the ribbon and special buttons polluting the remembered selection
Contributor
Author
|
@juliuspfadt see https://static.jasp-stats.org/Nightlies/ for builds its not quite what you wanted but its a start |
…other modules Modules installed while running used to be appended after the anchored R-console button (so they sat below it in the modules-menu without working reorder-arrows) and were never enabled, because the old isCommon||enabled fallback disappeared when enabled() became purely the stored state. They are now inserted at the end of the module-segment and enabled (and remembered) immediately.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Makes the ribbon fully user-configurable in two ways:
+modules menu.Design decisions
DynamicModules::unloadModule(), so live analyses stay in the results. Unloading remains reserved for genuine uninstall/replace flows.isCommonflag (frommodules-settings.json, optionally seeded by enterprise TOMLOverrideCommon) only provides the initial set of enabled modules; users may change everything afterwards.modulesSelectionMigrated) appends the core modules to selections stored before this change, so upgrading users don't lose their core modules.OverrideCommonseeds, doesn't enforce. It seeds the initial module order once (when no order is stored yet); afterwards the user's stored order wins.How it works
MODULES_REMEMBERED(existing setting, now'|'-joined and parsed withSkipEmptyParts); order persists in the newMODULES_ORDER.RibbonModel::loadModules(). Special buttons (Data, New-data, separator, R-console) stay anchored; disabled modules keep their position, so re-enabling returns a module to its spot. Modules not mentioned in the stored order (newly installed, first run) append at the end.RibbonModelUncommon::moveModule(filtered, filtered)→RibbonModel::moveModule(source, source)with properbeginMoveRows/endMoveRows, so both the menu and the ribbon update live.Fixed along the way
remember = trueand were disabled by the new selection pass. They're now excluded from the selection.Data,Data-Resize, …) were being written intoMODULES_REMEMBEREDevery time their enabled state changed; only selection participants (modules + R-console) are stored now.'|'-joined setting.How to test
+menu.Deferred
Drag & drop reordering (menu and/or ribbon) — arrows cover the functionality accessibly; ribbon-side DnD specifically fights
reuseItems,interactive: false, the wheel MouseArea and ALT/keyboard navigation, so it needs dedicated testing time.