#include <glib/gi18n.h>
#include <gdk/gdk.h>
#include <gdk/gdkkeysyms.h>
-#include <gtk/gtkvbox.h>
-#include <gtk/gtkscrolledwindow.h>
-#include <gtk/gtksignal.h>
+#include <gtk/gtk.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
gtk_widget_show(vbox);
- textview->link_action_group = cm_menu_create_action_group("TextviewPopupLink",
+ textview->ui_manager = gtk_ui_manager_new();
+ textview->link_action_group = cm_menu_create_action_group_full(textview->ui_manager,
+ "TextviewPopupLink",
textview_link_popup_entries,
G_N_ELEMENTS(textview_link_popup_entries), (gpointer)textview);
- textview->mail_action_group = cm_menu_create_action_group("TextviewPopupMail",
+ textview->mail_action_group = cm_menu_create_action_group_full(textview->ui_manager,
+ "TextviewPopupMail",
textview_mail_popup_entries,
G_N_ELEMENTS(textview_mail_popup_entries), (gpointer)textview);
- textview->file_action_group = cm_menu_create_action_group("TextviewPopupFile",
+ textview->file_action_group = cm_menu_create_action_group_full(textview->ui_manager,
+ "TextviewPopupFile",
textview_file_popup_entries,
G_N_ELEMENTS(textview_file_popup_entries), (gpointer)textview);
- MENUITEM_ADDUI("/Menus", "TextviewPopupLink", "TextviewPopupLink", GTK_UI_MANAGER_MENU)
- MENUITEM_ADDUI("/Menus", "TextviewPopupMail", "TextviewPopupMail", GTK_UI_MANAGER_MENU)
- MENUITEM_ADDUI("/Menus", "TextviewPopupFile", "TextviewPopupFile", GTK_UI_MANAGER_MENU)
-
- MENUITEM_ADDUI("/Menus/TextviewPopupLink", "Open", "TextviewPopupLink/Open", GTK_UI_MANAGER_MENUITEM)
- MENUITEM_ADDUI("/Menus/TextviewPopupLink", "Copy", "TextviewPopupLink/Copy", GTK_UI_MANAGER_MENUITEM)
- MENUITEM_ADDUI("/Menus/TextviewPopupMail", "Compose", "TextviewPopupMail/Compose", GTK_UI_MANAGER_MENUITEM)
- MENUITEM_ADDUI("/Menus/TextviewPopupMail", "AddAB", "TextviewPopupMail/AddAB", GTK_UI_MANAGER_MENUITEM)
- MENUITEM_ADDUI("/Menus/TextviewPopupMail", "Copy", "TextviewPopupMail/Copy", GTK_UI_MANAGER_MENUITEM)
- MENUITEM_ADDUI("/Menus/TextviewPopupFile", "Open", "TextviewPopupFile/Open", GTK_UI_MANAGER_MENUITEM)
- MENUITEM_ADDUI("/Menus/TextviewPopupFile", "Save", "TextviewPopupFile/Save", GTK_UI_MANAGER_MENUITEM)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager, "/", "Menus", "Menus", GTK_UI_MANAGER_MENUBAR)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus", "TextviewPopupLink", "TextviewPopupLink", GTK_UI_MANAGER_MENU)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus", "TextviewPopupMail", "TextviewPopupMail", GTK_UI_MANAGER_MENU)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus", "TextviewPopupFile", "TextviewPopupFile", GTK_UI_MANAGER_MENU)
+
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus/TextviewPopupLink", "Open", "TextviewPopupLink/Open", GTK_UI_MANAGER_MENUITEM)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus/TextviewPopupLink", "Copy", "TextviewPopupLink/Copy", GTK_UI_MANAGER_MENUITEM)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus/TextviewPopupMail", "Compose", "TextviewPopupMail/Compose", GTK_UI_MANAGER_MENUITEM)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus/TextviewPopupMail", "AddAB", "TextviewPopupMail/AddAB", GTK_UI_MANAGER_MENUITEM)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus/TextviewPopupMail", "Copy", "TextviewPopupMail/Copy", GTK_UI_MANAGER_MENUITEM)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus/TextviewPopupFile", "Open", "TextviewPopupFile/Open", GTK_UI_MANAGER_MENUITEM)
+ MENUITEM_ADDUI_MANAGER(textview->ui_manager,
+ "/Menus/TextviewPopupFile", "Save", "TextviewPopupFile/Save", GTK_UI_MANAGER_MENUITEM)
textview->link_popup_menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(
- gtk_ui_manager_get_widget(gtkut_ui_manager(), "/Menus/TextviewPopupLink")) );
+ gtk_ui_manager_get_widget(textview->ui_manager, "/Menus/TextviewPopupLink")) );
textview->mail_popup_menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(
- gtk_ui_manager_get_widget(gtkut_ui_manager(), "/Menus/TextviewPopupMail")) );
+ gtk_ui_manager_get_widget(textview->ui_manager, "/Menus/TextviewPopupMail")) );
textview->file_popup_menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(
- gtk_ui_manager_get_widget(gtkut_ui_manager(), "/Menus/TextviewPopupFile")) );
+ gtk_ui_manager_get_widget(textview->ui_manager, "/Menus/TextviewPopupFile")) );
textview->vbox = vbox;
textview->scrolledwin = scrolledwin;
TEXTVIEW_INSERT(_(" (Shortcut key: 'l')\n"));
TEXTVIEW_INSERT(_(" (alternately double-click, or click the middle "));
TEXTVIEW_INSERT(_("mouse button)\n"));
+#ifndef G_OS_WIN32
TEXTVIEW_INSERT(_(" - Or use "));
TEXTVIEW_INSERT_LINK(_("'Open with...'"), "sc://open_with", NULL);
TEXTVIEW_INSERT(_(" (Shortcut key: 'o')"));
+#endif
#endif
TEXTVIEW_INSERT("\n");
if (textview->messageview->forced_charset)
charset = textview->messageview->forced_charset;
- else
+ else {
charset = procmime_mimeinfo_get_parameter(mimeinfo, "charset");
+ if (charset && !strcasecmp(charset, CS_ISO_8859_1))
+ charset = CS_WINDOWS_1252;
+ }
textview_set_font(textview, charset);
if (textview->stop_loading) {
fclose(tmpfp);
waitpid(pid, pfd, 0);
- unlink(fname);
+ g_unlink(fname);
return;
}
}
fclose(tmpfp);
waitpid(pid, pfd, 0);
- unlink(fname);
+ g_unlink(fname);
#endif
} else {
textview_default:
TEXTVIEW_STATUSBAR_POP(textview);
if (uri) {
- char *trimmed_uri;
-
if (!uri->is_quote)
gtk_text_buffer_apply_tag_by_name(buffer,
"link-hover",
&start_iter,
&end_iter);
-
- trimmed_uri = trim_string(uri->uri, 60);
- TEXTVIEW_STATUSBAR_PUSH(textview, trimmed_uri);
- g_free(trimmed_uri);
+ TEXTVIEW_STATUSBAR_PUSH(textview, uri->uri);
}
}
}
gboolean remember = FALSE;
cmd = input_dialog_combo_remember
(_("Open with"),
- _("Enter the command line to open file:\n"
+ _("Enter the command-line to open file:\n"
"('%s' will be replaced with file name)"),
prefs_common.mime_open_cmd,
prefs_common.mime_open_cmd_history,
!strchr(p + 2, '%'))
g_snprintf(buf, sizeof(buf), cmd, filename);
else {
- g_warning("Image viewer command line is invalid: '%s'", cmd);
+ g_warning("Image viewer command-line is invalid: '%s'", cmd);
return;
}
subst_for_filename(filename);
- if (prefs_common.attach_save_dir)
+ if (prefs_common.attach_save_dir && *prefs_common.attach_save_dir)
filepath = g_strconcat(prefs_common.attach_save_dir,
G_DIR_SEPARATOR_S, filename, NULL);
else