source: trunk/third/gtkhtml/src/gtkhtml-properties.c @ 18136

Revision 18136, 27.6 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18135, which included commits to RCS files with non-trunk default branches.
Line 
1/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2/* This file is part of the GtkHTML library
3
4   Copyright (C) 2000 Helix Code, Inc.
5   Authors:           Radek Doulik (rodo@helixcode.com)
6
7   This library is free software; you can redistribute it and/or
8   modify it under the terms of the GNU Library General Public
9   License as published by the Free Software Foundation; either
10   version 2 of the License, or (at your option) any later version.
11
12   This library is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHcANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15   Library General Public License for more details.
16
17   You should have received a copy of the GNU Library General Public License
18   along with this library; see the file COPYING.LIB.  If not, write to
19   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20   Boston, MA 02111-1307, USA.
21*/
22
23#include <config.h>
24#include <string.h>
25#include <gdk/gdkx.h>
26#include "gtkhtml.h"
27#include "gtkhtml-properties.h"
28#include "htmlfontmanager.h"
29
30#define DEFAULT_FONT_SIZE   12
31#define DEFAULT_FONT_SIZE_PRINT   10
32
33#define STRINGIZE(x) #x
34
35static void get_default_fonts (gchar **var_name, gchar **fix_name);
36
37GtkHTMLClassProperties *
38gtk_html_class_properties_new (void)
39{
40        GtkHTMLClassProperties *p = g_new0 (GtkHTMLClassProperties, 1);
41        gchar *var_name, *fix_name;
42
43        get_default_fonts (&var_name, &fix_name);
44
45        /* default values */
46        p->magic_links             = TRUE;
47        p->magic_smileys           = TRUE;
48        p->keybindings_theme       = g_strdup ("ms");
49        p->font_var                = var_name;
50        p->font_fix                = fix_name;
51        p->font_var_size           = DEFAULT_FONT_SIZE;
52        p->font_fix_size           = DEFAULT_FONT_SIZE;
53        p->font_var_points         = FALSE;
54        p->font_fix_points         = FALSE;
55        p->font_var_print          = g_strdup ("-*-helvetica-*-*-*-*-10-*-*-*-*-*-*-*");
56        p->font_fix_print          = g_strdup ("-*-courier-*-*-*-*-10-*-*-*-*-*-*-*");
57        p->font_var_size_print     = DEFAULT_FONT_SIZE_PRINT;
58        p->font_fix_size_print     = DEFAULT_FONT_SIZE_PRINT;
59        p->font_var_print_points   = FALSE;
60        p->font_fix_print_points   = FALSE;
61        p->animations              = TRUE;
62        p->link_color              = g_strdup ("#0000ff");
63        p->alink_color             = g_strdup ("#0000ff");
64        p->vlink_color             = g_strdup ("#0000ff");
65
66        p->live_spell_check        = TRUE;
67        p->spell_error_color.red   = 0xffff;
68        p->spell_error_color.green = 0;
69        p->spell_error_color.blue  = 0;
70
71        p->language                = g_strdup ("en");
72
73        return p;
74}
75
76void
77gtk_html_class_properties_destroy (GtkHTMLClassProperties *p)
78{
79        g_free (p->keybindings_theme);
80        g_free (p);
81}
82
83#ifdef GTKHTML_HAVE_GCONF
84#define GET(t,x,prop,f,c) \
85        key = g_strconcat (GTK_HTML_GCONF_DIR, x, NULL); \
86        val = gconf_client_get_without_default (client, key, NULL); \
87        if (val) { f; p->prop = c (gconf_value_get_ ## t (val)); \
88        gconf_value_free (val); } \
89        g_free (key);
90
91#define GNOME_SPELL_GCONF_DIR "/GNOME/Spell"
92#define GETSP(t,x,prop,f,c) \
93        key = g_strconcat (GNOME_SPELL_GCONF_DIR, x, NULL); \
94        val = gconf_client_get_without_default (client, key, NULL); \
95        if (val) { f; p->prop = c (gconf_value_get_ ## t (val)); \
96        gconf_value_free (val); } \
97        g_free (key);
98
99void
100gtk_html_class_properties_load (GtkHTMLClassProperties *p, GConfClient *client)
101{
102        GConfValue *val;
103        gchar *key;
104
105        g_assert (client);
106
107        GET (bool, "/magic_links", magic_links,,);
108        GET (bool, "/magic_smileys", magic_smileys,,);
109        GET (bool, "/animations", animations,,);
110        GET (string, "/keybindings_theme", keybindings_theme,
111             g_free (p->keybindings_theme), g_strdup);
112        GET (string, "/font_variable", font_var,
113             g_free (p->font_var), g_strdup);
114        GET (string, "/font_fixed", font_fix,
115             g_free (p->font_fix), g_strdup);
116        GET (int, "/font_variable_size", font_var_size,,);
117        GET (int, "/font_fixed_size", font_fix_size,,);
118        GET (bool, "/font_variable_points", font_var_points,,);
119        GET (bool, "/font_fixed_points", font_fix_points,,);
120        GET (string, "/font_variable_print", font_var_print,
121             g_free (p->font_var_print), g_strdup);
122        GET (string, "/font_fixed_print", font_fix_print,
123             g_free (p->font_fix_print), g_strdup);
124        GET (int, "/font_variable_size_print", font_var_size_print,,);
125        GET (int, "/font_fixed_size_print", font_fix_size_print,,);
126        GET (bool, "/font_variable_print_points", font_var_print_points,,);
127        GET (bool, "/font_fixed_print_points", font_fix_print_points,,);
128
129        GET (bool, "/live_spell_check", live_spell_check,,);
130
131        GET (string, "/link_color", link_color, g_free (p->link_color), g_strdup);
132        GET (string, "/alink_color", alink_color, g_free (p->alink_color), g_strdup);
133        GET (string, "/vlink_color", vlink_color, g_free (p->vlink_color), g_strdup);
134
135        GETSP (int, "/spell_error_color_red",   spell_error_color.red,,);
136        GETSP (int, "/spell_error_color_green", spell_error_color.green,,);
137        GETSP (int, "/spell_error_color_blue",  spell_error_color.blue,,);
138
139        GETSP (string, "/language", language,
140               g_free (p->language), g_strdup);
141}
142
143#define SET(t,x,prop) \
144        { key = g_strconcat (GTK_HTML_GCONF_DIR, x, NULL); \
145        gconf_client_set_ ## t (client, key, p->prop, NULL); \
146        g_free (key); }
147
148
149void
150gtk_html_class_properties_update (GtkHTMLClassProperties *p, GConfClient *client, GtkHTMLClassProperties *old)
151{
152        gchar *key;
153
154        if (p->animations != old->animations)
155                SET (bool, "/animations", animations);
156        if (p->magic_links != old->magic_links)
157                SET (bool, "/magic_links", magic_links);
158        if (p->magic_smileys != old->magic_smileys)
159                SET (bool, "/magic_smileys", magic_smileys);
160        SET (string, "/keybindings_theme", keybindings_theme);
161        if (strcmp (p->font_var, old->font_var))
162                SET (string, "/font_variable", font_var);
163        if (strcmp (p->font_fix, old->font_fix))
164                SET (string, "/font_fixed", font_fix);
165        if (p->font_var_points != old->font_var_points)
166                SET (bool, "/font_variable_points", font_var_points);
167        if (p->font_fix_points != old->font_fix_points)
168                SET (bool, "/font_fixed_points", font_fix_points);
169        if (p->font_var_size != old->font_var_size || p->font_var_points != old->font_var_points)
170                SET (int, "/font_variable_size", font_var_size);
171        if (p->font_fix_size != old->font_fix_size || p->font_fix_points != old->font_fix_points)
172                SET (int, "/font_fixed_size", font_fix_size);
173        if (strcmp (p->font_var_print, old->font_var_print))
174                SET (string, "/font_variable_print", font_var_print);
175        if (strcmp (p->font_fix_print, old->font_fix_print))
176                SET (string, "/font_fixed_print", font_fix_print);
177        if (p->font_var_print_points != old->font_var_print_points)
178                SET (bool, "/font_variable_print_points", font_var_print_points);
179        if (p->font_fix_print_points != old->font_fix_print_points)
180                SET (bool, "/font_fixed_print_points", font_fix_print_points);
181        if (p->font_var_size_print != old->font_var_size_print || p->font_var_print_points != old->font_var_print_points)
182                SET (int, "/font_variable_size_print", font_var_size_print);
183        if (p->font_fix_size_print != old->font_fix_size_print || p->font_fix_print_points != old->font_fix_print_points)
184                SET (int, "/font_fixed_size_print", font_fix_size_print);
185        if (strcmp (p->link_color, old->link_color))
186                SET (string, "/link_color", link_color);
187        if (strcmp (p->alink_color, old->alink_color))
188                SET (string, "/alink_color", alink_color);
189        if (strcmp (p->vlink_color, old->vlink_color))
190                SET (string, "/vlink_color", vlink_color);
191       
192       
193        if (p->live_spell_check != old->live_spell_check)
194                SET (bool, "/live_spell_check", live_spell_check);
195
196        gconf_client_suggest_sync (client, NULL);
197}
198
199#else
200
201#undef GET
202#define GET(t,v,s) \
203        p->v = gnome_config_get_ ## t (s)
204#define GETS(v,s) \
205        g_free (p->v); \
206        GET(string,v,s)
207
208void
209gtk_html_class_properties_load (GtkHTMLClassProperties *p)
210{
211        gchar *s, *var_name, *fix_name, *var_default, *fix_default;
212
213        get_default_fonts (&var_name, &fix_name);
214        var_default = g_strdup_printf ("font_variable=%s", var_name);
215        fix_default = g_strdup_printf ("font_fixed=%s", fix_name);
216        g_free (var_name);
217        g_free (fix_name);
218
219        gnome_config_push_prefix (GTK_HTML_GNOME_CONFIG_PREFIX);
220        GET  (bool, magic_links, "magic_links=true");
221        GET  (bool, magic_smileys, "magic_smileys=true");
222        GET  (bool, animations, "animations=true");
223        GETS (keybindings_theme, "keybindings_theme=ms");
224        GETS (font_var, var_default);
225        GETS (font_fix, fix_default);
226        GETS (font_var_print, "font_variable_print=-*-helvetica-*-*-*-*-10-*-*-*-*-*-*-*");
227        GETS (font_fix_print, "font_fixed_print=-*-courier-*-*-*-*-10-*-*-*-*-*-*-*");
228
229        g_free (var_default);
230        g_free (fix_default);
231
232        s = g_strdup_printf ("font_variable_size=%d", DEFAULT_FONT_SIZE);
233        GET  (int, font_var_size, s);
234        g_free (s);
235
236        s = g_strdup_printf ("font_fixed_size=%d", DEFAULT_FONT_SIZE);
237        GET  (int, font_fix_size, s);
238        g_free (s);
239
240        s = g_strdup_printf ("font_variable_size_print=%d", DEFAULT_FONT_SIZE_PRINT);
241        GET  (int, font_var_size_print, s);
242        g_free (s);
243
244        s = g_strdup_printf ("font_fixed_size_print=%d", DEFAULT_FONT_SIZE_PRINT);
245        GET  (int, font_fix_size_print, s);
246        g_free (s);
247
248        GET  (bool, font_var_points, "font_variable_points=false");
249        GET  (bool, font_fix_points, "font_fixed_points=false");
250        GET  (bool, font_var_print_points, "font_variable_print_points=false");
251        GET  (bool, font_fix_print_points, "font_fixed_print_points=false");
252       
253        GETS (link_color, "link_color=#0000ff");
254        GETS (alink_color, "alink_color=#0000ff");
255        GETS (vlink_color, "vlink_color=#0000ff");
256
257        GET  (bool, live_spell_check, "live_spell_check=true");
258
259        GET  (int, spell_error_color.red,   "spell_error_color_red=65535");
260        GET  (int, spell_error_color.green, "spell_error_color_green=0");
261        GET  (int, spell_error_color.blue,  "spell_error_color_blue=0");
262
263        GETS (language, "language=en");
264
265        /* printf ("fonts:\n%s\n%s\n", p->font_var, p->font_fix); */
266
267        gnome_config_pop_prefix ();
268}
269
270void
271gtk_html_class_properties_save (GtkHTMLClassProperties *p)
272{
273        gnome_config_push_prefix (GTK_HTML_GNOME_CONFIG_PREFIX);
274        gnome_config_set_bool ("magic_links", p->magic_links);
275        gnome_config_set_bool ("magic_smileys", p->magic_smileys);
276        gnome_config_set_bool ("animations", p->animations);
277        gnome_config_set_string ("keybindings_theme", p->keybindings_theme);
278        gnome_config_set_string ("font_variable", p->font_var);
279        gnome_config_set_string ("font_fixed", p->font_fix);
280        gnome_config_set_int ("font_variable_size", p->font_var_size);
281        gnome_config_set_int ("font_fixed_size", p->font_fix_size);
282        gnome_config_set_string ("font_variable_print", p->font_var_print);
283        gnome_config_set_string ("font_fixed_print", p->font_fix_print);
284        gnome_config_set_int ("font_variable_size_print", p->font_var_size_print);
285        gnome_config_set_int ("font_fixed_size_print", p->font_fix_size_print);
286        gnome_config_set_bool ("font_variable_points", p->font_var_points);
287        gnome_config_set_bool ("font_fixed_points", p->font_fix_points);
288        gnome_config_set_bool ("font_variable_print_points", p->font_var_print_points);
289        gnome_config_set_bool ("font_fixed_print_points", p->font_fix_print_points);
290        gnome_config_set_string ("link_color", p->link_color);
291        gnome_config_set_string ("alink_color", p->alink_color);
292        gnome_config_set_string ("vlink_color", p->vlink_color);
293
294        gnome_config_set_bool ("live_spell_check", p->live_spell_check);
295
296        gnome_config_set_int ("spell_error_color_red",   p->spell_error_color.red);
297        gnome_config_set_int ("spell_error_color_green", p->spell_error_color.green);
298        gnome_config_set_int ("spell_error_color_blue",  p->spell_error_color.blue);
299
300        gnome_config_set_string ("language", p->language);
301
302        gnome_config_pop_prefix ();
303        gnome_config_sync ();
304}
305#endif
306
307static gchar *
308get_font_name (const GdkFont * font)
309{
310        Atom font_atom, atom;
311        Bool status;
312
313        font_atom = gdk_atom_intern ("FONT", FALSE);
314
315        if (font->type == GDK_FONT_FONTSET) {
316                XFontStruct **font_structs;
317                gint num_fonts;
318                gchar **font_names;
319
320                num_fonts = XFontsOfFontSet (GDK_FONT_XFONT (font), &font_structs, &font_names);
321                status = XGetFontProperty (font_structs[0], font_atom, &atom);
322        } else {
323                status = XGetFontProperty (GDK_FONT_XFONT (font), font_atom, &atom);
324        }
325
326        if (status) {
327                return gdk_atom_name (atom);
328        }
329
330        return NULL;
331}
332
333static void
334get_default_fonts (gchar **var_name, gchar **fix_name)
335{
336        GtkStyle *style;
337        char *font_name = NULL;
338
339        style = gtk_widget_get_default_style ();
340        if (style->font) {
341                font_name = get_font_name (style->font);
342        }
343
344        if (font_name) {
345                gchar *enc1, *enc2;
346
347                enc1 = html_font_manager_get_attr (font_name, 13);
348                enc2 = html_font_manager_get_attr (font_name, 14);
349
350                *var_name = g_strdup_printf ("-*-helvetica-*-*-*-*-12-*-*-*-*-*-%s-%s", enc1, enc2);
351                *fix_name = g_strdup_printf ("-*-courier-*-*-*-*-12-*-*-*-*-*-%s-%s", enc1, enc2);
352
353                /* printf ("default encoding %s-%s\n%s\n%s\n", enc1, enc2, *var_name, *fix_name); */
354                g_free (font_name);
355                g_free (enc1);
356                g_free (enc2);
357        } else {
358                *var_name = g_strdup ("-*-helvetica-*-*-*-*-12-*-*-*-*-*-*-*");
359                *fix_name = g_strdup ("-*-courier-*-*-*-*-12-*-*-*-*-*-*-*");
360        }
361}
362
363#define COPYS(v) \
364        g_free (p1->v); \
365        p1->v = g_strdup (p2->v);
366#define COPY(v) \
367        p1->v = p2->v;
368
369void
370gtk_html_class_properties_copy (GtkHTMLClassProperties *p1,
371                                GtkHTMLClassProperties *p2)
372{
373        COPY  (animations)
374        COPY  (magic_links);
375        COPY  (magic_smileys);
376        COPYS (keybindings_theme);
377        COPYS (font_var);
378        COPYS (font_fix);
379        COPY  (font_var_size);
380        COPY  (font_fix_size);
381        COPYS (font_var_print);
382        COPYS (font_fix_print);
383        COPY  (font_var_size_print);
384        COPY  (font_fix_size_print);
385        COPY  (font_var_points);
386        COPY  (font_fix_points);
387        COPY  (font_var_print_points);
388        COPY  (font_fix_print_points);
389        COPYS  (link_color);
390        COPYS  (alink_color);
391        COPYS  (vlink_color);
392
393        COPY  (live_spell_check);
394        COPY  (spell_error_color);
395        COPYS (language);
396}
397
398/* enums */
399
400static GtkEnumValue _gtk_html_cursor_skip_values[] = {
401  { GTK_HTML_CURSOR_SKIP_ONE,  "GTK_HTML_CURSOR_SKIP_ONE",  "one" },
402  { GTK_HTML_CURSOR_SKIP_WORD, "GTK_HTML_CURSOR_SKIP_WORD", "word" },
403  { GTK_HTML_CURSOR_SKIP_PAGE, "GTK_HTML_CURSOR_SKIP_WORD", "page" },
404  { GTK_HTML_CURSOR_SKIP_ALL,  "GTK_HTML_CURSOR_SKIP_ALL",  "all" },
405  { 0, NULL, NULL }
406};
407
408GtkType
409gtk_html_cursor_skip_get_type ()
410{
411        static GtkType cursor_skip_type = 0;
412
413        if (!cursor_skip_type)
414                cursor_skip_type = gtk_type_register_enum ("GTK_HTML_CURSOR_SKIP", _gtk_html_cursor_skip_values);
415
416        return cursor_skip_type;
417}
418
419static GtkEnumValue _gtk_html_command_values[] = {
420  { GTK_HTML_COMMAND_UNDO,  "GTK_HTML_COMMAND_UNDO",  "undo" },
421  { GTK_HTML_COMMAND_REDO,  "GTK_HTML_COMMAND_REDO",  "redo" },
422  { GTK_HTML_COMMAND_COPY,  "GTK_HTML_COMMAND_COPY",  "copy" },
423  { GTK_HTML_COMMAND_COPY_AND_DISABLE_SELECTION,  "GTK_HTML_COMMAND_COPY_AND_DISABLE_SELECTION",  "copy-and-disable-selection" },
424  { GTK_HTML_COMMAND_CUT,   "GTK_HTML_COMMAND_CUT",   "cut" },
425  { GTK_HTML_COMMAND_PASTE, "GTK_HTML_COMMAND_PASTE", "paste" },
426  { GTK_HTML_COMMAND_CUT_LINE, "GTK_HTML_COMMAND_CUT_LINE", "cut-line" },
427
428  { GTK_HTML_COMMAND_INSERT_RULE, "GTK_HTML_COMMAND_INSERT_RULE", "insert-rule" },
429  { GTK_HTML_COMMAND_INSERT_PARAGRAPH, "GTK_HTML_COMMAND_INSERT_PARAGRAPH", "insert-paragraph" },
430  { GTK_HTML_COMMAND_INSERT_TAB, "GTK_HTML_COMMAND_INSERT_TAB", "insert-tab" },
431  { GTK_HTML_COMMAND_INSERT_TAB_OR_NEXT_CELL,
432    "GTK_HTML_COMMAND_INSERT_TAB_OR_NEXT_CELL", "insert-tab-or-next-cell" },
433  { GTK_HTML_COMMAND_DELETE, "GTK_HTML_COMMAND_DELETE", "delete" },
434  { GTK_HTML_COMMAND_DELETE_BACK, "GTK_HTML_COMMAND_DELETE_BACK", "delete-back" },
435  { GTK_HTML_COMMAND_DELETE_BACK_OR_INDENT_DEC, "GTK_HTML_COMMAND_DELETE_BACK_OR_INDENT_DEC", "delete-back-or-indent-dec" },
436  { GTK_HTML_COMMAND_SELECTION_MODE, "GTK_HTML_COMMAND_SELECTION_MODE", "selection-mode" },
437  { GTK_HTML_COMMAND_DISABLE_SELECTION, "GTK_HTML_COMMAND_DISABLE_SELECTION", "disable-selection" },
438  { GTK_HTML_COMMAND_BOLD_ON, "GTK_HTML_COMMAND_BOLD_ON", "bold-on" },
439  { GTK_HTML_COMMAND_BOLD_OFF, "GTK_HTML_COMMAND_BOLD_OFF", "bold-off" },
440  { GTK_HTML_COMMAND_BOLD_TOGGLE, "GTK_HTML_COMMAND_BOLD_TOGGLE", "bold-toggle" },
441  { GTK_HTML_COMMAND_ITALIC_ON, "GTK_HTML_COMMAND_ITALIC_ON", "italic-on" },
442  { GTK_HTML_COMMAND_ITALIC_OFF, "GTK_HTML_COMMAND_ITALIC_OFF", "italic-off" },
443  { GTK_HTML_COMMAND_ITALIC_TOGGLE, "GTK_HTML_COMMAND_ITALIC_TOGGLE", "italic-toggle" },
444  { GTK_HTML_COMMAND_UNDERLINE_ON, "GTK_HTML_COMMAND_UNDERLINE_ON", "underline-on" },
445  { GTK_HTML_COMMAND_UNDERLINE_OFF, "GTK_HTML_COMMAND_UNDERLINE_OFF", "underline-off" },
446  { GTK_HTML_COMMAND_UNDERLINE_TOGGLE, "GTK_HTML_COMMAND_UNDERLINE_TOGGLE", "underline-toggle" },
447  { GTK_HTML_COMMAND_STRIKEOUT_ON, "GTK_HTML_COMMAND_STRIKEOUT_ON", "strikeout-on" },
448  { GTK_HTML_COMMAND_STRIKEOUT_OFF, "GTK_HTML_COMMAND_STRIKEOUT_OFF", "strikeout-off" },
449  { GTK_HTML_COMMAND_STRIKEOUT_TOGGLE, "GTK_HTML_COMMAND_STRIKEOUT_TOGGLE", "strikeout-toggle" },
450  { GTK_HTML_COMMAND_SIZE_MINUS_2, "GTK_HTML_COMMAND_SIZE_MINUS_2", "size-minus-2" },
451  { GTK_HTML_COMMAND_SIZE_MINUS_1, "GTK_HTML_COMMAND_SIZE_MINUS_1", "size-minus-1" },
452  { GTK_HTML_COMMAND_SIZE_PLUS_0, "GTK_HTML_COMMAND_SIZE_PLUS_0", "size-plus-0" },
453  { GTK_HTML_COMMAND_SIZE_PLUS_1, "GTK_HTML_COMMAND_SIZE_PLUS_1", "size-plus-1" },
454  { GTK_HTML_COMMAND_SIZE_PLUS_2, "GTK_HTML_COMMAND_SIZE_PLUS_2", "size-plus-2" },
455  { GTK_HTML_COMMAND_SIZE_PLUS_3, "GTK_HTML_COMMAND_SIZE_PLUS_3", "size-plus-3" },
456  { GTK_HTML_COMMAND_SIZE_PLUS_4, "GTK_HTML_COMMAND_SIZE_PLUS_4", "size-plus-4" },
457  { GTK_HTML_COMMAND_SIZE_INCREASE, "GTK_HTML_COMMAND_SIZE_INCREASE", "size-inc" },
458  { GTK_HTML_COMMAND_SIZE_DECREASE, "GTK_HTML_COMMAND_SIZE_DECREASE", "size-dec" },
459  { GTK_HTML_COMMAND_ALIGN_LEFT, "GTK_HTML_COMMAND_ALIGN_LEFT", "align-left" },
460  { GTK_HTML_COMMAND_ALIGN_CENTER, "GTK_HTML_COMMAND_ALIGN_CENTER", "align-center" },
461  { GTK_HTML_COMMAND_ALIGN_RIGHT, "GTK_HTML_COMMAND_ALIGN_RIGHT", "align-right" },
462  { GTK_HTML_COMMAND_INDENT_ZERO, "GTK_HTML_COMMAND_INDENT_ZERO", "indent-zero" },
463  { GTK_HTML_COMMAND_INDENT_INC, "GTK_HTML_COMMAND_INDENT_INC", "indent-more" },
464  { GTK_HTML_COMMAND_INDENT_INC_OR_NEXT_CELL, "GTK_HTML_COMMAND_INDENT_INC_OR_NEXT_CELL", "indent-more-or-next-cell" },
465  { GTK_HTML_COMMAND_INDENT_DEC, "GTK_HTML_COMMAND_INDENT_DEC", "indent-less" },
466  { GTK_HTML_COMMAND_PREV_CELL, "GTK_HTML_COMMAND_PREV_CELL", "prev-cell" },
467  { GTK_HTML_COMMAND_INDENT_PARAGRAPH, "GTK_HTML_COMMAND_INDENT_PARAGRAPH", "indent-paragraph" },
468  { GTK_HTML_COMMAND_BREAK_AND_FILL_LINE, "GTK_HTML_COMMAND_BREAK_AND_FILL_LINE", "break-and-fill" },
469  { GTK_HTML_COMMAND_SPACE_AND_FILL_LINE, "GTK_HTML_COMMAND_SPACE_AND_FILL_LINE", "space-and-fill" },
470  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_NORMAL, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_NORMAL", "style-normal" },
471  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_H1, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_H1", "style-header1" },
472  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_H2, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_H2", "style-header2" },
473  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_H3, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_H3", "style-header3" },
474  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_H4, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_H4", "style-header4" },
475  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_H5, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_H5", "style-header5" },
476  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_H6, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_H6", "style-header6" },
477  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_ADDRESS, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_ADDRESS", "style-address" },
478  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_PRE, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_PRE", "style-pre" },
479  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_ITEMDOTTED, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_ITEMDOTTED", "style-itemdot" },
480  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_ITEMROMAN, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_ITEMROMAN", "style-itemroman" },
481  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_ITEMDIGIT, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_ITEMDIGIT", "style-itemdigit" },
482  { GTK_HTML_COMMAND_PARAGRAPH_STYLE_ITEMALPHA, "GTK_HTML_COMMAND_PARAGRAPH_STYLE_ITEMALPHA", "style-itemalpha" },
483  { GTK_HTML_COMMAND_MODIFY_SELECTION_UP, "GTK_HTML_COMMAND_MODIFY_SELECTION_UP", "selection-move-up" },
484  { GTK_HTML_COMMAND_MODIFY_SELECTION_DOWN, "GTK_HTML_COMMAND_MODIFY_SELECTION_DOWN", "selection-move-down" },
485  { GTK_HTML_COMMAND_MODIFY_SELECTION_LEFT, "GTK_HTML_COMMAND_MODIFY_SELECTION_LEFT", "selection-move-left" },
486  { GTK_HTML_COMMAND_MODIFY_SELECTION_RIGHT, "GTK_HTML_COMMAND_MODIFY_SELECTION_RIGHT", "selection-move-right" },
487  { GTK_HTML_COMMAND_MODIFY_SELECTION_BOL, "GTK_HTML_COMMAND_MODIFY_SELECTION_BOL", "selection-move-bol" },
488  { GTK_HTML_COMMAND_MODIFY_SELECTION_EOL, "GTK_HTML_COMMAND_MODIFY_SELECTION_EOL", "selection-move-eol" },
489  { GTK_HTML_COMMAND_MODIFY_SELECTION_BOD, "GTK_HTML_COMMAND_MODIFY_SELECTION_BOD", "selection-move-bod" },
490  { GTK_HTML_COMMAND_MODIFY_SELECTION_EOD, "GTK_HTML_COMMAND_MODIFY_SELECTION_EOD", "selection-move-eod" },
491  { GTK_HTML_COMMAND_MODIFY_SELECTION_PAGEUP, "GTK_HTML_COMMAND_MODIFY_SELECTION_PAGEUP", "selection-move-pageup" },
492  { GTK_HTML_COMMAND_MODIFY_SELECTION_PAGEDOWN, "GTK_HTML_COMMAND_MODIFY_SELECTION_PAGEDOWN", "selection-move-pagedown" },
493  { GTK_HTML_COMMAND_MODIFY_SELECTION_PREV_WORD, "GTK_HTML_COMMAND_MODIFY_SELECTION_PREV_WORD", "selection-move-prev-word" },
494  { GTK_HTML_COMMAND_MODIFY_SELECTION_NEXT_WORD, "GTK_HTML_COMMAND_MODIFY_SELECTION_NEXT_WORD", "selection-move-next-word" },
495  { GTK_HTML_COMMAND_SELECT_WORD, "GTK_HTML_COMMAND_SELECT_WORD", "select-word" },
496  { GTK_HTML_COMMAND_SELECT_LINE, "GTK_HTML_COMMAND_SELECT_LINE", "select-line" },
497  { GTK_HTML_COMMAND_SELECT_PARAGRAPH, "GTK_HTML_COMMAND_SELECT_PARAGRAPH", "select-paragraph" },
498  { GTK_HTML_COMMAND_SELECT_PARAGRAPH_EXTENDED, "GTK_HTML_COMMAND_SELECT_PARAGRAPH_EXTENDED", "select-paragraph-extended" },
499  { GTK_HTML_COMMAND_SELECT_ALL, "GTK_HTML_COMMAND_SELECT_ALL", "select-all" },
500  { GTK_HTML_COMMAND_CURSOR_POSITION_SAVE, "GTK_HTML_COMMAND_CURSOR_POSITION_SAVE", "cursor-position-save" },
501  { GTK_HTML_COMMAND_CURSOR_POSITION_RESTORE, "GTK_HTML_COMMAND_CURSOR_POSITION_RESTORE", "cursor-position-restore" },
502  { GTK_HTML_COMMAND_CAPITALIZE_WORD, "GTK_HTML_COMMAND_CAPITALIZE_WORD", "capitalize-word" },
503  { GTK_HTML_COMMAND_UPCASE_WORD, "GTK_HTML_COMMAND_UPCASE_WORD", "upcase-word" },
504  { GTK_HTML_COMMAND_DOWNCASE_WORD, "GTK_HTML_COMMAND_DOWNCASE_WORD", "downcase-word" },
505  { GTK_HTML_COMMAND_SPELL_SUGGEST, "GTK_HTML_COMMAND_SPELL_SUGGEST", "spell-suggest" },
506  { GTK_HTML_COMMAND_SPELL_PERSONAL_DICTIONARY_ADD, "GTK_HTML_COMMAND_SPELL_PERSONAL_DICTIONARY_ADD", "spell-personal-add" },
507  { GTK_HTML_COMMAND_SPELL_SESSION_DICTIONARY_ADD, "GTK_HTML_COMMAND_SPELL_SESSION_DICTIONARY_ADD", "spell-session-add" },
508  { GTK_HTML_COMMAND_SEARCH_INCREMENTAL_FORWARD, "GTK_HTML_COMMAND_SEARCH_INCREMENTAL_FORWARD", "isearch-forward" },
509  { GTK_HTML_COMMAND_SEARCH_INCREMENTAL_BACKWARD, "GTK_HTML_COMMAND_SEARCH_INCREMENTAL_BACKWARD", "isearch-backward" },
510  { GTK_HTML_COMMAND_SEARCH, "GTK_HTML_COMMAND_SEARCH", "search" },
511  { GTK_HTML_COMMAND_SEARCH_REGEX, "GTK_HTML_COMMAND_SEARCH_REGEX", "search-regex" },
512  { GTK_HTML_COMMAND_FOCUS_FORWARD, "GTK_HTML_COMMAND_FOCUS_FORWARD", "focus-forward" },
513  { GTK_HTML_COMMAND_FOCUS_BACKWARD, "GTK_HTML_COMMAND_FOCUS_BACKWARD", "focus-backward" },
514  { GTK_HTML_COMMAND_POPUP_MENU, "GTK_HTML_COMMAND_POPUP_MENU", "popup-menu" },
515  { GTK_HTML_COMMAND_PROPERTIES_DIALOG, "GTK_HTML_COMMAND_PROPERTIES_DIALOG", "property-dialog" },
516  { GTK_HTML_COMMAND_CURSOR_FORWARD, "GTK_HTML_COMMAND_CURSOR_FORWARD", "cursor-forward" },
517  { GTK_HTML_COMMAND_CURSOR_BACKWARD, "GTK_HTML_COMMAND_CURSOR_BACKWARD", "cursor-backward" },
518  { GTK_HTML_COMMAND_INSERT_TABLE_1_1, "GTK_HTML_COMMAND_INSERT_TABLE_1_1", "insert-table-1-1" },
519  { GTK_HTML_COMMAND_TABLE_INSERT_COL_AFTER, "GTK_HTML_COMMAND_TABLE_INSERT_COL_AFTER", "insert-col-after" },
520  { GTK_HTML_COMMAND_TABLE_INSERT_COL_BEFORE, "GTK_HTML_COMMAND_TABLE_INSERT_COL_BEFORE", "insert-col-before" },
521  { GTK_HTML_COMMAND_TABLE_INSERT_ROW_AFTER, "GTK_HTML_COMMAND_TABLE_INSERT_ROW_AFTER", "insert-row-after" },
522  { GTK_HTML_COMMAND_TABLE_INSERT_ROW_BEFORE, "GTK_HTML_COMMAND_TABLE_INSERT_ROW_BEFORE", "insert-row-before" },
523  { GTK_HTML_COMMAND_TABLE_DELETE_COL, "GTK_HTML_COMMAND_TABLE_DELETE_COL", "delete-col" },
524  { GTK_HTML_COMMAND_TABLE_DELETE_ROW, "GTK_HTML_COMMAND_TABLE_DELETE_ROW", "delete-row" },
525  { GTK_HTML_COMMAND_TABLE_CELL_INC_CSPAN, "GTK_HTML_COMMAND_TABLE_CELL_INC_CSPAN", "inc-cspan" },
526  { GTK_HTML_COMMAND_TABLE_CELL_DEC_CSPAN, "GTK_HTML_COMMAND_TABLE_CELL_DEC_CSPAN", "dec-cspan" },
527  { GTK_HTML_COMMAND_TABLE_CELL_INC_RSPAN, "GTK_HTML_COMMAND_TABLE_CELL_INC_RSPAN", "inc-rspan" },
528  { GTK_HTML_COMMAND_TABLE_CELL_DEC_RSPAN, "GTK_HTML_COMMAND_TABLE_CELL_DEC_RSPAN", "dec-rspan" },
529  { GTK_HTML_COMMAND_TABLE_CELL_JOIN_LEFT, "GTK_HTML_COMMAND_TABLE_CELL_JOIN_LEFT", "cell-join-left" },
530  { GTK_HTML_COMMAND_TABLE_CELL_JOIN_RIGHT, "GTK_HTML_COMMAND_TABLE_CELL_JOIN_RIGHT", "cell-join-right" },
531  { GTK_HTML_COMMAND_TABLE_CELL_JOIN_UP, "GTK_HTML_COMMAND_TABLE_CELL_JOIN_UP", "cell-join-up" },
532  { GTK_HTML_COMMAND_TABLE_CELL_JOIN_DOWN, "GTK_HTML_COMMAND_TABLE_CELL_JOIN_DOWN", "cell-join-down" },
533  { GTK_HTML_COMMAND_TABLE_BORDER_WIDTH_INC, "GTK_HTML_COMMAND_TABLE_BORDER_WIDTH_INC", "inc-border" },
534  { GTK_HTML_COMMAND_TABLE_BORDER_WIDTH_DEC, "GTK_HTML_COMMAND_TABLE_BORDER_WIDTH_DEC", "dec-border" },
535  { GTK_HTML_COMMAND_TABLE_BORDER_WIDTH_ZERO, "GTK_HTML_COMMAND_TABLE_BORDER_WIDTH_ZERO", "zero-border" },
536  { GTK_HTML_COMMAND_TEXT_SET_DEFAULT_COLOR, "GTK_HTML_COMMAND_TEXT_SET_DEFAULT_COLOR", "text-default-color" },
537  { GTK_HTML_COMMAND_CURSOR_BOD, "GTK_HTML_COMMAND_CURSOR_BOD", "cursor-bod" },
538  { GTK_HTML_COMMAND_CURSOR_EOD, "GTK_HTML_COMMAND_CURSOR_EOD", "cursor-eod" },
539  { GTK_HTML_COMMAND_BLOCK_REDRAW, "GTK_HTML_COMMAND_BLOCK_REDRAW", "block-redraw" },
540  { GTK_HTML_COMMAND_UNBLOCK_REDRAW, "GTK_HTML_COMMAND_UNBLOCK_REDRAW", "unblock-redraw" },
541  { GTK_HTML_COMMAND_ZOOM_IN, "GTK_HTML_COMMAND_ZOOM_IN", "zoom-in" },
542  { GTK_HTML_COMMAND_ZOOM_OUT, "GTK_HTML_COMMAND_ZOOM_IN", "zoom-out" },
543  { GTK_HTML_COMMAND_ZOOM_RESET, "GTK_HTML_COMMAND_ZOOM_RESET", "zoom-reset" },
544  { GTK_HTML_COMMAND_TABLE_SPACING_INC, "GTK_HTML_COMMAND_TABLE_SPACING_INC", "inc-spacing" },
545  { GTK_HTML_COMMAND_TABLE_SPACING_DEC, "GTK_HTML_COMMAND_TABLE_SPACING_DEC", "dec-spacing" },
546  { GTK_HTML_COMMAND_TABLE_SPACING_ZERO, "GTK_HTML_COMMAND_TABLE_SPACING_ZERO", "zero-spacing" },
547  { GTK_HTML_COMMAND_TABLE_PADDING_INC, "GTK_HTML_COMMAND_TABLE_PADDING_INC", "inc-padding" },
548  { GTK_HTML_COMMAND_TABLE_PADDING_DEC, "GTK_HTML_COMMAND_TABLE_PADDING_DEC", "dec-padding" },
549  { GTK_HTML_COMMAND_TABLE_PADDING_ZERO, "GTK_HTML_COMMAND_TABLE_PADDING_ZERO", "zero-padding" },
550  { GTK_HTML_COMMAND_DELETE_TABLE, "GTK_HTML_COMMAND_DELETE_TABLE", "delete-table" },
551  { GTK_HTML_COMMAND_DELETE_TABLE_ROW, "GTK_HTML_COMMAND_DELETE_TABLE_ROW", "delete-table-row" },
552  { GTK_HTML_COMMAND_DELETE_TABLE_COLUMN, "GTK_HTML_COMMAND_DELETE_TABLE_COLUMN", "delete-table-column" },
553  { GTK_HTML_COMMAND_DELETE_TABLE_CELL_CONTENTS, "GTK_HTML_COMMAND_DELETE_TABLE_CELL_CONTENTS", "delete-cell-contents" },
554  { GTK_HTML_COMMAND_GRAB_FOCUS, "GTK_HTML_COMMAND_GRAB_FOCUS", "grab-focus" },
555  { GTK_HTML_COMMAND_KILL_WORD, "GTK_HTML_COMMAND_KILL_WORD", "kill-word" },
556  { GTK_HTML_COMMAND_KILL_WORD_BACKWARD, "GTK_HTML_COMMAND_KILL_WORD_BACKWARD", "backward-kill-word" },
557  { GTK_HTML_COMMAND_TEXT_COLOR_APPLY, "GTK_HTML_COMMAND_TEXT_COLOR_APPLY", "text-color-apply" },
558  { GTK_HTML_COMMAND_SAVE_DATA_ON, "GTK_HTML_COMMAND_SAVE_DATA_ON", "save-data-on" },
559  { GTK_HTML_COMMAND_SAVE_DATA_OFF, "GTK_HTML_COMMAND_SAVE_DATA_OFF", "save-data-off" },
560  { GTK_HTML_COMMAND_SAVED, "GTK_HTML_COMMAND_SAVED", "saved" },
561  { GTK_HTML_COMMAND_IS_SAVED, "GTK_HTML_COMMAND_IS_SAVED", "is-saved" },
562  { GTK_HTML_COMMAND_SCROLL_BOD, "GTK_HTML_COMMAND_SCROLL_BOD", "scroll-bod" },
563  { GTK_HTML_COMMAND_SCROLL_EOD, "GTK_HTML_COMMAND_SCROLL_EOD", "scroll-eod" },
564  { 0, NULL, NULL }
565};
566
567GtkType
568gtk_html_command_get_type ()
569{
570        static GtkType command_type = 0;
571
572        if (!command_type)
573                command_type = gtk_type_register_enum ("GTK_HTML_COMMAND", _gtk_html_command_values);
574
575        return command_type;
576}
Note: See TracBrowser for help on using the repository browser.