2007-07-17 [paul] 2.10.0cvs35
[claws.git] / src / prefs_logging.c
index 5cefb54098daff1a2ba09f1126e90da479c5830e..f17d05c4250e9de968848da35efbc1f500501754 100644 (file)
@@ -5,7 +5,7 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
@@ -14,8 +14,8 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * 
  */
 
 #ifdef HAVE_CONFIG_H
@@ -48,17 +48,21 @@ typedef struct _LoggingPage
 
        GtkWidget *window;
 
-       GtkWidget *checkbtn_cliplog;
-       GtkWidget *spinbtn_loglength;
-       GtkWidget *checkbtn_debug_cliplog;
-       GtkWidget *spinbtn_debug_loglength;
-       GtkWidget *checkbtn_filteringdebug;
-       GtkWidget *checkbtn_filteringdebug_inc;
-       GtkWidget *checkbtn_filteringdebug_manual;
-       GtkWidget *checkbtn_filteringdebug_folder_proc;
-       GtkWidget *checkbtn_filteringdebug_pre_proc;
-       GtkWidget *checkbtn_filteringdebug_post_proc;
-       GtkWidget *optmenu_filteringdebug_level;
+       GtkWidget *checkbtn_clip_network_log;
+       GtkWidget *spinbtn_network_log_length;
+       GtkWidget *checkbtn_log_standard;
+       GtkWidget *checkbtn_log_warning;
+       GtkWidget *checkbtn_log_error;
+       GtkWidget *checkbtn_log_status;
+       GtkWidget *checkbtn_clip_filtering_log;
+       GtkWidget *spinbtn_filtering_log_length;
+       GtkWidget *checkbtn_filtering_log;
+       GtkWidget *checkbtn_filtering_log_inc;
+       GtkWidget *checkbtn_filtering_log_manual;
+       GtkWidget *checkbtn_filtering_log_folder_proc;
+       GtkWidget *checkbtn_filtering_log_pre_proc;
+       GtkWidget *checkbtn_filtering_log_post_proc;
+       GtkWidget *optmenu_filtering_log_level;
 } LoggingPage;
 
 static void prefs_logging_create_widget(PrefsPage *_page, GtkWindow *window, 
@@ -69,97 +73,101 @@ static void prefs_logging_create_widget(PrefsPage *_page, GtkWindow *window,
        GtkWidget *vbox1;
 
        GtkWidget *frame_logging;
-       GtkWidget *vbox_logging;
-       GtkWidget *hbox_cliplog;
-       GtkWidget *checkbtn_cliplog;
-       GtkWidget *loglength_label;
-       GtkWidget *spinbtn_loglength;
-       GtkObject *spinbtn_loglength_adj;
-       GtkTooltips *loglength_tooltip;
-       GtkWidget *label;
-       GtkWidget *vbox_filteringdebug_log;
-       GtkWidget *hbox_debug_cliplog;
-       GtkWidget *checkbtn_debug_cliplog;
-       GtkWidget *debug_loglength_label;
-       GtkWidget *spinbtn_debug_loglength;
-       GtkObject *spinbtn_debug_loglength_adj;
-       GtkTooltips *debug_loglength_tooltip;
-       GtkWidget *hbox_filteringdebug;
-       GtkWidget *checkbtn_filteringdebug;
-       GtkWidget *frame_filteringdebug;
-       GtkWidget *vbox_filteringdebug;
-       GtkWidget *hbox_filteringdebug_inc;
-       GtkWidget *checkbtn_filteringdebug_inc;
-       GtkWidget *hbox_filteringdebug_manual;
-       GtkWidget *checkbtn_filteringdebug_manual;
-       GtkWidget *hbox_filteringdebug_folder_proc;
-       GtkWidget *checkbtn_filteringdebug_folder_proc;
-       GtkWidget *hbox_filteringdebug_pre_proc;
-       GtkWidget *checkbtn_filteringdebug_pre_proc;
-       GtkWidget *hbox_filteringdebug_post_proc;
-       GtkWidget *checkbtn_filteringdebug_post_proc;
-       GtkTooltips *filteringdebug_tooltip;
-       GtkWidget *hbox_filteringdebug_level;
-       GtkWidget *label_debug_level;
-       GtkWidget *optmenu_filteringdebug_level;
+       GtkWidget *vbox_network_log;
+       GtkWidget *hbox_clip_network_log;
+       GtkWidget *checkbtn_clip_network_log;
+       GtkWidget *spinbtn_network_log_length;
+       GtkObject *spinbtn_network_log_length_adj;
+       GtkTooltips *network_log_length_tooltip;
+       GtkWidget *vbox1_filtering_log;
+       GtkWidget *hbox_clip_filtering_log;
+       GtkWidget *checkbtn_clip_filtering_log;
+       GtkWidget *spinbtn_filtering_log_length;
+       GtkObject *spinbtn_filtering_log_length_adj;
+       GtkTooltips *filtering_log_length_tooltip;
+       GtkWidget *hbox_filtering_log;
+       GtkWidget *checkbtn_filtering_log;
+       GtkWidget *frame_filtering_log;
+       GtkWidget *vbox2_filtering_log;
+       GtkWidget *hbox_filtering_log_inc;
+       GtkWidget *checkbtn_filtering_log_inc;
+       GtkWidget *hbox_filtering_log_manual;
+       GtkWidget *checkbtn_filtering_log_manual;
+       GtkWidget *hbox_filtering_log_folder_proc;
+       GtkWidget *checkbtn_filtering_log_folder_proc;
+       GtkWidget *hbox_filtering_log_pre_proc;
+       GtkWidget *checkbtn_filtering_log_pre_proc;
+       GtkWidget *hbox_filtering_log_post_proc;
+       GtkWidget *checkbtn_filtering_log_post_proc;
+       GtkTooltips *filtering_log_tooltip;
+       GtkWidget *hbox_filtering_log_level;
+       GtkWidget *label_filtering_log_level;
+       GtkWidget *optmenu_filtering_log_level;
        GtkWidget *menu;
        GtkWidget *menuitem;
-       GtkTooltips *filteringdebug_level_tooltip;
+       GtkTooltips *filtering_log_level_tooltip;
+       GtkWidget *frame_disc_log;
+       GtkWidget *vbox_disc_log;
+       GtkWidget *label;
+       GtkWidget *hbox;
+       GtkWidget *checkbtn_log_standard;
+       GtkWidget *hbox_log_standard;
+       GtkWidget *checkbtn_log_warning;
+       GtkWidget *hbox_log_warning;
+       GtkWidget *checkbtn_log_error;
+       GtkWidget *hbox_log_error;
+       GtkWidget *checkbtn_log_status;
+       GtkWidget *hbox_log_status;
 
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
 
        /* Protocol log */
-       vbox_logging = gtkut_get_options_frame(vbox1, &frame_logging, _("Protocol log"));
+       vbox_network_log = gtkut_get_options_frame(vbox1, &frame_logging, _("Network log"));
 
-       PACK_CHECK_BUTTON (vbox_logging, checkbtn_cliplog,
-                          _("Restrict the log size"));
-       hbox_cliplog = gtk_hbox_new (FALSE, 8);
-       gtk_container_add (GTK_CONTAINER (vbox_logging), hbox_cliplog);
-       gtk_widget_show (hbox_cliplog);
-       
-       loglength_label = gtk_label_new (_("Log window length"));
-       gtk_box_pack_start (GTK_BOX (hbox_cliplog), loglength_label,
-                           FALSE, TRUE, 0);
-       gtk_widget_show (GTK_WIDGET (loglength_label));
+       hbox_clip_network_log = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox_network_log), hbox_clip_network_log);
+       gtk_widget_show (hbox_clip_network_log);
+
+       PACK_CHECK_BUTTON (hbox_clip_network_log, checkbtn_clip_network_log,
+                          _("Restrict the log window to"));
        
