add option for changing spell checker color

This commit is contained in:
berkeviktor@aol.com 2011-06-05 06:12:31 +02:00
parent 5ea4855bc3
commit 87b68a17ad
4 changed files with 44 additions and 3 deletions

View File

@ -77,8 +77,9 @@ GdkColor colors[] = {
{0, 0x0000, 0x0000, 0xffff}, /* 38 tab Nick Mentioned (blue) */
{0, 0xffff, 0x0000, 0x0000}, /* 39 tab New Message (red) */
{0, 0x9595, 0x9595, 0x9595}, /* 40 away user (grey) */
{0, 0xffff, 0x0000, 0x0000}, /* 41 spell checker color (red) */
};
#define MAX_COL 40
#define MAX_COL 41
void

View File

@ -9,6 +9,7 @@ extern GdkColor colors[];
#define COL_HILIGHT 38
#define COL_NEW_MSG 39
#define COL_AWAY 40
#define COL_SPELL 41
void palette_alloc (GtkWidget * widget);
void palette_load (void);

View File

@ -1358,6 +1358,7 @@ setup_create_color_page (void)
setup_create_other_color (_("New message:"), COL_NEW_MSG, 10, tab);
setup_create_other_colorR (_("Away user:"), COL_AWAY, 10, tab);
setup_create_other_color (_("Highlight:"), COL_HILIGHT, 11, tab);
setup_create_other_colorR (_("Spell checker:"), COL_SPELL, 11, tab);
return box;
}

View File

@ -26,13 +26,17 @@
#include <gtk/gtk.h>
#include "sexy-spell-entry.h"
#include <string.h>
#include <fcntl.h>
#include <glib/gi18n.h>
#include <sys/types.h>
#include <sys/stat.h>
/*#include "gtkspell-iso-codes.h"
#include "sexy-marshal.h"*/
#include "typedef.h"
#include "../common/cfgfiles.h"
/*
* Bunch of poop to make enchant into a runtime dependency rather than a
* compile-time dependency. This makes it so I don't have to hear the
@ -260,8 +264,42 @@ gtk_entry_find_position (GtkEntry *entry, gint x)
static void
insert_underline(SexySpellEntry *entry, guint start, guint end)
{
PangoAttribute *ucolor = pango_attr_underline_color_new (65535, 0, 0);
PangoAttribute *unline = pango_attr_underline_new (PANGO_UNDERLINE_ERROR);
int fh, l;
int red, green, blue;
struct stat st;
char *cfg;
PangoAttribute *ucolor;
PangoAttribute *unline;
fh = xchat_open_file ("colors.conf", O_RDONLY, 0, 0);
if (fh != -1)
{
fstat (fh, &st);
cfg = malloc (st.st_size + 1);
if (cfg)
{
cfg[0] = '\0';
l = read (fh, cfg, st.st_size);
if (l >= 0)
{
cfg[l] = '\0';
}
cfg_get_color (cfg, "color_265", &red, &green, &blue);
free (cfg);
}
close (fh);
} else
{
red = 65535;
green = blue = 0;
}
ucolor = pango_attr_underline_color_new (red, green, blue);
unline = pango_attr_underline_new (PANGO_UNDERLINE_ERROR);
ucolor->start_index = start;
unline->start_index = start;