File tree Expand file tree Collapse file tree 2 files changed +13
-3
lines changed Expand file tree Collapse file tree 2 files changed +13
-3
lines changed Original file line number Diff line number Diff line change 3838HidableTabWidget::HidableTabWidget (QWidget *parent)
3939 : QTabWidget(parent)
4040{
41+ // Skip single tab in keyboard navigation (no point navigating to it)
42+ tabBar ()->setFocusPolicy (Qt::NoFocus);
4143}
4244
4345void HidableTabWidget::tabInserted (const int index)
4446{
4547 QTabWidget::tabInserted (index);
46- tabBar ()-> setVisible ( count () != 1 );
48+ tabsCountChanged ( );
4749}
4850
4951void HidableTabWidget::tabRemoved (const int index)
5052{
51- // QTabWidget::tabInserted(index);
5253 QTabWidget::tabRemoved (index);
53- tabBar ()->setVisible (count () != 1 );
54+ tabsCountChanged ();
55+ }
56+
57+ void HidableTabWidget::tabsCountChanged ()
58+ {
59+ const qsizetype tabsCount = count ();
60+ tabBar ()->setVisible (tabsCount != 1 );
61+ // Skip single tab in keyboard navigation (no point navigating to it)
62+ tabBar ()->setFocusPolicy ((tabsCount > 1 ) ? Qt::StrongFocus : Qt::NoFocus);
5463}
5564
5665#ifdef Q_OS_MACOS
Original file line number Diff line number Diff line change @@ -42,6 +42,7 @@ class HidableTabWidget final : public QTabWidget
4242private:
4343 void tabInserted (int index) override ;
4444 void tabRemoved (int index) override ;
45+ void tabsCountChanged ();
4546
4647#ifdef Q_OS_MACOS
4748 void paintEvent (QPaintEvent *event) override ;
You can’t perform that action at this time.
0 commit comments