diff options
| author | Felix (xq) Queißner <git@mq32.de> | 2020-06-27 00:28:03 +0200 |
|---|---|---|
| committer | Felix (xq) Queißner <git@mq32.de> | 2020-06-27 00:28:03 +0200 |
| commit | ad15a056672f049cf8302fc7a0a94b71f42db356 (patch) | |
| tree | 3dafbbd36648ba664dc836fff6bf5e42bd274c77 /src/widgets | |
| parent | a2d567a95e388e946cae8b0a5e30a7428f12eba4 (diff) | |
| download | kristall-ad15a056672f049cf8302fc7a0a94b71f42db356.tar.gz | |
Allows middle-clicking to close tabs.
Diffstat (limited to 'src/widgets')
| -rw-r--r-- | src/widgets/browsertabbar.cpp | 18 | ||||
| -rw-r--r-- | src/widgets/browsertabbar.hpp | 15 | ||||
| -rw-r--r-- | src/widgets/browsertabwidget.cpp | 8 | ||||
| -rw-r--r-- | src/widgets/browsertabwidget.hpp | 16 |
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 |
