Author: cazfi Date: Tue Mar 1 23:24:36 2016 New Revision: 32148 URL: http://svn.gna.org/viewcvs/freeciv?rev=32148&view=rev Log: Use GtkImage for indicator icons in gtk3-clients instead of GtkPixcomm.
See patch #6987 Modified: trunk/client/gui-gtk-3.0/gui_main.c trunk/client/gui-gtk-3.0/mapview.c trunk/client/gui-gtk-3.0/sprite.h trunk/client/gui-gtk-3.x/gui_main.c trunk/client/gui-gtk-3.x/mapview.c trunk/client/gui-gtk-3.x/sprite.h Modified: trunk/client/gui-gtk-3.0/gui_main.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/gui_main.c?rev=32148&r1=32147&r2=32148&view=diff ============================================================================== --- trunk/client/gui-gtk-3.0/gui_main.c (original) +++ trunk/client/gui-gtk-3.0/gui_main.c Tue Mar 1 23:24:36 2016 @@ -159,7 +159,7 @@ GtkWidget *flake_ebox; GtkWidget *government_ebox; -const char * const gui_character_encoding = "UTF-8"; +const char *const gui_character_encoding = "UTF-8"; const bool gui_use_transliteration = FALSE; static GtkWidget *main_menubar; @@ -1046,7 +1046,7 @@ } /************************************************************************** - do the heavy lifting for the widget setup. + Do the heavy lifting for the widget setup. **************************************************************************/ static void setup_widgets(void) { @@ -1055,8 +1055,6 @@ GtkWidget *button, *view, *vgrid, *right_vbox = NULL; int i; char buf[256]; - struct sprite *sprite; - GtkWidget *notebook, *statusbar; message_buffer = gtk_text_buffer_new(NULL); @@ -1232,6 +1230,8 @@ gtk_container_add(GTK_CONTAINER(ebox), table2); for (i = 0; i < 10; i++) { + struct sprite *spr; + ebox = gtk_event_box_new(); gtk_event_box_set_visible_window(GTK_EVENT_BOX(ebox), FALSE); gtk_widget_add_events(ebox, GDK_BUTTON_PRESS_MASK); @@ -1241,20 +1241,20 @@ g_signal_connect(ebox, "button_press_event", G_CALLBACK(taxrates_callback), GINT_TO_POINTER(i)); - sprite = i < 5 ? get_tax_sprite(tileset, O_SCIENCE) : get_tax_sprite(tileset, O_GOLD); - econ_label[i] = gtk_pixcomm_new_from_sprite(sprite); + spr = i < 5 ? get_tax_sprite(tileset, O_SCIENCE) : get_tax_sprite(tileset, O_GOLD); + econ_label[i] = gtk_image_new_from_pixbuf(sprite_get_pixbuf(spr)); gtk_container_add(GTK_CONTAINER(ebox), econ_label[i]); } /* science, environmental, govt, timeout */ bulb_label - = gtk_pixcomm_new_from_sprite(client_research_sprite()); + = gtk_image_new_from_pixbuf(sprite_get_pixbuf(client_research_sprite())); sun_label - = gtk_pixcomm_new_from_sprite(client_warming_sprite()); + = gtk_image_new_from_pixbuf(sprite_get_pixbuf(client_warming_sprite())); flake_label - = gtk_pixcomm_new_from_sprite(client_cooling_sprite()); + = gtk_image_new_from_pixbuf(sprite_get_pixbuf(client_cooling_sprite())); government_label - = gtk_pixcomm_new_from_sprite(client_government_sprite()); + = gtk_image_new_from_pixbuf(sprite_get_pixbuf(client_government_sprite())); for (i = 0; i < 4; i++) { GtkWidget *w; Modified: trunk/client/gui-gtk-3.0/mapview.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/mapview.c?rev=32148&r1=32147&r2=32148&view=diff ============================================================================== --- trunk/client/gui-gtk-3.0/mapview.c (original) +++ trunk/client/gui-gtk-3.0/mapview.c Tue Mar 1 23:24:36 2016 @@ -1,4 +1,4 @@ -/********************************************************************** +/********************************************************************** Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -155,39 +155,39 @@ get_info_label_text(!GUI_GTK_OPTION(small_display_layout))); set_indicator_icons(client_research_sprite(), - client_warming_sprite(), - client_cooling_sprite(), - client_government_sprite()); + client_warming_sprite(), + client_cooling_sprite(), + client_government_sprite()); if (NULL != client.conn.playing) { int d = 0; for (; d < client.conn.playing->economic.luxury /10; d++) { - struct sprite *sprite = get_tax_sprite(tileset, O_LUXURY); - - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(econ_label[d]), sprite); + struct sprite *spr = get_tax_sprite(tileset, O_LUXURY); + + gtk_image_set_from_pixbuf(GTK_IMAGE(econ_label[d]), sprite_get_pixbuf(spr)); } - + for (; d < (client.conn.playing->economic.science + client.conn.playing->economic.luxury) / 10; d++) { - struct sprite *sprite = get_tax_sprite(tileset, O_SCIENCE); - - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(econ_label[d]), sprite); + struct sprite *spr = get_tax_sprite(tileset, O_SCIENCE); + + gtk_image_set_from_pixbuf(GTK_IMAGE(econ_label[d]), sprite_get_pixbuf(spr)); } - + for (; d < 10; d++) { - struct sprite *sprite = get_tax_sprite(tileset, O_GOLD); - - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(econ_label[d]), sprite); + struct sprite *spr = get_tax_sprite(tileset, O_GOLD); + + gtk_image_set_from_pixbuf(GTK_IMAGE(econ_label[d]), sprite_get_pixbuf(spr)); } } - + update_timeout_label(); /* update tooltips. */ gtk_widget_set_tooltip_text(econ_ebox, - _("Shows your current luxury/science/tax rates; " - "click to toggle them.")); + _("Shows your current luxury/science/tax rates; " + "click to toggle them.")); gtk_widget_set_tooltip_text(bulb_ebox, get_bulb_tooltip()); gtk_widget_set_tooltip_text(sun_ebox, get_global_warming_tooltip()); @@ -256,7 +256,6 @@ update_unit_pix_label(punits); } - /************************************************************************** Get sprite for treaty acceptance or rejection. **************************************************************************/ @@ -271,12 +270,12 @@ indicator. ****************************************************************************/ void set_indicator_icons(struct sprite *bulb, struct sprite *sol, - struct sprite *flake, struct sprite *gov) -{ - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(bulb_label), bulb); - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(sun_label), sol); - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(flake_label), flake); - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(government_label), gov); + struct sprite *flake, struct sprite *gov) +{ + gtk_image_set_from_pixbuf(GTK_IMAGE(bulb_label), sprite_get_pixbuf(bulb)); + gtk_image_set_from_pixbuf(GTK_IMAGE(sun_label), sprite_get_pixbuf(sol)); + gtk_image_set_from_pixbuf(GTK_IMAGE(flake_label), sprite_get_pixbuf(flake)); + gtk_image_set_from_pixbuf(GTK_IMAGE(government_label), sprite_get_pixbuf(gov)); } /**************************************************************************** @@ -475,7 +474,6 @@ put_unit(punit, &canvas_store, 1.0, 0, 0); } - /************************************************************************** FIXME: Modified: trunk/client/gui-gtk-3.0/sprite.h URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/sprite.h?rev=32148&r1=32147&r2=32148&view=diff ============================================================================== --- trunk/client/gui-gtk-3.0/sprite.h (original) +++ trunk/client/gui-gtk-3.0/sprite.h Tue Mar 1 23:24:36 2016 @@ -1,4 +1,4 @@ -/********************************************************************** +/********************************************************************** Freeciv - Copyright (C) 1996-2005 - Freeciv Development Team This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/client/gui-gtk-3.x/gui_main.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.x/gui_main.c?rev=32148&r1=32147&r2=32148&view=diff ============================================================================== --- trunk/client/gui-gtk-3.x/gui_main.c (original) +++ trunk/client/gui-gtk-3.x/gui_main.c Tue Mar 1 23:24:36 2016 @@ -1,4 +1,4 @@ -/********************************************************************** +/********************************************************************** Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -159,7 +159,7 @@ GtkWidget *flake_ebox; GtkWidget *government_ebox; -const char * const gui_character_encoding = "UTF-8"; +const char *const gui_character_encoding = "UTF-8"; const bool gui_use_transliteration = FALSE; static GtkWidget *main_menubar; @@ -1068,7 +1068,7 @@ #endif /************************************************************************** - do the heavy lifting for the widget setup. + Do the heavy lifting for the widget setup. **************************************************************************/ static void setup_widgets(void) { @@ -1077,9 +1077,8 @@ GtkWidget *button, *view, *vgrid, *right_vbox = NULL; int i; char buf[256]; - struct sprite *sprite; - GtkWidget *notebook, *statusbar; + struct sprite *spr; message_buffer = gtk_text_buffer_new(NULL); @@ -1249,10 +1248,10 @@ gtk_event_box_set_visible_window(GTK_EVENT_BOX(ebox), FALSE); gtk_grid_attach(GTK_GRID(table), ebox, 0, 0, 10, 1); econ_ebox = ebox; - + table2 = gtk_grid_new(); gtk_container_add(GTK_CONTAINER(ebox), table2); - + for (i = 0; i < 10; i++) { ebox = gtk_event_box_new(); gtk_event_box_set_visible_window(GTK_EVENT_BOX(ebox), FALSE); @@ -1263,24 +1262,43 @@ g_signal_connect(ebox, "button_press_event", G_CALLBACK(taxrates_callback), GINT_TO_POINTER(i)); - sprite = i < 5 ? get_tax_sprite(tileset, O_SCIENCE) : get_tax_sprite(tileset, O_GOLD); - econ_label[i] = gtk_pixcomm_new_from_sprite(sprite); + spr = i < 5 ? get_tax_sprite(tileset, O_SCIENCE) : get_tax_sprite(tileset, O_GOLD); + econ_label[i] = gtk_image_new_from_surface(spr->surface); gtk_container_add(GTK_CONTAINER(ebox), econ_label[i]); } /* science, environmental, govt, timeout */ - bulb_label - = gtk_pixcomm_new_from_sprite(client_research_sprite()); - sun_label - = gtk_pixcomm_new_from_sprite(client_warming_sprite()); - flake_label - = gtk_pixcomm_new_from_sprite(client_cooling_sprite()); - government_label - = gtk_pixcomm_new_from_sprite(client_government_sprite()); + spr = client_research_sprite(); + if (spr != NULL) { + bulb_label = gtk_image_new_from_surface(spr->surface); + } else { + bulb_label = gtk_image_new(); + } + + spr = client_warming_sprite(); + if (spr != NULL) { + sun_label = gtk_image_new_from_surface(spr->surface); + } else { + sun_label = gtk_image_new(); + } + + spr = client_cooling_sprite(); + if (spr != NULL) { + flake_label = gtk_image_new_from_surface(spr->surface); + } else { + flake_label = gtk_image_new(); + } + + spr = client_government_sprite(); + if (spr != NULL) { + government_label = gtk_image_new_from_surface(spr->surface); + } else { + government_label = gtk_image_new(); + } for (i = 0; i < 4; i++) { GtkWidget *w; - + ebox = gtk_event_box_new(); gtk_event_box_set_visible_window(GTK_EVENT_BOX(ebox), FALSE); Modified: trunk/client/gui-gtk-3.x/mapview.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.x/mapview.c?rev=32148&r1=32147&r2=32148&view=diff ============================================================================== --- trunk/client/gui-gtk-3.x/mapview.c (original) +++ trunk/client/gui-gtk-3.x/mapview.c Tue Mar 1 23:24:36 2016 @@ -1,4 +1,4 @@ -/********************************************************************** +/********************************************************************** Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -169,39 +169,39 @@ get_info_label_text(!GUI_GTK_OPTION(small_display_layout))); set_indicator_icons(client_research_sprite(), - client_warming_sprite(), - client_cooling_sprite(), - client_government_sprite()); + client_warming_sprite(), + client_cooling_sprite(), + client_government_sprite()); if (NULL != client.conn.playing) { int d = 0; for (; d < client.conn.playing->economic.luxury /10; d++) { - struct sprite *sprite = get_tax_sprite(tileset, O_LUXURY); - - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(econ_label[d]), sprite); + struct sprite *spr = get_tax_sprite(tileset, O_LUXURY); + + gtk_image_set_from_surface(GTK_IMAGE(econ_label[d]), spr->surface); } - + for (; d < (client.conn.playing->economic.science + client.conn.playing->economic.luxury) / 10; d++) { - struct sprite *sprite = get_tax_sprite(tileset, O_SCIENCE); - - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(econ_label[d]), sprite); + struct sprite *spr = get_tax_sprite(tileset, O_SCIENCE); + + gtk_image_set_from_surface(GTK_IMAGE(econ_label[d]), spr->surface); } - + for (; d < 10; d++) { - struct sprite *sprite = get_tax_sprite(tileset, O_GOLD); - - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(econ_label[d]), sprite); + struct sprite *spr = get_tax_sprite(tileset, O_GOLD); + + gtk_image_set_from_surface(GTK_IMAGE(econ_label[d]), spr->surface); } } - + update_timeout_label(); /* update tooltips. */ gtk_widget_set_tooltip_text(econ_ebox, - _("Shows your current luxury/science/tax rates; " - "click to toggle them.")); + _("Shows your current luxury/science/tax rates; " + "click to toggle them.")); gtk_widget_set_tooltip_text(bulb_ebox, get_bulb_tooltip()); gtk_widget_set_tooltip_text(sun_ebox, get_global_warming_tooltip()); @@ -270,7 +270,6 @@ update_unit_pix_label(punits); } - /************************************************************************** Get sprite for treaty acceptance or rejection. **************************************************************************/ @@ -285,12 +284,12 @@ indicator. ****************************************************************************/ void set_indicator_icons(struct sprite *bulb, struct sprite *sol, - struct sprite *flake, struct sprite *gov) -{ - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(bulb_label), bulb); - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(sun_label), sol); - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(flake_label), flake); - gtk_pixcomm_set_from_sprite(GTK_PIXCOMM(government_label), gov); + struct sprite *flake, struct sprite *gov) +{ + gtk_image_set_from_surface(GTK_IMAGE(bulb_label), bulb->surface); + gtk_image_set_from_surface(GTK_IMAGE(sun_label), sol->surface); + gtk_image_set_from_surface(GTK_IMAGE(flake_label), flake->surface); + gtk_image_set_from_surface(GTK_IMAGE(government_label), gov->surface); } /**************************************************************************** @@ -489,7 +488,6 @@ put_unit(punit, &canvas_store, 1.0, 0, 0); } - /************************************************************************** FIXME: Modified: trunk/client/gui-gtk-3.x/sprite.h URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.x/sprite.h?rev=32148&r1=32147&r2=32148&view=diff ============================================================================== --- trunk/client/gui-gtk-3.x/sprite.h (original) +++ trunk/client/gui-gtk-3.x/sprite.h Tue Mar 1 23:24:36 2016 @@ -1,4 +1,4 @@ -/********************************************************************** +/********************************************************************** Freeciv - Copyright (C) 1996-2005 - Freeciv Development Team This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits