Skip to content

Commit 8dcdc8f

Browse files
Improved autohidedragndrop example to check, if it also works when dragging with multiple auto hide tabs
1 parent f964ce2 commit 8dcdc8f

File tree

4 files changed

+28
-11
lines changed

4 files changed

+28
-11
lines changed

examples/autohidedragndrop/autohidedragndrop.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ SOURCES += \
2323
droppableitem.cpp
2424

2525
HEADERS += \
26-
mainwindow.h
26+
mainwindow.h \
2727
droppableitem.h
2828

2929
FORMS += \

examples/autohidedragndrop/droppableitem.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ void DroppableItem::dragEnterEvent(QDragEnterEvent* event)
2424

2525
void DroppableItem::dragLeaveEvent(QDragLeaveEvent* event)
2626
{
27+
Q_UNUSED(event);
2728
unsetCursor();
2829
}
2930

examples/autohidedragndrop/mainwindow.cpp

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ CMainWindow::CMainWindow(QWidget *parent)
2929
CDockManager::setConfigFlag(CDockManager::FocusHighlighting, true);
3030
CDockManager::setAutoHideConfigFlags(CDockManager::DefaultAutoHideConfig);
3131
CDockManager::setAutoHideConfigFlag(CDockManager::AutoHideOpenOnDragHover, true);
32+
CDockManager::setConfigParam(CDockManager::AutoHideOpenOnDragHoverDelay_ms, 500);
3233
DockManager = new CDockManager(this);
3334

3435
// Set central widget
@@ -39,16 +40,30 @@ CMainWindow::CMainWindow(QWidget *parent)
3940
auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget);
4041
CentralDockArea->setAllowedAreas(DockWidgetArea::OuterDockAreas);
4142

42-
DroppableItem* droppableItem = new DroppableItem("Drop text here.");
43-
CDockWidget* dropDockWidget = new CDockWidget("Tab");
44-
dropDockWidget->setWidget(droppableItem);
45-
dropDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
46-
dropDockWidget->setMinimumSize(200,150);
47-
dropDockWidget->setAcceptDrops(true);
48-
const auto autoHideContainer = DockManager->addAutoHideDockWidget(SideBarLocation::SideBarLeft, dropDockWidget);
49-
autoHideContainer->setSize(480);
50-
autoHideContainer->setAcceptDrops(true);
51-
ui->menuView->addAction(dropDockWidget->toggleViewAction());
43+
{
44+
DroppableItem* droppableItem = new DroppableItem("Drop text here.");
45+
CDockWidget* dropDockWidget = new CDockWidget("Tab 1");
46+
dropDockWidget->setWidget(droppableItem);
47+
dropDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
48+
dropDockWidget->setMinimumSize(200,150);
49+
dropDockWidget->setAcceptDrops(true);
50+
const auto autoHideContainer = DockManager->addAutoHideDockWidget(SideBarLocation::SideBarLeft, dropDockWidget);
51+
autoHideContainer->setSize(480);
52+
autoHideContainer->setAcceptDrops(true);
53+
ui->menuView->addAction(dropDockWidget->toggleViewAction());
54+
}
55+
{
56+
DroppableItem* droppableItem = new DroppableItem("Drop text here.");
57+
CDockWidget* dropDockWidget = new CDockWidget("Tab 2");
58+
dropDockWidget->setWidget(droppableItem);
59+
dropDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
60+
dropDockWidget->setMinimumSize(200,150);
61+
dropDockWidget->setAcceptDrops(true);
62+
const auto autoHideContainer = DockManager->addAutoHideDockWidget(SideBarLocation::SideBarRight, dropDockWidget);
63+
autoHideContainer->setSize(480);
64+
autoHideContainer->setAcceptDrops(true);
65+
ui->menuView->addAction(dropDockWidget->toggleViewAction());
66+
}
5267

5368
QTableWidget* propertiesTable = new QTableWidget();
5469
propertiesTable->setColumnCount(3);

examples/examples.pro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ TEMPLATE = subdirs
22

33
SUBDIRS = \
44
autohide \
5+
autohidedragndrop \
56
centralwidget \
67
simple \
78
hideshow \

0 commit comments

Comments
 (0)