-DolphinTabBar::DolphinTabBar(QWidget* parent) :
- QTabBar(parent),
- m_autoActivationIndex(-1),
- m_tabToBeClosedOnMiddleMouseButtonRelease(-1)
+class PreventFocusWhileHidden : public QObject
+{
+public:
+ PreventFocusWhileHidden(QObject *parent)
+ : QObject(parent){};
+
+protected:
+ bool eventFilter(QObject *obj, QEvent *ev) override
+ {
+ switch (ev->type()) {
+ case QEvent::Hide:
+ static_cast<QWidget *>(obj)->setFocusPolicy(Qt::NoFocus);
+ return false;
+ case QEvent::Show:
+ static_cast<QWidget *>(obj)->setFocusPolicy(Qt::TabFocus);
+ return false;
+ default:
+ return false;
+ }
+ };
+};
+
+DolphinTabBar::DolphinTabBar(QWidget *parent)
+ : QTabBar(parent)
+ , m_autoActivationIndex(-1)
+ , m_tabToBeClosedOnMiddleMouseButtonRelease(-1)