aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2018-03-17 16:09:53 +0200
committerTulir Asokan <tulir@maunium.net>2018-03-17 16:09:53 +0200
commitb536064882a4a436781a6c34122f8c919729a19c (patch)
tree7c5cac1194f421abd4a03f766496c32d7df7d785
parentb0ebb4b9a48276289dc51f9c2574e25cad60b867 (diff)
Fix removing rooms
-rw-r--r--view-main.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/view-main.go b/view-main.go
index 4696afb..57e5d6d 100644
--- a/view-main.go
+++ b/view-main.go
@@ -18,6 +18,7 @@ package main
import (
"fmt"
+ "sort"
"strings"
"time"
"unicode"
@@ -252,11 +253,17 @@ func (view *MainView) RemoveRoom(room string) {
if !view.HasRoom(room) {
return
}
- view.roomList.RemoveItem(view.currentRoomIndex)
+ removeIndex := 0
if view.CurrentRoomID() == room {
+ removeIndex = view.currentRoomIndex
view.SwitchRoom(view.currentRoomIndex - 1)
+ } else {
+ removeIndex = sort.StringSlice(view.roomIDs).Search(room)
}
+ view.roomList.RemoveItem(removeIndex)
+ view.roomIDs = append(view.roomIDs[:removeIndex], view.roomIDs[removeIndex+1:]...)
view.roomView.RemovePage(room)
+ view.Render()
}
func (view *MainView) SetRoomList(rooms []string) {