-       loglength_tooltip = gtk_tooltips_new();
+       network_log_length_tooltip = gtk_tooltips_new();
 
-       spinbtn_loglength_adj = gtk_adjustment_new (500, 0, G_MAXINT, 1, 10, 10);
-       spinbtn_loglength = gtk_spin_button_new
-               (GTK_ADJUSTMENT (spinbtn_loglength_adj), 1, 0);
-       gtk_widget_show (spinbtn_loglength);
-       gtk_box_pack_start (GTK_BOX (hbox_cliplog), spinbtn_loglength,
+       spinbtn_network_log_length_adj = gtk_adjustment_new (500, 0, G_MAXINT, 1, 10, 10);
+       spinbtn_network_log_length = gtk_spin_button_new
+               (GTK_ADJUSTMENT (spinbtn_network_log_length_adj), 1, 0);
+       gtk_widget_show (spinbtn_network_log_length);
+       gtk_box_pack_start (GTK_BOX (hbox_clip_network_log), spinbtn_network_log_length,
                            FALSE, FALSE, 0);
-       gtk_widget_set_size_request (GTK_WIDGET (spinbtn_loglength), 64, -1);
-       gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbtn_loglength), TRUE);
+       gtk_widget_set_size_request (GTK_WIDGET (spinbtn_network_log_length), 64, -1);
+       gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbtn_network_log_length), TRUE);
 
