Add string reps for preview classes

This commit is contained in:
Kovid Goyal
2025-11-23 10:22:29 +05:30
parent 07b0801990
commit ffac770cce
3 changed files with 16 additions and 0 deletions

View File

@@ -212,6 +212,10 @@ func (c *calibre_server_process) ShowMetadata(h *Handler, s ShowData) (offset in
return
}
func (c *calibre_server_process) String() string {
return "Calibre"
}
func NewCalibrePreview(
abspath string, metadata fs.FileInfo, opts Settings, WakeupMainThread func() bool,
) Preview {

View File

@@ -42,6 +42,7 @@ type PreviewRenderer interface {
Unmarshall(map[string]string) (any, error)
Render(string) (map[string][]byte, metadata, *images.ImageData, error)
ShowMetadata(h *Handler, s ShowData) int
String() string
}
type render_data struct {
@@ -71,6 +72,9 @@ type ImagePreview struct {
WakeupMainThread func() bool
}
func (p *ImagePreview) String() string {
return fmt.Sprintf("ImagePreview{%#v, ready: %v, renderer: %s}", p.abspath, p.ready.Load(), p.renderer.String())
}
func (p *ImagePreview) IsValidForColorScheme(bool) bool { return true }
func (p *ImagePreview) IsReady() bool { return p.ready.Load() || p.render_channel == nil }
@@ -213,6 +217,8 @@ func (p *ImagePreview) start_rendering() {
type ImagePreviewRenderer uint
func (p ImagePreviewRenderer) String() string { return "ImagePreviewRenderer" }
func (p ImagePreviewRenderer) Render(abspath string) (ans map[string][]byte, m metadata, img *images.ImageData, err error) {
if img, err = images.OpenImageFromPath(abspath); err != nil {
return nil, metadata{}, nil, err

View File

@@ -29,6 +29,7 @@ type Preview interface {
IsValidForColorScheme(light bool) bool
Unload()
IsReady() bool
String() string
}
type PreviewManager struct {
@@ -82,6 +83,7 @@ type MessagePreview struct {
trailers []string
}
func (p MessagePreview) String() string { return fmt.Sprintf("MessagePreview{%#v}", p.title) }
func (p MessagePreview) IsValidForColorScheme(bool) bool { return true }
func (p MessagePreview) IsReady() bool { return true }
@@ -213,6 +215,10 @@ type TextFilePreview struct {
metadata fs.FileInfo
}
func (p *TextFilePreview) String() string {
return fmt.Sprint("TextFilePreview{%#v, ready: %v}", p.path, p.ready.Load())
}
func (p *TextFilePreview) IsValidForColorScheme(light bool) bool { return p.light == light }
func (p *TextFilePreview) Unload() {}