Repository navigation
Conversation
Adds File > Import > Layouts... and File > Export > Layouts... so the layouts shown in the layout bar can be saved to a .json file and loaded again in another session. The QML dialog talks to the layouts model. Python handles the file IO and validation. Imported layouts are appended to the existing list, and a name that clashes with an existing layout gets a numeric suffix. Panels that are not registered in this session are flagged rather than dropped. Docs, changelog and release notes are updated to match. Signed-off-by: Julien Hery <julien.hery@yahoo.fr>
jhery-rdo
force-pushed
the
feat/layout-io
branch
from
October 16, 2026 06:15
4d05042 to
9b0dfd1
Compare
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.
Linked issues
None. This is a self-contained new plugin.
Summarize your change.
Adds a
layout_ioPython plugin with File > Import > Layouts ... and File > Export > Layouts .... It saves the layouts shown in the layout bar to a .json file and loads them back, so a layout can be shared between users or machines.Describe the reason for the change.
Layouts can be created, renamed and re-ordered, but there is no way to move one to another machine or share it with a colleague.
Describe what you have tested and on which operating system.
Loaded as a Python plugin into xSTUDIO 1.4.0 on Linux (Rocky 8) and exercised export and import through the File menu. Not tested on Windows or macOS.
Add a list of changes, and note any that might need special attention during the review.
src/plugin/python_plugins/layout_io/and oneadd_python_plugin(layout_io)line. There is no C++ and no new dependency.XsPanelsLayoutModel. The messages that change that model are not bound to Python, so QML has to do it. Python does the file IO and validation.layouts.rst,CHANGELOG.mdand the release notes.If possible, provide screenshots.
None attached yet.