refactor: use RichText instead of HBox with padding
This commit is contained in:
@@ -233,7 +233,7 @@ type GenreFilterSubsection struct {
|
|||||||
selectedGenresMutex sync.RWMutex
|
selectedGenresMutex sync.RWMutex
|
||||||
|
|
||||||
filterText *widget.Entry
|
filterText *widget.Entry
|
||||||
numSelectedText *widget.Label
|
genresTitleLine *widget.RichText
|
||||||
allBtn *widget.Button
|
allBtn *widget.Button
|
||||||
noneBtn *widget.Button
|
noneBtn *widget.Button
|
||||||
listModelMutex sync.RWMutex
|
listModelMutex sync.RWMutex
|
||||||
@@ -295,14 +295,20 @@ func NewGenreFilterSubsection(onChanged func([]string), initialSelectedGenres []
|
|||||||
g.allBtn = widget.NewButton("All", func() { g.selectAllOrNoneInView(false) })
|
g.allBtn = widget.NewButton("All", func() { g.selectAllOrNoneInView(false) })
|
||||||
g.noneBtn = widget.NewButton("None", func() { g.selectAllOrNoneInView(true) })
|
g.noneBtn = widget.NewButton("None", func() { g.selectAllOrNoneInView(true) })
|
||||||
|
|
||||||
title := widget.NewRichTextWithText("Genres")
|
g.genresTitleLine = widget.NewRichText(
|
||||||
title.Segments[0].(*widget.TextSegment).Style.TextStyle.Bold = true
|
&widget.TextSegment{
|
||||||
g.numSelectedText = widget.NewLabel("(none selected)")
|
Text: "Genres ",
|
||||||
|
Style: widget.RichTextStyle{
|
||||||
|
Inline: true,
|
||||||
|
TextStyle: fyne.TextStyle{Bold: true},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&widget.TextSegment{Text: "(none selected)"},
|
||||||
|
)
|
||||||
g.updateNumSelectedText()
|
g.updateNumSelectedText()
|
||||||
titleRow := container.New(&layouts.HboxCustomPadding{ExtraPad: -10}, title, g.numSelectedText)
|
|
||||||
|
|
||||||
filterRow := container.NewBorder(nil, nil, nil, container.NewHBox(g.allBtn, g.noneBtn), g.filterText)
|
filterRow := container.NewBorder(nil, nil, nil, container.NewHBox(g.allBtn, g.noneBtn), g.filterText)
|
||||||
g.container = container.NewBorder(titleRow, nil, nil, nil,
|
g.container = container.NewBorder(g.genresTitleLine, nil, nil, nil,
|
||||||
container.New(&layouts.MaxPadLayout{PadLeft: 5, PadRight: 5},
|
container.New(&layouts.MaxPadLayout{PadLeft: 5, PadRight: 5},
|
||||||
container.NewBorder(filterRow, nil, nil, nil, g.genreListView),
|
container.NewBorder(filterRow, nil, nil, nil, g.genreListView),
|
||||||
),
|
),
|
||||||
@@ -378,7 +384,9 @@ func (g *GenreFilterSubsection) updateNumSelectedText() {
|
|||||||
if l := len(g.selectedGenres); l > 0 {
|
if l := len(g.selectedGenres); l > 0 {
|
||||||
numText = strconv.Itoa(l)
|
numText = strconv.Itoa(l)
|
||||||
}
|
}
|
||||||
g.numSelectedText.SetText(fmt.Sprintf("(%s selected)", numText))
|
t := fmt.Sprintf("(%s selected)", numText)
|
||||||
|
g.genresTitleLine.Segments[1].(*widget.TextSegment).Text = t
|
||||||
|
g.genresTitleLine.Refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GenreFilterSubsection) CreateRenderer() fyne.WidgetRenderer {
|
func (g *GenreFilterSubsection) CreateRenderer() fyne.WidgetRenderer {
|
||||||
|
|||||||
Reference in New Issue
Block a user