From 2f0ac382289d0584002c007bdf2b3e4464f75b58 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 25 Jul 2023 10:44:02 +0400 Subject: [PATCH] Lock tab-focus inside a layer widget. --- ui/layers/layer_widget.cpp | 5 +++++ ui/layers/layer_widget.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/ui/layers/layer_widget.cpp b/ui/layers/layer_widget.cpp index 5e86df3..2dbab88 100644 --- a/ui/layers/layer_widget.cpp +++ b/ui/layers/layer_widget.cpp @@ -13,6 +13,7 @@ #include "ui/painter.h" #include "ui/ui_utility.h" #include "ui/round_rect.h" +#include "base/qt/qt_tab_key.h" #include "base/integration.h" #include "styles/style_layers.h" #include "styles/style_widgets.h" @@ -366,6 +367,10 @@ void LayerWidget::resizeEvent(QResizeEvent *e) { } } +bool LayerWidget::focusNextPrevChild(bool next) { + return base::FocusNextPrevChildBlocked(this, next); +} + void LayerStackWidget::setHideByBackgroundClick(bool hide) { _hideByBackgroundClick = hide; } diff --git a/ui/layers/layer_widget.h b/ui/layers/layer_widget.h index 4fab66b..096e551 100644 --- a/ui/layers/layer_widget.h +++ b/ui/layers/layer_widget.h @@ -82,6 +82,8 @@ public: protected: void mousePressEvent(QMouseEvent *e) override; void resizeEvent(QResizeEvent *e) override; + bool focusNextPrevChild(bool next) override; + virtual void doSetInnerFocus() { setFocus(); }