add 'Re-edit' to the message context menu in the Drafts folder
[claws.git] / src / gtk / menu.c
index bd1c61a15482214877fee83d3e16860b94793c77..558869d543dd4fb16d65c98c07a97aa5965faa47 100644 (file)
@@ -26,9 +26,7 @@
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
-#if !GTK_CHECK_VERSION(3, 0, 0)
 #include "gtkcmoptionmenu.h"
-#endif
 #include "menu.h"
 #include "utils.h"
 #include "gtkutils.h"
@@ -81,7 +79,7 @@ void cm_toggle_menu_set_active(gchar *menu, gboolean active)
        g_free(path);
 }
 
-void cm_menu_set_sensitive_full(GtkUIManager *gui_manager, gchar *menu, gboolean sensitive)
+void cm_menu_set_sensitive_full(GtkUIManager *gui_manager, const gchar *menu, gboolean sensitive)
 {
        GtkWidget *widget;
        gchar *path = g_strdup_printf("/%s/", menu);
@@ -96,6 +94,10 @@ void cm_menu_set_sensitive_full(GtkUIManager *gui_manager, gchar *menu, gboolean
        }
 
        gtk_widget_set_sensitive(widget, sensitive);
+
+       if (strcmp(menu, "Menus/SummaryViewPopup/Reedit") == 0)
+               (sensitive)? gtk_widget_show(widget) : gtk_widget_hide(widget);
+
        g_free(path);
 }
 
@@ -134,9 +136,11 @@ GtkWidget *cm_menu_item_new_label_from_url(gchar *url)
                url[64] = '\0', url[63] = url[62] = url[61] = '.', url[60] = ' ';
                GtkWidget *newlabel = gtk_menu_item_new_with_label(url);
                gtk_widget_set_tooltip_markup(GTK_WIDGET(newlabel),
-                       _("<span><b>Warning:</b> This URL was too long for displaying and\n"
+                       g_strconcat("<span><b>", _("Warning:"), "</b>",
+                       _("This URL was too long for displaying and\n"
                        "has been truncated for safety. This message could be\n"
-                       "corrupted, malformed or part of some DoS attempt.</span>"));
+                       "corrupted, malformed or part of some DoS attempt."),
+                       "</span>", NULL));
                return newlabel;
        }
        
@@ -209,7 +213,6 @@ void menu_button_position(GtkMenu *menu, gint *x, gint *y, gboolean *push_in,
                *y -= mreq.height;
 }
 
-#if !GTK_CHECK_VERSION(3, 0, 0)
 gint menu_find_option_menu_index(GtkCMOptionMenu *optmenu, gpointer data,
                                 GCompareFunc func)
 {
@@ -218,7 +221,7 @@ gint menu_find_option_menu_index(GtkCMOptionMenu *optmenu, gpointer data,
        gpointer menu_data;
        GList *children;
        GList *cur;
-       gint n;
+       gint n, found = -1;
 
        menu = gtk_cmoption_menu_get_menu(optmenu);
        children = gtk_container_get_children(GTK_CONTAINER(GTK_MENU_SHELL(menu)));
@@ -229,14 +232,17 @@ gint menu_find_option_menu_index(GtkCMOptionMenu *optmenu, gpointer data,
                menu_data = g_object_get_data(G_OBJECT(menuitem),
                                              MENU_VAL_ID);
                if (func) {
-                       if (func(menu_data, data) == 0)
-                               return n;
-               } else if (menu_data == data)
-                       return n;
+                       if (func(menu_data, data) == 0) {
+                               found = n;
+                               break;
+                       }
+               } else if (menu_data == data) {
+                       found = n;
+                       break;
+               }
        }
 
        g_list_free(children);
 
-       return -1;
+       return found;
 }
-#endif