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

For horizontal panels, show tab bar instead of title bar #22050

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

cbjeukendrup
Copy link
Contributor

@cbjeukendrup cbjeukendrup commented Mar 24, 2024

And add a proof-of-concept mixer toolbar button (not functional yet).

Somewhat related to #22016 and #11335
Or actually the most to #16722

Resolves #11335

@cbjeukendrup cbjeukendrup requested a review from Eism March 24, 2024 17:53
@Eism
Copy link
Contributor

Eism commented Mar 26, 2024

Looks good!
Make sure that auto ordering for navigation works with tabs for panels. see #17439

@jessjwilliamson
Copy link
Contributor

Nice!!

Something odd going on with the drop shadow when undocked :) Think it's not feathered
image

@jessjwilliamson
Copy link
Contributor

And for some reason, opening the Mixer the 2nd time, crashes the app. No other MS4's were open.

Screen.Recording.2024-03-26.at.10.48.21.720.mov

@cbjeukendrup
Copy link
Contributor Author

@jessjwilliamson Drop shadow will be back in #22046! (Was a Qt 6 regression.)

I can reproduce a crash sometimes, but not reliably. I'm having difficulties finding out what's causing it. @Eism Could you perhaps take a look?

I fixed the navigation order of the panels, and temporarily hid the "Customise Mixer" button until it's fully implemented.

@Eism
Copy link
Contributor

Eism commented Aug 8, 2024

@cbjeukendrup @jessjwilliamson I fixed the crash, please review

cbjeukendrup and others added 10 commits August 10, 2024 01:43
KDDockWidgets requires using two MouseAreas: one for dragging the title bar (which will drag the whole floating window when it's undocked) and one for dragging individual tabs (this will drag the tabs out of the floating window, which gives a strange effect when there is only one tab in the floating window.

The design specifies that we want tabs instead of a title bar for horizontal panels even when there is only one tab. In this case, we need to make the tabs visible, but make their MouseArea disabled, and instead use the title bar MouseArea.
Old situation: you tell the docking system a navigation panel for each dock panel, and the docking system will mess with the order of this panel.

Problems: if a dock panel contains multiple navigation panels, you need to chain those other panels to the first one. And if the first panel is not really available, as in the case of the mixer toolbar, you can't tell the docking system about it.

New situation: you tell the docking system about the navigation section directly, instead of the navigation panel. The docking system will give you a `contentNavigationPanelOrderStart` property back, which you can use to correctly set the order of all navigation panels in your dock panel.
reset toolbarComponent when destroying panel
Turns out to be necessary after rebase
@cbjeukendrup
Copy link
Contributor Author

@Eism The crash fix works indeed, and I rebased! But just now I found another regression: when opening the Mixer while another panel is already open, it does not become the active tab. So I'll need to fix that. Not sure if that will be before 4.4 (probably better to delay this, as it might be a bit too risky at this stage)

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.

[MU4 Issue] Mixer - Auto-resizing issues when docked with tabs
3 participants