-       gtk_tooltips_set_tip(GTK_TOOLTIPS(loglength_tooltip), spinbtn_loglength,
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(network_log_length_tooltip), spinbtn_network_log_length,
                             _("0 to stop logging in the log window"),
                             NULL);
 
        label = gtk_label_new(_("lines"));
        gtk_widget_show (label);
-       gtk_box_pack_start(GTK_BOX(hbox_cliplog), label, FALSE, FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(hbox_clip_network_log), label, FALSE, FALSE, 0);
 
-       SET_TOGGLE_SENSITIVITY(checkbtn_cliplog, loglength_label);
-       SET_TOGGLE_SENSITIVITY(checkbtn_cliplog, spinbtn_loglength);
-       SET_TOGGLE_SENSITIVITY(checkbtn_cliplog, label);
+       SET_TOGGLE_SENSITIVITY(checkbtn_clip_network_log, spinbtn_network_log_length);
+       SET_TOGGLE_SENSITIVITY(checkbtn_clip_network_log, label);
 
        /* Filtering/processing debug log */
-       vbox_filteringdebug_log = gtkut_get_options_frame(vbox1,
+       vbox1_filtering_log = gtkut_get_options_frame(vbox1,
                                &frame_logging, _("Filtering/processing log"));
 
-       PACK_CHECK_BUTTON (vbox_filteringdebug_log, checkbtn_filteringdebug,
+       PACK_CHECK_BUTTON (vbox1_filtering_log, checkbtn_filtering_log,
                           _("Enable logging of filtering/processing rules"));
-       hbox_filteringdebug = gtk_hbox_new (FALSE, 8);
-       gtk_container_add (GTK_CONTAINER (vbox_filteringdebug_log), hbox_filteringdebug);
-       gtk_widget_show (hbox_filteringdebug);
+       hbox_filtering_log = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox1_filtering_log), hbox_filtering_log);
+       gtk_widget_show (hbox_filtering_log);
 
-       filteringdebug_tooltip = gtk_tooltips_new();
-       gtk_tooltips_set_tip(GTK_TOOLTIPS(filteringdebug_tooltip),
-                            checkbtn_filteringdebug,
+       filtering_log_tooltip = gtk_tooltips_new();
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(filtering_log_tooltip),
+                            checkbtn_filtering_log,
                             _("If checked, turns on logging of filtering and processing rules.\n"
                                "The log is accessible from 'Tools/Filtering log'.\n"
                                "Caution: enabling this option will slow down the filtering/processing, "
@@ -167,67 +175,63 @@ static void prefs_logging_create_widget(PrefsPage *_page, GtkWindow *window,
                                "messages."),
                                NULL);
 
-       vbox_filteringdebug = gtkut_get_options_frame(vbox_filteringdebug_log, &frame_filteringdebug,
+       vbox2_filtering_log = gtkut_get_options_frame(vbox1_filtering_log, &frame_filtering_log,
                                                        _("Log filtering/processing when..."));
 
-       PACK_CHECK_BUTTON (vbox_filteringdebug, checkbtn_filteringdebug_inc,
+       PACK_CHECK_BUTTON (vbox2_filtering_log, checkbtn_filtering_log_inc,
                           _("filtering at incorporation"));
-       hbox_filteringdebug_inc = gtk_hbox_new (FALSE, 8);
-       gtk_container_add (GTK_CONTAINER (vbox_filteringdebug), hbox_filteringdebug_inc);
-       gtk_widget_show (hbox_filteringdebug_inc);
+       hbox_filtering_log_inc = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox2_filtering_log), hbox_filtering_log_inc);
+       gtk_widget_show (hbox_filtering_log_inc);
 
-       PACK_CHECK_BUTTON (vbox_filteringdebug, checkbtn_filteringdebug_manual,
+       PACK_CHECK_BUTTON (vbox2_filtering_log, checkbtn_filtering_log_manual,
                           _("manually filtering"));
-       hbox_filteringdebug_manual = gtk_hbox_new (FALSE, 8);
-       gtk_container_add (GTK_CONTAINER (vbox_filteringdebug), hbox_filteringdebug_manual);
-       gtk_widget_show (hbox_filteringdebug_manual);
+       hbox_filtering_log_manual = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox2_filtering_log), hbox_filtering_log_manual);
+       gtk_widget_show (hbox_filtering_log_manual);
 
-       PACK_CHECK_BUTTON (vbox_filteringdebug, checkbtn_filteringdebug_folder_proc,
+       PACK_CHECK_BUTTON (vbox2_filtering_log, checkbtn_filtering_log_folder_proc,
                           _("processing folders"));
-       hbox_filteringdebug_folder_proc = gtk_hbox_new (FALSE, 8);
-       gtk_container_add (GTK_CONTAINER (vbox_filteringdebug), hbox_filteringdebug_folder_proc);
-       gtk_widget_show (hbox_filteringdebug_folder_proc);
+       hbox_filtering_log_folder_proc = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox2_filtering_log), hbox_filtering_log_folder_proc);
+       gtk_widget_show (hbox_filtering_log_folder_proc);
 
-       PACK_CHECK_BUTTON (vbox_filteringdebug, checkbtn_filteringdebug_pre_proc,
+       PACK_CHECK_BUTTON (vbox2_filtering_log, checkbtn_filtering_log_pre_proc,
                           _("pre-processing folders"));
-       hbox_filteringdebug_pre_proc = gtk_hbox_new (FALSE, 8);
-       gtk_container_add (GTK_CONTAINER (vbox_filteringdebug), hbox_filteringdebug_pre_proc);
-       gtk_widget_show (hbox_filteringdebug_pre_proc);
+       hbox_filtering_log_pre_proc = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox2_filtering_log), hbox_filtering_log_pre_proc);
+       gtk_widget_show (hbox_filtering_log_pre_proc);
 
-       PACK_CHECK_BUTTON (vbox_filteringdebug, checkbtn_filteringdebug_post_proc,
+       PACK_CHECK_BUTTON (vbox2_filtering_log, checkbtn_filtering_log_post_proc,
                           _("post-processing folders"));
-       hbox_filteringdebug_post_proc = gtk_hbox_new (FALSE, 8);
-       gtk_container_add (GTK_CONTAINER (vbox_filteringdebug), hbox_filteringdebug_post_proc);
-       gtk_widget_show (hbox_filteringdebug_post_proc);
-
-       SET_TOGGLE_SENSITIVITY(checkbtn_filteringdebug, checkbtn_filteringdebug_inc);
-       SET_TOGGLE_SENSITIVITY(checkbtn_filteringdebug, checkbtn_filteringdebug_manual);
-       SET_TOGGLE_SENSITIVITY(checkbtn_filteringdebug, checkbtn_filteringdebug_folder_proc);
-       SET_TOGGLE_SENSITIVITY(checkbtn_filteringdebug, checkbtn_filteringdebug_pre_proc);
-       SET_TOGGLE_SENSITIVITY(checkbtn_filteringdebug, checkbtn_filteringdebug_post_proc);
-
-       hbox_filteringdebug_level = gtk_hbox_new (FALSE, 8);
-       gtk_widget_show (hbox_filteringdebug_level);
-       gtk_box_pack_start(GTK_BOX (vbox_filteringdebug_log), hbox_filteringdebug_level, FALSE, FALSE, 0);
-
-       label_debug_level = gtk_label_new (_("Log level"));
-       gtk_widget_show (label_debug_level);
-       gtk_box_pack_start(GTK_BOX(hbox_filteringdebug_level), label_debug_level, FALSE, FALSE, 0);
-
-       optmenu_filteringdebug_level = gtk_option_menu_new ();
-       gtk_widget_show (optmenu_filteringdebug_level);
+       hbox_filtering_log_post_proc = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox2_filtering_log), hbox_filtering_log_post_proc);
+       gtk_widget_show (hbox_filtering_log_post_proc);
+
+       SET_TOGGLE_SENSITIVITY(checkbtn_filtering_log, frame_filtering_log);
+
+       hbox_filtering_log_level = gtk_hbox_new (FALSE, 8);
+       gtk_widget_show (hbox_filtering_log_level);
+       gtk_box_pack_start(GTK_BOX (vbox1_filtering_log), hbox_filtering_log_level, FALSE, FALSE, 0);
+
+       label_filtering_log_level = gtk_label_new (_("Log level"));
+       gtk_widget_show (label_filtering_log_level);
+       gtk_box_pack_start(GTK_BOX(hbox_filtering_log_level), label_filtering_log_level, FALSE, FALSE, 0);
+
+       optmenu_filtering_log_level = gtk_option_menu_new ();
+       gtk_widget_show (optmenu_filtering_log_level);
        
        menu = gtk_menu_new ();
        MENUITEM_ADD (menu, menuitem, _("Low"), 0);
        MENUITEM_ADD (menu, menuitem, _("Medium"), 1);
        MENUITEM_ADD (menu, menuitem, _("High"), 2);
 
