diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2011-06-14 06:13:15 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2011-06-14 06:13:15 +0000 |
commit | 5c23306e8eae884e5bd02912e9848ff7e821ec25 (patch) | |
tree | f449f1fa1d18f67f1ab6dcd5517dc527bb32c187 /src/textview.c | |
parent | 5d6d76cf04f2131988c5998399606c877fdc68c6 (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/textview.c')
-rw-r--r-- | src/textview.c | 12 |
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; |