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

Rework New Bottle dialog #3653

Merged
merged 18 commits into from
Jan 6, 2025

Conversation

TheEvilSkeleton
Copy link
Member

@TheEvilSkeleton TheEvilSkeleton commented Jan 2, 2025

Closes #3036

image

@TheEvilSkeleton TheEvilSkeleton force-pushed the rework-new-dialog branch 3 times, most recently from 0523bbe to 90abebb Compare January 2, 2025 14:21
@TheEvilSkeleton TheEvilSkeleton marked this pull request as ready for review January 2, 2025 14:21
@TheEvilSkeleton TheEvilSkeleton force-pushed the rework-new-dialog branch 4 times, most recently from a050b38 to d56ddc5 Compare January 3, 2025 03:43
@EmoonX

This comment was marked as resolved.

@TheEvilSkeleton

This comment was marked as outdated.

@EmoonX

This comment was marked as outdated.

@TheEvilSkeleton

This comment was marked as outdated.

@EmoonX

This comment was marked as outdated.

@TheEvilSkeleton

This comment was marked as outdated.

@EmoonX

This comment was marked as outdated.

@TheEvilSkeleton TheEvilSkeleton force-pushed the rework-new-dialog branch 2 times, most recently from 7e20bb0 to dc16aa4 Compare January 4, 2025 19:44
A considerable chunk of the NewView  widget needs
to be reworked, starting with changing the name of the widget
to BottlesNewBottleDialog.
We can simply use `GtkUtils.get_parent_window()`.
The dialog is split into 3 pages as opposed to 2. This makes
transitioning between pages smoother, as it switches pages
with a crossfade transition as opposed to replacing widgets
and labels.

The scrolled window displaying the output is moved to the
completed page if there is an error, to keep the same functionality
as the previous implementation.

The second and last pages can also be dragged from anywhere,
except the scrolled output.
This comes at the benefit of having access to the `::row-activated`
signal, allowing us to select the desired row without going
through if-else statements. This creates the `selected-environment`
GObject property for the BottlesCheckRow widget that stores the
selected environment.
This is mainly going to be useful for implementing an activated
action to activate the create button.
This makes the dialog a bit narrower and increases the content
height. The creating page has gotten a small rework to accommodate
the height. The output label is bigger and fits better with
different screen sizes.

The status page was replaced with a GtkScrolledWindow, as
implementing it ourselves gave us the control desired to better
control the height of the output label without hardcoding a value.
`GtkWidget.get_style_context()` is deprecated.
The headings were removed, as there is no reason to keep cluttering
the UI with unnecessary text. The Runner and bottle directory
options are now available in every environment.

Closes bottlesdevs#3036
This simplifies the labels by using less technical jargon. It also
updates quotes.
The filters are re-implemented from the `filters` module. This is
to avoid breaking compatibility with other users of the
corresponding functions. However, eventually, we should adapt
the module to only handle GtkFileDialog.
@TheEvilSkeleton TheEvilSkeleton merged commit 98cce18 into bottlesdevs:main Jan 6, 2025
2 checks passed
@TheEvilSkeleton TheEvilSkeleton deleted the rework-new-dialog branch January 6, 2025 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Request]: Allow changing 'Bottle Directory' for preset types
2 participants