diff --git a/src/gui/Src/Gui/TabBar.cpp b/src/gui/Src/Gui/TabBar.cpp index 908cd839..246ef281 100644 --- a/src/gui/Src/Gui/TabBar.cpp +++ b/src/gui/Src/Gui/TabBar.cpp @@ -53,125 +53,3 @@ void MHTabBar::contextMenuEvent(QContextMenuEvent* event) OnDeleteTab((int)tabAt(event->pos())); } } - - -/* -////////////////////////////////////////////////////////////////////////////// -void MHTabBar::mousePressEvent(QMouseEvent* event) -{ - if (event->button() == Qt::LeftButton) - m_dragStartPos = event->pos(); - - m_dragDroppedPos.setX(0); - m_dragDroppedPos.setY(0); - m_dragMovedPos.setX(0); - m_dragMovedPos.setY(0); - - m_dragInitiated = false; - - QTabBar::mousePressEvent(event); -} - -////////////////////////////////////////////////////////////////////////////// -void MHTabBar::mouseMoveEvent(QMouseEvent* event) -{ - // Distinguish a drag - if ( !m_dragStartPos.isNull() && - ((event->pos() - m_dragStartPos).manhattanLength() < QApplication::startDragDistance()) ) - { - m_dragInitiated = true; - } - - // The left button is pressed - // And the move could also be a drag - // And the mouse moved outside the tab bar - if ((event->buttons() & Qt::LeftButton) && m_dragInitiated && !geometry().contains(event->pos())) - { - // Stop the move to be able to convert to a drag - { - QMouseEvent finishMoveEvent(QEvent::MouseMove, event->pos(), Qt::NoButton, Qt::NoButton, Qt::NoModifier); - QTabBar::mouseMoveEvent(&finishMoveEvent); - } - - // A crude way to distinguish tab-reordering drops from other ones - QMimeData* mimeData = new QMimeData; - mimeData->setData("action", "application/tab-detach"); - - // Initiate Drag - QDrag* drag = new QDrag(this); - drag->setMimeData(mimeData); - - // Create transparent screen dump - QPixmap pixmap = QPixmap::grabWindow(dynamic_cast(parentWidget())->currentWidget()->winId()).scaled(640, 480, Qt::KeepAspectRatio); - QPixmap targetPixmap(pixmap.size()); - - QPainter painter(&targetPixmap); - painter.setOpacity(0.5); - painter.drawPixmap(0, 0, pixmap); - painter.end(); - - drag->setPixmap(targetPixmap); - - // Handle Detach and Move - Qt::DropAction dragged = drag->exec(Qt::MoveAction | Qt::CopyAction); - - if (dragged == Qt::IgnoreAction) - { - event->accept(); - OnDetachTab(tabAt(m_dragStartPos), QCursor::pos()); - } - else if (dragged == Qt::MoveAction) - { - if (!m_dragDroppedPos.isNull()) - { - event->accept(); - OnMoveTab(tabAt(m_dragStartPos), tabAt(m_dragDroppedPos)); - } - } - - delete drag; - } - else - { - QTabBar::mouseMoveEvent(event); - } -} - -////////////////////////////////////////////////////////////////////////////// -void MHTabBar::dragEnterEvent(QDragEnterEvent* event) -{ - // Only accept if it's an tab-reordering request (not a detach request) - const QMimeData* m = event->mimeData(); - - if (m->formats().contains("action") && (m->data("action") != "application/tab-detach")) - { - event->acceptProposedAction(); - } - - QTabBar::dragEnterEvent(event); -} - -////////////////////////////////////////////////////////////////////////////// -void MHTabBar::dragMoveEvent(QDragMoveEvent* event) -{ - // Only accept if it's an tab-reordering request (not a detach request) - const QMimeData* m = event->mimeData(); - - if (m->formats().contains("action") && (m->data("action") != "application/tab-detach")) - { - m_dragMovedPos = event->pos(); - event->acceptProposedAction(); - } - - QTabBar::dragMoveEvent(event); -} - -////////////////////////////////////////////////////////////////////////////// -void MHTabBar::dropEvent(QDropEvent* event) -{ - // If a dragged Event is dropped within this widget it is not a drag but a move. - m_dragDroppedPos = event->pos(); - - QTabBar::dropEvent(event); -} -*/ diff --git a/src/gui/Src/Gui/TabBar.h b/src/gui/Src/Gui/TabBar.h index 1336f58a..18e89042 100644 --- a/src/gui/Src/Gui/TabBar.h +++ b/src/gui/Src/Gui/TabBar.h @@ -12,7 +12,7 @@ class QMainWindow; ////////////////////////////////////////////////////////////////////////////// // Summary: -// MHTabBar implements the a Tab Bar with tear-off functionality. +// MHTabBar implements the a Tab Bar with detach functionality. ////////////////////////////////////////////////////////////////////////////// class MHTabBar: public QTabBar { @@ -23,13 +23,6 @@ public: protected: void contextMenuEvent(QContextMenuEvent* event); - /* - void mousePressEvent(QMouseEvent* event); - void mouseMoveEvent(QMouseEvent* event); - void dragEnterEvent(QDragEnterEvent* event); - void dragMoveEvent(QDragMoveEvent* event); - void dropEvent(QDropEvent* event); - */ signals: // Detach Tab @@ -42,13 +35,6 @@ signals: private: bool mAllowDetach; bool mAllowDelete; - /* - QPoint m_dragStartPos; - QPoint m_dragMovedPos; - QPoint m_dragDroppedPos; - bool m_dragInitiated; - int m_dragCurrentIndex; - */ }; #endif // __MHTABBAR_H__ diff --git a/src/gui/Src/Gui/TabWidget.cpp b/src/gui/Src/Gui/TabWidget.cpp index 1de48fed..4f003df1 100644 --- a/src/gui/Src/Gui/TabWidget.cpp +++ b/src/gui/Src/Gui/TabWidget.cpp @@ -156,44 +156,15 @@ void MHTabWidget::AttachTab(QWidget* parent) //---------------------------------------------------------------------------- -////////////////////////////////////////////////////////////////////////////// MHDetachedWindow::MHDetachedWindow(QWidget* parent, MHTabWidget* tabwidget) : QMainWindow(parent) { m_TabWidget = tabwidget; } -////////////////////////////////////////////////////////////////////////////// MHDetachedWindow::~MHDetachedWindow(void) { } -/* -////////////////////////////////////////////////////////////////////////////// -void MHDetachedWindow::moveEvent(QMoveEvent *event) -{ - QRect rect = m_TabWidget->geometry(); - QSize hint = m_TabWidget->tabBar()->sizeHint(); - - // Height of the actual top tab bar - rect.setBottom(rect.top() + hint.height()); - QPoint pos1(rect.x(), rect.y()); - pos1=m_TabWidget->mapToGlobal(pos1); - rect.setX(pos1.x()); - rect.setY(pos1.y()); - - if (rect.contains(event->pos())) - { - m_TabWidget->AttachTab(this); - event->accept(); - } - else - { - QMainWindow::moveEvent(event); - } -} -*/ - -////////////////////////////////////////////////////////////////////////////// void MHDetachedWindow::closeEvent(QCloseEvent* /*event*/) { emit OnClose(this); diff --git a/src/gui/Src/Gui/TabWidget.h b/src/gui/Src/Gui/TabWidget.h index 375faddc..41672e14 100644 --- a/src/gui/Src/Gui/TabWidget.h +++ b/src/gui/Src/Gui/TabWidget.h @@ -15,7 +15,7 @@ class MHTabBar; ////////////////////////////////////////////////////////////////////////////// // Summary: // MHTabWidget implements the a Tab Widget with detach and attach -// functionality. +// functionality for MHTabBar. ////////////////////////////////////////////////////////////////////////////// class MHTabWidget: public QTabWidget { @@ -71,7 +71,6 @@ public: protected: MHTabWidget* m_TabWidget; - //virtual void moveEvent(QMoveEvent *event); void closeEvent(QCloseEvent* event); signals: