+2008-10-30 [colin] 3.6.1cvs13
+
+ * src/mimeview.c
+ * src/mimeview.h
+ * src/textview.c
+ * src/textview.h
+ Use one UI Manager per mimeview, instead of
+ the global one -- else user_data pointer gets
+ broken if opening and closing another message-
+ view, then using right-click on a mimeview's
+ mimepart. Probably fixes bug 1711, 'Save-as
+ attachment crashes'
+
2008-10-24 [paul] 3.6.1cvs12
* tools/Makefile.am
( cvs diff -u -r 1.2.2.12 -r 1.2.2.13 tools/kdeservicemenu/README; cvs diff -u -r 1.2.2.6 -r 1.2.2.7 tools/kdeservicemenu/install.sh; ) > 3.6.1cvs10.patchset
( cvs diff -u -r 1.2.2.7 -r 1.2.2.8 tools/kdeservicemenu/install.sh; ) > 3.6.1cvs11.patchset
( cvs diff -u -r 1.25.2.27 -r 1.25.2.28 tools/Makefile.am; diff -u /dev/null tools/kdeservicemenu/claws-mail-attach-files.desktop.kde4template; cvs diff -u -r 1.2.2.8 -r 1.2.2.9 tools/kdeservicemenu/install.sh; ) > 3.6.1cvs12.patchset
+( cvs diff -u -r 1.83.2.145 -r 1.83.2.146 src/mimeview.c; cvs diff -u -r 1.20.2.26 -r 1.20.2.27 src/mimeview.h; cvs diff -u -r 1.96.2.208 -r 1.96.2.209 src/textview.c; cvs diff -u -r 1.12.2.24 -r 1.12.2.25 src/textview.h; ) > 3.6.1cvs13.patchset
MICRO_VERSION=1
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=12
+EXTRA_VERSION=13
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
GtkWidget *arrow;
GtkWidget *scrollbutton;
GtkWidget *hbox;
- GtkUIManager *gui_manager = gtkut_ui_manager();
- GtkActionGroup *actions;
NoticeView *siginfoview;
GtkRequisition r;
ctree_mainbox = gtk_hbox_new(FALSE, 0);
gtk_box_pack_start(GTK_BOX(ctree_mainbox), scrolledwin, TRUE, TRUE, 0);
- actions = cm_menu_create_action_group("MimeView", mimeview_menu_actions,
+ mimeview->ui_manager = gtk_ui_manager_new();
+ mimeview->action_group = cm_menu_create_action_group_full(mimeview->ui_manager,
+ "MimeView", mimeview_menu_actions,
G_N_ELEMENTS(mimeview_menu_actions), (gpointer)mimeview);
- MENUITEM_ADDUI("/Menus/", "MimeView", "MimeView", GTK_UI_MANAGER_MENU);
- MENUITEM_ADDUI("/Menus/MimeView/", "Open", "MimeView/Open",
+ MENUITEM_ADDUI_MANAGER(mimeview->ui_manager, "/", "Menus", "Menus", GTK_UI_MANAGER_MENUBAR)
+ MENUITEM_ADDUI_MANAGER(mimeview->ui_manager,
+ "/Menus/", "MimeView", "MimeView", GTK_UI_MANAGER_MENU);
+ MENUITEM_ADDUI_MANAGER(mimeview->ui_manager,
+ "/Menus/MimeView/", "Open", "MimeView/Open",
GTK_UI_MANAGER_MENUITEM);
#ifndef MAEMO
- MENUITEM_ADDUI("/Menus/MimeView/", "OpenWith", "MimeView/OpenWith",
+ MENUITEM_ADDUI_MANAGER(mimeview->ui_manager,
+ "/Menus/MimeView/", "OpenWith", "MimeView/OpenWith",
GTK_UI_MANAGER_MENUITEM);
#endif
- MENUITEM_ADDUI("/Menus/MimeView/", "DisplayAsText", "MimeView/DisplayAsText",
+ MENUITEM_ADDUI_MANAGER(mimeview->ui_manager,
+ "/Menus/MimeView/", "DisplayAsText", "MimeView/DisplayAsText",
GTK_UI_MANAGER_MENUITEM);
- MENUITEM_ADDUI("/Menus/MimeView/", "SaveAs", "MimeView/SaveAs",
+ MENUITEM_ADDUI_MANAGER(mimeview->ui_manager,
+ "/Menus/MimeView/", "SaveAs", "MimeView/SaveAs",
GTK_UI_MANAGER_MENUITEM);
- MENUITEM_ADDUI("/Menus/MimeView/", "SaveAll", "MimeView/SaveAll",
+ MENUITEM_ADDUI_MANAGER(mimeview->ui_manager,
+ "/Menus/MimeView/", "SaveAll", "MimeView/SaveAll",
GTK_UI_MANAGER_MENUITEM);
- MENUITEM_ADDUI("/Menus/MimeView/", "NextPart", "MimeView/NextPart",
+ MENUITEM_ADDUI_MANAGER(mimeview->ui_manager,
+ "/Menus/MimeView/", "NextPart", "MimeView/NextPart",
GTK_UI_MANAGER_MENUITEM);
popupmenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(
- gtk_ui_manager_get_widget(gui_manager, "/Menus/MimeView")) );
+ gtk_ui_manager_get_widget(mimeview->ui_manager, "/Menus/MimeView")) );
vbox = gtk_vbox_new(FALSE, 0);
if (partinfo && (partinfo->type == MIMETYPE_MESSAGE ||
partinfo->type == MIMETYPE_IMAGE ||
partinfo->type == MIMETYPE_MULTIPART))
- cm_menu_set_sensitive("MimeView/DisplayAsText", FALSE);
+ cm_menu_set_sensitive_full(mimeview->ui_manager, "Menus/MimeView/DisplayAsText", FALSE);
else
- cm_menu_set_sensitive("MimeView/DisplayAsText", TRUE);
+ cm_menu_set_sensitive_full(mimeview->ui_manager, "Menus/MimeView/DisplayAsText", TRUE);
if (partinfo &&
partinfo->type == MIMETYPE_APPLICATION &&
!g_ascii_strcasecmp(partinfo->subtype, "octet-stream"))
- cm_menu_set_sensitive("MimeView/Open", FALSE);
+ cm_menu_set_sensitive_full(mimeview->ui_manager, "Menus/MimeView/Open", FALSE);
else
- cm_menu_set_sensitive("MimeView/Open", TRUE);
+ cm_menu_set_sensitive_full(mimeview->ui_manager, "Menus/MimeView/Open", TRUE);
g_object_set_data(G_OBJECT(mimeview->popupmenu),
"pop_partinfo", partinfo);
SigCheckData *check_data;
#endif
MimeInfo *spec_part;
+ GtkUIManager *ui_manager;
+ GtkActionGroup *action_group;
};
struct _MimeViewerFactory
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;
GtkWidget *scrolledwin;
GtkWidget *text;
+ GtkUIManager *ui_manager;
GtkActionGroup *link_action_group;
GtkWidget *link_popup_menu;
GtkActionGroup *mail_action_group;