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

Reply via email to