Author: cazfi Date: Sun Oct 23 09:40:03 2016 New Revision: 34213 URL: http://svn.gna.org/viewcvs/freeciv?rev=34213&view=rev Log: Use GtkImage for indicator icons in gtk3.22-client instead of GtkPixcomm.
See patch #6987 Modified: branches/S2_6/client/gui-gtk-3.22/gui_main.c branches/S2_6/client/gui-gtk-3.22/mapview.c Modified: branches/S2_6/client/gui-gtk-3.22/gui_main.c URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-gtk-3.22/gui_main.c?rev=34213&r1=34212&r2=34213&view=diff ============================================================================== --- branches/S2_6/client/gui-gtk-3.22/gui_main.c (original) +++ branches/S2_6/client/gui-gtk-3.22/gui_main.c Sun Oct 23 09:40:03 2016 @@ -162,7 +162,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; @@ -1118,9 +1118,9 @@ GtkWidget *button, *view, *vgrid, *right_vbox = NULL; int i; char buf[256]; - struct sprite *sprite; GtkWidget *notebook, *statusbar; GtkWidget *dtach_lowbox = NULL; + GdkPixbuf *pb; message_buffer = gtk_text_buffer_new(NULL); @@ -1295,6 +1295,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); @@ -1304,20 +1306,26 @@ 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); + pb = sprite_get_pixbuf(spr); + econ_label[i] = gtk_image_new_from_pixbuf(pb); + g_object_unref(pb); 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()); + pb = sprite_get_pixbuf(client_research_sprite()); + bulb_label = gtk_image_new_from_pixbuf(pb); + g_object_unref(pb); + pb = sprite_get_pixbuf(client_warming_sprite()); + sun_label = gtk_image_new_from_pixbuf(pb); + g_object_unref(pb); + pb = sprite_get_pixbuf(client_cooling_sprite()); + flake_label = gtk_image_new_from_pixbuf(pb); + g_object_unref(pb); + pb = sprite_get_pixbuf(client_government_sprite()); + government_label = gtk_image_new_from_pixbuf(pb); + g_object_unref(pb); for (i = 0; i < 4; i++) { GtkWidget *w; Modified: branches/S2_6/client/gui-gtk-3.22/mapview.c URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-gtk-3.22/mapview.c?rev=34213&r1=34212&r2=34213&view=diff ============================================================================== --- branches/S2_6/client/gui-gtk-3.22/mapview.c (original) +++ branches/S2_6/client/gui-gtk-3.22/mapview.c Sun Oct 23 09:40:03 2016 @@ -155,39 +155,48 @@ 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); + GdkPixbuf *pb; + + pb = sprite_get_pixbuf(spr); + gtk_image_set_from_pixbuf(GTK_IMAGE(econ_label[d]), pb); + g_object_unref(pb); } - + 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); + GdkPixbuf *pb; + + pb = sprite_get_pixbuf(spr); + gtk_image_set_from_pixbuf(GTK_IMAGE(econ_label[d]), pb); + g_object_unref(pb); } - + 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); + GdkPixbuf *pb; + + pb = sprite_get_pixbuf(spr); + gtk_image_set_from_pixbuf(GTK_IMAGE(econ_label[d]), pb); + g_object_unref(pb); } } - + 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 +265,6 @@ update_unit_pix_label(punits); } - /************************************************************************** Get sprite for treaty acceptance or rejection. **************************************************************************/ @@ -271,12 +279,22 @@ 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) +{ + GdkPixbuf *pb; + + pb = sprite_get_pixbuf(bulb); + gtk_image_set_from_pixbuf(GTK_IMAGE(bulb_label), pb); + g_object_unref(pb); + pb = sprite_get_pixbuf(sol); + gtk_image_set_from_pixbuf(GTK_IMAGE(sun_label), pb); + g_object_unref(pb); + pb = sprite_get_pixbuf(flake); + gtk_image_set_from_pixbuf(GTK_IMAGE(flake_label), pb); + g_object_unref(pb); + pb = sprite_get_pixbuf(gov); + gtk_image_set_from_pixbuf(GTK_IMAGE(government_label), pb); + g_object_unref(pb); } /**************************************************************************** @@ -475,7 +493,6 @@ put_unit(punit, &canvas_store, 1.0, 0, 0); } - /************************************************************************** FIXME: _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits