use rounded rectangles where appropriate; switch deprecated Max to Stack layout

This commit is contained in:
Drew Weymouth
2023-11-02 22:02:44 -07:00
parent 618da02b29
commit 565295a88a
7 changed files with 19 additions and 11 deletions
+1 -1
View File
@@ -74,7 +74,7 @@ func NewBrowsingPane(app *backend.App) *BrowsingPane {
b.app.PlaybackManager.OnSongChange(b.onSongChange) b.app.PlaybackManager.OnSongChange(b.onSongChange)
b.app.PlaybackManager.OnPlayTimeUpdate(b.onPlayTimeUpdate) b.app.PlaybackManager.OnPlayTimeUpdate(b.onPlayTimeUpdate)
bkgrnd := myTheme.NewThemedRectangle(myTheme.ColorNamePageBackground) bkgrnd := myTheme.NewThemedRectangle(myTheme.ColorNamePageBackground)
b.pageContainer = container.NewMax(bkgrnd, layout.NewSpacer()) b.pageContainer = container.NewStack(bkgrnd, layout.NewSpacer())
b.settingsBtn = widget.NewButtonWithIcon("", theme.SettingsIcon(), func() { b.settingsBtn = widget.NewButtonWithIcon("", theme.SettingsIcon(), func() {
p := widget.NewPopUpMenu(b.settingsMenu, p := widget.NewPopUpMenu(b.settingsMenu,
fyne.CurrentApp().Driver().CanvasForObject(b.settingsBtn)) fyne.CurrentApp().Driver().CanvasForObject(b.settingsBtn))
+1 -1
View File
@@ -63,7 +63,7 @@ func (g *GraphicEqualizer) buildSliders(preamp float64, bands []string, bandGain
c := container.NewBorder(nil, l, nil, nil, s) c := container.NewBorder(nil, l, nil, nil, s)
bandSliders.Add(c) bandSliders.Add(c)
} }
g.container = container.NewMax( g.container = container.NewStack(
container.NewBorder(nil, widget.NewLabel(""), nil, nil, container.NewBorder(nil, widget.NewLabel(""), nil, nil,
container.NewBorder(nil, nil, util.NewHSpace(5), util.NewHSpace(5), container.NewBorder(nil, nil, util.NewHSpace(5), util.NewHSpace(5),
container.NewVBox( container.NewVBox(
+8 -4
View File
@@ -15,10 +15,11 @@ type ThemedRectangle struct {
rect *canvas.Rectangle rect *canvas.Rectangle
ColorName fyne.ThemeColorName ColorName fyne.ThemeColorName
Translucent bool Translucent bool
BorderWidth float32 BorderWidth float32
BorderColorName fyne.ThemeColorName BorderColorName fyne.ThemeColorName
CornerRadiusName fyne.ThemeSizeName
} }
func NewThemedRectangle(colorName fyne.ThemeColorName) *ThemedRectangle { func NewThemedRectangle(colorName fyne.ThemeColorName) *ThemedRectangle {
@@ -42,6 +43,9 @@ func (t *ThemedRectangle) Refresh() {
t.rect.FillColor = fc t.rect.FillColor = fc
t.rect.StrokeWidth = t.BorderWidth t.rect.StrokeWidth = t.BorderWidth
t.rect.StrokeColor = theme.Color(t.BorderColorName, settings.ThemeVariant()) t.rect.StrokeColor = theme.Color(t.BorderColorName, settings.ThemeVariant())
if t.CornerRadiusName != "" {
t.rect.CornerRadius = theme.Size(t.CornerRadiusName)
}
t.BaseWidget.Refresh() t.BaseWidget.Refresh()
} }
+1 -1
View File
@@ -50,7 +50,7 @@ func newCoverImage(placeholderResource fyne.Resource) *coverImage {
func (c *coverImage) CreateRenderer() fyne.WidgetRenderer { func (c *coverImage) CreateRenderer() fyne.WidgetRenderer {
return widget.NewSimpleRenderer( return widget.NewSimpleRenderer(
container.NewMax(c.Im, container.NewCenter(c.playbtn)), container.NewStack(c.Im, container.NewCenter(c.playbtn)),
) )
} }
+1 -1
View File
@@ -43,7 +43,7 @@ func NewImagePlaceholder(centerIcon fyne.Resource, minSize float32) *ImagePlaceh
i.border = myTheme.NewThemedRectangle(theme.ColorNameBackground) i.border = myTheme.NewThemedRectangle(theme.ColorNameBackground)
i.border.BorderColorName = theme.ColorNameForeground i.border.BorderColorName = theme.ColorNameForeground
i.border.BorderWidth = 3 i.border.BorderWidth = 3
i.content = container.NewMax( i.content = container.NewStack(
i.border, i.border,
container.NewCenter(i.iconImage), container.NewCenter(i.iconImage),
i.imageDisp, i.imageDisp,
+4 -2
View File
@@ -63,7 +63,9 @@ func NewListHeader(cols []ListColumn, layout *layouts.ColumnsLayout) *ListHeader
for i := range l.columnVisible { for i := range l.columnVisible {
l.columnVisible[i] = true l.columnVisible[i] = true
} }
l.container = container.NewMax(myTheme.NewThemedRectangle(myTheme.ColorNameListHeader), l.columnsContainer) rect := myTheme.NewThemedRectangle(myTheme.ColorNameListHeader)
rect.CornerRadiusName = theme.SizeNameSelectionRadius
l.container = container.NewStack(rect, l.columnsContainer)
l.ExtendBaseWidget(l) l.ExtendBaseWidget(l)
l.buildColumns() l.buildColumns()
return l return l
@@ -187,7 +189,7 @@ func newColHeader(columnCfg ListColumn, sortDisabled *bool) *colHeader {
} }
r := myTheme.NewThemedRectangle(myTheme.ColorNameListHeader) r := myTheme.NewThemedRectangle(myTheme.ColorNameListHeader)
r.Translucent = true r.Translucent = true
c.sortIconContainer = container.NewMax(widget.NewIcon(theme.MenuDropDownIcon()), r) c.sortIconContainer = container.NewStack(widget.NewIcon(theme.MenuDropDownIcon()), r)
// hack to remove extra icon space // hack to remove extra icon space
// should be hidden whenever sortIcon is hidden // should be hidden whenever sortIcon is hidden
c.sortIconNegSpacer = util.NewHSpace(0) c.sortIconNegSpacer = util.NewHSpace(0)
+3 -1
View File
@@ -85,13 +85,15 @@ func (l *ListRowBase) Refresh() {
func (l *ListRowBase) CreateRenderer() fyne.WidgetRenderer { func (l *ListRowBase) CreateRenderer() fyne.WidgetRenderer {
if l.selectionRect == nil { if l.selectionRect == nil {
l.selectionRect = canvas.NewRectangle(theme.SelectionColor()) l.selectionRect = canvas.NewRectangle(theme.SelectionColor())
l.selectionRect.CornerRadius = theme.SelectionRadiusSize()
l.selectionRect.Hidden = !l.Selected l.selectionRect.Hidden = !l.Selected
} }
if l.focusedRect == nil { if l.focusedRect == nil {
l.focusedRect = canvas.NewRectangle(theme.HoverColor()) l.focusedRect = canvas.NewRectangle(theme.HoverColor())
l.focusedRect.CornerRadius = theme.SelectionRadiusSize()
l.focusedRect.Hidden = !l.Focused l.focusedRect.Hidden = !l.Focused
} }
return widget.NewSimpleRenderer( return widget.NewSimpleRenderer(
container.NewMax(l.selectionRect, l.focusedRect, l.Content), container.NewStack(l.selectionRect, l.focusedRect, l.Content),
) )
} }