From 53183d3333a280b9256eb971731f87ada5854460 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Wed, 23 Apr 2014 22:54:41 +0000 Subject: Fixed a bug by avoiding one hardcoded path when looking for a picture. git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@371 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a --- ChangeLog | 13 ++++ Makefile.am | 2 +- configure.ac | 3 +- src/glibext/gbufferline.c | 157 ++++------------------------------------------ 4 files changed, 27 insertions(+), 148 deletions(-) diff --git a/ChangeLog b/ChangeLog index 325fb4f..e685ee7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +14-04-24 Cyrille Bagard + + * configure.ac: + Do not reject deprecated features of GTK in order to be able to compile + the program. + + * Makefile.am: + Clean the content. + + * src/glibext/gbufferline.c: + Fix a bug by avoiding one hardcoded path when looking for a picture. + Clean the code. + 14-04-14 Cyrille Bagard * src/glibext/gcodebuffer.c: diff --git a/Makefile.am b/Makefile.am index 3a50fb0..033527f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,7 +9,7 @@ revision.h: .svn cat $@.in | sed "s/#define REVISION .*$$/#define REVISION $$nb/" > $@ ; \ [ -f $< ] && rm $< || true -EXTRA_DIST = config.rpath config.rpath config.rpath config.rpath ChangeLog +EXTRA_DIST = config.rpath ChangeLog SUBDIRS = pixmaps src plugins po diff --git a/configure.ac b/configure.ac index 5a9ab81..7982079 100644 --- a/configure.ac +++ b/configure.ac @@ -155,7 +155,8 @@ AC_SUBST(WARNING_FLAGS) # _XOPEN_SOURCE: strdup, snprintf # _ISOC99_SOURCE: INFINITY; NAN # GTK_DISABLE_DEPRECATED: on reste conforme au C99 -COMPLIANCE_FLAGS="-D_BSD_SOURCE -D_GNU_SOURCE -DGTK_DISABLE_DEPRECATED" +#COMPLIANCE_FLAGS="-D_BSD_SOURCE -D_GNU_SOURCE -DGTK_DISABLE_DEPRECATED" +COMPLIANCE_FLAGS="-D_BSD_SOURCE -D_GNU_SOURCE" AC_SUBST(COMPLIANCE_FLAGS) diff --git a/src/glibext/gbufferline.c b/src/glibext/gbufferline.c index 907b5bd..e3a33bf 100644 --- a/src/glibext/gbufferline.c +++ b/src/glibext/gbufferline.c @@ -29,6 +29,7 @@ #include "../common/extstr.h" +#include "../gtkext/support.h" #include /* FIXME : à virer */ @@ -86,8 +87,6 @@ struct _GBufferLine BufferLineColumn merge_start; /* Début de la zone globale */ BufferLineColumn last_used; /* Dernière colonne utilisée */ - cairo_surface_t *bookmark_img; /* Image pour les signets */ - }; /* Représentation de fragments de texte en ligne (classe) */ @@ -95,7 +94,7 @@ struct _GBufferLineClass { GObjectClass parent; /* A laisser en premier */ - PangoAttrList *attribs[RTT_COUNT]; /* Décorateurs pour tampons */ + cairo_surface_t *bookmark_img; /* Image pour les signets */ }; @@ -316,144 +315,14 @@ G_DEFINE_TYPE(GBufferLine, g_buffer_line, G_TYPE_OBJECT); static void g_buffer_line_class_init(GBufferLineClass *class) { - PangoAttribute *attrib; /* Propriété de rendu */ - - /* RTT_RAW */ - - class->attribs[RTT_RAW] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(class->attribs[RTT_RAW], attrib); - - /* RTT_COMMENT */ - - class->attribs[RTT_COMMENT] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(14335, 45311, 23551); - pango_attr_list_insert(class->attribs[RTT_COMMENT], attrib); - - /* RTT_INDICATION */ - - class->attribs[RTT_INDICATION] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(33410, 33410, 33410); - pango_attr_list_insert(class->attribs[RTT_INDICATION], attrib); - - attrib = pango_attr_style_new(PANGO_STYLE_ITALIC); - pango_attr_list_insert(class->attribs[RTT_INDICATION], attrib); - - /* RTT_RAW_CODE */ - - class->attribs[RTT_RAW_CODE] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(48895, 48895, 48895); - pango_attr_list_insert(class->attribs[RTT_RAW_CODE], attrib); - - /* RTT_INSTRUCTION */ - - class->attribs[RTT_INSTRUCTION] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(class->attribs[RTT_INSTRUCTION], attrib); - - /* RTT_IMMEDIATE */ - - class->attribs[RTT_IMMEDIATE] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(41215, 8447, 61695); - pango_attr_list_insert(class->attribs[RTT_IMMEDIATE], attrib); - - /* RTT_REGISTER */ - - class->attribs[RTT_REGISTER] = pango_attr_list_new(); - - //attrib = pango_attr_foreground_new(23551, 23551, 51455); - attrib = pango_attr_foreground_new(16895, 16895, 53759); - pango_attr_list_insert(class->attribs[RTT_REGISTER], attrib); - - /* RTT_PUNCT */ - - class->attribs[RTT_PUNCT] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(class->attribs[RTT_PUNCT], attrib); - - attrib = pango_attr_weight_new(PANGO_WEIGHT_BOLD); - pango_attr_list_insert(class->attribs[RTT_PUNCT], attrib); - - /* RTT_HOOK */ - - class->attribs[RTT_HOOK] = pango_attr_list_new(); + gchar *filename; /* Chemin d'accès à utiliser */ - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(class->attribs[RTT_HOOK], attrib); + filename = find_pixmap_file("bookmark.png"); + /* assert(filename != NULL); */ - attrib = pango_attr_weight_new(PANGO_WEIGHT_BOLD); - pango_attr_list_insert(class->attribs[RTT_HOOK], attrib); + class->bookmark_img = cairo_image_surface_create_from_png(filename); - /* RTT_SIGNS */ - - class->attribs[RTT_SIGNS] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(class->attribs[RTT_SIGNS], attrib); - - attrib = pango_attr_weight_new(PANGO_WEIGHT_SEMIBOLD); - pango_attr_list_insert(class->attribs[RTT_SIGNS], attrib); - - /* RTT_LTGT */ - - class->attribs[RTT_LTGT] = pango_attr_list_new(); - - /* RTT_SECTION */ - - class->attribs[RTT_SECTION] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(51200, 2560, 2560); - pango_attr_list_insert(class->attribs[RTT_SECTION], attrib); - - /* - attrib = pango_attr_foreground_new(56832, 26880, 43008); - pango_attr_list_insert(class->attribs[RTT_SECTION], attrib); - - attrib = pango_attr_weight_new(PANGO_WEIGHT_BOLD); - pango_attr_list_insert(class->attribs[RTT_SECTION], attrib); - */ - - /* RTT_SEGMENT */ - - class->attribs[RTT_SEGMENT] = pango_attr_list_new(); - - /* RTT_STRING */ - - class->attribs[RTT_STRING] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(52224, 32256, 0); - pango_attr_list_insert(class->attribs[RTT_STRING], attrib); - - /* RTT_VAR_NAME */ - - class->attribs[RTT_VAR_NAME] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(class->attribs[RTT_VAR_NAME], attrib); - - /* RTT_KEY_WORD */ - - class->attribs[RTT_KEY_WORD] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(class->attribs[RTT_KEY_WORD], attrib); - - /* RTT_ERROR */ - - class->attribs[RTT_ERROR] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(65535, 0, 0); - pango_attr_list_insert(class->attribs[RTT_ERROR], attrib); - - attrib = pango_attr_weight_new(PANGO_WEIGHT_BOLD); - pango_attr_list_insert(class->attribs[RTT_ERROR], attrib); + g_free(filename); } @@ -473,7 +342,6 @@ static void g_buffer_line_class_init(GBufferLineClass *class) static void g_buffer_line_init(GBufferLine *line) { BufferLineColumn i; /* Boucle de parcours */ - char *filename; /* Chemin d'accès à utiliser */ for (i = BLC_ADDRESS; i < BLC_COUNT; i++) reset_column(&line->columns[i]); @@ -481,9 +349,6 @@ static void g_buffer_line_init(GBufferLine *line) line->merge_start = BLC_COUNT; line->last_used = BLC_COUNT; - filename = "/home/ocb/prog/chrysalide.cdb/pixmaps/bookmark.png"; - line->bookmark_img = cairo_image_surface_create_from_png(filename); - } @@ -673,7 +538,6 @@ GSList *g_buffer_line_highlight_all_same_segments(const GBufferLine *line, GSLis void g_buffer_line_insert_text(GBufferLine *line, BufferLineColumn column, const char *text, size_t length, RenderingTagType type) { - GBufferLineClass *class; /* Stockage de briques de base */ GBufferSegment *segment; /* Portion de texte à ajouter */ if (column == BLC_MAIN) @@ -687,8 +551,6 @@ void g_buffer_line_insert_text(GBufferLine *line, BufferLineColumn column, const if (length == 0) return; - class = G_BUFFER_LINE_GET_CLASS(line); - segment = g_buffer_segment_new(type, text, length); g_buffer_line_add_segment(line, column, segment); @@ -829,10 +691,13 @@ void g_buffer_line_start_merge_at(GBufferLine *line, BufferLineColumn start) void g_buffer_line_draw(GBufferLine *line, cairo_t *cairo, const gint max_widths[BLC_COUNT], gint x_init, gint y, bool addr, bool code) { + GBufferLineClass *class; /* Stockage de briques de base */ gint x; /* Point de départ d'impression*/ BufferLineColumn i; /* Boucle de parcours */ - cairo_set_source_surface(cairo, line->bookmark_img, 5, y); + class = G_BUFFER_LINE_GET_CLASS(line); + + cairo_set_source_surface(cairo, class->bookmark_img, 5, y); cairo_paint(cairo); x = x_init; -- cgit v0.11.2-87-g4458