-       gtk_option_menu_set_menu (GTK_OPTION_MENU (optmenu_filteringdebug_level), menu);
-       gtk_box_pack_start(GTK_BOX(hbox_filteringdebug_level), optmenu_filteringdebug_level, FALSE, FALSE, 0);
+       gtk_option_menu_set_menu (GTK_OPTION_MENU (optmenu_filtering_log_level), menu);
+       gtk_box_pack_start(GTK_BOX(hbox_filtering_log_level), optmenu_filtering_log_level, FALSE, FALSE, 0);
 
-       filteringdebug_level_tooltip = gtk_tooltips_new();
-       gtk_tooltips_set_tip(GTK_TOOLTIPS(filteringdebug_level_tooltip),
-                            optmenu_filteringdebug_level,
+       filtering_log_level_tooltip = gtk_tooltips_new();
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(filtering_log_level_tooltip),
+                            optmenu_filtering_log_level,
                             _("Select the level of detail of the logging.\n"
                                "Choose Low to see when rules are applied, which "
                                "conditions match or don't match and what actions are "
@@ -241,80 +245,120 @@ static void prefs_logging_create_widget(PrefsPage *_page, GtkWindow *window,
                                "impact on performance."),
                             NULL);
 
-       PACK_CHECK_BUTTON (vbox_filteringdebug_log, checkbtn_debug_cliplog,
-                          _("Restrict the log size"));
-       hbox_debug_cliplog = gtk_hbox_new (FALSE, 8);
-       gtk_container_add (GTK_CONTAINER (vbox_filteringdebug_log), hbox_debug_cliplog);
-       gtk_widget_show (hbox_debug_cliplog);
-       
-       debug_loglength_label = gtk_label_new (_("Log window length"));
-       gtk_box_pack_start (GTK_BOX (hbox_debug_cliplog), debug_loglength_label,
-                           FALSE, TRUE, 0);
-       gtk_widget_show (GTK_WIDGET (debug_loglength_label));
+       hbox_clip_filtering_log = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox1_filtering_log), hbox_clip_filtering_log);
+       gtk_widget_show (hbox_clip_filtering_log);
+       PACK_CHECK_BUTTON (hbox_clip_filtering_log, checkbtn_clip_filtering_log,
+                          _("Restrict the log window to"));
        
-       debug_loglength_tooltip = gtk_tooltips_new();
+       filtering_log_length_tooltip = gtk_tooltips_new();
 
-       spinbtn_debug_loglength_adj = gtk_adjustment_new (500, 0, G_MAXINT, 1, 10, 10);
-       spinbtn_debug_loglength = gtk_spin_button_new
-               (GTK_ADJUSTMENT (spinbtn_debug_loglength_adj), 1, 0);
-       gtk_widget_show (spinbtn_debug_loglength);
-       gtk_box_pack_start (GTK_BOX (hbox_debug_cliplog), spinbtn_debug_loglength,
+       spinbtn_filtering_log_length_adj = gtk_adjustment_new (500, 0, G_MAXINT, 1, 10, 10);
+       spinbtn_filtering_log_length = gtk_spin_button_new
+               (GTK_ADJUSTMENT (spinbtn_filtering_log_length_adj), 1, 0);
+       gtk_widget_show (spinbtn_filtering_log_length);
+       gtk_box_pack_start (GTK_BOX (hbox_clip_filtering_log), spinbtn_filtering_log_length,
                            FALSE, FALSE, 0);
-       gtk_widget_set_size_request (GTK_WIDGET (spinbtn_debug_loglength), 64, -1);
-       gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbtn_debug_loglength), TRUE);
+       gtk_widget_set_size_request (GTK_WIDGET (spinbtn_filtering_log_length), 64, -1);
+       gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbtn_filtering_log_length), TRUE);
 
