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

Migrate to PageStacks #428

Merged
merged 4 commits into from
Nov 24, 2024
Merged

Conversation

jarolrod
Copy link
Member

@jarolrod jarolrod commented Oct 25, 2024

After fixing our sins in #427, migrating to A StackView based GUI is quite simple.

Here we use a custom StackView control, PageStack, that has a property vertical used to declare if we want vertical or horizontal animations, and additionally implements the custom animation we want.

Closes #422
Closes #219

Build Artifacts

@jarolrod jarolrod changed the title Migrate to PageStack's Migrate to PageStacks Oct 25, 2024
@jarolrod
Copy link
Member Author

Updated from 0d7c1ab to 3788060, compare

changes: rebased over changes in #427, and fixed lint errors

Copy link
Contributor

@pablomartin4btc pablomartin4btc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK 3788060

Nice job! Removing dependencies with ids outside a page was almost mandatory, this avoids unexpected crashes when things change outside the page and can't be noticed. We need to add a hook or a test that evaluates the existence of views we are moving to onNext: and warns if there are components that are not/ (or left un-) referenced.

Comment on lines 131 to 133
onBack: {
nodeSettingsView.pop()
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: as in other places in the same file...

Suggested change
onBack: {
nodeSettingsView.pop()
}
onBack: nodeSettingsView.pop()

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a note for the style guide

Comment on lines 163 to 165
onBack: {
nodeSettingsView.pop()
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above.

Introduces a custom PageStack control that is a StackView adapted for
our use in terms of the custom animations we demand, and the ability
to switch between vertical and horizontal push() and pop().

This can later be further extended for our use cases.
This should be encapsulated so it can be reasoned about independently
and in a well defined location. Additionally, swap from SwipeView to
PageStack.
Vertical PageStacks used to replace vertical SwipeViews.
@jarolrod
Copy link
Member Author

Updated from 3788060 to c52566d

Changes: rebased over main

Copy link
Contributor

@pablomartin4btc pablomartin4btc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-ACK c52566d

Copy link
Contributor

@MarnixCroes MarnixCroes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK c52566d
on Ubuntu 24.04.1 LTS

SettingsDeveloper {
onboarding: root.onboarding
onBack: stack.pop()
}
}
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: there are extra blank lines

Copy link
Contributor

@D33r-Gee D33r-Gee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK c52566d Works as expected on WSL Ubuntu 22.04

Copy link
Contributor

@johnny9 johnny9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK c52566d

@hebasto hebasto merged commit 574817b into bitcoin-core:main Nov 24, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
6 participants