Move implementation to its own file

This commit is contained in:
Chocobo1 2019-07-17 21:57:52 +08:00
commit 07263d2d70
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
18 changed files with 535 additions and 290 deletions

View file

@ -29,43 +29,24 @@
#ifndef HIDABLETABWIDGET_H
#define HIDABLETABWIDGET_H
#include <QTabBar>
#include <QTabWidget>
#ifdef Q_OS_MAC
#include <QStyle>
class QPaintEvent;
#endif
class HidableTabWidget : public QTabWidget
{
public:
explicit HidableTabWidget(QWidget *parent = nullptr)
: QTabWidget(parent)
{
}
explicit HidableTabWidget(QWidget *parent = nullptr);
private:
void tabInserted(int index) override;
void tabRemoved(int index) override;
protected:
#ifdef Q_OS_MAC
void paintEvent(QPaintEvent *event) override
{
// Hide the pane for macintosh style
if (!style()->inherits("QMacStyle"))
QTabWidget::paintEvent(event);
}
void paintEvent(QPaintEvent *event) override;
#endif
void tabInserted(int index) override
{
QTabWidget::tabInserted(index);
tabBar()->setVisible(count() != 1);
}
void tabRemoved(int index) override
{
//QTabWidget::tabInserted(index);
QTabWidget::tabRemoved(index);
tabBar()->setVisible(count() != 1);
}
};
#endif // HIDABLETABWIDGET_H