diff --git a/ui/browsing/albumpage.go b/ui/browsing/albumpage.go index b7f6e0b..96cf0ac 100644 --- a/ui/browsing/albumpage.go +++ b/ui/browsing/albumpage.go @@ -186,8 +186,8 @@ func NewAlbumPageHeader(page *AlbumPage) *AlbumPageHeader { container.NewVBox( container.New(&layouts.VboxCustomPadding{ExtraPad: -12}, a.artistLabel, a.genreLabel, a.miscLabel), container.NewVBox( - container.NewHBox(widgets.NewHSpace(2), playButton, shuffleBtn), - container.NewHBox(widgets.NewHSpace(2), a.toggleFavButton), + container.NewHBox(util.NewHSpace(2), playButton, shuffleBtn), + container.NewHBox(util.NewHSpace(2), a.toggleFavButton), ), ), ), diff --git a/ui/browsing/albumspage.go b/ui/browsing/albumspage.go index a066947..bebec6f 100644 --- a/ui/browsing/albumspage.go +++ b/ui/browsing/albumspage.go @@ -4,6 +4,7 @@ import ( "supersonic/backend" "supersonic/sharedutil" "supersonic/ui/controller" + "supersonic/ui/util" "supersonic/ui/widgets" "fyne.io/fyne/v2" @@ -92,7 +93,7 @@ func (a *AlbumsPage) createContainer(searchgrid bool) { g = a.searchGrid } a.container = container.NewBorder( - container.NewHBox(widgets.NewHSpace(6), a.titleDisp, sortVbox, layout.NewSpacer(), searchVbox, widgets.NewHSpace(12)), + container.NewHBox(util.NewHSpace(6), a.titleDisp, sortVbox, layout.NewSpacer(), searchVbox, util.NewHSpace(12)), nil, nil, nil, diff --git a/ui/browsing/artistpage.go b/ui/browsing/artistpage.go index f4c6624..95d230f 100644 --- a/ui/browsing/artistpage.go +++ b/ui/browsing/artistpage.go @@ -73,7 +73,7 @@ func newArtistPage(artistID string, cfg *backend.ArtistPageConfig, pm *backend.P viewToggle.OnChanged = a.onViewChange //line := canvas.NewLine(theme.TextColor()) viewToggleRow := container.NewBorder(nil, nil, - container.NewHBox(&widgets.HSpace{Width: 5}, viewToggle), nil, + container.NewHBox(util.NewHSpace(5), viewToggle), nil, layout.NewSpacer(), ) a.container = container.NewBorder( @@ -329,7 +329,7 @@ func (a *ArtistPageHeader) createContainer() { container.NewVBox( container.New(&layouts.VboxCustomPadding{ExtraPad: -10}, a.titleDisp, a.biographyDisp, a.similarArtists), - container.NewHBox(widgets.NewHSpace(2), a.favoriteBtn, a.playBtn, a.playRadioBtn))) + container.NewHBox(util.NewHSpace(2), a.favoriteBtn, a.playBtn, a.playRadioBtn))) } func (a *ArtistPageHeader) CreateRenderer() fyne.WidgetRenderer { diff --git a/ui/browsing/favoritespage.go b/ui/browsing/favoritespage.go index 6d1aa5f..818df30 100644 --- a/ui/browsing/favoritespage.go +++ b/ui/browsing/favoritespage.go @@ -6,6 +6,7 @@ import ( "supersonic/res" "supersonic/ui/controller" "supersonic/ui/layouts" + "supersonic/ui/util" "supersonic/ui/widgets" "time" @@ -89,7 +90,7 @@ func (a *FavoritesPage) connectGridActions() { func (a *FavoritesPage) createContainer(initialView fyne.CanvasObject) { searchVbox := container.NewVBox(layout.NewSpacer(), a.searcher.Entry, layout.NewSpacer()) a.container = container.NewBorder( - container.NewHBox(widgets.NewHSpace(9), a.titleDisp, container.NewCenter(a.toggleBtns), layout.NewSpacer(), searchVbox, widgets.NewHSpace(15)), + container.NewHBox(util.NewHSpace(9), a.titleDisp, container.NewCenter(a.toggleBtns), layout.NewSpacer(), searchVbox, util.NewHSpace(15)), nil, nil, nil, initialView) } diff --git a/ui/browsing/genrepage.go b/ui/browsing/genrepage.go index fc70b00..2056352 100644 --- a/ui/browsing/genrepage.go +++ b/ui/browsing/genrepage.go @@ -4,6 +4,7 @@ import ( "supersonic/backend" "supersonic/res" "supersonic/ui/controller" + "supersonic/ui/util" "supersonic/ui/widgets" "fyne.io/fyne/v2" @@ -70,7 +71,7 @@ func (g *GenrePage) createContainer(searchGrid bool) { } playRandomVbox := container.NewVBox(layout.NewSpacer(), g.playRandom, layout.NewSpacer()) g.container = container.NewBorder( - container.NewHBox(widgets.NewHSpace(6), g.titleDisp, playRandomVbox, layout.NewSpacer(), searchVbox, widgets.NewHSpace(15)), + container.NewHBox(util.NewHSpace(6), g.titleDisp, playRandomVbox, layout.NewSpacer(), searchVbox, util.NewHSpace(15)), nil, nil, nil, diff --git a/ui/util/util.go b/ui/util/util.go index d1db088..ced227d 100644 --- a/ui/util/util.go +++ b/ui/util/util.go @@ -6,6 +6,8 @@ import ( "math" "strings" + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/layout" "fyne.io/fyne/v2/widget" "golang.org/x/net/html" ) @@ -53,3 +55,23 @@ func RichTextSegsFromHTMLString(s string) []widget.RichTextSegment { return segs } + +type HSpace struct { + widget.BaseWidget + + Width float32 +} + +func NewHSpace(w float32) *HSpace { + h := &HSpace{Width: w} + h.ExtendBaseWidget(h) + return h +} + +func (h *HSpace) MinSize() fyne.Size { + return fyne.NewSize(h.Width, 0) +} + +func (h *HSpace) CreateRenderer() fyne.WidgetRenderer { + return widget.NewSimpleRenderer(layout.NewSpacer()) +} diff --git a/ui/widgets/hspace.go b/ui/widgets/hspace.go deleted file mode 100644 index 8ea39c3..0000000 --- a/ui/widgets/hspace.go +++ /dev/null @@ -1,27 +0,0 @@ -package widgets - -import ( - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/layout" - "fyne.io/fyne/v2/widget" -) - -type HSpace struct { - widget.BaseWidget - - Width float32 -} - -func NewHSpace(w float32) *HSpace { - h := &HSpace{Width: w} - h.ExtendBaseWidget(h) - return h -} - -func (h *HSpace) MinSize() fyne.Size { - return fyne.NewSize(h.Width, 0) -} - -func (h *HSpace) CreateRenderer() fyne.WidgetRenderer { - return widget.NewSimpleRenderer(layout.NewSpacer()) -} diff --git a/ui/widgets/tracklist.go b/ui/widgets/tracklist.go index 23fd1ed..33d9779 100644 --- a/ui/widgets/tracklist.go +++ b/ui/widgets/tracklist.go @@ -75,7 +75,7 @@ func NewTracklist(tracks []*subsonic.Child) *Tracklist { t.OnColumnVisibilityMenuShown(pop) } } - playingIcon := container.NewCenter(container.NewHBox(NewHSpace(2), widget.NewIcon(theme.MediaPlayIcon()))) + playingIcon := container.NewCenter(container.NewHBox(util.NewHSpace(2), widget.NewIcon(theme.MediaPlayIcon()))) t.list = widget.NewList( func() int { return len(t.Tracks) }, func() fyne.CanvasObject {