Commented bold color/highlighting, bold font is implicit now
This commit is contained in:
parent
7fc95f487f
commit
b7a9743460
|
@ -16,8 +16,8 @@ gboolean on_gm_world_text_view_url_event(GtkTextTag *tag, GObject *object,
|
|||
gboolean on_gm_world_text_view_event(GmWorldTextView *view,
|
||||
GdkEventMotion *event, GtkTextTag *tag);
|
||||
|
||||
void on_gm_world_text_view_color_table_bold_toggled(GmColorTable *table,
|
||||
gboolean bold, GmWorldTextView *view);
|
||||
/*void on_gm_world_text_view_color_table_bold_toggled(GmColorTable *table,
|
||||
gboolean bold, GmWorldTextView *view);*/
|
||||
void on_gm_world_text_view_color_table_color_changed(GmColorTable *table,
|
||||
gchar *name, GmWorldTextView *view);
|
||||
void on_gm_world_text_view_color_table_font_changed(GmColorTable *table,
|
||||
|
@ -52,9 +52,9 @@ struct _GmWorldTextViewPrivate {
|
|||
/* Signals */
|
||||
|
||||
enum {
|
||||
URL_ACTIVATE,
|
||||
CHARACTER_SIZE_CHANGED,
|
||||
NUM_SIGNALS
|
||||
URL_ACTIVATE,
|
||||
CHARACTER_SIZE_CHANGED,
|
||||
NUM_SIGNALS
|
||||
};
|
||||
|
||||
static guint world_text_view_signals[NUM_SIGNALS] = {0};
|
||||
|
@ -157,14 +157,14 @@ gm_world_text_view_update_color_tag(GmWorldTextView *view, const gchar *name,
|
|||
if (name[0] == 'f') {
|
||||
g_object_set(G_OBJECT(tag), "foreground-gdk", &col, NULL);
|
||||
|
||||
if (name[strlen(name) - 1] == 'h') {
|
||||
/* Color tag for bold colors */
|
||||
/*if (name[strlen(name) - 1] == 'h') {
|
||||
// Color tag for bold colors
|
||||
//g_object_set(G_OBJECT(tag), "weight", PANGO_WEIGHT_NORMAL, NULL);
|
||||
if (view->priv->color_table == NULL ||
|
||||
!gm_color_table_bold(view->priv->color_table)) {
|
||||
g_object_set(G_OBJECT(tag), "foreground-set", FALSE, NULL);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
} else {
|
||||
g_object_set(G_OBJECT(tag), "background-gdk", &col, NULL);
|
||||
}
|
||||
|
@ -285,11 +285,11 @@ gm_world_text_view_update_tags(GmWorldTextView *view) {
|
|||
tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(
|
||||
GM_WORLD_TEXT_VIEW_BUFFER(view)), "bold");
|
||||
|
||||
if (gm_color_table_bold(view->priv->color_table)) {
|
||||
/*if (gm_color_table_bold(view->priv->color_table)) {
|
||||
g_object_set(G_OBJECT(tag), "weight", PANGO_WEIGHT_NORMAL, NULL);
|
||||
} else {
|
||||
g_object_set(G_OBJECT(tag), "weight", PANGO_WEIGHT_ULTRABOLD, NULL);
|
||||
}
|
||||
} else {*/
|
||||
g_object_set(G_OBJECT(tag), "weight", PANGO_WEIGHT_ULTRABOLD, NULL);
|
||||
//}
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -430,65 +430,71 @@ GList *
|
|||
gm_world_text_view_tags_fix_for_inverse(GmWorldTextView *view, GList *tags) {
|
||||
gboolean bold = view->priv->last_info.bold;
|
||||
gboolean fg_changed = FALSE, bg_changed = FALSE;
|
||||
GList *new_tags = NULL, *item;
|
||||
GtkTextTag *tag;
|
||||
gchar *name, *base, *tagname;
|
||||
int i;
|
||||
GtkTextTagTable *tab = gtk_text_buffer_get_tag_table(
|
||||
GM_WORLD_TEXT_VIEW_BUFFER(view));
|
||||
GList *new_tags = NULL, *item;
|
||||
GtkTextTag *tag;
|
||||
gchar *name, *base, *tagname;
|
||||
int i;
|
||||
GtkTextTagTable *tab = gtk_text_buffer_get_tag_table(
|
||||
GM_WORLD_TEXT_VIEW_BUFFER(view));
|
||||
|
||||
for (item = tags; item; item = item->next) {
|
||||
tag = GTK_TEXT_TAG(item->data);
|
||||
|
||||
g_object_get(G_OBJECT(tag), "name", &name, NULL);
|
||||
|
||||
if (strncmp(name, "fg_", 3) == 0) {
|
||||
base = name + 3;
|
||||
bg_changed = TRUE;
|
||||
i = 0;
|
||||
|
||||
while (base[i] != '_' && base[i] != '\0')
|
||||
i++;
|
||||
|
||||
base[i] = '\0';
|
||||
tagname = g_strconcat("bg_", base, NULL);
|
||||
for (item = tags; item; item = item->next) {
|
||||
tag = GTK_TEXT_TAG(item->data);
|
||||
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab, tagname));
|
||||
g_free(tagname);
|
||||
} else if (strncmp(name, "bg_", 3) == 0) {
|
||||
base = name + 3;
|
||||
fg_changed = TRUE;
|
||||
|
||||
if (bold) {
|
||||
tagname = g_strconcat("fg_", base, "_h", NULL);
|
||||
} else {
|
||||
tagname = g_strconcat("fg_", base, NULL);
|
||||
}
|
||||
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab, tagname));
|
||||
g_free(tagname);
|
||||
} else if (strcmp(name, "inverse_bg") == 0) {
|
||||
fg_changed = TRUE;
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab, "fg_default"));
|
||||
} else if (strcmp(name, "inverse_fg") == 0) {
|
||||
bg_changed = TRUE;
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab, "bg_default"));
|
||||
} else {
|
||||
new_tags = g_list_append(new_tags, tag);
|
||||
}
|
||||
|
||||
g_free(name);
|
||||
}
|
||||
g_object_get(G_OBJECT(tag), "name", &name, NULL);
|
||||
|
||||
if (strncmp(name, "fg_", 3) == 0) {
|
||||
base = name + 3;
|
||||
bg_changed = TRUE;
|
||||
i = 0;
|
||||
|
||||
while (base[i] != '_' && base[i] != '\0')
|
||||
i++;
|
||||
|
||||
base[i] = '\0';
|
||||
tagname = g_strconcat("bg_", base, NULL);
|
||||
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab,
|
||||
tagname));
|
||||
g_free(tagname);
|
||||
} else if (strncmp(name, "bg_", 3) == 0) {
|
||||
base = name + 3;
|
||||
fg_changed = TRUE;
|
||||
|
||||
if (bold) {
|
||||
tagname = g_strconcat("fg_", base, "_h", NULL);
|
||||
} else {
|
||||
tagname = g_strconcat("fg_", base, NULL);
|
||||
}
|
||||
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab,
|
||||
tagname));
|
||||
g_free(tagname);
|
||||
} else if (strcmp(name, "inverse_bg") == 0) {
|
||||
fg_changed = TRUE;
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab,
|
||||
"fg_default"));
|
||||
} else if (strcmp(name, "inverse_fg") == 0) {
|
||||
bg_changed = TRUE;
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab,
|
||||
"bg_default"));
|
||||
} else {
|
||||
new_tags = g_list_append(new_tags, tag);
|
||||
}
|
||||
|
||||
g_free(name);
|
||||
}
|
||||
|
||||
if (!bg_changed) {
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab, "inverse_bg"));
|
||||
}
|
||||
if (!fg_changed) {
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab, "inverse_fg"));
|
||||
}
|
||||
if (!bg_changed) {
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab,
|
||||
"inverse_bg"));
|
||||
}
|
||||
if (!fg_changed) {
|
||||
new_tags = g_list_append(new_tags, gtk_text_tag_table_lookup(tab,
|
||||
"inverse_fg"));
|
||||
}
|
||||
|
||||
g_list_free(tags);
|
||||
return new_tags;
|
||||
g_list_free(tags);
|
||||
return new_tags;
|
||||
}
|
||||
|
||||
static const gchar * tag_checks[] = {
|
||||
|
@ -606,7 +612,8 @@ gm_world_text_view_new() {
|
|||
|
||||
GtkWidget *
|
||||
gm_world_text_view_new_with_color_table(GmColorTable *color_table) {
|
||||
GmWorldTextView *view = GM_WORLD_TEXT_VIEW(g_object_new(GM_TYPE_WORLD_TEXT_VIEW, NULL));
|
||||
GmWorldTextView *view = GM_WORLD_TEXT_VIEW(g_object_new(
|
||||
GM_TYPE_WORLD_TEXT_VIEW, NULL));
|
||||
|
||||
gm_world_text_view_create_tags(view);
|
||||
gm_world_text_view_set_color_table(view, color_table);
|
||||
|
@ -618,8 +625,6 @@ void
|
|||
gm_world_text_view_set_color_table(GmWorldTextView *view,
|
||||
GmColorTable *color_table) {
|
||||
if (view->priv->color_table != NULL) {
|
||||
g_signal_handlers_disconnect_by_func(view->priv->color_table,
|
||||
on_gm_world_text_view_color_table_bold_toggled, view);
|
||||
g_signal_handlers_disconnect_by_func(view->priv->color_table,
|
||||
on_gm_world_text_view_color_table_color_changed, view);
|
||||
g_signal_handlers_disconnect_by_func(view->priv->color_table,
|
||||
|
@ -629,12 +634,12 @@ gm_world_text_view_set_color_table(GmWorldTextView *view,
|
|||
|
||||
if (color_table != NULL) {
|
||||
view->priv->color_table = g_object_ref(color_table);
|
||||
g_signal_connect(view->priv->color_table, "bold_toggled",
|
||||
G_CALLBACK(on_gm_world_text_view_color_table_bold_toggled), view);
|
||||
g_signal_connect(view->priv->color_table, "color_changed",
|
||||
G_CALLBACK(on_gm_world_text_view_color_table_color_changed), view);
|
||||
G_CALLBACK(on_gm_world_text_view_color_table_color_changed),
|
||||
view);
|
||||
g_signal_connect(view->priv->color_table, "font_changed",
|
||||
G_CALLBACK(on_gm_world_text_view_color_table_font_changed), view);
|
||||
G_CALLBACK(on_gm_world_text_view_color_table_font_changed),
|
||||
view);
|
||||
|
||||
gm_world_text_view_init_tags(view);
|
||||
gm_world_text_view_update_font(view);
|
||||
|
@ -719,7 +724,7 @@ gm_world_text_view_insert(GmWorldTextView *view, const gchar *text) {
|
|||
}
|
||||
}
|
||||
|
||||
debug_msg(1, "gm_world_text_view_insert: %s", new_line->str);
|
||||
debug_msg(1, "GmWorldTextView.Insert: %s", new_line->str);
|
||||
gtk_text_buffer_get_end_iter(buffer, &started);
|
||||
start_mark = gtk_text_buffer_create_mark(buffer, "last-insertion",
|
||||
&started, TRUE);
|
||||
|
@ -840,7 +845,7 @@ on_gm_world_text_view_style_set(GmWorldTextView *view, GtkStyle *previous_style,
|
|||
PangoContext *pc = gtk_widget_create_pango_context(GTK_WIDGET(view));
|
||||
PangoLayout *pl;
|
||||
gint cwidth, cheight;
|
||||
|
||||
|
||||
if (style->font_desc != NULL) {
|
||||
pango_context_set_font_description(pc, style->font_desc);
|
||||
pl = pango_layout_new(pc);
|
||||
|
@ -958,14 +963,14 @@ gm_world_text_view_color_table_fix_high_color(GtkTextTag *tag, gpointer data) {
|
|||
g_free(name);
|
||||
}
|
||||
|
||||
void
|
||||
/*void
|
||||
on_gm_world_text_view_color_table_bold_toggled(GmColorTable *table,
|
||||
gboolean bold, GmWorldTextView *view) {
|
||||
GtkTextTag *tag;
|
||||
GtkTextBuffer *buf = GM_WORLD_TEXT_VIEW_BUFFER(view);
|
||||
GtkTextTagTable *tb = gtk_text_buffer_get_tag_table(buf);
|
||||
|
||||
/* Fix bold tag */
|
||||
// Fix bold tag
|
||||
tag = gtk_text_tag_table_lookup(tb, "bold");
|
||||
|
||||
if (tag != NULL) {
|
||||
|
@ -975,11 +980,11 @@ on_gm_world_text_view_color_table_bold_toggled(GmColorTable *table,
|
|||
g_object_set(G_OBJECT(tag), "weight", PANGO_WEIGHT_ULTRABOLD, NULL);
|
||||
}
|
||||
|
||||
/* Fix high color tags */
|
||||
// Fix high color tags
|
||||
gtk_text_tag_table_foreach(tb, gm_world_text_view_color_table_fix_high_color,
|
||||
GINT_TO_POINTER(bold));
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
void
|
||||
on_gm_world_text_view_color_table_color_changed(GmColorTable *table,
|
||||
|
|
Reference in New Issue