Can you please add a small e.mouseWasDraggedSinceMouseDown()
test in ConcertinaPanel::mouseDrag()
?
I have a special concertina Header that resizes the panels on mouseDown, but I can’t get the correct behaviour because of that current mouseDrag implementation that changes the layout in a different way, even if the mouse hasn’t been dragged.
diff --git a/modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp b/modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp
index 685c79f..9a1577a 100644
--- a/modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp
+++ b/modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp
@@ -255,10 +255,13 @@ public:
void mouseDrag (const MouseEvent& e) override
{
- ConcertinaPanel& panel = getPanel();
- panel.setLayout (dragStartSizes.withMovedPanel (panel.holders.indexOf (this),
- mouseDownY + e.getDistanceFromDragStartY(),
- panel.getHeight()), false);
+ if (e.mouseWasDraggedSinceMouseDown())
+ {
+ ConcertinaPanel& panel = getPanel();
+ panel.setLayout (dragStartSizes.withMovedPanel (panel.holders.indexOf (this),
+ mouseDownY + e.getDistanceFromDragStartY(),
+ panel.getHeight()), false);
+ }
}
void mouseDoubleClick (const MouseEvent&) override