refactor(context-menu): inline static class helpers
- commit
- 366c2e5ec7237cc6c650b1cc680df886c38aa1b2
- author
- brice · · 2026-04-14 05:45 UTC
- committer
- brice · · 2026-04-14 12:06 UTC
- parent
- 50d6c62
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
3 files · +6 -36
M internal/infrastructure/gtkmenu/renderer.go +4 -21
| @@ -40,18 +40,6 @@ func BuildButtons(items []port.MenuItem) []renderItem { | |||
| 40 | 40 | return renderItems | |
| 41 | 41 | } | |
| 42 | 42 | ||
| 43 | - | func contextMenuItemClasses() []string { | |
| 44 | - | return []string{"flat", contextMenuItemClass} | |
| 45 | - | } | |
| 46 | - | ||
| 47 | - | func contextMenuPopoverClasses() []string { | |
| 48 | - | return []string{contextMenuPopoverClass} | |
| 49 | - | } | |
| 50 | - | ||
| 51 | - | func contextMenuSeparatorClasses() []string { | |
| 52 | - | return []string{contextMenuSeparatorClass} | |
| 53 | - | } | |
| 54 | - | ||
| 55 | 43 | func isSeparator(item port.MenuItem) bool { | |
| 56 | 44 | return item.Action == "" && item.Label == "" | |
| 57 | 45 | } | |
| @@ -108,18 +96,15 @@ func showMenu( | |||
| 108 | 96 | for _, item := range items { | |
| 109 | 97 | if item.separator { | |
| 110 | 98 | sep := gtk.NewSeparator(gtk.OrientationHorizontalValue) | |
| 111 | - | for _, class := range contextMenuSeparatorClasses() { | |
| 112 | - | sep.AddCssClass(class) | |
| 113 | - | } | |
| 99 | + | sep.AddCssClass(contextMenuSeparatorClass) | |
| 114 | 100 | box.Append(&sep.Widget) | |
| 115 | 101 | continue | |
| 116 | 102 | } | |
| 117 | 103 | ||
| 118 | 104 | btn := gtk.NewButton() | |
| 119 | 105 | btn.SetLabel(item.item.Label) | |
| 120 | - | for _, class := range contextMenuItemClasses() { | |
| 121 | - | btn.AddCssClass(class) | |
| 122 | - | } | |
| 106 | + | btn.AddCssClass("flat") | |
| 107 | + | btn.AddCssClass(contextMenuItemClass) | |
| 123 | 108 | ||
| 124 | 109 | menuItem := item.item | |
| 125 | 110 | clickCb := func(_ gtk.Button) { | |
| @@ -136,9 +121,7 @@ func showMenu( | |||
| 136 | 121 | } | |
| 137 | 122 | ||
| 138 | 123 | popover = gtk.NewPopover() | |
| 139 | - | for _, class := range contextMenuPopoverClasses() { | |
| 140 | - | popover.AddCssClass(class) | |
| 141 | - | } | |
| 124 | + | popover.AddCssClass(contextMenuPopoverClass) | |
| 142 | 125 | popover.SetChild(&box.Widget) | |
| 143 | 126 | attachPopover(popover, popoverHost, parent) | |
| 144 | 127 | popover.SetHasArrow(false) | |
| @@ -40,18 +40,6 @@ func BuildButtons(items []port.MenuItem) []renderItem { | |||||
| 40 | return renderItems | 40 | return renderItems | ||
| 41 | } | 41 | } | ||
| 42 | 42 | ||||
| 43 | - | func contextMenuItemClasses() []string { | |||
| 44 | - | return []string{"flat", contextMenuItemClass} | |||
| 45 | - | } | |||
| 46 | - | ||||
| 47 | - | func contextMenuPopoverClasses() []string { | |||
| 48 | - | return []string{contextMenuPopoverClass} | |||
| 49 | - | } | |||
| 50 | - | ||||
| 51 | - | func contextMenuSeparatorClasses() []string { | |||
| 52 | - | return []string{contextMenuSeparatorClass} | |||
| 53 | - | } | |||
| 54 | - | ||||
| 55 | func isSeparator(item port.MenuItem) bool { | 43 | func isSeparator(item port.MenuItem) bool { | ||
| 56 | return item.Action == "" && item.Label == "" | 44 | return item.Action == "" && item.Label == "" | ||
| 57 | } | 45 | } | ||
| @@ -108,18 +96,15 @@ func showMenu( | |||||
| 108 | for _, item := range items { | 96 | for _, item := range items { | ||
| 109 | if item.separator { | 97 | if item.separator { | ||
| 110 | sep := gtk.NewSeparator(gtk.OrientationHorizontalValue) | 98 | sep := gtk.NewSeparator(gtk.OrientationHorizontalValue) | ||
| 111 | - | for _, class := range contextMenuSeparatorClasses() { | 99 | + | sep.AddCssClass(contextMenuSeparatorClass) |
| 112 | - | sep.AddCssClass(class) | |||
| 113 | - | } | |||
| 114 | box.Append(&sep.Widget) | 100 | box.Append(&sep.Widget) | ||
| 115 | continue | 101 | continue | ||
| 116 | } | 102 | } | ||
| 117 | 103 | ||||
| 118 | btn := gtk.NewButton() | 104 | btn := gtk.NewButton() | ||
| 119 | btn.SetLabel(item.item.Label) | 105 | btn.SetLabel(item.item.Label) | ||
| 120 | - | for _, class := range contextMenuItemClasses() { | 106 | + | btn.AddCssClass("flat") |
| 121 | - | btn.AddCssClass(class) | 107 | + | btn.AddCssClass(contextMenuItemClass) |
| 122 | - | } | |||
| 123 | 108 | ||||
| 124 | menuItem := item.item | 109 | menuItem := item.item | ||
| 125 | clickCb := func(_ gtk.Button) { | 110 | clickCb := func(_ gtk.Button) { | ||
| @@ -136,9 +121,7 @@ func showMenu( | |||||
| 136 | } | 121 | } | ||
| 137 | 122 | ||||
| 138 | popover = gtk.NewPopover() | 123 | popover = gtk.NewPopover() | ||
| 139 | - | for _, class := range contextMenuPopoverClasses() { | 124 | + | popover.AddCssClass(contextMenuPopoverClass) |
| 140 | - | popover.AddCssClass(class) | |||
| 141 | - | } | |||
| 142 | popover.SetChild(&box.Widget) | 125 | popover.SetChild(&box.Widget) | ||
| 143 | attachPopover(popover, popoverHost, parent) | 126 | attachPopover(popover, popoverHost, parent) | ||
| 144 | popover.SetHasArrow(false) | 127 | popover.SetHasArrow(false) | ||
M internal/infrastructure/gtkmenu/renderer_test.go +0 -12
| @@ -62,15 +62,3 @@ func TestBuildButtons(t *testing.T) { | |||
| 62 | 62 | require.Equal(t, "Inspect Element", renderItems[3].item.Label) | |
| 63 | 63 | require.False(t, renderItems[3].separator) | |
| 64 | 64 | } | |
| 65 | - | ||
| 66 | - | func TestContextMenuItemClasses(t *testing.T) { | |
| 67 | - | require.Equal(t, []string{"flat", contextMenuItemClass}, contextMenuItemClasses()) | |
| 68 | - | } | |
| 69 | - | ||
| 70 | - | func TestContextMenuSeparatorClasses(t *testing.T) { | |
| 71 | - | require.Equal(t, []string{contextMenuSeparatorClass}, contextMenuSeparatorClasses()) | |
| 72 | - | } | |
| 73 | - | ||
| 74 | - | func TestContextMenuPopoverClasses(t *testing.T) { | |
| 75 | - | require.Equal(t, []string{contextMenuPopoverClass}, contextMenuPopoverClasses()) | |
| 76 | - | } | |
| @@ -62,15 +62,3 @@ func TestBuildButtons(t *testing.T) { | |||||
| 62 | require.Equal(t, "Inspect Element", renderItems[3].item.Label) | 62 | require.Equal(t, "Inspect Element", renderItems[3].item.Label) | ||
| 63 | require.False(t, renderItems[3].separator) | 63 | require.False(t, renderItems[3].separator) | ||
| 64 | } | 64 | } | ||
| 65 | - | ||||
| 66 | - | func TestContextMenuItemClasses(t *testing.T) { | |||
| 67 | - | require.Equal(t, []string{"flat", contextMenuItemClass}, contextMenuItemClasses()) | |||
| 68 | - | } | |||
| 69 | - | ||||
| 70 | - | func TestContextMenuSeparatorClasses(t *testing.T) { | |||
| 71 | - | require.Equal(t, []string{contextMenuSeparatorClass}, contextMenuSeparatorClasses()) | |||
| 72 | - | } | |||
| 73 | - | ||||
| 74 | - | func TestContextMenuPopoverClasses(t *testing.T) { | |||
| 75 | - | require.Equal(t, []string{contextMenuPopoverClass}, contextMenuPopoverClasses()) | |||
| 76 | - | } | |||
M internal/ui/theme/css.go +2 -3
| @@ -115,7 +115,7 @@ func GenerateCSSFull(p Palette, _ float64, fonts FontConfig, modeColors ModeColo | |||
| 115 | 115 | sb.WriteString("\n") | |
| 116 | 116 | ||
| 117 | 117 | // Context menu styling | |
| 118 | - | sb.WriteString(generateContextMenuCSS(p)) | |
| 118 | + | sb.WriteString(generateContextMenuCSS()) | |
| 119 | 119 | sb.WriteString("\n") | |
| 120 | 120 | ||
| 121 | 121 | // Tab picker styling | |
| @@ -907,8 +907,7 @@ row:selected .session-manager-row { | |||
| 907 | 907 | } | |
| 908 | 908 | ||
| 909 | 909 | // generateContextMenuCSS creates shared context menu styles. | |
| 910 | - | func generateContextMenuCSS(p Palette) string { | |
| 911 | - | _ = p | |
| 910 | + | func generateContextMenuCSS() string { | |
| 912 | 911 | return `/* ===== Context Menu Styling ===== */ | |
| 913 | 912 | ||
| 914 | 913 | popover.context-menu-popover { | |
| @@ -115,7 +115,7 @@ func GenerateCSSFull(p Palette, _ float64, fonts FontConfig, modeColors ModeColo | |||||
| 115 | sb.WriteString("\n") | 115 | sb.WriteString("\n") | ||
| 116 | 116 | ||||
| 117 | // Context menu styling | 117 | // Context menu styling | ||
| 118 | - | sb.WriteString(generateContextMenuCSS(p)) | 118 | + | sb.WriteString(generateContextMenuCSS()) |
| 119 | sb.WriteString("\n") | 119 | sb.WriteString("\n") | ||
| 120 | 120 | ||||
| 121 | // Tab picker styling | 121 | // Tab picker styling | ||
| @@ -907,8 +907,7 @@ row:selected .session-manager-row { | |||||
| 907 | } | 907 | } | ||
| 908 | 908 | ||||
| 909 | // generateContextMenuCSS creates shared context menu styles. | 909 | // generateContextMenuCSS creates shared context menu styles. | ||
| 910 | - | func generateContextMenuCSS(p Palette) string { | 910 | + | func generateContextMenuCSS() string { |
| 911 | - | _ = p | |||
| 912 | return `/* ===== Context Menu Styling ===== */ | 911 | return `/* ===== Context Menu Styling ===== */ | ||
| 913 | 912 | ||||
| 914 | popover.context-menu-popover { | 913 | popover.context-menu-popover { | ||