瀏覽代碼

fix(ui): login screen loses focus on focus keybindings (#131)

ayntgl 4 年之前
父節點
當前提交
65356499c0
共有 1 個文件被更改,包括 15 次插入13 次删除
  1. 15 13
      ui/app.go

+ 15 - 13
ui/app.go

@@ -75,19 +75,21 @@ func (app *App) onInputCapture(e *tcell.EventKey) *tcell.EventKey {
 		return e
 	}
 
-	switch e.Name() {
-	case app.Config.Keybindings.ToggleGuildsList:
-		app.SetFocus(app.GuildsList)
-		return nil
-	case app.Config.Keybindings.ToggleChannelsTreeView:
-		app.SetFocus(app.ChannelsTreeView)
-		return nil
-	case app.Config.Keybindings.ToggleMessagesTextView:
-		app.SetFocus(app.MessagesTextView)
-		return nil
-	case app.Config.Keybindings.ToggleMessageInputField:
-		app.SetFocus(app.MessageInputField)
-		return nil
+	if app.MainFlex.GetItemCount() != 0 {
+		switch e.Name() {
+		case app.Config.Keybindings.ToggleGuildsList:
+			app.SetFocus(app.GuildsList)
+			return nil
+		case app.Config.Keybindings.ToggleChannelsTreeView:
+			app.SetFocus(app.ChannelsTreeView)
+			return nil
+		case app.Config.Keybindings.ToggleMessagesTextView:
+			app.SetFocus(app.MessagesTextView)
+			return nil
+		case app.Config.Keybindings.ToggleMessageInputField:
+			app.SetFocus(app.MessageInputField)
+			return nil
+		}
 	}
 
 	return e