DolphinTabWidget::DolphinTabWidget(DolphinNavigatorsWidgetAction *navigatorsWidget, QWidget *parent)
: QTabWidget(parent)
+ , m_dragAndDropHelper{this}
, m_lastViewedTab(nullptr)
, m_navigatorsWidget{navigatorsWidget}
{
DolphinTabBar *tabBar = new DolphinTabBar(this);
connect(tabBar, &DolphinTabBar::openNewActivatedTab, this, QOverload<int>::of(&DolphinTabWidget::openNewActivatedTab));
+ connect(tabBar, &DolphinTabBar::tabDragMoveEvent, this, &DolphinTabWidget::tabDragMoveEvent);
connect(tabBar, &DolphinTabBar::tabDropEvent, this, &DolphinTabWidget::tabDropEvent);
connect(tabBar, &DolphinTabBar::tabDetachRequested, this, &DolphinTabWidget::detachTab);
openNewActivatedTab(tabPage->activeViewContainer()->url());
}
+void DolphinTabWidget::tabDragMoveEvent(int index, QDragMoveEvent *event)
+{
+ if (index >= 0) {
+ DolphinView *view = tabPageAt(index)->activeViewContainer()->view();
+ m_dragAndDropHelper.updateDropAction(event, view->url());
+ }
+}
+
void DolphinTabWidget::tabDropEvent(int index, QDropEvent *event)
{
if (index >= 0) {