LibGUI: Cycle through TabWidget tabs with Ctrl+Tab / Ctrl+Shift+Tab

Fixes #2022.
This commit is contained in:
Andreas Kling 2020-04-30 09:04:03 +02:00
parent a9f6f862e2
commit f2cdef5c47
Notes: sideshowbarker 2024-07-19 07:10:12 +09:00
2 changed files with 14 additions and 0 deletions

View File

@ -332,4 +332,17 @@ void TabWidget::activate_previous_tab()
set_active_widget(m_tabs.at(index).widget);
}
void TabWidget::keydown_event(KeyEvent & event)
{
if (event.ctrl() && event.key() == Key_Tab) {
if (event.shift())
activate_previous_tab();
else
activate_next_tab();
event.accept();
return;
}
Widget::keydown_event(event);
}
}

View File

@ -90,6 +90,7 @@ protected:
virtual void mousedown_event(MouseEvent&) override;
virtual void mousemove_event(MouseEvent&) override;
virtual void leave_event(Core::Event&) override;
virtual void keydown_event(KeyEvent&) override;
private:
Gfx::Rect child_rect_for_size(const Gfx::Size&) const;