From 2b783d1bc6c162ac889a85d2019276be6a63ad6f Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Wed, 19 Mar 2025 08:45:13 +0100 Subject: [PATCH] Add pageUp/pageDown/top/bottom keybindings to confirmation panel --- pkg/gui/global_handlers.go | 40 ++++++++++++++++++++++++++++++++++++++ pkg/gui/keybindings.go | 36 ++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/pkg/gui/global_handlers.go b/pkg/gui/global_handlers.go index 9721b4b2a..0301cf63e 100644 --- a/pkg/gui/global_handlers.go +++ b/pkg/gui/global_handlers.go @@ -109,6 +109,46 @@ func (gui *Gui) scrollDownConfirmationPanel() error { return nil } +func (gui *Gui) pageUpConfirmationPanel() error { + if gui.Views.Confirmation.Editable { + return nil + } + + gui.Views.Confirmation.ScrollUp(gui.Contexts().Confirmation.GetViewTrait().PageDelta()) + + return nil +} + +func (gui *Gui) pageDownConfirmationPanel() error { + if gui.Views.Confirmation.Editable { + return nil + } + + gui.Views.Confirmation.ScrollDown(gui.Contexts().Confirmation.GetViewTrait().PageDelta()) + + return nil +} + +func (gui *Gui) goToConfirmationPanelTop() error { + if gui.Views.Confirmation.Editable { + return nil + } + + gui.Views.Confirmation.ScrollUp(gui.Views.Confirmation.ViewLinesHeight()) + + return nil +} + +func (gui *Gui) goToConfirmationPanelBottom() error { + if gui.Views.Confirmation.Editable { + return nil + } + + gui.Views.Confirmation.ScrollDown(gui.Views.Confirmation.ViewLinesHeight()) + + return nil +} + func (gui *Gui) handleCopySelectedSideContextItemToClipboard() error { return gui.handleCopySelectedSideContextItemToClipboardWithTruncation(-1) } diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 20163b90b..54c639145 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -260,6 +260,42 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi Key: gocui.MouseWheelDown, Handler: self.scrollDownConfirmationPanel, }, + { + ViewName: "confirmation", + Key: opts.GetKey(opts.Config.Universal.NextPage), + Modifier: gocui.ModNone, + Handler: self.pageDownConfirmationPanel, + }, + { + ViewName: "confirmation", + Key: opts.GetKey(opts.Config.Universal.PrevPage), + Modifier: gocui.ModNone, + Handler: self.pageUpConfirmationPanel, + }, + { + ViewName: "confirmation", + Key: opts.GetKey(opts.Config.Universal.GotoTop), + Modifier: gocui.ModNone, + Handler: self.goToConfirmationPanelTop, + }, + { + ViewName: "confirmation", + Key: opts.GetKey(opts.Config.Universal.GotoTopAlt), + Modifier: gocui.ModNone, + Handler: self.goToConfirmationPanelTop, + }, + { + ViewName: "confirmation", + Key: opts.GetKey(opts.Config.Universal.GotoBottom), + Modifier: gocui.ModNone, + Handler: self.goToConfirmationPanelBottom, + }, + { + ViewName: "confirmation", + Key: opts.GetKey(opts.Config.Universal.GotoBottomAlt), + Modifier: gocui.ModNone, + Handler: self.goToConfirmationPanelBottom, + }, { ViewName: "submodules", Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),