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 #11313

Closed
wants to merge 14 commits into from
Closed

Fullscreen toggle rework #11313

wants to merge 14 commits into from

Commits on May 31, 2023

  1. Configuration menu
    Copy the full SHA
    3b548ac View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b499c20 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    652e00b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ea7b748 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    aa6b900 View commit details
    Browse the repository at this point in the history
  6. Fullscreen: show popup with with fullscreen and menu hotkeys

    This modal popup is displayed every time when going fullscreen as long as the
    "Remind me again" checkbox is ticked when Okay is clicked.
    It can be styled to match the skin.
    ronso0 committed May 31, 2023
    Configuration menu
    Copy the full SHA
    578d355 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5f71a6c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    df15570 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    1a416ce View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    af2cfcb View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    94b768f View commit details
    Browse the repository at this point in the history
  12. 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 May 31, 2023
    Configuration menu
    Copy the full SHA
    898e11e View commit details
    Browse the repository at this point in the history
  13. 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 is and was fullscreen.
    Ignore these event to not recreate and reconnect the menu bar unnecessarily.
    Also, that avoids flickering, at least on 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 May 31, 2023
    Configuration menu
    Copy the full SHA
    f645117 View commit details
    Browse the repository at this point in the history
  14. DEBUG output fullscreen

    ronso0 committed May 31, 2023
    Configuration menu
    Copy the full SHA
    ec82d52 View commit details
    Browse the repository at this point in the history