-       gtk_tooltips_set_tip(GTK_TOOLTIPS(debug_loglength_tooltip), spinbtn_debug_loglength,
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(filtering_log_length_tooltip), spinbtn_filtering_log_length,
                             _("0 to stop logging in the log window"),
                             NULL);
 
        label = gtk_label_new(_("lines"));
        gtk_widget_show (label);
-       gtk_box_pack_start(GTK_BOX(hbox_debug_cliplog), label, FALSE, FALSE, 0);
-
-       SET_TOGGLE_SENSITIVITY(checkbtn_debug_cliplog, debug_loglength_label);
-       SET_TOGGLE_SENSITIVITY(checkbtn_debug_cliplog, spinbtn_debug_loglength);
-       SET_TOGGLE_SENSITIVITY(checkbtn_debug_cliplog, label);
-
-       SET_TOGGLE_SENSITIVITY(checkbtn_filteringdebug, optmenu_filteringdebug_level);
-       SET_TOGGLE_SENSITIVITY(checkbtn_filteringdebug, checkbtn_debug_cliplog);
-       SET_TOGGLE_SENSITIVITY(checkbtn_filteringdebug, label_debug_level);
-
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_cliplog), 
+       gtk_box_pack_start(GTK_BOX(hbox_clip_filtering_log), label, FALSE, FALSE, 0);
+
+       SET_TOGGLE_SENSITIVITY(checkbtn_clip_filtering_log, spinbtn_filtering_log_length);
+       SET_TOGGLE_SENSITIVITY(checkbtn_clip_filtering_log, label);
+       SET_TOGGLE_SENSITIVITY(checkbtn_filtering_log, hbox_clip_filtering_log);
+       SET_TOGGLE_SENSITIVITY(checkbtn_filtering_log, optmenu_filtering_log_level);
+       SET_TOGGLE_SENSITIVITY(checkbtn_filtering_log, checkbtn_clip_filtering_log);
+       SET_TOGGLE_SENSITIVITY(checkbtn_filtering_log, label_filtering_log_level);
+
+       /* disk log */
+       vbox_disc_log = gtkut_get_options_frame(vbox1, &frame_disc_log, _("Disc log"));
+
+       label = gtk_label_new(_("Write the following information to disc..."));
+       gtk_widget_show(label);
+       hbox = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox_disc_log), hbox);
+       gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+       gtk_widget_show (hbox);
+
+       PACK_CHECK_BUTTON (vbox_disc_log, checkbtn_log_standard,
+                          _("Network protocol messages"));
+       hbox_log_standard = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox_disc_log), hbox_log_standard);
+       gtk_widget_show (hbox_log_standard);
+
+       PACK_CHECK_BUTTON (vbox_disc_log, checkbtn_log_warning,
+                          _("Warning messages"));
+       hbox_log_warning = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox_disc_log), hbox_log_warning);
+       gtk_widget_show (hbox_log_warning);
+
+       PACK_CHECK_BUTTON (vbox_disc_log, checkbtn_log_error,
+                          _("Error messages"));
+       hbox_log_error = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox_disc_log), hbox_log_error);
+       gtk_widget_show (hbox_log_error);
+
+       PACK_CHECK_BUTTON (vbox_disc_log, checkbtn_log_status,
+                          _("Status messages for filtering/processing log"));
+       hbox_log_status = gtk_hbox_new (FALSE, 8);
+       gtk_container_add (GTK_CONTAINER (vbox_disc_log), hbox_log_status);
+       gtk_widget_show (hbox_log_status);
+
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_clip_network_log), 
                prefs_common.cliplog);
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_debug_cliplog), 
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_clip_filtering_log), 
                prefs_common.filtering_debug_cliplog);
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filteringdebug), 
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_log_standard), 
+               prefs_common.enable_log_standard);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_log_warning), 
+               prefs_common.enable_log_warning);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_log_error), 
+               prefs_common.enable_log_error);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_log_status), 
+               prefs_common.enable_log_status);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filtering_log), 
                prefs_common.enable_filtering_debug);
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filteringdebug_inc), 
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filtering_log_inc), 
                prefs_common.enable_filtering_debug_inc);
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filteringdebug_manual), 
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filtering_log_manual), 
                prefs_common.enable_filtering_debug_manual);
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filteringdebug_folder_proc), 
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filtering_log_folder_proc), 
                prefs_common.enable_filtering_debug_folder_proc);
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filteringdebug_pre_proc), 
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filtering_log_pre_proc), 
                prefs_common.enable_filtering_debug_pre_proc);
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filteringdebug_post_proc), 
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_filtering_log_post_proc), 
                prefs_common.enable_filtering_debug_post_proc);
 
