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

Fullscreen toggle rework #11566

Merged
merged 5 commits into from
Jan 24, 2024
Merged

Commits on Dec 25, 2023

  1. Configuration menu
    Copy the full SHA
    7f39b48 View commit details
    Browse the repository at this point in the history
  2. fullscreen: detect window state change in eventFilter() only

    Now, slotViewFullScreen() just toggles fullscreen and eventFilter() catches ALL fullscreen
    changes, no matter the origin.
    
    Previously, slotViewFullScreen() was also reponsible for recreating and reconnecting the
    menu bar and for refreshing the Fullscreen checkbox. This is okay if only Mixxx could
    change the fullscreen state.
    However, it can happen that the (Linux) window manager consumes the fullscreen hotkey,
    makes Mixxx go fullscreen and slotViewFullScreen() is never called.
    ronso0 committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    f3758e7 View commit details
    Browse the repository at this point in the history
  3. fullscreen: ignore no-op QWindowStateChangeEvent to not change menu bar

    No-op QWindowStateChangeEvent can occur if another window (preferences, About, ...) is shown above
    MixxxMainWindow. The event's oldState() is QWindowNoState even though the window state didn't change.
    
    Ignore these event to not recreate and reconnect the menu bar unnecessarily.
    That also avoids flickering, at least on Linux desktops that feature a global menu (when going fullscreen
    the menu is moved to the main window and hidden immediately = rapid resizing of window content)
    ronso0 committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    a9533ab View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b9ff891 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5a4fe74 View commit details
    Browse the repository at this point in the history