Fix floating action not being triggered in some cases

When docking a dock widget into a floating widget, then both
are not "floating" anymore, as there's two of them in the layout

Fixes #79
This commit is contained in:
Sergio Martins
2020-09-25 18:28:32 +01:00
parent 0e696ff2dd
commit e4871eb340
5 changed files with 66 additions and 0 deletions

View File

@@ -55,6 +55,10 @@ public:
bool contains(DockWidgetBase *) const;
/// Returns whether this layout has a single dock widget which is floating
/// Implies it's in a FloatingWindow and that it has only one dock widget
bool hasSingleFloatingFrame() const;
QStringList affinities() const;
void layoutParentContainerEqually(DockWidgetBase *);
private:
@@ -66,6 +70,8 @@ private:
template <typename T>
bool validateAffinity(T *) const;
Frame *frameContainingPos(QPoint globalPos) const;
void updateFloatingActions();
bool m_inDestructor = false;
QString m_affinityName;
DropIndicatorOverlayInterface *m_dropIndicatorOverlay = nullptr;