-       gtk_spin_button_set_value(GTK_SPIN_BUTTON(spinbtn_loglength),
+       gtk_spin_button_set_value(GTK_SPIN_BUTTON(spinbtn_network_log_length),
                prefs_common.loglength);
-       gtk_spin_button_set_value(GTK_SPIN_BUTTON(spinbtn_debug_loglength),
+       gtk_spin_button_set_value(GTK_SPIN_BUTTON(spinbtn_filtering_log_length),
                prefs_common.filtering_debug_loglength);
 
-       gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu_filteringdebug_level),
+       gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu_filtering_log_level),
                        prefs_common.filtering_debug_level);
 
-       prefs_logging->checkbtn_cliplog = checkbtn_cliplog;
-       prefs_logging->spinbtn_loglength = spinbtn_loglength;
-       prefs_logging->checkbtn_debug_cliplog = checkbtn_debug_cliplog;
-       prefs_logging->spinbtn_debug_loglength = spinbtn_debug_loglength;
-       prefs_logging->checkbtn_filteringdebug = checkbtn_filteringdebug;
-       prefs_logging->checkbtn_filteringdebug_inc = checkbtn_filteringdebug_inc;
-       prefs_logging->checkbtn_filteringdebug_manual = checkbtn_filteringdebug_manual;
-       prefs_logging->checkbtn_filteringdebug_folder_proc = checkbtn_filteringdebug_folder_proc;
-       prefs_logging->checkbtn_filteringdebug_pre_proc = checkbtn_filteringdebug_pre_proc;
-       prefs_logging->checkbtn_filteringdebug_post_proc = checkbtn_filteringdebug_post_proc;
-       prefs_logging->optmenu_filteringdebug_level = optmenu_filteringdebug_level;
+       prefs_logging->checkbtn_clip_network_log = checkbtn_clip_network_log;
+       prefs_logging->spinbtn_network_log_length = spinbtn_network_log_length;
+       prefs_logging->checkbtn_log_standard = checkbtn_log_standard;
+       prefs_logging->checkbtn_log_warning = checkbtn_log_warning;
+       prefs_logging->checkbtn_log_error = checkbtn_log_error;
+       prefs_logging->checkbtn_log_status = checkbtn_log_status;
+       prefs_logging->checkbtn_clip_filtering_log = checkbtn_clip_filtering_log;
+       prefs_logging->spinbtn_filtering_log_length = spinbtn_filtering_log_length;
+       prefs_logging->checkbtn_filtering_log = checkbtn_filtering_log;
+       prefs_logging->checkbtn_filtering_log_inc = checkbtn_filtering_log_inc;
+       prefs_logging->checkbtn_filtering_log_manual = checkbtn_filtering_log_manual;
+       prefs_logging->checkbtn_filtering_log_folder_proc = checkbtn_filtering_log_folder_proc;
+       prefs_logging->checkbtn_filtering_log_pre_proc = checkbtn_filtering_log_pre_proc;
+       prefs_logging->checkbtn_filtering_log_post_proc = checkbtn_filtering_log_post_proc;
+       prefs_logging->optmenu_filtering_log_level = optmenu_filtering_log_level;
 
        prefs_logging->page.widget = vbox1;
 }
@@ -327,22 +371,30 @@ static void prefs_logging_save(PrefsPage *_page)
        GtkWidget *menu;
        GtkWidget *menuitem;
 
