From f86dcb5ddea5cfb4fa16241318a47428cc2a18a1 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 7 Jun 2010 20:48:03 +0200 Subject: Show a little message in caption editing mode to indicate that is active --- ChangeLog | 2 ++ src/imlib.c | 36 ++++++++++++++++++++++-------------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d66282..654f62e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,8 @@ git HEAD * Remove undocumented hjkl menu keys. Most of the menu options can also be accessed directly with keys, plus the number of non-qwerty users (which have no use for these shortcuts) is growing. + * Draw a nice little message when in caption editing mode with empty + caption (to indicate that caption editing is actually active) Sat Jun 5 21:35:25 CEST 2010 Daniel Friesel caption = estrdup(""); - D_RETURN_(4); } - if (file->caption == '\0') { + if (*(file->caption) == '\0' && !w->caption_entry) D_RETURN_(4); - } - if (!caption_style) { - caption_style = gib_style_new("caption"); - caption_style->bits = gib_list_add_front(caption_style->bits, gib_style_bit_new(0, 0, 0, 0, 0, 0)); - caption_style->bits = gib_list_add_front(caption_style->bits, gib_style_bit_new(1, 1, 0, 0, 0, 255)); - } + caption_style = gib_style_new("caption"); + caption_style->bits = gib_list_add_front(caption_style->bits, + gib_style_bit_new(0, 0, 0, 0, 0, 0)); + caption_style->bits = gib_list_add_front(caption_style->bits, + gib_style_bit_new(1, 1, 0, 0, 0, 255)); if (!fn) { memset(atab, 0, sizeof(atab)); @@ -748,7 +746,13 @@ void feh_draw_caption(winwidget w) D_RETURN_(4); } - lines = feh_wrap_string(file->caption, w->w, fn, NULL); + if (*(file->caption) == '\0') { + p = estrdup("Caption entry mode - Hit ESC to cancel"); + lines = feh_wrap_string(p, w->w, fn, NULL); + free(p); + } else + lines = feh_wrap_string(file->caption, w->w, fn, NULL); + if (!lines) D_RETURN_(4); @@ -786,11 +790,15 @@ void feh_draw_caption(winwidget w) p = (char *) l->data; gib_imlib_get_text_size(fn, p, caption_style, &ww, &hh, IMLIB_TEXT_TO_RIGHT); x = (tw - ww) / 2; - if (w->caption_entry) { - gib_imlib_text_draw(im, fn, caption_style, x, y, p, IMLIB_TEXT_TO_RIGHT, 255, 255, 0, 255); - } else { - gib_imlib_text_draw(im, fn, caption_style, x, y, p, IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255); - } + if (w->caption_entry && (*(file->caption) == '\0')) + gib_imlib_text_draw(im, fn, caption_style, x, y, p, + IMLIB_TEXT_TO_RIGHT, 255, 255, 127, 255); + else if (w->caption_entry) + gib_imlib_text_draw(im, fn, caption_style, x, y, p, + IMLIB_TEXT_TO_RIGHT, 255, 255, 0, 255); + else + gib_imlib_text_draw(im, fn, caption_style, x, y, p, + IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255); y += hh + 1; /* line spacing */ l = l->next; -- cgit v1.2.3