another one (see last commit)
[claws.git] / src / prefs_message.c
index 36c5aabbc9483522614e948afe9f571556d928a3..0b04d34f1ba156d5fa617752ca5dd3c8dc234071 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2005-2009 Colin Leroy <colin@colino.net> & The Claws Mail Team
+ * Copyright (C) 2005-2012 Colin Leroy <colin@colino.net> & The Claws Mail Team
  *
  * 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
@@ -19,6 +19,7 @@
 
 #ifdef HAVE_CONFIG_H
 #  include "config.h"
+#include "claws-features.h"
 #endif
 
 #include "defs.h"
@@ -58,6 +59,7 @@ typedef struct _MessagePage
        GtkWidget *checkbtn_smoothscroll;
        GtkWidget *spinbtn_scrollstep;
        GtkWidget *checkbtn_halfpage;
+       GtkWidget *checkbtn_hide_quoted;
 
        GtkWidget *checkbtn_attach_desc;
        GtkWidget *entry_quote_chars;
@@ -90,7 +92,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
        GtkWidget *checkbtn_promote_html_part;
        GtkWidget *hbox_linespc;
        GtkWidget *label_linespc;
-       GtkObject *spinbtn_linespc_adj;
+       GtkAdjustment *spinbtn_linespc_adj;
        GtkWidget *spinbtn_linespc;
 
        GtkWidget *frame;
@@ -98,9 +100,10 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
        GtkWidget *checkbtn_smoothscroll;
        GtkWidget *hbox_scr;
        GtkWidget *label_scr;
-       GtkObject *spinbtn_scrollstep_adj;
+       GtkAdjustment *spinbtn_scrollstep_adj;
        GtkWidget *spinbtn_scrollstep;
        GtkWidget *checkbtn_halfpage;
+       GtkWidget *checkbtn_hide_quoted;
 
        GtkWidget *checkbtn_attach_desc;
        
@@ -174,7 +177,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
        gtk_box_pack_start (GTK_BOX (hbox_linespc), label_linespc,
                            FALSE, FALSE, 0);
 
-       spinbtn_linespc_adj = gtk_adjustment_new (2, 0, 16, 1, 1, 0);
+       spinbtn_linespc_adj = GTK_ADJUSTMENT(gtk_adjustment_new (2, 0, 16, 1, 1, 0));
        spinbtn_linespc = gtk_spin_button_new
                (GTK_ADJUSTMENT (spinbtn_linespc_adj), 1, 0);
        gtk_widget_show (spinbtn_linespc);
@@ -183,7 +186,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
        gtk_widget_set_size_request (spinbtn_linespc, 64, -1);
        gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbtn_linespc), TRUE);
 
-       label_linespc = gtk_label_new (_("pixel(s)"));
+       label_linespc = gtk_label_new (_("pixels"));
        gtk_widget_show (label_linespc);
        gtk_box_pack_start (GTK_BOX (hbox_linespc), label_linespc,
                            FALSE, FALSE, 0);
@@ -207,7 +210,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
        gtk_widget_show (label_scr);
        gtk_box_pack_start (GTK_BOX (hbox_scr), label_scr, FALSE, FALSE, 0);
 
-       spinbtn_scrollstep_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 0);
+       spinbtn_scrollstep_adj = GTK_ADJUSTMENT(gtk_adjustment_new (1, 1, 100, 1, 10, 0));
        spinbtn_scrollstep = gtk_spin_button_new
                (GTK_ADJUSTMENT (spinbtn_scrollstep_adj), 1, 0);
        gtk_widget_show (spinbtn_scrollstep);
@@ -227,7 +230,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
                          _("Show attachment descriptions (rather than names)"));
 
        /* quote chars */
-       PACK_FRAME (vbox1, frame_quote, _("Quotation characters"));
+       PACK_FRAME (vbox1, frame_quote, _("Quotation"));
 
        vbox_quote = gtk_vbox_new (FALSE, VSPACING_NARROW);
        gtk_widget_show (vbox_quote);
@@ -236,6 +239,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
 
        hbox1 = gtk_hbox_new (FALSE, 32);
        gtk_widget_show (hbox1);
+       PACK_CHECK_BUTTON(vbox_quote, checkbtn_hide_quoted, _("Collapse quoted text on double click"));
        gtk_box_pack_start (GTK_BOX (vbox_quote), hbox1, FALSE, FALSE, 0);
 
        hbox2 = gtk_hbox_new (FALSE, 8);
@@ -268,6 +272,8 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
                prefs_common.promote_html_part);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_smoothscroll),
                prefs_common.enable_smooth_scroll);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_hide_quoted),
+               prefs_common.hide_quoted);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_halfpage),
                prefs_common.scroll_halfpage);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_attach_desc),
@@ -288,6 +294,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
        prefs_message->checkbtn_promote_html_part = checkbtn_promote_html_part;
        prefs_message->spinbtn_linespc = spinbtn_linespc;
        prefs_message->checkbtn_smoothscroll = checkbtn_smoothscroll;
+       prefs_message->checkbtn_hide_quoted = checkbtn_hide_quoted;
        prefs_message->spinbtn_scrollstep = spinbtn_scrollstep;
        prefs_message->checkbtn_halfpage = checkbtn_halfpage;
        prefs_message->checkbtn_attach_desc = checkbtn_attach_desc;
@@ -316,6 +323,8 @@ static void prefs_message_save(PrefsPage *_page)
                GTK_TOGGLE_BUTTON(page->checkbtn_smoothscroll));
        prefs_common.scroll_halfpage = gtk_toggle_button_get_active(
                GTK_TOGGLE_BUTTON(page->checkbtn_halfpage));
+       prefs_common.hide_quoted = gtk_toggle_button_get_active(
+               GTK_TOGGLE_BUTTON(page->checkbtn_hide_quoted));
        prefs_common.attach_desc = gtk_toggle_button_get_active(
                GTK_TOGGLE_BUTTON(page->checkbtn_attach_desc));
        prefs_common.line_space = gtk_spin_button_get_value_as_int(