From f4dc4d89dc85653111d19b2d663680660885239f Mon Sep 17 00:00:00 2001 From: Christian Soffke Date: Wed, 15 Apr 2026 19:17:43 +0200 Subject: [PATCH] plugins: imageviewer: Hide info by default when loading file Looks nicer, especially when the "View Album Art" option is used. Add delay to progress bar, so it only appears when 250ms have passed. Change-Id: I183c839f1ab206385cd01327922933b544c4b78b --- apps/lang/bulgarian.lang | 6 +++--- apps/lang/chinese-simp.lang | 6 +++--- apps/lang/deutsch.lang | 6 +++--- apps/lang/english-us.lang | 10 ++++----- apps/lang/english.lang | 10 ++++----- apps/lang/espanol.lang | 6 +++--- apps/lang/francais.lang | 6 +++--- apps/lang/italiano.lang | 6 +++--- apps/lang/japanese.lang | 6 +++--- apps/lang/korean.lang | 6 +++--- apps/lang/latviesu.lang | 6 +++--- apps/lang/magyar.lang | 6 +++--- apps/lang/moldoveneste.lang | 6 +++--- apps/lang/nederlands.lang | 6 +++--- apps/lang/norsk-nynorsk.lang | 6 +++--- apps/lang/polski.lang | 6 +++--- apps/lang/portugues-brasileiro.lang | 6 +++--- apps/lang/romaneste.lang | 6 +++--- apps/lang/russian.lang | 6 +++--- apps/lang/slovak.lang | 6 +++--- apps/lang/srpski.lang | 6 +++--- apps/lang/svenska.lang | 6 +++--- apps/lang/turkce.lang | 6 +++--- apps/lang/ukrainian.lang | 6 +++--- apps/lang/vietnamese.lang | 6 +++--- apps/plugins/imageviewer/bmp/bmp.c | 9 ++++++--- apps/plugins/imageviewer/gif/gif.c | 15 +++++++++----- apps/plugins/imageviewer/imageviewer.c | 28 +++++++++++++++++++++----- apps/plugins/imageviewer/imageviewer.h | 1 + apps/plugins/imageviewer/jpeg/jpeg.c | 15 +++++++++----- apps/plugins/imageviewer/jpegp/jpegp.c | 8 +++++--- apps/plugins/imageviewer/png/png.c | 27 ++++++++++++++++--------- apps/plugins/imageviewer/ppm/ppm.c | 11 ++++++---- apps/plugins/pictureflow/pictureflow.c | 2 +- 34 files changed, 160 insertions(+), 114 deletions(-) diff --git a/apps/lang/bulgarian.lang b/apps/lang/bulgarian.lang index 05400fa4d5..8f859fc112 100644 --- a/apps/lang/bulgarian.lang +++ b/apps/lang/bulgarian.lang @@ -14597,11 +14597,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Скриване на информацията" diff --git a/apps/lang/chinese-simp.lang b/apps/lang/chinese-simp.lang index 3e1394f774..1120999871 100644 --- a/apps/lang/chinese-simp.lang +++ b/apps/lang/chinese-simp.lang @@ -14601,11 +14601,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "隐藏信息" diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang index 66e3e33183..806ee79348 100644 --- a/apps/lang/deutsch.lang +++ b/apps/lang/deutsch.lang @@ -14615,11 +14615,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Information verbergen" diff --git a/apps/lang/english-us.lang b/apps/lang/english-us.lang index febe166dce..db078e77af 100644 --- a/apps/lang/english-us.lang +++ b/apps/lang/english-us.lang @@ -14591,17 +14591,17 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" - *: "Hide information" + *: "Hide Information" - *: "Hide information" + *: "Hide Information" diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 6bb698cd78..aeedbc2541 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -14844,17 +14844,17 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" - *: "Hide information" + *: "Hide Information" - *: "Hide information" + *: "Hide Information" diff --git a/apps/lang/espanol.lang b/apps/lang/espanol.lang index ae9c36cb12..14dd2db561 100644 --- a/apps/lang/espanol.lang +++ b/apps/lang/espanol.lang @@ -14701,11 +14701,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Ocultar información" diff --git a/apps/lang/francais.lang b/apps/lang/francais.lang index adcb05916a..7b92309fe9 100644 --- a/apps/lang/francais.lang +++ b/apps/lang/francais.lang @@ -12290,11 +12290,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Masquer les informations" diff --git a/apps/lang/italiano.lang b/apps/lang/italiano.lang index 621058e074..5e837aa636 100644 --- a/apps/lang/italiano.lang +++ b/apps/lang/italiano.lang @@ -14300,11 +14300,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Nascondere le informazioni" diff --git a/apps/lang/japanese.lang b/apps/lang/japanese.lang index 501d102214..aaf46fa501 100644 --- a/apps/lang/japanese.lang +++ b/apps/lang/japanese.lang @@ -14794,11 +14794,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "情報を隠す" diff --git a/apps/lang/korean.lang b/apps/lang/korean.lang index 9b37d29230..99f91af6fa 100644 --- a/apps/lang/korean.lang +++ b/apps/lang/korean.lang @@ -14609,11 +14609,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "정보 숨기기" diff --git a/apps/lang/latviesu.lang b/apps/lang/latviesu.lang index 94391888a9..e0db4361b6 100644 --- a/apps/lang/latviesu.lang +++ b/apps/lang/latviesu.lang @@ -14706,11 +14706,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Paslēpt informāciju" diff --git a/apps/lang/magyar.lang b/apps/lang/magyar.lang index f88fd31b7e..edac063a7e 100644 --- a/apps/lang/magyar.lang +++ b/apps/lang/magyar.lang @@ -14709,11 +14709,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Információ elrejtése" diff --git a/apps/lang/moldoveneste.lang b/apps/lang/moldoveneste.lang index af4718d647..e1db7daf9d 100644 --- a/apps/lang/moldoveneste.lang +++ b/apps/lang/moldoveneste.lang @@ -14712,11 +14712,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Ascunde informațiile" diff --git a/apps/lang/nederlands.lang b/apps/lang/nederlands.lang index 6f2d2fc19f..d722854d22 100644 --- a/apps/lang/nederlands.lang +++ b/apps/lang/nederlands.lang @@ -14360,11 +14360,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Verberg informatie" diff --git a/apps/lang/norsk-nynorsk.lang b/apps/lang/norsk-nynorsk.lang index fa67417801..eee67b9be8 100644 --- a/apps/lang/norsk-nynorsk.lang +++ b/apps/lang/norsk-nynorsk.lang @@ -14779,11 +14779,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Gøym informasjon" diff --git a/apps/lang/polski.lang b/apps/lang/polski.lang index 8d6816b47b..097211e7dd 100644 --- a/apps/lang/polski.lang +++ b/apps/lang/polski.lang @@ -14306,11 +14306,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Ukryj informacje" diff --git a/apps/lang/portugues-brasileiro.lang b/apps/lang/portugues-brasileiro.lang index c28f304a94..71dc258233 100644 --- a/apps/lang/portugues-brasileiro.lang +++ b/apps/lang/portugues-brasileiro.lang @@ -14817,11 +14817,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Ocultar informações" diff --git a/apps/lang/romaneste.lang b/apps/lang/romaneste.lang index 6a3bd8fa19..a2bf35136b 100644 --- a/apps/lang/romaneste.lang +++ b/apps/lang/romaneste.lang @@ -14712,11 +14712,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Ascunde informațiile" diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang index b9b30004c0..47feb49e30 100644 --- a/apps/lang/russian.lang +++ b/apps/lang/russian.lang @@ -14328,11 +14328,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Ничего не показывать" diff --git a/apps/lang/slovak.lang b/apps/lang/slovak.lang index d481450931..3c3aebca05 100644 --- a/apps/lang/slovak.lang +++ b/apps/lang/slovak.lang @@ -14326,11 +14326,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Skryť info" diff --git a/apps/lang/srpski.lang b/apps/lang/srpski.lang index 90ff30bdd3..1a238f8207 100644 --- a/apps/lang/srpski.lang +++ b/apps/lang/srpski.lang @@ -14705,11 +14705,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Сакриј информације" diff --git a/apps/lang/svenska.lang b/apps/lang/svenska.lang index f254d7aa49..0a7fa0fd6f 100644 --- a/apps/lang/svenska.lang +++ b/apps/lang/svenska.lang @@ -14714,11 +14714,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Göm information" diff --git a/apps/lang/turkce.lang b/apps/lang/turkce.lang index d9407a6173..68ef3f100c 100644 --- a/apps/lang/turkce.lang +++ b/apps/lang/turkce.lang @@ -14597,11 +14597,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Bilgileri gizle" diff --git a/apps/lang/ukrainian.lang b/apps/lang/ukrainian.lang index 5e89c07baa..507ce32de2 100644 --- a/apps/lang/ukrainian.lang +++ b/apps/lang/ukrainian.lang @@ -14706,11 +14706,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Приховати інформацію" diff --git a/apps/lang/vietnamese.lang b/apps/lang/vietnamese.lang index c9562ffa7d..d794a4e2be 100644 --- a/apps/lang/vietnamese.lang +++ b/apps/lang/vietnamese.lang @@ -14615,11 +14615,11 @@ - id: LANG_HIDE_ALBUM_TITLE_NEW - desc: in the pictureflow settings + id: LANG_HIDE_INFO + desc: Hide Information user: core - *: "Hide information" + *: "Hide Information" *: "Ẩn thông tin" diff --git a/apps/plugins/imageviewer/bmp/bmp.c b/apps/plugins/imageviewer/bmp/bmp.c index 019c4982d3..3911917fec 100644 --- a/apps/plugins/imageviewer/bmp/bmp.c +++ b/apps/plugins/imageviewer/bmp/bmp.c @@ -176,7 +176,8 @@ static int load_image(char *filename, struct image_info *info, return PLUGIN_OUTOFMEM; } - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_puts(0, 0, rb->strrchr(filename,'/')+1); rb->lcd_putsf(0, 1, "loading %dx%d%s", @@ -206,7 +207,8 @@ static int load_image(char *filename, struct image_info *info, return PLUGIN_ERROR; } - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->snprintf(print, sizeof(print), " %ld.%02ld sec ", time/HZ, time%HZ); rb->lcd_getstringsize(print, &w, &h); /* centered in progress bar */ @@ -225,7 +227,8 @@ static int load_image(char *filename, struct image_info *info, buf_images = buf_root = buf + size; buf_images_size = root_size = *buf_size - size; - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_putsf(0, 2, "image %dx%d", bmp.width, bmp.height); rb->lcd_update(); diff --git a/apps/plugins/imageviewer/gif/gif.c b/apps/plugins/imageviewer/gif/gif.c index 61ff1a6146..7fbf573a1a 100644 --- a/apps/plugins/imageviewer/gif/gif.c +++ b/apps/plugins/imageviewer/gif/gif.c @@ -56,7 +56,7 @@ static void draw_image_rect(struct image_info *info, #ifdef HAVE_LCD_COLOR rb->lcd_bitmap_part((fb_data *)*pdisp, info->x + x, info->y + y, - STRIDE(SCREEN_MAIN, info->width, info->height), + STRIDE(SCREEN_MAIN, info->width, info->height), x + MAX(0, (LCD_WIDTH-info->width)/2), y + MAX(0, (LCD_HEIGHT-info->height)/2), width, height); @@ -100,7 +100,7 @@ static int load_image(char *filename, struct image_info *info, } #endif - /* initialize decoder context struct, set buffer decoder is free + /* initialize decoder context struct, set buffer decoder is free * to use. */ gif_decoder_init(p_decoder, memory, memory_size); @@ -111,7 +111,8 @@ static int load_image(char *filename, struct image_info *info, if (!p_decoder->error) { - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_putsf(0, 2, "file: %s", filename); @@ -137,7 +138,9 @@ static int load_image(char *filename, struct image_info *info, gif_decoder_destroy_memory_pool(p_decoder); - if (!iv->running_slideshow && !p_decoder->error) + if (!iv->settings->hide_info && + !iv->running_slideshow && + !p_decoder->error) { rb->snprintf(print, sizeof(print), " %ld.%02ld sec ", time/HZ, time%HZ); rb->lcd_getstringsize(print, &w, &h); /* centered in progress bar */ @@ -215,7 +218,9 @@ static int get_image(struct image_info *info, int frame, int ds) /* assign image buffer */ if (ds > 1) { - if (!iv->running_slideshow && (info->frames_count == 1)) + if (!iv->settings->hide_info && + !iv->running_slideshow && + (info->frames_count == 1)) { rb->lcd_putsf(0, 3, "resizing %d*%d", info->width, info->height); rb->lcd_update(); diff --git a/apps/plugins/imageviewer/imageviewer.c b/apps/plugins/imageviewer/imageviewer.c index b67ff764aa..01683c8ace 100644 --- a/apps/plugins/imageviewer/imageviewer.c +++ b/apps/plugins/imageviewer/imageviewer.c @@ -64,7 +64,8 @@ static struct imgview_settings settings = COLOURMODE_COLOUR, DITHER_NONE, #endif - SS_DEFAULT_TIMEOUT + SS_DEFAULT_TIMEOUT, + true }; static struct imgview_settings old_settings; @@ -78,6 +79,7 @@ static struct configdata config[] = #endif { TYPE_INT, SS_MIN_TIMEOUT, SS_MAX_TIMEOUT, { .int_p = &settings.ss_timeout }, "Slideshow Time", NULL }, + { TYPE_BOOL, 0, 1, { .bool_p = &settings.hide_info }, "Hide Info", NULL }, }; static void cb_progress(int current, int total); @@ -244,12 +246,22 @@ static bool set_option_dithering(void) return false; } +static bool set_option_hide_info(void) +{ + rb->set_bool(rb->str(LANG_HIDE_INFO), &settings.hide_info); + return false; +} + MENUITEM_FUNCTION(grayscale_item, 0, ID2P(LANG_GRAYSCALE), set_option_grayscale, NULL, Icon_NOICON); MENUITEM_FUNCTION(dithering_item, 0, ID2P(LANG_DITHERING), set_option_dithering, NULL, Icon_NOICON); -MAKE_MENU(display_menu, "Display Options", NULL, Icon_NOICON, - &grayscale_item, &dithering_item); +MENUITEM_FUNCTION(hide_info_item, 0, ID2P(LANG_HIDE_INFO), + set_option_hide_info, NULL, Icon_NOICON); +MAKE_MENU(display_menu, ID2P(LANG_MENU_DISPLAY_OPTIONS), NULL, Icon_NOICON, + &grayscale_item, + &dithering_item, + &hide_info_item); static void display_options(void) { @@ -451,6 +463,10 @@ static void cb_progress(int current, int total) { /* do not yield or update the progress bar if we did so too recently */ long now = *rb->current_tick; + + if (total == 0) + next_progress_tick = now + HZ/4; /* delay by 250ms initially */ + if(!TIME_AFTER(now, next_progress_tick)) return; @@ -965,6 +981,7 @@ reload_decoder: bool initial_frame = true; do /* loop the image prepare and decoding when zoomed */ { + cb_progress(0, 0); /* delay showing progress bar*/ status = imgdec->get_image(info, frame, ds); /* decode or fetch from cache */ if (status == PLUGIN_ERROR) { @@ -973,8 +990,9 @@ reload_decoder: } set_view(info, cx, cy); - - if(!iv_api.running_slideshow && (info->frames_count == 1)) + if(!settings.hide_info && + !iv_api.running_slideshow && + (info->frames_count == 1)) { rb->lcd_putsf(0, 3, "showing %dx%d", info->width, info->height); rb->lcd_update(); diff --git a/apps/plugins/imageviewer/imageviewer.h b/apps/plugins/imageviewer/imageviewer.h index 79691f747e..7727dd033d 100644 --- a/apps/plugins/imageviewer/imageviewer.h +++ b/apps/plugins/imageviewer/imageviewer.h @@ -77,6 +77,7 @@ struct imgview_settings int jpeg_dither_mode; #endif int ss_timeout; + bool hide_info; }; /* structure passed to image decoder. */ diff --git a/apps/plugins/imageviewer/jpeg/jpeg.c b/apps/plugins/imageviewer/jpeg/jpeg.c index c7969c10c9..1f152e0fc3 100644 --- a/apps/plugins/imageviewer/jpeg/jpeg.c +++ b/apps/plugins/imageviewer/jpeg/jpeg.c @@ -150,7 +150,8 @@ static int load_image(char *filename, struct image_info *info, return PLUGIN_OUTOFMEM; } - if(!iv->running_slideshow) + if(!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_puts(0, 0, rb->strrchr(filename,'/')+1); rb->lcd_putsf(0, 1, "loading %d bytes", filesize); @@ -160,7 +161,8 @@ static int load_image(char *filename, struct image_info *info, rb->read(fd, buf_jpeg, filesize); rb->close(fd); - if(!iv->running_slideshow) + if(!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_puts(0, 2, "decoding markers"); rb->lcd_update(); @@ -190,7 +192,8 @@ static int load_image(char *filename, struct image_info *info, default_huff_tbl(p_jpg); /* use default */ build_lut(p_jpg); /* derive Huffman and other lookup-tables */ - if(!iv->running_slideshow) + if(!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_putsf(0, 2, "image %dx%d", p_jpg->x_size, p_jpg->y_size); rb->lcd_update(); @@ -263,7 +266,8 @@ static int get_image(struct image_info *info, int frame, int ds) buf_images += size; buf_images_size -= size; - if(!iv->running_slideshow) + if(!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_putsf(0, 3, "decoding %d*%d", info->width, info->height); rb->lcd_update(); @@ -288,7 +292,8 @@ static int get_image(struct image_info *info, int frame, int ds) } time = *rb->current_tick - time; - if(!iv->running_slideshow) + if(!iv->settings->hide_info && + !iv->running_slideshow) { rb->snprintf(print, sizeof(print), " %ld.%02ld sec ", time/HZ, time%HZ); rb->lcd_getstringsize(print, &w, &h); /* centered in progress bar */ diff --git a/apps/plugins/imageviewer/jpegp/jpegp.c b/apps/plugins/imageviewer/jpegp/jpegp.c index eee5be8424..a5883e3a28 100644 --- a/apps/plugins/imageviewer/jpegp/jpegp.c +++ b/apps/plugins/imageviewer/jpegp/jpegp.c @@ -117,7 +117,8 @@ static int load_image(char *filename, struct image_info *info, POS(offset); } - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_puts(0, 0, rb->strrchr(filename,'/')+1); rb->lcd_puts(0, 2, "decoding..."); @@ -142,7 +143,8 @@ static int load_image(char *filename, struct image_info *info, return PLUGIN_ERROR; } - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_putsf(0, 2, "image %dx%d", p_jpg->X, p_jpg->Y); int w, h; /* used to center output */ @@ -262,7 +264,7 @@ static int get_image(struct image_info *info, int frame, int ds) c2 = (sumV + area/2) / area; } - // ITU BT.601 full-range YUV-to-RGB integer approximation + // ITU BT.601 full-range YUV-to-RGB integer approximation { int y = (c0 << 5) + 16; int u = c1 - 128; diff --git a/apps/plugins/imageviewer/png/png.c b/apps/plugins/imageviewer/png/png.c index 34a8a1fd34..68a14a268e 100644 --- a/apps/plugins/imageviewer/png/png.c +++ b/apps/plugins/imageviewer/png/png.c @@ -62,7 +62,7 @@ static void draw_image_rect(struct image_info *info, #ifdef HAVE_LCD_COLOR rb->lcd_bitmap_part((fb_data *)*pdisp, info->x + x, info->y + y, - STRIDE(SCREEN_MAIN, info->width, info->height), + STRIDE(SCREEN_MAIN, info->width, info->height), x + MAX(0, (LCD_WIDTH-info->width)/2), y + MAX(0, (LCD_HEIGHT-info->height)/2), width, height); @@ -82,8 +82,8 @@ static int img_mem(int ds) #ifdef USEGSLIB return (p_decoder->infoPng.width/ds) * (p_decoder->infoPng.height/ds); #else - return (p_decoder->infoPng.width/ds) * - (p_decoder->infoPng.height/ds) * + return (p_decoder->infoPng.width/ds) * + (p_decoder->infoPng.height/ds) * FB_DATA_SZ; #endif } @@ -126,7 +126,9 @@ static int load_image(char *filename, struct image_info *info, DEBUGF("reading file '%s'\n", filename); - if (!iv->running_slideshow) { + if (!iv->settings->hide_info && + !iv->running_slideshow) + { rb->lcd_puts(0, 0, rb->strrchr(filename,'/')+1); rb->lcd_update(); } @@ -136,7 +138,9 @@ static int load_image(char *filename, struct image_info *info, rb->close(fd); } else { - if (!iv->running_slideshow) { + if (!iv->settings->hide_info && + !iv->running_slideshow) + { rb->lcd_putsf(0, 1, "loading %zu bytes", file_size); rb->lcd_update(); } @@ -146,7 +150,9 @@ static int load_image(char *filename, struct image_info *info, rb->read(fd, image, file_size); rb->close(fd); - if (!iv->running_slideshow) { + if (!iv->settings->hide_info && + !iv->running_slideshow) + { rb->lcd_puts(0, 2, "decoding image"); rb->lcd_update(); } @@ -171,7 +177,8 @@ static int load_image(char *filename, struct image_info *info, if (!p_decoder->error) { - if (!iv->running_slideshow) { + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_putsf(0, 2, "image %dx%d", p_decoder->infoPng.width, p_decoder->infoPng.height); @@ -194,7 +201,8 @@ static int load_image(char *filename, struct image_info *info, } } - if (!iv->running_slideshow && !p_decoder->error) + if (!iv->settings->hide_info && + !iv->running_slideshow && !p_decoder->error) { rb->snprintf(print, sizeof(print), " %ld.%02ld sec ", time/HZ, time%HZ); rb->lcd_getstringsize(print, &w, &h); /* centered in progress bar */ @@ -253,7 +261,8 @@ static int get_image(struct image_info *info, int frame, int ds) /* assign image buffer */ if (ds > 1) { - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_putsf(0, 3, "resizing %d*%d", info->width, info->height); rb->lcd_update(); diff --git a/apps/plugins/imageviewer/ppm/ppm.c b/apps/plugins/imageviewer/ppm/ppm.c index 6f59b1f6b0..9a88744382 100644 --- a/apps/plugins/imageviewer/ppm/ppm.c +++ b/apps/plugins/imageviewer/ppm/ppm.c @@ -51,7 +51,7 @@ static void draw_image_rect(struct image_info *info, #ifdef HAVE_LCD_COLOR rb->lcd_bitmap_part((fb_data *)*pdisp, info->x + x, info->y + y, - STRIDE(SCREEN_MAIN, info->width, info->height), + STRIDE(SCREEN_MAIN, info->width, info->height), x + MAX(0, (LCD_WIDTH-info->width)/2), y + MAX(0, (LCD_HEIGHT-info->height)/2), width, height); @@ -111,7 +111,8 @@ static int load_image(char *filename, struct image_info *info, } DEBUGF("reading file '%s'\n", filename); - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_puts(0, 0, rb->strrchr(filename,'/')+1); rb->lcd_putsf(0, 1, "loading %zu bytes", filesize); @@ -140,7 +141,8 @@ static int load_image(char *filename, struct image_info *info, return rc; } - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->snprintf(print, sizeof(print), " %ld.%02ld sec ", time/HZ, time%HZ); rb->lcd_getstringsize(print, &w, &h); /* centered in progress bar */ @@ -177,7 +179,8 @@ static int get_image(struct image_info *info, int frame, int ds) /* assign image buffer */ if (ds > 1) { - if (!iv->running_slideshow) + if (!iv->settings->hide_info && + !iv->running_slideshow) { rb->lcd_putsf(0, 3, "resizing %d*%d", info->width, info->height); rb->lcd_update(); diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c index 259b95f5f0..affde85b99 100644 --- a/apps/plugins/pictureflow/pictureflow.c +++ b/apps/plugins/pictureflow/pictureflow.c @@ -3619,7 +3619,7 @@ static int settings_menu(void) ID2P(LANG_DISPLAY)); static const struct opt_items album_name_options[] = { - { STR(LANG_HIDE_ALBUM_TITLE_NEW) }, + { STR(LANG_HIDE_INFO) }, { STR(LANG_SHOW_AT_THE_BOTTOM_NEW) }, { STR(LANG_SHOW_AT_THE_TOP_NEW) }, { STR(LANG_SHOW_ALL_AT_THE_TOP) },