-
Notifications
You must be signed in to change notification settings - Fork 80
/
muc_room_config_page_info.go
48 lines (38 loc) · 1.66 KB
/
muc_room_config_page_info.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package gui
import (
"github.com/coyim/gotk3adapter/gtki"
)
type roomConfigInfoPage struct {
*roomConfigPageBase
roomDescriptionBuffer gtki.TextBuffer
roomLanguageComponent *languageSelectorComponent
roomTitle gtki.Entry `gtk-widget:"room-title"`
roomDescription gtki.TextView `gtk-widget:"room-description"`
roomLanguageCombobox gtki.ComboBoxText `gtk-widget:"room-language-combobox"`
roomLanguageEntry gtki.Entry `gtk-widget:"room-language-entry"`
roomPersistent gtki.Switch `gtk-widget:"room-persistent"`
roomPublic gtki.Switch `gtk-widget:"room-public"`
}
func (c *mucRoomConfigComponent) newRoomConfigInfoPage() mucRoomConfigPage {
p := &roomConfigInfoPage{}
p.roomConfigPageBase = c.newConfigPage("info", "MUCRoomConfigPageInfo", p, nil)
p.roomDescriptionBuffer, _ = g.gtk.TextBufferNew(nil)
p.roomDescription.SetBuffer(p.roomDescriptionBuffer)
p.roomLanguageComponent = c.u.createLanguageSelectorComponent(p.roomLanguageEntry, p.roomLanguageCombobox)
p.initDefaultValues()
return p
}
func (p *roomConfigInfoPage) initDefaultValues() {
setEntryText(p.roomTitle, p.form.Title)
setTextViewText(p.roomDescription, p.form.Description)
p.roomLanguageComponent.setLanguage(p.form.Language)
setSwitchActive(p.roomPersistent, p.form.Persistent)
setSwitchActive(p.roomPublic, p.form.Public)
}
func (p *roomConfigInfoPage) collectData() {
p.form.Title = getEntryText(p.roomTitle)
p.form.Description = getTextViewText(p.roomDescription)
p.form.Language = p.roomLanguageComponent.currentLanguage()
p.form.Persistent = getSwitchActive(p.roomPersistent)
p.form.Public = getSwitchActive(p.roomPublic)
}