change icon color rather than button color to indicate "active" buttons
This commit is contained in:
@@ -38,7 +38,7 @@ func NewAlbumFilterButton(filter *mediaprovider.AlbumFilter, fetchGenresFunc fun
|
||||
a := &AlbumFilterButton{
|
||||
filter: filter,
|
||||
Button: widget.Button{
|
||||
Icon: myTheme.FilterIcon,
|
||||
Icon: theme.NewThemedResource(myTheme.FilterIcon),
|
||||
},
|
||||
}
|
||||
a.OnTapped = a.showFilterDialog
|
||||
@@ -57,10 +57,11 @@ func NewAlbumFilterButton(filter *mediaprovider.AlbumFilter, fetchGenresFunc fun
|
||||
}
|
||||
|
||||
func (a *AlbumFilterButton) Refresh() {
|
||||
themedIcon := a.Icon.(*theme.ThemedResource)
|
||||
if a.filterEmpty() {
|
||||
a.Importance = widget.MediumImportance
|
||||
themedIcon.ColorName = theme.ColorNameForeground
|
||||
} else {
|
||||
a.Importance = widget.HighImportance
|
||||
themedIcon.ColorName = theme.ColorNamePrimary
|
||||
}
|
||||
a.Button.Refresh()
|
||||
}
|
||||
|
||||
@@ -12,6 +12,11 @@ import (
|
||||
"github.com/dweymouth/supersonic/ui/util"
|
||||
)
|
||||
|
||||
var (
|
||||
repeatThemedResource = theme.NewThemedResource(myTheme.RepeatIcon)
|
||||
repeatOneThemedResource = theme.NewThemedResource(myTheme.RepeatOneIcon)
|
||||
)
|
||||
|
||||
// The "aux" controls for playback, positioned to the right
|
||||
// of the BottomPanel. Currently only volume control.
|
||||
type AuxControls struct {
|
||||
@@ -70,11 +75,11 @@ func (a *AuxControls) OnChangeLoopMode(f func()) {
|
||||
func (a *AuxControls) SetLoopMode(mode backend.LoopMode) {
|
||||
switch mode {
|
||||
case backend.LoopAll:
|
||||
a.loop.Importance = widget.HighImportance
|
||||
a.loop.Icon = myTheme.RepeatIcon
|
||||
a.loop.Icon = repeatThemedResource
|
||||
repeatThemedResource.ColorName = theme.ColorNamePrimary
|
||||
case backend.LoopOne:
|
||||
a.loop.Importance = widget.HighImportance
|
||||
a.loop.Icon = myTheme.RepeatOneIcon
|
||||
a.loop.Icon = repeatOneThemedResource
|
||||
repeatOneThemedResource.ColorName = theme.ColorNamePrimary
|
||||
case backend.LoopNone:
|
||||
a.loop.Importance = widget.MediumImportance
|
||||
a.loop.Icon = myTheme.RepeatIcon
|
||||
|
||||
Reference in New Issue
Block a user