@@ -282,10 +282,7 @@ struct DockOverlayCrossPrivate
282
282
baseRect = areaRect;
283
283
}
284
284
285
- // if (!internal::isSideBarArea(DockWidgetArea))
286
- // {
287
- p.fillRect (baseRect, backgroundColor);
288
- // }
285
+ p.fillRect (baseRect, backgroundColor);
289
286
290
287
if (areaRect.isValid ())
291
288
{
@@ -304,23 +301,22 @@ struct DockOverlayCrossPrivate
304
301
}
305
302
p.restore ();
306
303
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);
317
304
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
+
324
320
325
321
// Draw arrow for outer container drop indicators
326
322
if (IsOuterContainerArea)
@@ -359,36 +355,6 @@ struct DockOverlayCrossPrivate
359
355
p.drawPolygon (Arrow);
360
356
}
361
357
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
-
392
358
pm.setDevicePixelRatio (DevicePixelRatio);
393
359
return pm;
394
360
}
@@ -489,10 +455,12 @@ DockWidgetArea CDockOverlay::dropAreaUnderCursor() const
489
455
}
490
456
491
457
auto DockArea = qobject_cast<CDockAreaWidget*>(d->TargetWidget .data ());
492
- if (!DockArea)
458
+ if (!DockArea && CDockManager::autoHideConfigFlags (). testFlag (CDockManager::AutoHideFeatureEnabled) )
493
459
{
494
460
auto Rect = rect ();
495
461
const QPoint pos = mapFromGlobal (QCursor::pos ());
462
+
463
+ std::cout << " pos.y: " << pos.y () << " d->sideBarMouseZone(SideBarTop) " << d->sideBarMouseZone (SideBarTop) << std::endl;
496
464
if (pos.x () < d->sideBarMouseZone (SideBarLeft))
497
465
{
498
466
return LeftAutoHideArea;
@@ -515,6 +483,10 @@ DockWidgetArea CDockOverlay::dropAreaUnderCursor() const
515
483
}
516
484
return Result;
517
485
}
486
+ else if (!DockArea)
487
+ {
488
+ return Result;
489
+ }
518
490
519
491
if (DockArea->allowedAreas ().testFlag (CenterDockWidgetArea)
520
492
&& !DockArea->titleBar ()->isHidden ()
@@ -612,6 +584,7 @@ void CDockOverlay::paintEvent(QPaintEvent* event)
612
584
double Factor = (CDockOverlay::ModeContainerOverlay == d->Mode ) ?
613
585
3 : 2 ;
614
586
587
+ std::cout << " paint: da: " << da << std::endl;
615
588
switch (da)
616
589
{
617
590
case TopDockWidgetArea: r.setHeight (r.height () / Factor); break ;
@@ -707,23 +680,6 @@ QPoint DockOverlayCrossPrivate::areaGridPosition(const DockWidgetArea area)
707
680
default : return QPoint ();
708
681
}
709
682
}
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
- }
727
683
else
728
684
{
729
685
switch (area)
@@ -778,15 +734,6 @@ void CDockOverlayCross::setupOverlayCross(CDockOverlay::eMode Mode)
778
734
areaWidgets.insert (LeftDockWidgetArea, d->createDropIndicatorWidget (LeftDockWidgetArea, Mode));
779
735
areaWidgets.insert (CenterDockWidgetArea, d->createDropIndicatorWidget (CenterDockWidgetArea, Mode));
780
736
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
-
790
737
#if QT_VERSION >= 0x050600
791
738
d->LastDevicePixelRatio = devicePixelRatioF ();
792
739
#else
@@ -873,26 +820,6 @@ void CDockOverlayCross::setAreaWidgets(const QHash<DockWidgetArea, QWidget*>& wi
873
820
d->GridLayout ->setColumnStretch (3 , 0 );
874
821
d->GridLayout ->setColumnStretch (4 , 1 );
875
822
}
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
- }
896
823
else
897
824
{
898
825
d->GridLayout ->setContentsMargins (4 , 4 , 4 , 4 );
0 commit comments