e0729fb8246c92d59bd21e90b66520df2bac4a22
[claws.git] / src / quote_fmt.c
1 /*
2  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3  * Copyright (C) 1999-2007 Hiroyuki Yamamoto and the Claws Mail team
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18  */
19
20 #ifdef HAVE_CONFIG_H
21 #  include "config.h"
22 #endif
23
24 #include <glib.h>
25 #include <glib/gi18n.h>
26 #include <gtk/gtk.h>
27 #include <gdk/gdkkeysyms.h>
28
29 #include "manage_window.h"
30 #include "description_window.h"
31 #include "gtkutils.h"
32
33
34 /*
35  * Strings describing quote format strings
36  * 
37  * When adding new lines, remember to put 2 strings for each line
38  */
39 static gchar *quote_desc_strings[] = {
40         "%D{fmt}",      N_("customized date format (see 'man strftime')"), /* date expression */
41         "%d",           N_("Date"), /* date */
42         "%f",           N_("From"), /* from */
43         "%A",           N_("email address of sender"), /* email address */
44         "%N",           N_("full name of sender"), /* full name */
45         "%F",           N_("first name of sender"), /* first name */
46         "%L",           N_("last name of sender"), /* last name */
47         "%I",           N_("initials of sender"), /* initial of sender */
48         "%s",           N_("Subject"), /* subject */ 
49         "%t",           N_("To"), /* to */ 
50         "%c",           N_("Cc"), /* cc */ 
51         "%n",           N_("Newsgroups"), /* newsgroups */ 
52         "%r",           N_("References"), /* references */ 
53         "%i",           N_("Message-ID"), /* message-id */ 
54         "%M",           N_("message body"), /* message */
55         "%Q",           N_("quoted message body"), /* quoted message */
56         "%m",           N_("message body without signature"), /* message with no signature */
57         "%q",           N_("quoted message body without signature"), /* quoted message with no signature */
58         "%T",           N_("current dictionary"), /* current dictionary */
59         "%X",           N_("cursor position"), /* X marks the cursor spot */
60         "%af",          N_("account property: your name"), /* full name in compose account */
61         "%am",          N_("account property: your email address"), /* mail address in compose account */
62         "%an",          N_("account property: account name"), /* compose account name itself */
63         "%ao",          N_("account property: organization"), /* organization in compose account */
64         "%aT",          N_("account property: default dictionary"), /* main dict (if enabled) in account */
65         "%ABc",         N_("address book completion: Cc"), /* completion of 'Cc' from address book */
66         "%ABf",         N_("address book completion: From"), /* completion of 'From' from address book */
67         "%ABt",         N_("address book completion: To"), /* completion of 'To' from address book */
68         "\\%",          N_("literal %"),
69         "\\\\",         N_("literal backslash"),
70         "\\?",          N_("literal question mark"),
71         "\\!",          N_("literal exclamation mark"),
72         "\\|",          N_("literal pipe"),
73         "\\{",          N_("literal opening curly brace"),
74         "\\}",          N_("literal closing curly brace"),
75         "\\t",          N_("tab"),
76         "\\n",          N_("linefeed"),
77         "",             NULL,
78         "?x{expr}\n",   N_("insert expr if x is set\n(where x is one of the dfNFLIstcnriT characters or ad, af, ao, aT, ABc, ABf, ABt)"),
79         "!x{expr}\n",   N_("insert expr if x is not set\n(where x is one of the dfNFLIstcnriT characters or ad, af, ao, aT, ABc, ABf, ABt)"),
80         "|f{sub_expr}\n",       N_("insert file:\nsub_expr is evaluated as a filename to insert"), /* insert file */
81         "|p{sub_expr}\n\n",     N_("insert program output:\nsub_expr is evaluated as a command-line to get\nthe output from"), /* insert program output */
82         "|i{sub_expr}\n\n",     N_("insert user input:\nsub_expr is a variable to be replaced by\nuser-entered text"), /* insert user input */
83         "",             NULL,
84         N_("terms definition:"),        NULL,
85         "expr",                 N_("text that can contain any of the symbols above"),
86         "sub_expr\n",   N_("text that can contain any of the symbols above\nbut ?x{}, !x{}, |f{}, |p{} and |i{}"),
87         NULL,NULL
88 };
89
90 static DescriptionWindow quote_desc_win = { 
91         NULL,
92         NULL,
93         2,
94         N_("Description of symbols"),
95         N_("The following symbols can be used:"),
96         quote_desc_strings
97 };
98
99
100 void quote_fmt_quote_description(GtkWidget *widget, GtkWidget *pref_window)
101 {
102         quote_desc_win.parent = pref_window;
103         description_window_create(&quote_desc_win);
104 }
105