Hapus tombol kosong bawaan Fyne di modal + semua format ikon dikonversi ke PNG

- dialog.NewCustom selalu menambah tombol dismiss walau labelnya kosong;
  modal kita pakai baris tombol sendiri, jadi pindah ke NewCustomWithoutButtons
  (ditambah tes yang menolak pemakaian dialog.NewCustom lagi)
- Ikon: SVG/webp/gif/bmp/ico/jpeg semuanya dikonversi ke PNG saat dipasang
  (desktop environment tidak konsisten membaca format lain), gambar besar
  diperkecil ke maksimal 512px
- Filter file picker ikon menambah webp/gif/bmp
- Perbaiki data race pada endpoint pencarian ikon (iconifyBase) yang ditemukan
  oleh go test -race; tes UI menunggu goroutine pencarian selesai
- go test -race -count=1 ./... hijau untuk semua paket
This commit is contained in:
oxpoe committed 2026-10-13 08:00:12 +07:00
1 parent 6e6f9afea9
commit cad41caaee
10 files changed
+269 -73

No files matched your search

+3 -6
View File
@@ -97,7 +97,7 @@ func (ui *app) showIconSearch(query string, onPick func(icon.Result, []byte)) {
results,
)
d = dialog.NewCustom(T("icon_search_title"), "", content, ui.win)
d = dialog.NewCustomWithoutButtons(T("icon_search_title"), content, ui.win)
showDialog(d, ui.win, 560, 470) // sekaligus menampilkan dialog
search()
}
@@ -129,12 +129,9 @@ func (ui *app) iconChoice(result icon.Result, onPick func(icon.Result, []byte),
if err != nil {
return
}
thumb, err := icon.Rasterize(downloaded, 64)
thumb, err := icon.ToPNG(downloaded)
if err != nil {
if icon.Ext(downloaded) == ".svg" {
return
}
thumb = downloaded // PNG/JPEG bisa langsung dipakai
return // placeholder tetap tampil
}
mu.Lock()