<URL: http://bugs.freeciv.org/Ticket/Display.html?id=12188 >

As I recently discovered, GDK_t (the letter t) was hijacked
in client/gui-gtk-2.0/gui_main.c keyboard_handler(), just as
GDK_escape (PR#39924), and a host of others.  That breaks
every keyboard + 't' combination.

This puts it in a menu, using the menu string from SDL, so
no new translation is needed.  Not perfect, but better than
nothing....  Dunno why nobody fixed this in 2 years.

Hopefully, this fixes the Alt-t problem for you.  (Cannot
test, have no Alt-t commands in English.)  So, I'll commit
immediately, for everybody else to test.

Committed S2_1 revision 14151.

Index: client/gui-gtk-2.0/gui_main.c
===================================================================
--- client/gui-gtk-2.0/gui_main.c       (revision 14150)
+++ client/gui-gtk-2.0/gui_main.c       (working copy)
@@ -542,10 +542,6 @@
     key_cancel_action();
     return TRUE;
 
-  case GDK_t:
-    key_city_workers(w, ev);
-    return TRUE;
-
   default:
     break;
   };
Index: client/gui-gtk-2.0/menu.c
===================================================================
--- client/gui-gtk-2.0/menu.c   (revision 14150)
+++ client/gui-gtk-2.0/menu.c   (working copy)
@@ -100,6 +100,7 @@
   MENU_VIEW_SHOW_CITY_NAMES,
   MENU_VIEW_SHOW_CITY_GROWTH_TURNS,
   MENU_VIEW_SHOW_CITY_PRODUCTIONS,
+  MENU_VIEW_SHOW_CITY_WORKERS,
   MENU_VIEW_SHOW_TERRAIN,
   MENU_VIEW_SHOW_COASTLINE,
   MENU_VIEW_SHOW_ROADS_RAILS,
@@ -321,6 +322,9 @@
     if (draw_city_productions ^ GTK_CHECK_MENU_ITEM(widget)->active)
       key_city_productions_toggle();
     break;
+  case MENU_VIEW_SHOW_CITY_WORKERS:
+    key_city_workers();
+    break;
   case MENU_VIEW_SHOW_TERRAIN:
     if (draw_terrain ^ GTK_CHECK_MENU_ITEM(widget)->active) {
       key_terrain_toggle();
@@ -764,10 +768,11 @@
   { "/" N_("View") "/" N_("City _Names"),              "<control>n",
        view_menu_callback,     MENU_VIEW_SHOW_CITY_NAMES,              
"<CheckItem>"   },
   { "/" N_("View") "/" N_("City G_rowth"),             "<control>r",
-       view_menu_callback,     MENU_VIEW_SHOW_CITY_GROWTH_TURNS,
-       "<CheckItem>"   },
+       view_menu_callback,     MENU_VIEW_SHOW_CITY_GROWTH_TURNS,       
"<CheckItem>"   },
   { "/" N_("View") "/" N_("City _Productions"),                "<control>p",
        view_menu_callback,     MENU_VIEW_SHOW_CITY_PRODUCTIONS,        
"<CheckItem>"   },
+  { "/" N_("View") "/" N_("Draw city worker map grid"),        "t",
+        view_menu_callback,     MENU_VIEW_SHOW_CITY_WORKERS                    
        },
   { "/" N_("View") "/sep1",                            NULL,
        NULL,                   0,                                      
"<Separator>"   },
   { "/" N_("View") "/" N_("Terrain"),                   NULL,
Index: client/gui-gtk-2.0/mapctrl.c
===================================================================
--- client/gui-gtk-2.0/mapctrl.c        (revision 14150)
+++ client/gui-gtk-2.0/mapctrl.c        (working copy)
@@ -458,7 +458,7 @@
 /**************************************************************************
   Draws the on the map the tiles the given city is using
 **************************************************************************/
-void key_city_workers(GtkWidget *w, GdkEventKey *ev)
+void key_city_workers(void)
 {
   int x, y;
   
Index: client/gui-gtk-2.0/mapctrl.h
===================================================================
--- client/gui-gtk-2.0/mapctrl.h        (revision 14150)
+++ client/gui-gtk-2.0/mapctrl.h        (working copy)
@@ -19,8 +19,6 @@
 
 #include "mapctrl_g.h"
 
-void key_city_workers(GtkWidget *w, GdkEventKey *ev);
-
 gboolean butt_release_mapcanvas(GtkWidget *w, GdkEventButton *ev, gpointer 
data);
 gboolean butt_down_mapcanvas(GtkWidget *w, GdkEventButton *ev, gpointer data);
 gboolean butt_down_overviewcanvas(GtkWidget *w, GdkEventButton *ev, gpointer 
data);
@@ -29,6 +27,8 @@
 gboolean move_overviewcanvas(GtkWidget *w, GdkEventMotion *ev, gpointer data);
 
 void center_on_unit(void);
+void key_city_workers(void);
+
 void popupinfo_popdown_callback(GtkWidget *w, gpointer data);
 
 #endif  /* FC__MAPCTRL_H */
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to