Added "automatically display images" option.

This commit is contained in:
Colin Leroy 2002-04-21 11:27:07 +00:00
parent 15648d8569
commit c6aabb3add
4 changed files with 43 additions and 1 deletions

View file

@ -100,6 +100,7 @@ static void mimeview_drag_data_get (GtkWidget *widget,
MimeView *mimeview);
static void mimeview_display_as_text (MimeView *mimeview);
static void mimeview_show_image (MimeView *mimeview);
static void mimeview_save_as (MimeView *mimeview);
static void mimeview_launch (MimeView *mimeview);
static void mimeview_open_with (MimeView *mimeview);
@ -115,6 +116,7 @@ static GtkItemFactoryEntry mimeview_popup_entries[] =
{N_("/_Open"), NULL, mimeview_launch, 0, NULL},
{N_("/Open _with..."), NULL, mimeview_open_with, 0, NULL},
{N_("/_Display as text"), NULL, mimeview_display_as_text, 0, NULL},
{N_("/_Display image"), NULL, mimeview_show_image, 0, NULL},
{N_("/_Save as..."), NULL, mimeview_save_as, 0, NULL}
#if USE_GPGME
,
@ -544,7 +546,10 @@ static void mimeview_selected(GtkCTree *ctree, GtkCTreeNode *node, gint column,
break;
#if (HAVE_GDK_PIXBUF || HAVE_GDK_IMLIB)
case MIME_IMAGE:
mimeview_show_image_part(mimeview, partinfo);
if (prefs_common.display_img)
mimeview_show_image_part(mimeview, partinfo);
else
textview_show_mime_part(mimeview->textview, partinfo);
break;
#endif
default:
@ -623,6 +628,12 @@ static gint mimeview_button_pressed(GtkWidget *widget, GdkEventButton *event,
else
menu_set_sensitive(mimeview->popupfactory,
"/Open", TRUE);
#if (HAVE_GDK_PIXBUF || HAVE_GDK_IMLIB)
if (partinfo && (partinfo->mime_type == MIME_IMAGE))
menu_set_sensitive(mimeview->popupfactory,
"/Display image", TRUE);
#endif
#if USE_GPGME
menu_set_sensitive(mimeview->popupfactory,
"/Check signature",
@ -708,6 +719,11 @@ static gint mimeview_key_pressed(GtkWidget *widget, GdkEventKey *event,
BREAK_ON_MODIFIER_KEY();
KEY_PRESS_EVENT_STOP();
mimeview_display_as_text(mimeview);
return TRUE;
case GDK_i:
BREAK_ON_MODIFIER_KEY();
KEY_PRESS_EVENT_STOP();
mimeview_show_image(mimeview);
return TRUE;
case GDK_l:
BREAK_ON_MODIFIER_KEY();
@ -772,6 +788,17 @@ static void mimeview_display_as_text(MimeView *mimeview)
mimeview_show_message_part(mimeview, partinfo);
}
static void mimeview_show_image(MimeView *mimeview)
{
MimeInfo *partinfo;
if (!mimeview->opened) return;
partinfo = gtk_ctree_node_get_row_data
(GTK_CTREE(mimeview->ctree), mimeview->opened);
mimeview_show_image_part(mimeview, partinfo);
}
static void mimeview_save_as(MimeView *mimeview)
{
gchar *filename;

View file

@ -162,6 +162,7 @@ static struct Display {
GtkWidget *entry_boldfont;
GtkWidget *chkbtn_folder_unread;
GtkWidget *chkbtn_display_img;
GtkWidget *chkbtn_transhdr;
@ -463,6 +464,11 @@ static PrefParam param[] = {
&display.chkbtn_folder_unread,
prefs_set_data_from_toggle, prefs_set_toggle},
{"display_img", "TRUE",
&prefs_common.display_img, P_BOOL,
&display.chkbtn_display_img,
prefs_set_data_from_toggle, prefs_set_toggle},
{"translate_header", "TRUE", &prefs_common.trans_hdr, P_BOOL,
&display.chkbtn_transhdr,
prefs_set_data_from_toggle, prefs_set_toggle},
@ -2006,6 +2012,7 @@ static void prefs_display_create(void)
GtkWidget *entry_textfont;
GtkWidget *button_textfont;
GtkWidget *chkbtn_folder_unread;
GtkWidget *chkbtn_display_img;
GtkWidget *chkbtn_transhdr;
GtkWidget *frame_summary;
GtkWidget *vbox2;
@ -2124,6 +2131,9 @@ static void prefs_display_create(void)
PACK_CHECK_BUTTON (vbox2, chkbtn_folder_unread,
_("Display unread number next to folder name"));
PACK_CHECK_BUTTON (vbox2, chkbtn_display_img,
_("Automatically display images"));
/* ---- Summary ---- */
PACK_FRAME(vbox1, frame_summary, _("Summary View"));
@ -2186,6 +2196,7 @@ static void prefs_display_create(void)
display.button_textfont = button_textfont;
display.chkbtn_folder_unread = chkbtn_folder_unread;
display.chkbtn_display_img = chkbtn_display_img;
display.chkbtn_transhdr = chkbtn_transhdr;
display.chkbtn_swapfrom = chkbtn_swapfrom;

View file

@ -111,6 +111,7 @@ struct _PrefsCommon
gchar *boldfont;
gchar *smallfont;
gboolean display_folder_unread;
gboolean display_img;
ToolbarStyle toolbar_style;
gboolean show_statusbar;
gboolean trans_hdr;

View file

@ -526,6 +526,9 @@ void textview_show_mime_part(TextView *textview, MimeInfo *partinfo)
TEXT_INSERT(_("To display this part as a text message, select "));
TEXT_INSERT(_("`Display as text', or press `t' key.\n\n"));
TEXT_INSERT(_("To display this part as an image, select "));
TEXT_INSERT(_("`Display image', or press `i' key.\n\n"));
TEXT_INSERT(_("To open this part with external program, select "));
TEXT_INSERT(_("`Open' or `Open with...', "));
TEXT_INSERT(_("or double-click, or click the center button, "));