ебанутые настройки честнео слово
This commit is contained in:
parent
d82a294c27
commit
d321069a5f
107
ui/add_comment_screen.go
Normal file
107
ui/add_comment_screen.go
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
package ui
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/container"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
)
|
||||||
|
|
||||||
|
type AddCommentScreen struct {
|
||||||
|
uiManager *UIManager
|
||||||
|
content *fyne.Container
|
||||||
|
boardCode string
|
||||||
|
threadID int
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewAddCommentScreen(uiManager *UIManager, boardCode string, threadID int) *AddCommentScreen {
|
||||||
|
acs := &AddCommentScreen{
|
||||||
|
uiManager: uiManager,
|
||||||
|
boardCode: boardCode,
|
||||||
|
threadID: threadID,
|
||||||
|
content: container.NewVBox(),
|
||||||
|
}
|
||||||
|
acs.setupContent()
|
||||||
|
return acs
|
||||||
|
}
|
||||||
|
|
||||||
|
func (acs *AddCommentScreen) setupContent() {
|
||||||
|
acs.content.Objects = nil
|
||||||
|
|
||||||
|
titleLabel := widget.NewLabel(fmt.Sprintf("Добавить комментарий в тред %d /%s/", acs.threadID, acs.boardCode))
|
||||||
|
titleLabel.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
|
acs.content.Add(titleLabel)
|
||||||
|
|
||||||
|
textEntry := widget.NewMultiLineEntry()
|
||||||
|
textEntry.SetPlaceHolder("Текст комментария")
|
||||||
|
textEntry.Resize(fyne.NewSize(300, 200))
|
||||||
|
acs.content.Add(textEntry)
|
||||||
|
|
||||||
|
passcode := acs.uiManager.GetPasscode()
|
||||||
|
if passcode != "" {
|
||||||
|
passcodeLabel := widget.NewLabel("Passcode настроен")
|
||||||
|
passcodeLabel.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
|
acs.content.Add(passcodeLabel)
|
||||||
|
} else {
|
||||||
|
passcodeLabel := widget.NewLabel("Passcode не настроен - постинг может быть\nограничен и могут быть неожиданные ПРОБЛЕЕМЫ\n(подробнее в настройках)")
|
||||||
|
passcodeLabel.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
|
acs.content.Add(passcodeLabel)
|
||||||
|
}
|
||||||
|
|
||||||
|
buttonsContainer := container.NewHBox()
|
||||||
|
|
||||||
|
addButton := widget.NewButton("Добавить комментарий", func() {
|
||||||
|
text := textEntry.Text
|
||||||
|
|
||||||
|
if text == "" {
|
||||||
|
acs.uiManager.ShowError("Ошибка", "Текст не может быть пустым")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
acs.uiManager.ShowInfo("Добавление комментария", "Отправляем комментарий...")
|
||||||
|
|
||||||
|
passcode := acs.uiManager.GetPasscode()
|
||||||
|
err := acs.uiManager.GetAPIClient().AddComment(acs.boardCode, acs.threadID, text, passcode)
|
||||||
|
if err != nil {
|
||||||
|
acs.uiManager.ShowError("Ошибка", fmt.Sprintf("Не удалось добавить комментарий: %v", err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
acs.uiManager.ClearCacheForThread(acs.threadID)
|
||||||
|
|
||||||
|
acs.uiManager.ShowInfo("Успех", "Комментарий добавлен успешно!")
|
||||||
|
|
||||||
|
acs.uiManager.GoBack()
|
||||||
|
|
||||||
|
if threadDetailScreen, ok := acs.uiManager.GetCurrentScreen().(*ThreadDetailScreen); ok {
|
||||||
|
threadDetailScreen.RefreshThread()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
cancelButton := widget.NewButton("Отмена", func() {
|
||||||
|
acs.uiManager.GoBack()
|
||||||
|
})
|
||||||
|
|
||||||
|
buttonsContainer.Add(addButton)
|
||||||
|
buttonsContainer.Add(cancelButton)
|
||||||
|
acs.content.Add(buttonsContainer)
|
||||||
|
|
||||||
|
acs.content.Refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (acs *AddCommentScreen) GetContent() fyne.CanvasObject {
|
||||||
|
return acs.content
|
||||||
|
}
|
||||||
|
|
||||||
|
func (acs *AddCommentScreen) GetTitle() string {
|
||||||
|
return fmt.Sprintf("Комментарий в тред %d", acs.threadID)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (acs *AddCommentScreen) OnShow() {
|
||||||
|
acs.setupContent()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (acs *AddCommentScreen) OnHide() {
|
||||||
|
// Ничего не делаем при скрытии
|
||||||
|
}
|
||||||
107
ui/create_thread_screen.go
Normal file
107
ui/create_thread_screen.go
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
package ui
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/container"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateThreadScreen struct {
|
||||||
|
uiManager *UIManager
|
||||||
|
content *fyne.Container
|
||||||
|
boardCode string
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewCreateThreadScreen(uiManager *UIManager, boardCode string) *CreateThreadScreen {
|
||||||
|
cts := &CreateThreadScreen{
|
||||||
|
uiManager: uiManager,
|
||||||
|
boardCode: boardCode,
|
||||||
|
content: container.NewVBox(),
|
||||||
|
}
|
||||||
|
cts.setupContent()
|
||||||
|
return cts
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cts *CreateThreadScreen) setupContent() {
|
||||||
|
cts.content.Objects = nil
|
||||||
|
titleLabel := widget.NewLabel(fmt.Sprintf("Создать тред в /%s/", cts.boardCode))
|
||||||
|
titleLabel.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
|
cts.content.Add(titleLabel)
|
||||||
|
titleEntry := widget.NewEntry()
|
||||||
|
titleEntry.SetPlaceHolder("Заголовок треда")
|
||||||
|
cts.content.Add(titleEntry)
|
||||||
|
textEntry := widget.NewMultiLineEntry()
|
||||||
|
textEntry.SetPlaceHolder("Текст треда")
|
||||||
|
textEntry.Resize(fyne.NewSize(300, 200))
|
||||||
|
cts.content.Add(textEntry)
|
||||||
|
passcode := cts.uiManager.GetPasscode()
|
||||||
|
if passcode != "" {
|
||||||
|
passcodeLabel := widget.NewLabel("Passcode настроен ✓")
|
||||||
|
passcodeLabel.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
|
cts.content.Add(passcodeLabel)
|
||||||
|
} else {
|
||||||
|
passcodeLabel := widget.NewLabel("Passcode не настроен - постинг может быть ограничен\nи могут быть неожиданные ПРОБЛЕЕМЫ\n(подробнее в настройках)")
|
||||||
|
passcodeLabel.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
|
cts.content.Add(passcodeLabel)
|
||||||
|
}
|
||||||
|
|
||||||
|
buttonsContainer := container.NewHBox()
|
||||||
|
|
||||||
|
createButton := widget.NewButton("Создать тред", func() {
|
||||||
|
title := titleEntry.Text
|
||||||
|
text := textEntry.Text
|
||||||
|
|
||||||
|
if title == "" {
|
||||||
|
cts.uiManager.ShowError("Ошибка", "Заголовок не может быть пустым")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if text == "" {
|
||||||
|
cts.uiManager.ShowError("Ошибка", "Текст не может быть пустым")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
cts.uiManager.ShowInfo("Создание треда", "Отправляем тред...")
|
||||||
|
|
||||||
|
passcode := cts.uiManager.GetPasscode()
|
||||||
|
err := cts.uiManager.GetAPIClient().CreateThread(cts.boardCode, title, text, passcode)
|
||||||
|
if err != nil {
|
||||||
|
cts.uiManager.ShowError("Ошибка", fmt.Sprintf("Не удалось создать тред: %v", err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
cts.uiManager.ClearCacheForBoard(cts.boardCode)
|
||||||
|
|
||||||
|
cts.uiManager.ShowInfo("Успех", "Тред создан успешно!")
|
||||||
|
cts.uiManager.GoBack()
|
||||||
|
cts.uiManager.RefreshCurrentScreen()
|
||||||
|
})
|
||||||
|
|
||||||
|
cancelButton := widget.NewButton("Отмена", func() {
|
||||||
|
cts.uiManager.GoBack()
|
||||||
|
})
|
||||||
|
|
||||||
|
buttonsContainer.Add(createButton)
|
||||||
|
buttonsContainer.Add(cancelButton)
|
||||||
|
cts.content.Add(buttonsContainer)
|
||||||
|
|
||||||
|
cts.content.Refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cts *CreateThreadScreen) GetContent() fyne.CanvasObject {
|
||||||
|
return cts.content
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cts *CreateThreadScreen) GetTitle() string {
|
||||||
|
return fmt.Sprintf("Создать тред /%s/", cts.boardCode)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cts *CreateThreadScreen) OnShow() {
|
||||||
|
cts.setupContent()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cts *CreateThreadScreen) OnHide() {
|
||||||
|
// Ничего не делаем при скрытии
|
||||||
|
}
|
||||||
@ -26,9 +26,11 @@ func NewSettingsScreen(uiManager *UIManager) *SettingsScreen {
|
|||||||
func (ss *SettingsScreen) setupContent() {
|
func (ss *SettingsScreen) setupContent() {
|
||||||
ss.content.RemoveAll()
|
ss.content.RemoveAll()
|
||||||
|
|
||||||
|
contentContainer := container.NewVBox()
|
||||||
|
|
||||||
header := widget.NewLabel("Настройки")
|
header := widget.NewLabel("Настройки")
|
||||||
header.TextStyle = fyne.TextStyle{Bold: true}
|
header.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
ss.content.Add(header)
|
contentContainer.Add(header)
|
||||||
|
|
||||||
themeLabel := widget.NewLabel("Тема:")
|
themeLabel := widget.NewLabel("Тема:")
|
||||||
themeSelect := widget.NewSelect([]string{"Темная", "Светлая"}, func(theme string) {
|
themeSelect := widget.NewSelect([]string{"Темная", "Светлая"}, func(theme string) {
|
||||||
@ -47,28 +49,28 @@ func (ss *SettingsScreen) setupContent() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
themeContainer := container.NewHBox(themeLabel, themeSelect)
|
themeContainer := container.NewHBox(themeLabel, themeSelect)
|
||||||
ss.content.Add(themeContainer)
|
contentContainer.Add(themeContainer)
|
||||||
|
|
||||||
autoRefreshCheck := widget.NewCheck("Авторефреш", func(checked bool) {
|
autoRefreshCheck := widget.NewCheck("Авторефреш", func(checked bool) {
|
||||||
ss.uiManager.GetSettings().AutoRefresh = checked
|
ss.uiManager.GetSettings().AutoRefresh = checked
|
||||||
ss.uiManager.SaveSettings()
|
ss.uiManager.SaveSettings()
|
||||||
})
|
})
|
||||||
autoRefreshCheck.SetChecked(ss.uiManager.GetSettings().AutoRefresh)
|
autoRefreshCheck.SetChecked(ss.uiManager.GetSettings().AutoRefresh)
|
||||||
ss.content.Add(autoRefreshCheck)
|
contentContainer.Add(autoRefreshCheck)
|
||||||
|
|
||||||
showFilesCheck := widget.NewCheck("Показывать файлы", func(checked bool) {
|
showFilesCheck := widget.NewCheck("Показывать файлы", func(checked bool) {
|
||||||
ss.uiManager.GetSettings().ShowFiles = checked
|
ss.uiManager.GetSettings().ShowFiles = checked
|
||||||
ss.uiManager.SaveSettings()
|
ss.uiManager.SaveSettings()
|
||||||
})
|
})
|
||||||
showFilesCheck.SetChecked(ss.uiManager.GetSettings().ShowFiles)
|
showFilesCheck.SetChecked(ss.uiManager.GetSettings().ShowFiles)
|
||||||
ss.content.Add(showFilesCheck)
|
contentContainer.Add(showFilesCheck)
|
||||||
|
|
||||||
compactModeCheck := widget.NewCheck("Компактный режим", func(checked bool) {
|
compactModeCheck := widget.NewCheck("Компактный режим", func(checked bool) {
|
||||||
ss.uiManager.GetSettings().CompactMode = checked
|
ss.uiManager.GetSettings().CompactMode = checked
|
||||||
ss.uiManager.SaveSettings()
|
ss.uiManager.SaveSettings()
|
||||||
})
|
})
|
||||||
compactModeCheck.SetChecked(ss.uiManager.GetSettings().CompactMode)
|
compactModeCheck.SetChecked(ss.uiManager.GetSettings().CompactMode)
|
||||||
ss.content.Add(compactModeCheck)
|
contentContainer.Add(compactModeCheck)
|
||||||
|
|
||||||
pageSizeLabel := widget.NewLabel("Размер страницы:")
|
pageSizeLabel := widget.NewLabel("Размер страницы:")
|
||||||
pageSizeSelect := widget.NewSelect([]string{"5", "10", "15", "20"}, func(size string) {
|
pageSizeSelect := widget.NewSelect([]string{"5", "10", "15", "20"}, func(size string) {
|
||||||
@ -100,7 +102,7 @@ func (ss *SettingsScreen) setupContent() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pageSizeContainer := container.NewHBox(pageSizeLabel, pageSizeSelect)
|
pageSizeContainer := container.NewHBox(pageSizeLabel, pageSizeSelect)
|
||||||
ss.content.Add(pageSizeContainer)
|
contentContainer.Add(pageSizeContainer)
|
||||||
|
|
||||||
lastBoardLabel := widget.NewLabel("Последняя доска:")
|
lastBoardLabel := widget.NewLabel("Последняя доска:")
|
||||||
lastBoardValue := widget.NewLabel(ss.uiManager.GetLastBoard())
|
lastBoardValue := widget.NewLabel(ss.uiManager.GetLastBoard())
|
||||||
@ -108,13 +110,13 @@ func (ss *SettingsScreen) setupContent() {
|
|||||||
lastBoardValue.SetText("Не выбрана")
|
lastBoardValue.SetText("Не выбрана")
|
||||||
}
|
}
|
||||||
lastBoardContainer := container.NewHBox(lastBoardLabel, lastBoardValue)
|
lastBoardContainer := container.NewHBox(lastBoardLabel, lastBoardValue)
|
||||||
ss.content.Add(lastBoardContainer)
|
contentContainer.Add(lastBoardContainer)
|
||||||
|
|
||||||
ss.content.Add(widget.NewSeparator())
|
contentContainer.Add(widget.NewSeparator())
|
||||||
|
|
||||||
passcodeHeader := widget.NewLabel("Passcode")
|
passcodeHeader := widget.NewLabel("Passcode")
|
||||||
passcodeHeader.TextStyle = fyne.TextStyle{Bold: true}
|
passcodeHeader.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
ss.content.Add(passcodeHeader)
|
contentContainer.Add(passcodeHeader)
|
||||||
|
|
||||||
passcodeEntry := widget.NewEntry()
|
passcodeEntry := widget.NewEntry()
|
||||||
passcodeEntry.SetPlaceHolder("Введите passcode для постинга")
|
passcodeEntry.SetPlaceHolder("Введите passcode для постинга")
|
||||||
@ -123,11 +125,11 @@ func (ss *SettingsScreen) setupContent() {
|
|||||||
ss.uiManager.GetSettings().Passcode = text
|
ss.uiManager.GetSettings().Passcode = text
|
||||||
ss.uiManager.SaveSettings()
|
ss.uiManager.SaveSettings()
|
||||||
}
|
}
|
||||||
ss.content.Add(passcodeEntry)
|
contentContainer.Add(passcodeEntry)
|
||||||
|
|
||||||
keyHeader := widget.NewLabel("Ключ аутентификации")
|
keyHeader := widget.NewLabel("Ключ аутентификации")
|
||||||
keyHeader.TextStyle = fyne.TextStyle{Bold: true}
|
keyHeader.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
ss.content.Add(keyHeader)
|
contentContainer.Add(keyHeader)
|
||||||
|
|
||||||
keyEntry := widget.NewEntry()
|
keyEntry := widget.NewEntry()
|
||||||
keyEntry.SetPlaceHolder("Введите ключ для аутентификации")
|
keyEntry.SetPlaceHolder("Введите ключ для аутентификации")
|
||||||
@ -136,7 +138,7 @@ func (ss *SettingsScreen) setupContent() {
|
|||||||
ss.uiManager.GetSettings().Key = text
|
ss.uiManager.GetSettings().Key = text
|
||||||
ss.uiManager.SaveSettings()
|
ss.uiManager.SaveSettings()
|
||||||
}
|
}
|
||||||
ss.content.Add(keyEntry)
|
contentContainer.Add(keyEntry)
|
||||||
|
|
||||||
authButtonsContainer := container.NewHBox()
|
authButtonsContainer := container.NewHBox()
|
||||||
|
|
||||||
@ -172,23 +174,17 @@ func (ss *SettingsScreen) setupContent() {
|
|||||||
|
|
||||||
authButtonsContainer.Add(testKeyButton)
|
authButtonsContainer.Add(testKeyButton)
|
||||||
authButtonsContainer.Add(testPasscodeButton)
|
authButtonsContainer.Add(testPasscodeButton)
|
||||||
ss.content.Add(authButtonsContainer)
|
contentContainer.Add(authButtonsContainer)
|
||||||
|
|
||||||
// Debug
|
contentContainer.Add(widget.NewSeparator())
|
||||||
debugCheck := widget.NewCheck("Debug режим", func(checked bool) {
|
|
||||||
ss.uiManager.GetAPIClient().EnableDebug(checked)
|
|
||||||
})
|
|
||||||
ss.content.Add(debugCheck)
|
|
||||||
|
|
||||||
ss.content.Add(widget.NewSeparator())
|
|
||||||
cacheHeader := widget.NewLabel("Управление кэшем")
|
cacheHeader := widget.NewLabel("Управление кэшем")
|
||||||
cacheHeader.TextStyle = fyne.TextStyle{Bold: true}
|
cacheHeader.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
ss.content.Add(cacheHeader)
|
contentContainer.Add(cacheHeader)
|
||||||
clearBoardsCacheBtn := widget.NewButton("Очистить кэш досок", func() {
|
clearBoardsCacheBtn := widget.NewButton("Очистить кэш досок", func() {
|
||||||
cache.GetCache().Delete("boards")
|
cache.GetCache().Delete("boards")
|
||||||
ss.uiManager.ShowInfo("Кэш очищен", "Кэш досок очищен")
|
ss.uiManager.ShowInfo("Кэш очищен", "Кэш досок очищен")
|
||||||
})
|
})
|
||||||
ss.content.Add(clearBoardsCacheBtn)
|
contentContainer.Add(clearBoardsCacheBtn)
|
||||||
clearThreadsCacheBtn := widget.NewButton("Очистить кэш тредов", func() {
|
clearThreadsCacheBtn := widget.NewButton("Очистить кэш тредов", func() {
|
||||||
boards, err := ss.uiManager.GetAPIClient().GetBoards()
|
boards, err := ss.uiManager.GetAPIClient().GetBoards()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
@ -198,7 +194,7 @@ func (ss *SettingsScreen) setupContent() {
|
|||||||
}
|
}
|
||||||
ss.uiManager.ShowInfo("Кэш очищен", "Кэш тредов для всех досок очищен")
|
ss.uiManager.ShowInfo("Кэш очищен", "Кэш тредов для всех досок очищен")
|
||||||
})
|
})
|
||||||
ss.content.Add(clearThreadsCacheBtn)
|
contentContainer.Add(clearThreadsCacheBtn)
|
||||||
clearThreadDetailsCacheBtn := widget.NewButton("Очистить кэш деталей тредов", func() {
|
clearThreadDetailsCacheBtn := widget.NewButton("Очистить кэш деталей тредов", func() {
|
||||||
// Удаляем кэш деталей тредов и комментариев
|
// Удаляем кэш деталей тредов и комментариев
|
||||||
// Это более сложно, так как нужно знать ID тредов
|
// Это более сложно, так как нужно знать ID тредов
|
||||||
@ -206,17 +202,17 @@ func (ss *SettingsScreen) setupContent() {
|
|||||||
cache.GetCache().Clear()
|
cache.GetCache().Clear()
|
||||||
ss.uiManager.ShowInfo("Кэш очищен", "Кэш деталей тредов очищен")
|
ss.uiManager.ShowInfo("Кэш очищен", "Кэш деталей тредов очищен")
|
||||||
})
|
})
|
||||||
ss.content.Add(clearThreadDetailsCacheBtn)
|
contentContainer.Add(clearThreadDetailsCacheBtn)
|
||||||
|
|
||||||
clearAllCacheBtn := widget.NewButton("Очистить весь кэш", func() {
|
clearAllCacheBtn := widget.NewButton("Очистить весь кэш", func() {
|
||||||
cache.GetCache().Clear()
|
cache.GetCache().Clear()
|
||||||
ss.uiManager.ShowInfo("Кэш очищен", "Весь кэш очищен")
|
ss.uiManager.ShowInfo("Кэш очищен", "Весь кэш очищен")
|
||||||
})
|
})
|
||||||
ss.content.Add(clearAllCacheBtn)
|
contentContainer.Add(clearAllCacheBtn)
|
||||||
ss.content.Add(widget.NewSeparator())
|
contentContainer.Add(widget.NewSeparator())
|
||||||
resetHeader := widget.NewLabel("Сброс настроек")
|
resetHeader := widget.NewLabel("Сброс настроек")
|
||||||
resetHeader.TextStyle = fyne.TextStyle{Bold: true}
|
resetHeader.TextStyle = fyne.TextStyle{Bold: true}
|
||||||
ss.content.Add(resetHeader)
|
contentContainer.Add(resetHeader)
|
||||||
|
|
||||||
resetButton := widget.NewButton("Сбросить настройки", func() {
|
resetButton := widget.NewButton("Сбросить настройки", func() {
|
||||||
ss.uiManager.GetSettings().Theme = "dark"
|
ss.uiManager.GetSettings().Theme = "dark"
|
||||||
@ -228,27 +224,28 @@ func (ss *SettingsScreen) setupContent() {
|
|||||||
ss.uiManager.SaveSettings()
|
ss.uiManager.SaveSettings()
|
||||||
ss.setupContent() // Перезагружаем интерфейс
|
ss.setupContent() // Перезагружаем интерфейс
|
||||||
})
|
})
|
||||||
ss.content.Add(resetButton)
|
contentContainer.Add(resetButton)
|
||||||
|
|
||||||
ss.content.Add(widget.NewSeparator())
|
contentContainer.Add(widget.NewSeparator())
|
||||||
|
|
||||||
aboutButton := widget.NewButton("Об аппке", func() {
|
aboutButton := widget.NewButton("Об аппке", func() {
|
||||||
ss.uiManager.ShowAbout()
|
ss.uiManager.ShowAbout()
|
||||||
})
|
})
|
||||||
ss.content.Add(aboutButton)
|
contentContainer.Add(aboutButton)
|
||||||
|
|
||||||
ss.content.Add(widget.NewSeparator())
|
contentContainer.Add(widget.NewSeparator())
|
||||||
|
|
||||||
infoButton := widget.NewButton("Я думаю тебя направили сюда)", func() {
|
infoButton := widget.NewButton("Я думаю тебя направили сюда)", func() {
|
||||||
ss.uiManager.ShowInfoDialog()
|
ss.uiManager.ShowInfoDialog()
|
||||||
})
|
})
|
||||||
ss.content.Add(infoButton)
|
contentContainer.Add(infoButton)
|
||||||
|
|
||||||
|
ss.content.Add(contentContainer)
|
||||||
ss.content.Refresh()
|
ss.content.Refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ss *SettingsScreen) GetContent() fyne.CanvasObject {
|
func (ss *SettingsScreen) GetContent() fyne.CanvasObject {
|
||||||
return ss.content
|
return container.NewScroll(ss.content)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ss *SettingsScreen) GetTitle() string {
|
func (ss *SettingsScreen) GetTitle() string {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user