Don't add "Go to last error" to filtering log window's context menu.
[claws.git] / src / gtk / logwindow.c
index 07d9534c2b8a81547b564bb8e96fcfd9a28a7bab..47ff1c891860543bd32456ffa1f9c2849f84cf2f 100644 (file)
@@ -146,6 +146,7 @@ LogWindow *log_window_create(LogInstance instance)
        logwin->scrolledwin = scrolledwin;
        logwin->text = text;
        logwin->hook_id = hooks_register_hook(get_log_hook(instance), log_window_append, logwin);
+       logwin->has_error_capability = get_log_error_capability(instance);
 
        return logwin;
 }
@@ -162,14 +163,14 @@ void log_window_init(LogWindow *logwin)
        GdkColor color[LOG_COLORS];
        gint i;
 
-       gtkut_convert_int_to_gdk_color(prefs_common.log_msg_color, &color[0]);
-       gtkut_convert_int_to_gdk_color(prefs_common.log_warn_color, &color[1]);
-       gtkut_convert_int_to_gdk_color(prefs_common.log_error_color, &color[2]);
-       gtkut_convert_int_to_gdk_color(prefs_common.log_in_color, &color[3]);
-       gtkut_convert_int_to_gdk_color(prefs_common.log_out_color, &color[4]);
-       gtkut_convert_int_to_gdk_color(prefs_common.log_status_ok_color, &color[5]);
-       gtkut_convert_int_to_gdk_color(prefs_common.log_status_nok_color, &color[6]);
-       gtkut_convert_int_to_gdk_color(prefs_common.log_status_skip_color, &color[7]);
+       gtkut_convert_int_to_gdk_color(prefs_common.color[COL_LOG_MSG], &color[0]);
+       gtkut_convert_int_to_gdk_color(prefs_common.color[COL_LOG_WARN], &color[1]);
+       gtkut_convert_int_to_gdk_color(prefs_common.color[COL_LOG_ERROR], &color[2]);
+       gtkut_convert_int_to_gdk_color(prefs_common.color[COL_LOG_IN], &color[3]);
+       gtkut_convert_int_to_gdk_color(prefs_common.color[COL_LOG_OUT], &color[4]);
+       gtkut_convert_int_to_gdk_color(prefs_common.color[COL_LOG_STATUS_OK], &color[5]);
+       gtkut_convert_int_to_gdk_color(prefs_common.color[COL_LOG_STATUS_NOK], &color[6]);
+       gtkut_convert_int_to_gdk_color(prefs_common.color[COL_LOG_STATUS_SKIP], &color[7]);
 
        logwin->msg_color = color[0];
        logwin->warn_color = color[1];
@@ -448,11 +449,13 @@ static void log_window_popup_menu_extend(GtkTextView *textview,
        gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);
        gtk_widget_show(menuitem);
 
-       menuitem = gtk_menu_item_new_with_mnemonic(_("_Go to last error"));
-       g_signal_connect(G_OBJECT(menuitem), "activate",
-                        G_CALLBACK(log_window_go_to_last_error), logwin);
-       gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);
-       gtk_widget_show(menuitem);
+       if (logwin->has_error_capability) {
+               menuitem = gtk_menu_item_new_with_mnemonic(_("_Go to last error"));
+               g_signal_connect(G_OBJECT(menuitem), "activate",
+                                G_CALLBACK(log_window_go_to_last_error), logwin);
+               gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);
+               gtk_widget_show(menuitem);
+       }
 
        menuitem = gtk_menu_item_new_with_mnemonic(_("Clear _Log"));
        g_signal_connect(G_OBJECT(menuitem), "activate",