Side panels not dockable after being undocked and closed once

• Apr 10, 2019 - 22:09
Reported version
3.0
Type
Functional
Frequency
Many
Severity
S4 - Minor
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project

1) Undock a panel (such as Palettes or the Piano Keyboard).
2) Close the now floating panel window.
3) Re-open the closed (floating) panel window.
4) It is now not possible to re-dock this panel window, neither by dragging it into the desired position or double-clicking on it.

The only way to get the panel back into docked position is to reset MuseScore 3 to factory settings.

Windows 10, 64-bit.

Attachment Size
Untitled.png 81.74 KB

Comments

I, too, have encountered this problem.
The workaround I came up with:
- close Musescore
- open Musescore without specifying an existing score
- with the "Untitled" blank score showing, click "View" | "Palette" (for example)
- drag the Palette panel outside the Musescore window
- drag the Palette panel back into the Musescore window (this should push aside the score window, and dock the Palette panel beside it without overlaying the score window.)
- click "File" | "Open Recent" to re-open the score you're working on

In reply to by RobFog

The steps to reproduce on Play panel also apply to:
* Palettes
* Inspector
* Selection Filter
* Piano Keyboard (when dockable, only dockable in footer)
* Time Line (when dockable, only dockable in footer)
* Score Comparison Tool
i.e. all of these if un-docked, closed, and then re-opened (via View Menu) can no longer be docked until after MuseScore is quit and re-started. (All this, tested on MacOS.)

Status PR created fixed

Fixed in branch master, commit c9025ac241

_Fix #287528 & Fix #283258 - Side panels not dockable after being undocked and closed once
+ related issue with mixer panel

1) Adds a function that tests if widget is in the floating state and,
if so, cycles the floating state through off and on again to ensure
widget is re-dockable.

2) Addresses issues with Mixer QDockWidget behaving erratically reported
in https://musescore.org/en/node/283258. A key issue here was that the
QDockWidget had the Qt:Tool window flag set (setWindowFlags(Qt::Tool);).
In addition, this fix moves the point at which the mixer gets displayed
(if required) on start up so it's in line with other dockable widgets.
The move was out of main() and into MuseScore::readSettings(). The
mixer issues may have been caused by the conversion of the mixer from a
QWidget to a QDockWidget (which happened at 88c75a1)

Adds a function that tests if widget is in the floating state and,
if so, cycles the floating state through off and on again to ensure
widget is re-dockable._

Personally, I'd also be happy if changing the mixer to just default undocked fixed the issue. Or make it not dockable at all - to me it's not really useful that way anyhow.

Status PR created fixed

Fixed in branch master, commit 86a3476509

_fix #287528, fix #283258 & fix #289773: Panels not dockable after undock & close

1) Adds a function that tests if widget is both not-shown (!isVisible) AND
in the floating state. If so, it cycles the floating state through off
and on again to ensure widget is re-dockable. This is a workaround for
QT-69922. The !isVisible() test avoids side effect of dock being resized,
e.g. made wider, even when the widget won't be landing on it (#289773).
Function used to the fix issue for:

  • Play Panel
  • Palettes
  • Inspector
  • Selection Filter
  • Piano Keyboard (when dockable, only dockable in footer)
  • Time Line (when dockable, only dockable in footer)
  • Score Comparison Tool
  • Mixer

2) Addresses some issues with the mixer (#283258) being converted from
an independent window to a dock widget:

  • add code to ensure the show/hide menu is in sync with the mixer being
    shown
  • removed inappropriate widget configuration on setup_
Fix version
3.2.0