-       menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(page->optmenu_filteringdebug_level));
+       menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(page->optmenu_filtering_log_level));
        menuitem = gtk_menu_get_active(GTK_MENU(menu));
        prefs_common.filtering_debug_level = GPOINTER_TO_INT
                        (g_object_get_data(G_OBJECT(menuitem), MENU_VAL_ID));
 
        prefs_common.cliplog = gtk_toggle_button_get_active(
-               GTK_TOGGLE_BUTTON(page->checkbtn_cliplog));
+               GTK_TOGGLE_BUTTON(page->checkbtn_clip_network_log));
        prefs_common.loglength = gtk_spin_button_get_value_as_int(
-               GTK_SPIN_BUTTON(page->spinbtn_loglength));
+               GTK_SPIN_BUTTON(page->spinbtn_network_log_length));
+       prefs_common.enable_log_standard = gtk_toggle_button_get_active(
+               GTK_TOGGLE_BUTTON(page->checkbtn_log_standard));
+       prefs_common.enable_log_warning = gtk_toggle_button_get_active(
+               GTK_TOGGLE_BUTTON(page->checkbtn_log_warning));
+       prefs_common.enable_log_error = gtk_toggle_button_get_active(
+               GTK_TOGGLE_BUTTON(page->checkbtn_log_error));
+       prefs_common.enable_log_status = gtk_toggle_button_get_active(
+               GTK_TOGGLE_BUTTON(page->checkbtn_log_status));
        prefs_common.filtering_debug_cliplog = gtk_toggle_button_get_active(
-               GTK_TOGGLE_BUTTON(page->checkbtn_debug_cliplog));
+               GTK_TOGGLE_BUTTON(page->checkbtn_clip_filtering_log));
        prefs_common.filtering_debug_loglength = gtk_spin_button_get_value_as_int(
-               GTK_SPIN_BUTTON(page->spinbtn_debug_loglength));
+               GTK_SPIN_BUTTON(page->spinbtn_filtering_log_length));
        filtering_debug_enabled = prefs_common.enable_filtering_debug;
        prefs_common.enable_filtering_debug = gtk_toggle_button_get_active(
-               GTK_TOGGLE_BUTTON(page->checkbtn_filteringdebug));
+               GTK_TOGGLE_BUTTON(page->checkbtn_filtering_log));
        if (filtering_debug_enabled != prefs_common.enable_filtering_debug) {
                if (prefs_common.enable_filtering_debug)
                        log_message(LOG_DEBUG_FILTERING, _("filtering log enabled\n"));
@@ -350,15 +402,15 @@ static void prefs_logging_save(PrefsPage *_page)
                        log_message(LOG_DEBUG_FILTERING, _("filtering log disabled\n"));
        }
        prefs_common.enable_filtering_debug_inc = gtk_toggle_button_get_active(
-               GTK_TOGGLE_BUTTON(page->checkbtn_filteringdebug_inc));
+               GTK_TOGGLE_BUTTON(page->checkbtn_filtering_log_inc));
        prefs_common.enable_filtering_debug_manual = gtk_toggle_button_get_active(
-               GTK_TOGGLE_BUTTON(page->checkbtn_filteringdebug_manual));
+               GTK_TOGGLE_BUTTON(page->checkbtn_filtering_log_manual));
        prefs_common.enable_filtering_debug_folder_proc = gtk_toggle_button_get_active(
-               GTK_TOGGLE_BUTTON(page->checkbtn_filteringdebug_folder_proc));
+               GTK_TOGGLE_BUTTON(page->checkbtn_filtering_log_folder_proc));
        prefs_common.enable_filtering_debug_pre_proc = gtk_toggle_button_get_active(
-               GTK_TOGGLE_BUTTON(page->checkbtn_filteringdebug_pre_proc));
+               GTK_TOGGLE_BUTTON(page->checkbtn_filtering_log_pre_proc));
        prefs_common.enable_filtering_debug_post_proc = gtk_toggle_button_get_active(
-               GTK_TOGGLE_BUTTON(page->checkbtn_filteringdebug_post_proc));
+               GTK_TOGGLE_BUTTON(page->checkbtn_filtering_log_post_proc));
 
        mainwindow = mainwindow_get_mainwindow();
        log_window_set_clipping(mainwindow->logwin, prefs_common.cliplog,