Fix project file version 1.x compatibility.#120
Open
raspopov wants to merge 1 commit into
Open
Conversation
Contributor
Author
|
Did I post this PR in the wrong branch again? 😔 What is the purpose of the two branches, one of which is called “main” and is, in fact, the default branch in Git? BTW I have a ‘dev’ branch too, but I've never pushed it to GitHub. |
sanny32
requested changes
Jul 2, 2026
1439826 to
60e2f73
Compare
Contributor
Author
|
There is no |
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.
Compatibility with version 1.x project files has been restored.
As it turned out, most of the old code for loading older project versions had never been removed from the codebase, so restoring compatibility turned out to be fairly easy.
Loading of both single-window and multi-window XML project files is supported.
New methods
MainWindow::project()andFormDataView::project()have been added, because when loading a data view for an older version, a script view must be created in parallel—and within an independent serialization function—while view creation is only available within the project object. Need to pass a reference to it through the main window and the data view.The data view serialization functions had to be moved to a C++ file after all, as class definition issues arose.
Places where old code is present are marked with a comment like
// Version 1.x ...Fixes #116.