]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphintabbar.cpp
Don't request kio-extras on FreeBSD
[dolphin.git] / src / dolphintabbar.cpp
index 67a61b0315810ebb2c9d204f5b2df2c74c436827..c70089223da4a6b62525c46e6f0c1f7673ee742f 100644 (file)
 #include <QMimeData>
 #include <QTimer>
 
-DolphinTabBar::DolphinTabBar(QWidget* parent) :
-    QTabBar(parent),
-    m_autoActivationIndex(-1),
-    m_tabToBeClosedOnMiddleMouseButtonRelease(-1)
+DolphinTabBar::DolphinTabBar(QWidget *parent)
+    : QTabBar(parent)
+    , m_autoActivationIndex(-1)
+    m_tabToBeClosedOnMiddleMouseButtonRelease(-1)
 {
     setAcceptDrops(true);
     setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab);
@@ -26,14 +26,13 @@ DolphinTabBar::DolphinTabBar(QWidget* parent) :
     m_autoActivationTimer = new QTimer(this);
     m_autoActivationTimer->setSingleShot(true);
     m_autoActivationTimer->setInterval(800);
-    connect(m_autoActivationTimer, &QTimer::timeout,
-            this, &DolphinTabBar::slotAutoActivationTimeout);
+    connect(m_autoActivationTimer, &QTimer::timeout, this, &DolphinTabBar::slotAutoActivationTimeout);
 }
 
-void DolphinTabBar::dragEnterEvent(QDragEnterEventevent)
+void DolphinTabBar::dragEnterEvent(QDragEnterEvent *event)
 {
-    const QMimeDatamimeData = event->mimeData();
-    const int index = tabAt(event->pos());
+    const QMimeData *mimeData = event->mimeData();
+    const int index = tabAt(event->position().toPoint());
 
     if (mimeData->hasUrls()) {
         event->acceptProposedAction();
@@ -43,17 +42,17 @@ void DolphinTabBar::dragEnterEvent(QDragEnterEvent* event)
     QTabBar::dragEnterEvent(event);
 }
 
-void DolphinTabBar::dragLeaveEvent(QDragLeaveEventevent)
+void DolphinTabBar::dragLeaveEvent(QDragLeaveEvent *event)
 {
     updateAutoActivationTimer(-1);
 
     QTabBar::dragLeaveEvent(event);
 }
 
-void DolphinTabBar::dragMoveEvent(QDragMoveEventevent)
+void DolphinTabBar::dragMoveEvent(QDragMoveEvent *event)
 {
-    const QMimeDatamimeData = event->mimeData();
-    const int index = tabAt(event->pos());
+    const QMimeData *mimeData = event->mimeData();
+    const int index = tabAt(event->position().toPoint());
 
     if (mimeData->hasUrls()) {
         updateAutoActivationTimer(index);
@@ -62,22 +61,22 @@ void DolphinTabBar::dragMoveEvent(QDragMoveEvent* event)
     QTabBar::dragMoveEvent(event);
 }
 
-void DolphinTabBar::dropEvent(QDropEventevent)
+void DolphinTabBar::dropEvent(QDropEvent *event)
 {
     // Disable the auto activation timer
     updateAutoActivationTimer(-1);
 
-    const QMimeDatamimeData = event->mimeData();
-    const int index = tabAt(event->pos());
+    const QMimeData *mimeData = event->mimeData();
+    const int index = tabAt(event->position().toPoint());
 
-    if (index >= 0 && mimeData->hasUrls()) {
+    if (mimeData->hasUrls()) {
         Q_EMIT tabDropEvent(index, event);
     }
 
     QTabBar::dropEvent(event);
 }
 
-void DolphinTabBar::mousePressEvent(QMouseEventevent)
+void DolphinTabBar::mousePressEvent(QMouseEvent *event)
 {
     const int index = tabAt(event->pos());
 
@@ -93,8 +92,7 @@ void DolphinTabBar::mouseReleaseEvent(QMouseEvent *event)
 {
     const int index = tabAt(event->pos());
 
-    if (index >= 0 && index == m_tabToBeClosedOnMiddleMouseButtonRelease
-        && event->button() == Qt::MiddleButton) {
+    if (index >= 0 && index == m_tabToBeClosedOnMiddleMouseButtonRelease && event->button() == Qt::MiddleButton) {
         // Mouse middle click on a tab closes this tab.
         Q_EMIT tabCloseRequested(index);
         return;
@@ -103,21 +101,22 @@ void DolphinTabBar::mouseReleaseEvent(QMouseEvent *event)
     QTabBar::mouseReleaseEvent(event);
 }
 
-void DolphinTabBar::mouseDoubleClickEvent(QMouseEventevent)
+void DolphinTabBar::mouseDoubleClickEvent(QMouseEvent *event)
 {
-    const int index = tabAt(event->pos());
+    int index = tabAt(event->pos());
 
     if (index < 0) {
-        // Double click on the empty tabbar area opens a new activated tab
-        // with the url from the current tab.
-        Q_EMIT openNewActivatedTab(currentIndex());
-        return;
+        // empty tabbar area case
+        index = currentIndex();
     }
+    // Double click on the tabbar opens a new activated tab
+    // with the url from the doubleclicked tab or currentTab otherwise.
+    Q_EMIT openNewActivatedTab(index);
 
     QTabBar::mouseDoubleClickEvent(event);
 }
 
-void DolphinTabBar::contextMenuEvent(QContextMenuEventevent)
+void DolphinTabBar::contextMenuEvent(QContextMenuEvent *event)
 {
     const int index = tabAt(event->pos());
 
@@ -125,12 +124,12 @@ void DolphinTabBar::contextMenuEvent(QContextMenuEvent* event)
         // Tab context menu
         QMenu menu(this);
 
-        QActionnewTabAction = menu.addAction(QIcon::fromTheme(QStringLiteral("tab-new")), i18nc("@action:inmenu", "New Tab"));
-        QActiondetachTabAction = menu.addAction(QIcon::fromTheme(QStringLiteral("tab-detach")), i18nc("@action:inmenu", "Detach Tab"));
-        QActioncloseOtherTabsAction = menu.addAction(QIcon::fromTheme(QStringLiteral("tab-close-other")), i18nc("@action:inmenu", "Close Other Tabs"));
-        QActioncloseTabAction = menu.addAction(QIcon::fromTheme(QStringLiteral("tab-close")), i18nc("@action:inmenu", "Close Tab"));
+        QAction *newTabAction = menu.addAction(QIcon::fromTheme(QStringLiteral("tab-new")), i18nc("@action:inmenu", "New Tab"));
+        QAction *detachTabAction = menu.addAction(QIcon::fromTheme(QStringLiteral("tab-detach")), i18nc("@action:inmenu", "Detach Tab"));
+        QAction *closeOtherTabsAction = menu.addAction(QIcon::fromTheme(QStringLiteral("tab-close-other")), i18nc("@action:inmenu", "Close Other Tabs"));
+        QAction *closeTabAction = menu.addAction(QIcon::fromTheme(QStringLiteral("tab-close")), i18nc("@action:inmenu", "Close Tab"));
 
-        QActionselectedAction = menu.exec(event->globalPos());
+        QAction *selectedAction = menu.exec(event->globalPos());
         if (selectedAction == newTabAction) {
             Q_EMIT openNewActivatedTab(index);
         } else if (selectedAction == detachTabAction) {
@@ -173,3 +172,5 @@ void DolphinTabBar::updateAutoActivationTimer(const int index)
         }
     }
 }
+
+#include "moc_dolphintabbar.cpp"