aboutsummaryrefslogtreecommitdiff
path: root/src/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/browsertabbar.cpp18
-rw-r--r--src/widgets/browsertabbar.hpp15
-rw-r--r--src/widgets/browsertabwidget.cpp8
-rw-r--r--src/widgets/browsertabwidget.hpp16
4 files changed, 57 insertions, 0 deletions
diff --git a/src/widgets/browsertabbar.cpp b/src/widgets/browsertabbar.cpp
new file mode 100644
index 0000000..503157f
--- /dev/null
+++ b/src/widgets/browsertabbar.cpp
@@ -0,0 +1,18 @@
+#include "browsertabbar.hpp"
+
+#include <QMouseEvent>
+
+BrowserTabBar::BrowserTabBar(QWidget *parent) :
+ QTabBar(parent)
+{
+
+}
+
+void BrowserTabBar::mouseReleaseEvent(QMouseEvent *event)
+{
+ if(event->button() == Qt::MiddleButton) {
+ emit tabCloseRequested(this->tabAt(event->pos()));
+ } else {
+ QTabBar::mousePressEvent(event);
+ }
+}
diff --git a/src/widgets/browsertabbar.hpp b/src/widgets/browsertabbar.hpp
new file mode 100644
index 0000000..f1cd49b
--- /dev/null
+++ b/src/widgets/browsertabbar.hpp
@@ -0,0 +1,15 @@
+#ifndef BROWSERTABS_HPP
+#define BROWSERTABS_HPP
+
+#include <QTabBar>
+
+class BrowserTabBar : public QTabBar
+{
+ Q_OBJECT
+public:
+ explicit BrowserTabBar(QWidget * parent);
+
+ void mouseReleaseEvent(QMouseEvent *event) override;
+};
+
+#endif // BROWSERTABS_HPP
diff --git a/src/widgets/browsertabwidget.cpp b/src/widgets/browsertabwidget.cpp
new file mode 100644
index 0000000..7419c52
--- /dev/null
+++ b/src/widgets/browsertabwidget.cpp
@@ -0,0 +1,8 @@
+#include "browsertabwidget.hpp"
+
+#include "browsertabbar.hpp"
+
+BrowserTabWidget::BrowserTabWidget(QWidget *parent) : QTabWidget(parent)
+{
+ this->setTabBar(new BrowserTabBar(this));
+}
diff --git a/src/widgets/browsertabwidget.hpp b/src/widgets/browsertabwidget.hpp
new file mode 100644
index 0000000..dd4142c
--- /dev/null
+++ b/src/widgets/browsertabwidget.hpp
@@ -0,0 +1,16 @@
+#ifndef BROWSERTABWIDGET_HPP
+#define BROWSERTABWIDGET_HPP
+
+#include <QTabWidget>
+
+class BrowserTabWidget : public QTabWidget
+{
+ Q_OBJECT
+public:
+ explicit BrowserTabWidget(QWidget *parent = nullptr);
+
+signals:
+
+};
+
+#endif // BROWSERTABWIDGET_HPP