rename some params, resize max_size window, re-arrange the order of some gui elements...
authorPaul Mangan <paul@claws-mail.org>
Wed, 30 Apr 2003 11:59:08 +0000 (11:59 +0000)
committerPaul Mangan <paul@claws-mail.org>
Wed, 30 Apr 2003 11:59:08 +0000 (11:59 +0000)
src/plugins/clamav/clamav_plugin.c
src/plugins/clamav/clamav_plugin.h
src/plugins/clamav/clamav_plugin_gtk.c

index e995f15..8da381d 100644 (file)
@@ -44,11 +44,11 @@ static ClamAvConfig config;
 static PrefParam param[] = {
        {"clamav_enable", "FALSE", &config.clamav_enable, P_BOOL,
         NULL, NULL, NULL},
-       {"clamav_enable_archive", "FALSE", &config.clamav_archive_enable, P_BOOL,
+       {"clamav_enable_arc", "FALSE", &config.clamav_enable_arc, P_BOOL,
         NULL, NULL, NULL},
        {"clamav_max_size", "1", &config.clamav_max_size, P_USHORT,
         NULL, NULL, NULL},
-       {"clamav_receive_infected", "TRUE", &config.clamav_receive_infected, P_BOOL,
+       {"clamav_recv_infected", "TRUE", &config.clamav_recv_infected, P_BOOL,
         NULL, NULL, NULL},
        {"clamav_save_folder", NULL, &config.clamav_save_folder, P_STRING,
         NULL, NULL, NULL},
@@ -88,8 +88,6 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data)
        if (!config.clamav_enable)
                return FALSE;
 
-       debug_print("Scanning message %d for viruses\n", msginfo->msgnum);
-
        fp = procmsg_open_message(msginfo);
        if (fp == NULL) {
                debug_print("failed to open message file");
@@ -104,6 +102,8 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data)
                return FALSE;
        }
 
+       debug_print("Scanning message %d for viruses\n", msginfo->msgnum);
+
        if (IS_FIRST_PART_TEXT(child))
                child = child->next;
 
@@ -120,10 +120,10 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data)
        cl_buildtrie(root);
 
        limits.maxfiles = 1000; /* max files */
-       limits.maxfilesize = config.clamav_max_size * 1048576; /* maximal archived file size == 10 Mb */
-       limits.maxreclevel = 8; /* maximal recursion level */
+       limits.maxfilesize = config.clamav_max_size * 1048576; /* maximum archived file size */
+       limits.maxreclevel = 8; /* maximum recursion level */
 
