Skip to content

Replace deprecated Gtk.ComboBox with Gtk.DropDown #427

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

Draft
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

leonardo-lemos
Copy link
Collaborator

@leonardo-lemos leonardo-lemos commented Jun 9, 2025

Closes #400
Closes #425

This PR introduces the following improvements:

  • Each dropdown (Resolution, Rotation, Refresh Rate, and Scale) is now implemented as a separate custom widget, with its own logic and signals.
  • Business logic and UI for these dropdowns have been moved out of DisplayWidget and VirtualMonitor, resulting in a more modular and maintainable architecture.
  • The DisplayWidget constructor has been significantly simplified, focusing only on creating and connecting the new widgets.
  • Interactions between widgets now use signals to decouple UI components from business logic.
  • Deprecated Gtk.ComboBox and related data models have been fully replaced by the new dropdown widgets.
  • FiltersView now uses Variant.maybe for more robust null value handling.
  • Because Gtk.DropDown does not support tree hierarchies, all available resolutions are now presented in a single flat list in the resolutions dropdown.
  • Some Meson deprecation warnings have been resolved.

@leonardo-lemos leonardo-lemos marked this pull request as ready for review June 9, 2025 15:19
@leonardo-lemos leonardo-lemos reopened this Jun 9, 2025
@leonardo-lemos leonardo-lemos marked this pull request as draft June 9, 2025 20:19
@leonardo-lemos
Copy link
Collaborator Author

Needs more testing on changing scale.

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.

1 participant