aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2011-06-14 06:13:15 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2011-06-14 06:13:15 +0000
commit5c23306e8eae884e5bd02912e9848ff7e821ec25 (patch)
treef449f1fa1d18f67f1ab6dcd5517dc527bb32c187 /src
parent5d6d76cf04f2131988c5998399606c877fdc68c6 (diff)
textview_part_widget_button_pressed(): disable 'Copy file name' menu if file name not exist.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2903 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r--src/textview.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/textview.c b/src/textview.c
index 3b51190f..0b03c621 100644
--- a/src/textview.c
+++ b/src/textview.c
@@ -691,6 +691,7 @@ static gboolean textview_part_widget_button_pressed(GtkWidget *widget,
{
GtkWidget *menu;
MimeInfo *mimeinfo;
+ GList *cur;
if (!event)
return FALSE;
@@ -698,6 +699,17 @@ static gboolean textview_part_widget_button_pressed(GtkWidget *widget,
menu = g_object_get_data(G_OBJECT(widget), "part-menu");
mimeinfo = g_object_get_data(G_OBJECT(widget), "mimeinfo");
+ for (cur = GTK_MENU_SHELL(menu)->children; cur != NULL; cur = cur->next) {
+ GtkWidget *menuitem = GTK_WIDGET(cur->data);
+ gint type = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(menuitem), MENU_VAL_ID));
+ if (type == PART_MENU_COPY_FILENAME) {
+ if (mimeinfo->filename || mimeinfo->name)
+ gtk_widget_set_sensitive(menuitem, TRUE);
+ else
+ gtk_widget_set_sensitive(menuitem, FALSE);
+ break;
+ }
+ }
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, part_widget_menu_button_position, widget, event->button, event->time);
return TRUE;