-       if (config.clamav_archive_enable)
+       if (config.clamav_enable_arc)
                scan_archive = TRUE;
 
        while (child != NULL) {
@@ -165,7 +165,7 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data)
 
        if (is_infected) {
                debug_print("message part(s) infected with %s\n", virname);
-               if (config.clamav_receive_infected) {
+               if (config.clamav_recv_infected) {
                        FolderItem *clamav_save_folder;
 
                        if ((!config.clamav_save_folder) ||
@@ -249,16 +249,15 @@ const gchar *plugin_name()
 
 const gchar *plugin_desc()
 {
-       return "This plugin checks all message attachments that are received "
-              "from a POP account for viruses using Clam AntiVirus. You will "
-              "need to have ClamAv installed.\n"
+       return "This plugin uses Clam AntiVirus to scan all message attachments "
+              "that are received from a POP account.\n"
               "\n"
               "When a message attachment is found to contain a virus it can be "
-              "deleted or saved in a special folder.\n"
+              "deleted or saved in a specially designated folder.\n"
               "\n"
-              "This plugin only contains the actual function for filtering "
+              "This plugin only contains the actual function for scanning "
               "and deleting or moving the message. You probably want to load "
-              "a User Interface plugin too, otherwise you will have to "
+              "the Gtk+ User Interface plugin too, otherwise you will have to "
               "manually write the plugin configuration.\n";
 }
 
index 07d1b49..c45dabe 100644 (file)
@@ -27,9 +27,9 @@ typedef struct _ClamAvConfig ClamAvConfig;
 struct _ClamAvConfig
 {
        gboolean         clamav_enable;
-       gboolean         clamav_archive_enable;
+       gboolean         clamav_enable_arc;
        guint            clamav_max_size;
-       gboolean         clamav_receive_infected;
+       gboolean         clamav_recv_infected;
        gchar           *clamav_save_folder;
 };
 
index bbd3d2f..52f35a1 100644 (file)
@@ -73,34 +73,43 @@ static void clamav_create_widget_func(PrefsPage * _page, GtkWindow *window, gpoi
        GtkWidget *label3;
        GtkWidget *enable_arc;
        GtkWidget *arc_scanning;
-       GtkWidget *label24;
+       GtkWidget *label4;
        GtkObject *max_size_adj;
        GtkWidget *max_size;
-       GtkWidget *mb;
-       GtkWidget *label26;
+       GtkWidget *hbox1;
+       GtkWidget *label5;
+       GtkWidget *label6;
        GtkWidget *recv_infected;
-       GtkWidget *label27;
+       GtkWidget *label7;
        GtkWidget *save_folder;
        GtkWidget *save_folder_select;
+       GtkWidget *label8;
 
        table = gtk_table_new (6, 3, FALSE);
        gtk_widget_show(table);
        gtk_table_set_row_spacings(GTK_TABLE(table), 4);
        gtk_table_set_col_spacings(GTK_TABLE(table), 8);
 
+       label1 = gtk_label_new ("Enable virus scanning");
+       gtk_widget_show (label1);
+       gtk_table_attach (GTK_TABLE (table), label1, 0, 1, 0, 1,
+                         (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                         (GtkAttachOptions) (0), 2, 4);
+       gtk_label_set_justify(GTK_LABEL(label1), GTK_JUSTIFY_LEFT);
+       gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);
+
        enable_clamav = gtk_check_button_new_with_label ("");
        gtk_widget_show (enable_clamav);
        gtk_table_attach (GTK_TABLE (table), enable_clamav, 1, 2, 0, 1,
                          (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                          (GtkAttachOptions) (0), 0, 0);
 
-       label1 = gtk_label_new ("Enable ClamAV filtering");
-       gtk_widget_show (label1);
-       gtk_table_attach (GTK_TABLE (table), label1, 0, 1, 0, 1,
-                         (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+       arc_scanning = gtk_label_new ("Enable archive content scanning");
+       gtk_widget_show (arc_scanning);
+       gtk_table_attach (GTK_TABLE (table), arc_scanning, 0, 1, 1, 2,
+                         (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (0), 2, 4);
-       gtk_label_set_justify(GTK_LABEL(label1), GTK_JUSTIFY_LEFT);
-       gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);
+       gtk_misc_set_alignment (GTK_MISC (arc_scanning), 0, 0.5);
 
        enable_arc = gtk_check_button_new_with_label ("");
        gtk_widget_show (enable_arc);
@@ -108,40 +117,34 @@ static void clamav_create_widget_func(PrefsPage * _page, GtkWindow *window, gpoi
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (0), 0, 0);
 
-       arc_scanning = gtk_label_new ("Enable archive scanning");
-       gtk_widget_show (arc_scanning);
-       gtk_table_attach (GTK_TABLE (table), arc_scanning, 0, 1, 1, 2,
+       label4 = gtk_label_new ("Maximum attachment size");
+       gtk_widget_show (label4);
+       gtk_table_attach (GTK_TABLE (table), label4, 0, 1, 4, 5,
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (0), 2, 4);
-       gtk_misc_set_alignment (GTK_MISC (arc_scanning), 0, 0.5);
+       gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5);
 
-       label24 = gtk_label_new ("Maximum message size");
-       gtk_widget_show (label24);
-       gtk_table_attach (GTK_TABLE (table), label24, 0, 1, 4, 5,
+       hbox1 = gtk_hbox_new (FALSE, 0);
+       gtk_widget_show (hbox1);
+       gtk_table_attach (GTK_TABLE (table), hbox1, 1, 2, 4, 5,
                          (GtkAttachOptions) (GTK_FILL),
-                         (GtkAttachOptions) (0), 2, 4);
-       gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
+                         (GtkAttachOptions) (GTK_FILL), 0, 0);
 
-       max_size_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
+       max_size_adj = gtk_adjustment_new (1, 1, 1024, 1, 10, 10);
        max_size = gtk_spin_button_new (GTK_ADJUSTMENT (max_size_adj), 1, 0);
        gtk_widget_show (max_size);
-       gtk_table_attach (GTK_TABLE (table), max_size, 1, 2, 4, 5,
-                         (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                         (GtkAttachOptions) (0), 0, 0);
+       gtk_box_pack_start (GTK_BOX (hbox1), max_size, FALSE, FALSE, 0);
 
-       mb = gtk_label_new ("MB");
-       gtk_widget_show (mb);
-       gtk_table_attach (GTK_TABLE (table), mb, 2, 3, 4, 5,
-                         (GtkAttachOptions) (GTK_FILL),
-                         (GtkAttachOptions) (0), 0, 0);
-       gtk_misc_set_alignment (GTK_MISC (mb), 0, 0.5);
+       label5 = gtk_label_new ("MB");
+       gtk_widget_show (label5);
+       gtk_box_pack_start (GTK_BOX (hbox1), label5, FALSE, FALSE, 0);
 
-       label26 = gtk_label_new ("Receive infected email");
-       gtk_widget_show (label26);
-       gtk_table_attach (GTK_TABLE (table), label26, 0, 1, 5, 6,
+       label6 = gtk_label_new ("Receive infected messages");
+       gtk_widget_show (label6);
+       gtk_table_attach (GTK_TABLE (table), label6, 0, 1, 5, 6,
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (0), 2, 4);
-       gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
+       gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
 
        recv_infected = gtk_check_button_new_with_label ("");
        gtk_widget_show (recv_infected);
@@ -149,12 +152,12 @@ static void clamav_create_widget_func(PrefsPage * _page, GtkWindow *window, gpoi
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (0), 0, 0);
 
-       label27 = gtk_label_new ("Save folder");
-       gtk_widget_show (label27);
-       gtk_table_attach (GTK_TABLE (table), label27, 0, 1, 6, 7,
+       label7 = gtk_label_new ("Save folder");
+       gtk_widget_show (label7);
+       gtk_table_attach (GTK_TABLE (table), label7, 0, 1, 6, 7,
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (0), 2, 4);
-       gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
+       gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5);
 
        save_folder = gtk_entry_new ();
        gtk_widget_show (save_folder);
@@ -168,14 +171,24 @@ static void clamav_create_widget_func(PrefsPage * _page, GtkWindow *window, gpoi
                          (GtkAttachOptions) (0),
                          (GtkAttachOptions) (0), 0, 0);
 
+       label8 =
+           gtk_label_new(_
+                         ("Leave empty to use the default trash folder"));
+       gtk_widget_show(label8);
+       gtk_table_attach(GTK_TABLE(table), label8, 1, 2, 7, 8,
+                        (GtkAttachOptions) (GTK_FILL),
+                        (GtkAttachOptions) (0), 0, 0);
+       gtk_label_set_justify(GTK_LABEL(label8), GTK_JUSTIFY_RIGHT);
+       gtk_misc_set_alignment(GTK_MISC(label8), 1, 0.5);
+       
        config = clamav_get_config();
 
        gtk_signal_connect(GTK_OBJECT(save_folder_select), "released", GTK_SIGNAL_FUNC(foldersel_cb), page);
 
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enable_clamav), config->clamav_enable);
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enable_arc), config->clamav_archive_enable);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enable_arc), config->clamav_enable_arc);
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(max_size), (float) config->clamav_max_size);
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(recv_infected), config->clamav_receive_infected);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(recv_infected), config->clamav_recv_infected);
        if (config->clamav_save_folder != NULL)
                gtk_entry_set_text(GTK_ENTRY(save_folder), config->clamav_save_folder);
        
@@ -203,10 +216,10 @@ static void clamav_save_func(PrefsPage *_page)
        config = clamav_get_config();
 
        config->clamav_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->enable_clamav));
-       config->clamav_archive_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->enable_arc));
+       config->clamav_enable_arc = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->enable_arc));
 
        config->clamav_max_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(page->max_size));
-       config->clamav_receive_infected = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->recv_infected));
+       config->clamav_recv_infected = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->recv_infected));
        g_free(config->clamav_save_folder);
        config->clamav_save_folder = gtk_editable_get_chars(GTK_EDITABLE(page->save_folder), 0, -1);
 
@@ -248,10 +261,10 @@ const gchar *plugin_desc()
               "You will find the options in the Other Preferences window "
               "under Filtering/Clam AntiVirus.\n"
               "\n"
-              "With this plugin you can enable the filtering, enable archive "
-              "scanning, set the maximum size of messages to be checked, (if "
-              "the message is larger it will not be checked), configure "
-              "whether infected mail should be received (default: Yes) "
+              "With this plugin you can enable the scanning, enable archive "
+              "content scanning, set the maximum size of an attachment to be "
+              "checked, (if the attachment is larger it will not be checked), "
+              "configure whether infected mail should be received (default: Yes) "
               "and select the folder where infected mail will be saved.\n";
 }