aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--ChangeLog2
-rw-r--r--src/textview.c12
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 81e6f11a..e076a0ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
notify handler.
Use prelight state.
textview_part_widget_exposed(): draw edges as rounded.
+ textview_part_widget_button_pressed(): disable 'Copy file name'
+ menu if file name not exist.
2011-06-13
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;