diff --git a/widget/select.go b/widget/select.go index 73e71861c6..5be082e32d 100644 --- a/widget/select.go +++ b/widget/select.go @@ -17,7 +17,7 @@ type selectRenderer struct { *widget.ShadowingRenderer icon *Icon - label *canvas.Text + label *Label bg *canvas.Rectangle combo *Select } @@ -28,12 +28,7 @@ func (s *selectRenderer) MinSize() fyne.Size { s.combo.propertyLock.RLock() defer s.combo.propertyLock.RUnlock() - min := fyne.MeasureText(s.combo.PlaceHolder, s.label.TextSize, s.label.TextStyle) - - for _, option := range s.combo.Options { - optionMin := fyne.MeasureText(option, s.label.TextSize, s.label.TextStyle) - min = min.Union(optionMin) - } + min := fyne.MeasureText(s.combo.PlaceHolder, theme.TextSize(), s.label.TextStyle) min = min.Add(fyne.NewSize(theme.Padding()*6, theme.Padding()*4)) return min.Add(fyne.NewSize(theme.IconInlineSize()+theme.Padding(), 0)) @@ -90,9 +85,6 @@ func (s *selectRenderer) Refresh() { } func (s *selectRenderer) updateLabel() { - s.label.Color = theme.TextColor() - s.label.TextSize = theme.TextSize() - if s.combo.PlaceHolder == "" { s.combo.PlaceHolder = defaultPlaceHolder } @@ -222,8 +214,9 @@ func (s *Select) CreateRenderer() fyne.WidgetRenderer { s.propertyLock.RLock() defer s.propertyLock.RUnlock() icon := NewIcon(theme.MenuDropDownIcon()) - text := canvas.NewText(s.Selected, theme.TextColor()) + text := NewLabel(s.Selected) text.TextStyle.Bold = true + text.Wrapping = fyne.TextTruncate if s.PlaceHolder == "" { s.PlaceHolder = defaultPlaceHolder diff --git a/widget/testdata/select/layout_empty.png b/widget/testdata/select/layout_empty.png index 67961af0d1..277b008edd 100644 Binary files a/widget/testdata/select/layout_empty.png and b/widget/testdata/select/layout_empty.png differ diff --git a/widget/testdata/select/layout_empty_expanded.png b/widget/testdata/select/layout_empty_expanded.png index 101193d757..4cb5566397 100644 Binary files a/widget/testdata/select/layout_empty_expanded.png and b/widget/testdata/select/layout_empty_expanded.png differ diff --git a/widget/testdata/select/layout_empty_expanded_placeholder.png b/widget/testdata/select/layout_empty_expanded_placeholder.png index 46629f375f..0908a42a92 100644 Binary files a/widget/testdata/select/layout_empty_expanded_placeholder.png and b/widget/testdata/select/layout_empty_expanded_placeholder.png differ diff --git a/widget/testdata/select/layout_empty_placeholder.png b/widget/testdata/select/layout_empty_placeholder.png index 219143d428..39c8db1bdf 100644 Binary files a/widget/testdata/select/layout_empty_placeholder.png and b/widget/testdata/select/layout_empty_placeholder.png differ diff --git a/widget/testdata/select/layout_multiple.png b/widget/testdata/select/layout_multiple.png index 67961af0d1..277b008edd 100644 Binary files a/widget/testdata/select/layout_multiple.png and b/widget/testdata/select/layout_multiple.png differ diff --git a/widget/testdata/select/layout_multiple_expanded.png b/widget/testdata/select/layout_multiple_expanded.png index 2476ae4ca1..ad32e41648 100644 Binary files a/widget/testdata/select/layout_multiple_expanded.png and b/widget/testdata/select/layout_multiple_expanded.png differ diff --git a/widget/testdata/select/layout_multiple_expanded_placeholder.png b/widget/testdata/select/layout_multiple_expanded_placeholder.png index 25736ff138..e090c8e7f5 100644 Binary files a/widget/testdata/select/layout_multiple_expanded_placeholder.png and b/widget/testdata/select/layout_multiple_expanded_placeholder.png differ diff --git a/widget/testdata/select/layout_multiple_expanded_selected.png b/widget/testdata/select/layout_multiple_expanded_selected.png index 3a64f91cc2..c96aa937da 100644 Binary files a/widget/testdata/select/layout_multiple_expanded_selected.png and b/widget/testdata/select/layout_multiple_expanded_selected.png differ diff --git a/widget/testdata/select/layout_multiple_expanded_selected_placeholder.png b/widget/testdata/select/layout_multiple_expanded_selected_placeholder.png index 2769d9acb6..5167821186 100644 Binary files a/widget/testdata/select/layout_multiple_expanded_selected_placeholder.png and b/widget/testdata/select/layout_multiple_expanded_selected_placeholder.png differ diff --git a/widget/testdata/select/layout_multiple_placeholder.png b/widget/testdata/select/layout_multiple_placeholder.png index 219143d428..39c8db1bdf 100644 Binary files a/widget/testdata/select/layout_multiple_placeholder.png and b/widget/testdata/select/layout_multiple_placeholder.png differ diff --git a/widget/testdata/select/layout_multiple_selected.png b/widget/testdata/select/layout_multiple_selected.png index 4a15cd1541..16bc2191e2 100644 Binary files a/widget/testdata/select/layout_multiple_selected.png and b/widget/testdata/select/layout_multiple_selected.png differ diff --git a/widget/testdata/select/layout_multiple_selected_placeholder.png b/widget/testdata/select/layout_multiple_selected_placeholder.png index f198c3ddfc..f7ff6daeb6 100644 Binary files a/widget/testdata/select/layout_multiple_selected_placeholder.png and b/widget/testdata/select/layout_multiple_selected_placeholder.png differ diff --git a/widget/testdata/select/layout_single.png b/widget/testdata/select/layout_single.png index 67961af0d1..277b008edd 100644 Binary files a/widget/testdata/select/layout_single.png and b/widget/testdata/select/layout_single.png differ diff --git a/widget/testdata/select/layout_single_expanded.png b/widget/testdata/select/layout_single_expanded.png index 565d73c882..89f223fb15 100644 Binary files a/widget/testdata/select/layout_single_expanded.png and b/widget/testdata/select/layout_single_expanded.png differ diff --git a/widget/testdata/select/layout_single_expanded_placeholder.png b/widget/testdata/select/layout_single_expanded_placeholder.png index d4562cd69d..6519f9016d 100644 Binary files a/widget/testdata/select/layout_single_expanded_placeholder.png and b/widget/testdata/select/layout_single_expanded_placeholder.png differ diff --git a/widget/testdata/select/layout_single_expanded_selected.png b/widget/testdata/select/layout_single_expanded_selected.png index 27a6e44b9d..affdc47b81 100644 Binary files a/widget/testdata/select/layout_single_expanded_selected.png and b/widget/testdata/select/layout_single_expanded_selected.png differ diff --git a/widget/testdata/select/layout_single_expanded_selected_placeholder.png b/widget/testdata/select/layout_single_expanded_selected_placeholder.png index 6156603358..d19dd39935 100644 Binary files a/widget/testdata/select/layout_single_expanded_selected_placeholder.png and b/widget/testdata/select/layout_single_expanded_selected_placeholder.png differ diff --git a/widget/testdata/select/layout_single_placeholder.png b/widget/testdata/select/layout_single_placeholder.png index 219143d428..39c8db1bdf 100644 Binary files a/widget/testdata/select/layout_single_placeholder.png and b/widget/testdata/select/layout_single_placeholder.png differ diff --git a/widget/testdata/select/layout_single_selected.png b/widget/testdata/select/layout_single_selected.png index 7c924c3542..329e8f4e0d 100644 Binary files a/widget/testdata/select/layout_single_selected.png and b/widget/testdata/select/layout_single_selected.png differ diff --git a/widget/testdata/select/layout_single_selected_placeholder.png b/widget/testdata/select/layout_single_selected_placeholder.png index b8ef795fbc..f37baeb9df 100644 Binary files a/widget/testdata/select/layout_single_selected_placeholder.png and b/widget/testdata/select/layout_single_selected_placeholder.png differ diff --git a/widget/testdata/select/move_initial.png b/widget/testdata/select/move_initial.png index 0ef25db278..45dfb63974 100644 Binary files a/widget/testdata/select/move_initial.png and b/widget/testdata/select/move_initial.png differ diff --git a/widget/testdata/select/move_moved.png b/widget/testdata/select/move_moved.png index 790d2ab383..4b6fff1095 100644 Binary files a/widget/testdata/select/move_moved.png and b/widget/testdata/select/move_moved.png differ diff --git a/widget/testdata/select/move_tapped.png b/widget/testdata/select/move_tapped.png index 665e7c6b9d..8e84c5da26 100644 Binary files a/widget/testdata/select/move_tapped.png and b/widget/testdata/select/move_tapped.png differ diff --git a/widget/testdata/select/tapped.png b/widget/testdata/select/tapped.png index 8401e306dd..dae7c07631 100644 Binary files a/widget/testdata/select/tapped.png and b/widget/testdata/select/tapped.png differ diff --git a/widget/testdata/select/theme_changed.png b/widget/testdata/select/theme_changed.png index ad5c6e2364..bf5cea4ac5 100644 Binary files a/widget/testdata/select/theme_changed.png and b/widget/testdata/select/theme_changed.png differ diff --git a/widget/testdata/select/theme_initial.png b/widget/testdata/select/theme_initial.png index a0e9e1a9f8..2e0e5c2ed6 100644 Binary files a/widget/testdata/select/theme_initial.png and b/widget/testdata/select/theme_initial.png differ