2012-11-18 [colin] 3.9.0cvs6-stable
[claws.git] / src / quote_fmt.c
index 2b0677c6a543f3a755414ecd60c2c8442b79d5f2..d8c9450ed545d5d9dd72707b6d7e45df544edb5c 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2009 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2012 Hiroyuki Yamamoto and 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 <glib.h>
@@ -103,6 +104,7 @@ static gchar *quote_desc_strings[] = {
 static DescriptionWindow quote_desc_win = { 
         NULL,
        NULL,
+       TRUE,
         2,
         N_("Description of symbols"),
        N_("The following symbols and commands can be used:"),
@@ -116,6 +118,24 @@ void quote_fmt_quote_description(GtkWidget *widget, GtkWidget *pref_window)
        description_window_create(&quote_desc_win);
 }
 
+static void quote_fmt_add_buttons(GtkWindow* parent_window, GtkWidget *parent_box,
+                       gboolean add_info_button, void(*set_defaults_func)(void)) {
+       GtkWidget *hbox_btns;
+       
+       if (!add_info_button && !set_defaults_func)
+               return;
+       
+       hbox_btns = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_end (GTK_BOX(parent_box), hbox_btns, FALSE, TRUE, 0);      
+
+       if (add_info_button)
+               quotefmt_add_info_button(parent_window, hbox_btns);
+       if (set_defaults_func)
+               quotefmt_add_defaults_button(parent_window, hbox_btns, set_defaults_func);
+
+       gtk_widget_show(GTK_WIDGET(hbox_btns));
+}
+
 void quotefmt_create_new_msg_fmt_widgets(GtkWindow *parent_window,
                                                GtkWidget *parent_box,
                                                GtkWidget **checkbtn_compose_with_format,
@@ -158,8 +178,6 @@ void quotefmt_create_new_msg_fmt_widgets(GtkWindow *parent_window,
        gtk_container_set_border_width (GTK_CONTAINER (vbox_format), 8);
 
        if (override_from_format) {
-               CLAWS_TIP_DECL();
-
                hbox2_format = gtk_hbox_new (FALSE, 8);
                gtk_widget_show (hbox2_format);
                gtk_box_pack_start (GTK_BOX (vbox_format), hbox2_format, FALSE, FALSE, 0);
@@ -230,10 +248,8 @@ void quotefmt_create_new_msg_fmt_widgets(GtkWindow *parent_window,
                SET_TOGGLE_SENSITIVITY(checkbtn_use_format, text_format);
        }
 
-       if (add_info_button)
-               quotefmt_add_info_button(parent_window, vbox_format);
-       if (set_defaults_func)
-               quotefmt_add_defaults_button(parent_window, vbox_format, set_defaults_func);
+       quote_fmt_add_buttons(parent_window, vbox_format,
+                               add_info_button, set_defaults_func);
 
        if (checkbtn_compose_with_format)
                *checkbtn_compose_with_format = checkbtn_use_format;
@@ -286,8 +302,6 @@ void quotefmt_create_reply_fmt_widgets(GtkWindow *parent_window,
        gtk_container_set_border_width (GTK_CONTAINER (vbox_quote), 8);
 
        if (override_from_format) {
-               CLAWS_TIP_DECL();
-
                hbox3 = gtk_hbox_new (FALSE, 8);
                gtk_widget_show (hbox3);
                gtk_box_pack_start (GTK_BOX (vbox_quote), hbox3, FALSE, FALSE, 0);
@@ -362,10 +376,8 @@ void quotefmt_create_reply_fmt_widgets(GtkWindow *parent_window,
                SET_TOGGLE_SENSITIVITY(checkbtn_use_format, text_quotefmt);
        }
 
-       if (add_info_button)
-               quotefmt_add_info_button(parent_window, vbox_quote);
-       if (set_defaults_func)
-               quotefmt_add_defaults_button(parent_window, vbox_quote, set_defaults_func);
+       quote_fmt_add_buttons(parent_window, vbox_quote,
+                               add_info_button, set_defaults_func);
 
        if (checkbtn_reply_with_format)
                *checkbtn_reply_with_format = checkbtn_use_format;
@@ -418,8 +430,6 @@ void quotefmt_create_forward_fmt_widgets(GtkWindow *parent_window,
        gtk_container_set_border_width (GTK_CONTAINER (vbox_quote), 8);
 
        if (override_from_format) {
-               CLAWS_TIP_DECL();
-
                hbox3 = gtk_hbox_new (FALSE, 8);
                gtk_widget_show (hbox3);
                gtk_box_pack_start (GTK_BOX (vbox_quote), hbox3, FALSE, FALSE, 0);
@@ -496,10 +506,8 @@ void quotefmt_create_forward_fmt_widgets(GtkWindow *parent_window,
                SET_TOGGLE_SENSITIVITY(checkbtn_use_format, text_fw_quotefmt);
        }
 
-       if (add_info_button)
-               quotefmt_add_info_button(parent_window, vbox_quote);
-       if (set_defaults_func)
-               quotefmt_add_defaults_button(parent_window, vbox_quote, set_defaults_func);
+       quote_fmt_add_buttons(parent_window, vbox_quote,
+                               add_info_button, set_defaults_func);
 
        if (checkbtn_forward_with_format)
                *checkbtn_forward_with_format = checkbtn_use_format;
@@ -511,17 +519,11 @@ void quotefmt_create_forward_fmt_widgets(GtkWindow *parent_window,
 
 void quotefmt_add_info_button(GtkWindow *parent_window, GtkWidget *parent_box)
 {
-       GtkWidget *hbox_formatdesc;
        GtkWidget *btn_formatdesc;
 
-       hbox_formatdesc = gtk_hbox_new (FALSE, 32);
-       gtk_widget_show (hbox_formatdesc);
-       gtk_box_pack_start (GTK_BOX (parent_box), hbox_formatdesc, FALSE, FALSE,
-                               VBOX_BORDER);
-
        btn_formatdesc = gtk_button_new_from_stock(GTK_STOCK_INFO);
        gtk_widget_show (btn_formatdesc);
-       gtk_box_pack_start (GTK_BOX (hbox_formatdesc), btn_formatdesc, FALSE, FALSE, 0);
+       gtk_box_pack_start (GTK_BOX (parent_box), btn_formatdesc, FALSE, FALSE, 0);
        g_signal_connect(G_OBJECT(btn_formatdesc), "clicked",
                         G_CALLBACK(quote_fmt_quote_description), GTK_WIDGET(parent_window));
 }
@@ -530,21 +532,15 @@ void quotefmt_add_defaults_button(GtkWindow *parent_window,
                                                                  GtkWidget *parent_box,
                                                                  void(*set_defaults_func)(void))
 {
-       GtkWidget *hbox_formatdesc;
        GtkWidget *btn_formatdesc;
 
        cm_return_if_fail(set_defaults_func != NULL);
 
-       hbox_formatdesc = gtk_hbox_new (FALSE, 32);
-       gtk_widget_show (hbox_formatdesc);
-       gtk_box_pack_start (GTK_BOX (parent_box), hbox_formatdesc, FALSE, FALSE,
-                               VBOX_BORDER);
-
        btn_formatdesc = gtk_button_new_with_mnemonic (_("Defaults"));
        gtk_button_set_image (GTK_BUTTON(btn_formatdesc),
                gtk_image_new_from_stock(GTK_STOCK_UNDO, GTK_ICON_SIZE_BUTTON));
        gtk_widget_show (btn_formatdesc);
-       gtk_box_pack_start (GTK_BOX (hbox_formatdesc), btn_formatdesc, FALSE, FALSE, 0);
+       gtk_box_pack_end (GTK_BOX (parent_box), btn_formatdesc, FALSE, FALSE, 0);
        g_signal_connect(G_OBJECT(btn_formatdesc), "clicked",
                         G_CALLBACK(set_defaults_func), GTK_WIDGET(parent_window));
 }