OnlineLibrary

Форк
0
/
statusbar.go 
43 строки · 879.0 Байт
1
package gui
2

3
import (
4
	"fmt"
5
	"time"
6

7
	"OnlineLibrary/internal/util"
8
	"github.com/leonelquinteros/gotext"
9
	"gitverse.ru/kvark128/walk"
10
)
11

12
type StatusBar struct {
13
	*walk.StatusBar
14
	elapseTime, totalTime, fragments, bookPercent *walk.StatusBarItem
15
}
16

17
func (sb *StatusBar) SetElapsedTime(elapsed time.Duration) {
18
	sb.Synchronize(func() {
19
		text := util.FmtDuration(elapsed)
20
		sb.elapseTime.SetText(text)
21
	})
22
}
23

24
func (sb *StatusBar) SetTotalTime(total time.Duration) {
25
	sb.Synchronize(func() {
26
		text := util.FmtDuration(total)
27
		sb.totalTime.SetText(text)
28
	})
29
}
30

31
func (sb *StatusBar) SetFragments(current, length int) {
32
	sb.Synchronize(func() {
33
		text := gotext.Get("Fragment %d of %d", current, length)
34
		sb.fragments.SetText(text)
35
	})
36
}
37

38
func (sb *StatusBar) SetBookPercent(p int) {
39
	sb.Synchronize(func() {
40
		text := fmt.Sprintf("(%v%%)", p)
41
		sb.bookPercent.SetText(text)
42
	})
43
}
44

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.