Synchronize selected user access
This commit is contained in:
committed by
Brandon McGinty
parent
20c6997ab0
commit
3efbd019ce
+28
-15
@@ -32,20 +32,21 @@ type Barnard struct {
|
||||
AutoTransmit bool // auto-start transmission on connect
|
||||
Connected bool
|
||||
|
||||
Ui *uiterm.Ui
|
||||
UiOutput uiterm.Textview
|
||||
UiInput uiterm.Textbox
|
||||
UiStatus uiterm.Label
|
||||
UiTree uiterm.Tree
|
||||
UiAdmin uiterm.Tree
|
||||
UiInputStatus uiterm.Label
|
||||
SelectedChannel *gumble.Channel
|
||||
selectedUser *gumble.User
|
||||
adminTargetUser *gumble.User
|
||||
adminTargetChan *gumble.Channel
|
||||
adminReturnItem uiterm.TreeItem
|
||||
statusText string
|
||||
statusNotice bool
|
||||
Ui *uiterm.Ui
|
||||
UiOutput uiterm.Textview
|
||||
UiInput uiterm.Textbox
|
||||
UiStatus uiterm.Label
|
||||
UiTree uiterm.Tree
|
||||
UiAdmin uiterm.Tree
|
||||
UiInputStatus uiterm.Label
|
||||
SelectedChannel *gumble.Channel
|
||||
selectedUser *gumble.User
|
||||
selectedUserMutex sync.RWMutex
|
||||
adminTargetUser *gumble.User
|
||||
adminTargetChan *gumble.Channel
|
||||
adminReturnItem uiterm.TreeItem
|
||||
statusText string
|
||||
statusNotice bool
|
||||
|
||||
notifyChannel chan []string
|
||||
|
||||
@@ -136,6 +137,18 @@ func (b *Barnard) setChannelMuted(channelID uint32, muted bool) {
|
||||
}
|
||||
}
|
||||
|
||||
func (b *Barnard) selectedUserValue() *gumble.User {
|
||||
b.selectedUserMutex.RLock()
|
||||
defer b.selectedUserMutex.RUnlock()
|
||||
return b.selectedUser
|
||||
}
|
||||
|
||||
func (b *Barnard) setSelectedUserValue(user *gumble.User) {
|
||||
b.selectedUserMutex.Lock()
|
||||
b.selectedUser = user
|
||||
b.selectedUserMutex.Unlock()
|
||||
}
|
||||
|
||||
func (b *Barnard) StopTransmission() {
|
||||
if b.Tx {
|
||||
b.Notify("micdown", "me", "")
|
||||
@@ -165,7 +178,7 @@ func (b *Barnard) TreeItemKeyPress(ui *uiterm.Ui, tree *uiterm.Tree, item uiterm
|
||||
b.GotoChat()
|
||||
}
|
||||
if treeItem.User != nil {
|
||||
if b.selectedUser == treeItem.User {
|
||||
if b.selectedUserValue() == treeItem.User {
|
||||
b.SetSelectedUser(nil)
|
||||
b.GotoChat()
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user