@@ -282,10 +282,7 @@ struct DockOverlayCrossPrivate
282282 baseRect = areaRect;
283283 }
284284
285- // if (!internal::isSideBarArea(DockWidgetArea))
286- // {
287- p.fillRect (baseRect, backgroundColor);
288- // }
285+ p.fillRect (baseRect, backgroundColor);
289286
290287 if (areaRect.isValid ())
291288 {
@@ -304,23 +301,22 @@ struct DockOverlayCrossPrivate
304301 }
305302 p.restore ();
306303
307- // if (!internal::isSideBarArea(DockWidgetArea))
308- // {
309- p.save ();
310- // Draw outer border
311- pen = p.pen ();
312- pen.setColor (borderColor);
313- pen.setWidth (1 );
314- p.setBrush (Qt::NoBrush);
315- p.setPen (pen);
316- p.drawRect (baseRect);
317304
318- // draw window title bar
319- p.setBrush (borderColor);
320- QRectF FrameRect (baseRect.topLeft (), QSizeF (baseRect.width (), baseSize.height () / 10 ));
321- p.drawRect (FrameRect);
322- p.restore ();
323- // }
305+ p.save ();
306+ // Draw outer border
307+ pen = p.pen ();
308+ pen.setColor (borderColor);
309+ pen.setWidth (1 );
310+ p.setBrush (Qt::NoBrush);
311+ p.setPen (pen);
312+ p.drawRect (baseRect);
313+
314+ // draw window title bar
315+ p.setBrush (borderColor);
316+ QRectF FrameRect (baseRect.topLeft (), QSizeF (baseRect.width (), baseSize.height () / 10 ));
317+ p.drawRect (FrameRect);
318+ p.restore ();
319+
324320
325321 // Draw arrow for outer container drop indicators
326322 if (IsOuterContainerArea)
@@ -359,36 +355,6 @@ struct DockOverlayCrossPrivate
359355 p.drawPolygon (Arrow);
360356 }
361357
362- // Draw the pin icons
363- if (internal::isSideBarArea (DockWidgetArea))
364- {
365- static QIcon PinIcon;
366- if (PinIcon.isNull ())
367- {
368- std::cout << " Initializing pin icon" << std::endl;
369- QFile file (" :/ads/images/vs-pin-button.svg" );
370- file.open (QIODevice::ReadOnly);
371- QByteArray baData = file.readAll ();
372- baData.replace (" #000000" , borderColor.name (QColor::HexRgb).toLatin1 ());
373- // baData.replace("#ffffff", overlayColor.name(QColor::HexArgb).toLatin1());
374- // std::cout << borderColor.name(QColor::HexRgb) << std::endl;
375- QSvgRenderer svgRenderer (baData);
376- QPixmap pix (svgRenderer.defaultSize ());
377- pix.fill (Qt::transparent);
378- // create painter to act over pixmap
379- QPainter pixPainter (&pix);
380- svgRenderer.render (&pixPainter);
381- PinIcon = QIcon (pix);
382- }
383- // p.drawPixmap(0, PinIcon.paint(painter, rect, alignment, mode, state));
384- auto Rect = QRect (0 , 0 , 16 , 16 );
385- // Rect.setSize(baseRect.size() * 0.8);
386- Rect.moveCenter (baseRect.center ().toPoint ());
387- PinIcon.paint (&p, Rect, Qt::AlignCenter);
388- // auto Pixmap = PinIcon.pixmap(_this->windowHandle(), QSize(16, 16));
389- // p.drawPixmap(QPoint(0, 0), Pixmap);
390- }
391-
392358 pm.setDevicePixelRatio (DevicePixelRatio);
393359 return pm;
394360 }
@@ -489,10 +455,12 @@ DockWidgetArea CDockOverlay::dropAreaUnderCursor() const
489455 }
490456
491457 auto DockArea = qobject_cast<CDockAreaWidget*>(d->TargetWidget .data ());
492- if (!DockArea)
458+ if (!DockArea && CDockManager::autoHideConfigFlags (). testFlag (CDockManager::AutoHideFeatureEnabled) )
493459 {
494460 auto Rect = rect ();
495461 const QPoint pos = mapFromGlobal (QCursor::pos ());
462+
463+ std::cout << " pos.y: " << pos.y () << " d->sideBarMouseZone(SideBarTop) " << d->sideBarMouseZone (SideBarTop) << std::endl;
496464 if (pos.x () < d->sideBarMouseZone (SideBarLeft))
497465 {
498466 return LeftAutoHideArea;
@@ -515,6 +483,10 @@ DockWidgetArea CDockOverlay::dropAreaUnderCursor() const
515483 }
516484 return Result;
517485 }
486+ else if (!DockArea)
487+ {
488+ return Result;
489+ }
518490
519491 if (DockArea->allowedAreas ().testFlag (CenterDockWidgetArea)
520492 && !DockArea->titleBar ()->isHidden ()
@@ -612,6 +584,7 @@ void CDockOverlay::paintEvent(QPaintEvent* event)
612584 double Factor = (CDockOverlay::ModeContainerOverlay == d->Mode ) ?
613585 3 : 2 ;
614586
587+ std::cout << " paint: da: " << da << std::endl;
615588 switch (da)
616589 {
617590 case TopDockWidgetArea: r.setHeight (r.height () / Factor); break ;
@@ -707,23 +680,6 @@ QPoint DockOverlayCrossPrivate::areaGridPosition(const DockWidgetArea area)
707680 default : return QPoint ();
708681 }
709682 }
710- else if (CDockManager::autoHideConfigFlags ().testFlag (CDockManager::AutoHideFeatureEnabled))
711- {
712- switch (area)
713- {
714- case TopDockWidgetArea: return QPoint (1 , 3 );
715- case RightDockWidgetArea: return QPoint (3 , 5 );
716- case BottomDockWidgetArea: return QPoint (5 , 3 );
717- case LeftDockWidgetArea: return QPoint (3 , 1 );
718- case CenterDockWidgetArea: return QPoint (3 , 3 );
719-
720- case TopAutoHideArea: return QPoint (0 , 3 );
721- case RightAutoHideArea: return QPoint (3 , 6 );
722- case BottomAutoHideArea: return QPoint (6 , 3 );
723- case LeftAutoHideArea: return QPoint (3 , 0 );
724- default : return QPoint ();
725- }
726- }
727683 else
728684 {
729685 switch (area)
@@ -778,15 +734,6 @@ void CDockOverlayCross::setupOverlayCross(CDockOverlay::eMode Mode)
778734 areaWidgets.insert (LeftDockWidgetArea, d->createDropIndicatorWidget (LeftDockWidgetArea, Mode));
779735 areaWidgets.insert (CenterDockWidgetArea, d->createDropIndicatorWidget (CenterDockWidgetArea, Mode));
780736
781- if (CDockManager::autoHideConfigFlags ().testFlag (CDockManager::AutoHideFeatureEnabled)
782- && CDockOverlay::ModeContainerOverlay == Mode)
783- {
784- areaWidgets.insert (TopAutoHideArea, d->createDropIndicatorWidget (TopAutoHideArea, Mode));
785- areaWidgets.insert (RightAutoHideArea, d->createDropIndicatorWidget (RightAutoHideArea, Mode));
786- areaWidgets.insert (BottomAutoHideArea, d->createDropIndicatorWidget (BottomAutoHideArea, Mode));
787- areaWidgets.insert (LeftAutoHideArea, d->createDropIndicatorWidget (LeftAutoHideArea, Mode));
788- }
789-
790737#if QT_VERSION >= 0x050600
791738 d->LastDevicePixelRatio = devicePixelRatioF ();
792739#else
@@ -873,26 +820,6 @@ void CDockOverlayCross::setAreaWidgets(const QHash<DockWidgetArea, QWidget*>& wi
873820 d->GridLayout ->setColumnStretch (3 , 0 );
874821 d->GridLayout ->setColumnStretch (4 , 1 );
875822 }
876- else if (CDockManager::autoHideConfigFlags ().testFlag (CDockManager::AutoHideFeatureEnabled))
877- {
878- d->GridLayout ->setContentsMargins (4 , 4 , 4 , 4 );
879- d->GridLayout ->setSpacing (4 );
880- d->GridLayout ->setRowStretch (0 , 0 );
881- d->GridLayout ->setRowStretch (1 , 0 );
882- d->GridLayout ->setRowStretch (2 , 1 );
883- d->GridLayout ->setRowStretch (3 , 1 );
884- d->GridLayout ->setRowStretch (4 , 1 );
885- d->GridLayout ->setRowStretch (5 , 0 );
886- d->GridLayout ->setRowStretch (6 , 0 );
887-
888- d->GridLayout ->setColumnStretch (0 , 0 );
889- d->GridLayout ->setColumnStretch (1 , 0 );
890- d->GridLayout ->setColumnStretch (2 , 1 );
891- d->GridLayout ->setColumnStretch (3 , 1 );
892- d->GridLayout ->setColumnStretch (4 , 1 );
893- d->GridLayout ->setColumnStretch (5 , 0 );
894- d->GridLayout ->setColumnStretch (6 , 0 );
895- }
896823 else
897824 {
898825 d->GridLayout ->setContentsMargins (4 , 4 , 4 , 4 );
0 commit comments