summaryrefslogtreecommitdiffstats
path: root/pkg/gui/filtering.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-03-29 10:31:34 +1100
committerJesse Duffield <jessedduffield@gmail.com>2020-03-29 11:37:29 +1100
commita8db672ffbeba92a32ad34f475760c78aa73303e (patch)
treee941074a316d4e7df057552a05f9d873ed6fb47a /pkg/gui/filtering.go
parent76b66ae26f428c58b3b0993d8da4bf31d5933dc7 (diff)
refactor gui.go
Diffstat (limited to 'pkg/gui/filtering.go')
-rw-r--r--pkg/gui/filtering.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/pkg/gui/filtering.go b/pkg/gui/filtering.go
new file mode 100644
index 000000000..66232e3fb
--- /dev/null
+++ b/pkg/gui/filtering.go
@@ -0,0 +1,21 @@
+package gui
+
+import "github.com/jesseduffield/gocui"
+
+func (gui *Gui) inFilterMode() bool {
+ return gui.State.FilterPath != ""
+}
+
+func (gui *Gui) validateNotInFilterMode() (bool, error) {
+ if gui.inFilterMode() {
+ return false, gui.createConfirmationPanel(gui.g, gui.g.CurrentView(), true, gui.Tr.SLocalize("MustExitFilterModeTitle"), gui.Tr.SLocalize("MustExitFilterModePrompt"), func(*gocui.Gui, *gocui.View) error {
+ return gui.exitFilterMode()
+ }, nil)
+ }
+ return true, nil
+}
+
+func (gui *Gui) exitFilterMode() error {
+ gui.State.FilterPath = ""
+ return gui.Errors.ErrRestart
+}