File tree 4 files changed +24
-7
lines changed
4 files changed +24
-7
lines changed Original file line number Diff line number Diff line change 2
2
<project >
3
3
<configuration id =" cdt.managedbuild.toolchain.gnu.mingw.base.1119687795" name =" Default" >
4
4
<extension point =" org.eclipse.cdt.core.LanguageSettingsProvider" >
5
- <provider class =" org.eclipse.cdt.managedbuilder.internal.language.settings.providers.GCCBuiltinSpecsDetectorMinGW" console =" false" env-hash =" -445604897520096165 " id =" org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetectorMinGW" keep-relative-paths =" false" name =" CDT GCC Built-in Compiler Settings MinGW" parameter =" ${COMMAND} ${FLAGS} -E -P -v -dD -std=c++14 " ${INPUTS}" " prefer-non-shared =" true" >
5
+ <provider class =" org.eclipse.cdt.managedbuilder.internal.language.settings.providers.GCCBuiltinSpecsDetectorMinGW" console =" false" env-hash =" -633788812842026300 " id =" org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetectorMinGW" keep-relative-paths =" false" name =" CDT GCC Built-in Compiler Settings MinGW" parameter =" ${COMMAND} ${FLAGS} -E -P -v -dD -std=c++14 " ${INPUTS}" " prefer-non-shared =" true" >
6
6
<language-scope id =" org.eclipse.cdt.core.gcc" />
7
7
<language-scope id =" org.eclipse.cdt.core.g++" />
8
8
</provider >
Original file line number Diff line number Diff line change @@ -785,11 +785,17 @@ void CDockContainerWidget::dropFloatingWidget(CFloatingDockContainer* FloatingWi
785
785
qDebug () << " CDockContainerWidget::dropFloatingWidget" ;
786
786
CDockAreaWidget* DockArea = dockAreaAt (TargetPos);
787
787
auto dropArea = InvalidDockWidgetArea;
788
+ auto ContainerDropArea = d->DockManager ->containerOverlay ()->dropAreaUnderCursor ();
788
789
if (DockArea)
789
790
{
790
791
auto dropOverlay = d->DockManager ->dockAreaOverlay ();
791
792
dropOverlay->setAllowedAreas (AllDockAreas);
792
793
dropArea = dropOverlay->showOverlay (DockArea);
794
+ if ((ContainerDropArea != InvalidDockWidgetArea) && (dropArea == CenterDockWidgetArea))
795
+ {
796
+ dropArea = InvalidDockWidgetArea;
797
+ }
798
+
793
799
if (dropArea != InvalidDockWidgetArea)
794
800
{
795
801
qDebug () << " Dock Area Drop Content: " << dropArea;
@@ -800,7 +806,7 @@ void CDockContainerWidget::dropFloatingWidget(CFloatingDockContainer* FloatingWi
800
806
// mouse is over container
801
807
if (InvalidDockWidgetArea == dropArea)
802
808
{
803
- dropArea = d-> DockManager -> containerOverlay ()-> dropAreaUnderCursor () ;
809
+ dropArea = ContainerDropArea ;
804
810
qDebug () << " Container Drop Content: " << dropArea;
805
811
if (dropArea != InvalidDockWidgetArea)
806
812
{
Original file line number Diff line number Diff line change @@ -265,8 +265,6 @@ void CDockWidgetTitleBar::mouseReleaseEvent(QMouseEvent* ev)
265
265
// ============================================================================
266
266
void CDockWidgetTitleBar::mouseMoveEvent (QMouseEvent* ev)
267
267
{
268
- /* std::cout << "CDockWidgetTitleBar::mouseMoveEventmouseMoveEvent DragState "
269
- << d->DragState << std::endl;*/
270
268
if (!(ev->buttons () & Qt::LeftButton) || d->isDraggingState (DraggingInactive))
271
269
{
272
270
d->DragState = DraggingInactive;
@@ -276,7 +274,6 @@ void CDockWidgetTitleBar::mouseMoveEvent(QMouseEvent* ev)
276
274
277
275
if (d->isDraggingState (DraggingFloatingWidget))
278
276
{
279
- // std::cout << "DraggingFloatingWidget" << std::endl;
280
277
d->FloatingWidget ->moveFloating ();
281
278
QFrame::mouseMoveEvent (ev);
282
279
return ;
Original file line number Diff line number Diff line change @@ -157,15 +157,29 @@ void FloatingDockContainerPrivate::updateDropOverlays(const QPoint& GlobalPos)
157
157
int VisibleDockAreas = TopContainer->visibleDockAreaCount ();
158
158
ContainerOverlay->setAllowedAreas (VisibleDockAreas > 1 ?
159
159
OuterDockAreas : AllDockAreas);
160
- ContainerOverlay->showOverlay (TopContainer);
160
+ DockWidgetArea ContainerArea = ContainerOverlay->showOverlay (TopContainer);
161
161
162
162
auto DockArea = TopContainer->dockAreaAt (GlobalPos);
163
163
if (DockArea && DockArea->isVisible () && VisibleDockAreas > 0 )
164
164
{
165
+ DockAreaOverlay->enableDropPreview (true );
165
166
DockAreaOverlay->setAllowedAreas ((VisibleDockAreas == 1 ) ?
166
167
NoDockWidgetArea : AllDockAreas);
167
168
DockWidgetArea Area = DockAreaOverlay->showOverlay (DockArea);
168
- ContainerOverlay->enableDropPreview (InvalidDockWidgetArea == Area);
169
+
170
+ // A CenterDockWidgetArea for the dockAreaOverlay() indicates that
171
+ // the mouse is in the title bar. If the ContainerArea is valid
172
+ // then we ignore the dock area of the dockAreaOverlay() and disable
173
+ // the drop preview
174
+ if ((Area == CenterDockWidgetArea) && (ContainerArea != InvalidDockWidgetArea))
175
+ {
176
+ DockAreaOverlay->enableDropPreview (false );
177
+ ContainerOverlay->enableDropPreview (true );
178
+ }
179
+ else
180
+ {
181
+ ContainerOverlay->enableDropPreview (InvalidDockWidgetArea == Area);
182
+ }
169
183
}
170
184
else
171
185
{
You can’t perform that action at this time.
0 commit comments