From f1cb9cb44b9ede77207efaca3aab73ac256d004f Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Sun, 10 Oct 2021 00:18:41 +0300 Subject: [PATCH 45/45] gtk4: Comment out all menu code See osdn #43013 Signed-off-by: Marko Lindqvist --- client/gui-gtk-4.0/citydlg.c | 20 +++++++++--- client/gui-gtk-4.0/cityrep.c | 59 +++++++++++++++++++++++++--------- client/gui-gtk-4.0/diplodlg.c | 30 +++++++++++++---- client/gui-gtk-4.0/gtkcompat.h | 2 ++ client/gui-gtk-4.0/gui_stuff.c | 4 +++ client/gui-gtk-4.0/menu.c | 27 ++++++++++++++-- client/gui-gtk-4.0/optiondlg.c | 8 ++++- client/gui-gtk-4.0/pages.c | 8 ++++- client/gui-gtk-4.0/plrdlg.c | 30 +++++++++++------ client/gui-gtk-4.0/wldlg.c | 11 +++++-- 10 files changed, 156 insertions(+), 43 deletions(-) diff --git a/client/gui-gtk-4.0/citydlg.c b/client/gui-gtk-4.0/citydlg.c index c4652ca97c..150fe2722c 100644 --- a/client/gui-gtk-4.0/citydlg.c +++ b/client/gui-gtk-4.0/citydlg.c @@ -269,6 +269,7 @@ static gboolean present_unit_middle_callback(GtkWidget *w, GdkEvent *ev, gpointer data); +#ifdef MENUS_GTK3 static void unit_center_callback(GtkWidget *w, gpointer data); static void unit_activate_callback(GtkWidget *w, gpointer data); static void supported_unit_activate_close_callback(GtkWidget *w, @@ -282,6 +283,7 @@ static void unit_fortify_callback(GtkWidget * w, gpointer data); static void unit_disband_callback(GtkWidget * w, gpointer data); static void unit_homecity_callback(GtkWidget * w, gpointer data); static void unit_upgrade_callback(GtkWidget * w, gpointer data); +#endif /* MENUS_GTK3 */ static gboolean citizens_callback(GtkWidget *w, GdkEvent *ev, gpointer data); @@ -1573,7 +1575,7 @@ static struct city_dialog *create_city_dialog(struct city *pcity) GUI_GTK_OPTION(citydlg_xsize), GUI_GTK_OPTION(citydlg_ysize)); - pdialog->popup_menu = gtk_menu_new(); + pdialog->popup_menu = gtk_menu_button_new(); vbox = gtk_dialog_get_content_area(GTK_DIALOG(pdialog->shell)); hbox = gtk_grid_new(); @@ -2381,6 +2383,7 @@ static void show_units_response(void *data) } } +#ifdef MENUS_GTK3 /***********************************************************************//** Destroy widget -callback ***************************************************************************/ @@ -2388,6 +2391,7 @@ static void destroy_func(GtkWidget *w, gpointer data) { gtk_widget_destroy(w); } +#endif /* MENUS_GTK3 */ /***********************************************************************//** Pop-up menu to change attributes of supported units @@ -2395,7 +2399,6 @@ static void destroy_func(GtkWidget *w, gpointer data) static gboolean supported_unit_callback(GtkWidget *w, GdkEvent *ev, gpointer data) { - GtkWidget *menu, *item; struct city_dialog *pdialog; struct city *pcity; struct unit *punit = @@ -2415,6 +2418,9 @@ static gboolean supported_unit_callback(GtkWidget *w, GdkEvent *ev, return FALSE; } +#ifdef MENUS_GTK3 + GtkWidget *menu, *item; + menu = pdialog->popup_menu; gtk_menu_popdown(GTK_MENU(menu)); @@ -2425,7 +2431,7 @@ static gboolean supported_unit_callback(GtkWidget *w, GdkEvent *ev, G_CALLBACK(unit_center_callback), GINT_TO_POINTER(punit->id)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - + item = gtk_menu_item_new_with_mnemonic(_("_Activate unit")); g_signal_connect(item, "activate", G_CALLBACK(unit_activate_callback), @@ -2451,6 +2457,7 @@ static gboolean supported_unit_callback(GtkWidget *w, GdkEvent *ev, gtk_widget_show(menu); gtk_menu_popup_at_pointer(GTK_MENU(menu), NULL); +#endif /* MENUS_GTK3 */ } return TRUE; @@ -2462,7 +2469,6 @@ static gboolean supported_unit_callback(GtkWidget *w, GdkEvent *ev, static gboolean present_unit_callback(GtkWidget *w, GdkEvent *ev, gpointer data) { - GtkWidget *menu, *item; struct city_dialog *pdialog; struct city *pcity; struct unit *punit = @@ -2482,6 +2488,9 @@ static gboolean present_unit_callback(GtkWidget *w, GdkEvent *ev, return FALSE; } +#ifdef MENUS_GTK3 + GtkWidget *menu, *item; + menu = pdialog->popup_menu; gtk_menu_popdown(GTK_MENU(menu)); @@ -2575,6 +2584,7 @@ static gboolean present_unit_callback(GtkWidget *w, GdkEvent *ev, gtk_widget_show(menu); gtk_menu_popup_at_pointer(GTK_MENU(menu), NULL); +#endif /* MENUS_GTK3 */ } return TRUE; @@ -2640,6 +2650,7 @@ static gboolean supported_unit_middle_callback(GtkWidget *w, return TRUE; } +#ifdef MENUS_GTK3 /***********************************************************************//** User has requested centering to unit ***************************************************************************/ @@ -2818,6 +2829,7 @@ static void unit_upgrade_callback(GtkWidget *w, gpointer data) popup_upgrade_dialog(punits); unit_list_destroy(punits); } +#endif /* MENUS_GTK3 */ /******** Callbacks for citizen bar, map funcs that are not update ********/ diff --git a/client/gui-gtk-4.0/cityrep.c b/client/gui-gtk-4.0/cityrep.c index 7f3e87ac70..cde6a2d01f 100644 --- a/client/gui-gtk-4.0/cityrep.c +++ b/client/gui-gtk-4.0/cityrep.c @@ -84,9 +84,12 @@ static void city_command_callback(struct gui_dialog *dlg, int response, gpointer data); static void city_selection_changed_callback(GtkTreeSelection *selection); +#ifdef MENUS_GTK3 static void city_clear_worklist_callback(GtkMenuItem *item, gpointer data); +#endif /* MENUS_GTK3 */ static void update_total_buy_cost(void); +#ifdef MENUS_GTK3 static void create_select_menu(GtkWidget *item); static void create_change_menu(GtkWidget *item); static void create_last_menu(GtkWidget *item); @@ -94,6 +97,7 @@ static void create_first_menu(GtkWidget *item); static void create_next_menu(GtkWidget *item); static void create_next_to_last_menu(GtkWidget *item); static void create_sell_menu(GtkWidget *item); +#endif /* MENUS_GTK3 */ static struct gui_dialog *city_dialog_shell = NULL; @@ -106,6 +110,7 @@ static GtkTreeSelection *city_selection; static GtkListStore *city_model; #define CRD_COL_CITY_ID (0 + NUM_CREPORT_COLS) +#ifdef MENUS_GTK3 static void popup_select_menu(GtkMenuShell *menu, gpointer data); static void popup_change_menu(GtkMenuShell *menu, gpointer data); static void popup_last_menu(GtkMenuShell *menu, gpointer data); @@ -114,15 +119,19 @@ static void popup_next_menu(GtkMenuShell *menu, gpointer data); static void popup_next_to_last_menu(GtkMenuShell *menu, gpointer data); static void recreate_sell_menu(void); +#endif /* MENUS_GTK3 */ static GtkWidget *city_center_command; static GtkWidget *city_popup_command; static GtkWidget *city_buy_command; +#ifdef MENUS_GTK3 static GtkWidget *city_production_command; static GtkWidget *city_governor_command; static GtkWidget *city_sell_command; +#endif /* MENUS_GTK3 */ static GtkWidget *city_total_buy_cost_label; +#ifdef MENUS_GTK3 static GtkWidget *change_improvements_item; static GtkWidget *change_units_item; static GtkWidget *change_wonders_item; @@ -158,6 +167,7 @@ static GtkWidget *select_improvements_item; static GtkWidget *select_units_item; static GtkWidget *select_wonders_item; static GtkWidget *select_cma_item; +#endif /* MENUS_GTK3 */ static int city_dialog_shell_is_modal; @@ -316,6 +326,7 @@ void city_report_dialog_popdown(void) } } +#ifdef MENUS_GTK3 /************************************************************************//** Make submenu listing possible build targets ****************************************************************************/ @@ -342,7 +353,7 @@ static void append_impr_or_unit_to_menu_item(GtkMenuItem *parent_item, "" }; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(parent_item, menu); if (city_operation != CO_NONE) { @@ -763,7 +774,7 @@ static void append_cma_to_menu_item(GtkMenuItem *parent_item, bool change_cma) gtk_menu_item_set_submenu(parent_item, NULL); return; } - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(parent_item, menu); if (change_cma) { @@ -952,7 +963,7 @@ static void production_menu_shown(GtkWidget *widget, gpointer data) } if (menu == NULL) { - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(parent_item, menu); } @@ -1023,7 +1034,7 @@ static void update_view_menu(GtkWidget *show_item) struct city_report_spec *spec; int i; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); for (i = 0, spec = city_report_specs + i; i < NUM_CREPORT_COLS; i++, spec++) { item = gtk_check_menu_item_new_with_label(spec->explanation); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); @@ -1032,13 +1043,15 @@ static void update_view_menu(GtkWidget *show_item) } gtk_menu_item_set_submenu(GTK_MENU_ITEM(show_item), menu); } +#endif /* MENUS_GTK3 */ /************************************************************************//** Create menubar for city report ****************************************************************************/ static GtkWidget *create_city_report_menubar(void) { - GtkWidget *vbox, *sep, *menubar, *menu, *item; + GtkWidget *vbox, *sep; + GtkWidget *menubar; vbox = gtk_grid_new(); gtk_orientable_set_orientation(GTK_ORIENTABLE(vbox), @@ -1048,12 +1061,15 @@ static GtkWidget *create_city_report_menubar(void) menubar = gtk_aux_menu_bar_new(); gtk_container_add(GTK_CONTAINER(vbox), menubar); - + +#ifdef MENUS_GTK3 + GtkWidget *menu, *item; + item = gtk_menu_item_new_with_mnemonic(_("_Production")); city_production_command = item; gtk_menu_shell_append(GTK_MENU_SHELL(menubar), item); - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); item = gtk_menu_item_new_with_mnemonic(_("Chan_ge")); @@ -1113,6 +1129,8 @@ static GtkWidget *create_city_report_menubar(void) item = gtk_menu_item_new_with_mnemonic(_("_Display")); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), item); update_view_menu(item); +#endif /* MENUS_GTK3 */ + return vbox; } @@ -1234,6 +1252,7 @@ static void create_city_report_dialog(bool make_modal) city_selection_changed_callback(city_selection); } +#ifdef MENUS_GTK3 /************************************************************************//** User has chosen to select all cities ****************************************************************************/ @@ -1344,6 +1363,7 @@ static void city_select_building_callback(GtkMenuItem *item, gpointer data) } } } +#endif /* MENUS_GTK3 */ /************************************************************************//** Buy the production in one single city. @@ -1472,9 +1492,11 @@ void real_city_report_dialog_update(void *unused) city_model_fill(city_model, city_selection, selected); g_hash_table_destroy(selected); +#ifdef MENUS_GTK3 if (gtk_widget_get_sensitive(city_governor_command)) { append_cma_to_menu_item(GTK_MENU_ITEM(city_governor_command), TRUE); } +#endif /* MENUS_GTK3 */ select_menu_cached = FALSE; } @@ -1498,6 +1520,7 @@ void real_city_report_update_city(struct city *pcity) update_total_buy_cost(); } +#ifdef MENUS_GTK3 /************************************************************************//** Create submenu for changing production target ****************************************************************************/ @@ -1505,7 +1528,7 @@ static void create_change_menu(GtkWidget *item) { GtkWidget *menu; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); g_signal_connect(menu, "show", G_CALLBACK(popup_change_menu), NULL); @@ -1524,7 +1547,7 @@ static void create_last_menu(GtkWidget *item) { GtkWidget *menu; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); g_signal_connect(menu, "show", G_CALLBACK(popup_last_menu), NULL); @@ -1543,7 +1566,7 @@ static void create_first_menu(GtkWidget *item) { GtkWidget *menu; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); g_signal_connect(menu, "show", G_CALLBACK(popup_first_menu), NULL); @@ -1562,7 +1585,7 @@ static void create_next_menu(GtkWidget *item) { GtkWidget *menu; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); g_signal_connect(menu, "show", G_CALLBACK(popup_next_menu), NULL); @@ -1581,7 +1604,7 @@ static void create_next_to_last_menu(GtkWidget *parent_item) { GtkWidget *menu, *item; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(parent_item), menu); g_signal_connect(menu, "show", G_CALLBACK(popup_next_to_last_menu), NULL); @@ -1606,7 +1629,7 @@ static void create_sell_menu(GtkWidget *item) { GtkWidget *menu; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); } @@ -1767,7 +1790,7 @@ static void create_select_menu(GtkWidget *item) { GtkWidget *menu; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); g_signal_connect(menu, "show", G_CALLBACK(popup_select_menu), NULL); @@ -1895,8 +1918,9 @@ static void popup_select_menu(GtkMenuShell *menu, gpointer data) { int n; - if (select_menu_cached) + if (select_menu_cached) { return; + } n = gtk_tree_selection_count_selected_rows(city_selection); gtk_widget_set_sensitive(select_island_item, (n > 0)); @@ -1947,6 +1971,7 @@ static void popup_select_menu(GtkMenuShell *menu, gpointer data) select_menu_cached = TRUE; } +#endif /* MENUS_GTK3 */ /************************************************************************//** Update the value displayed by the "total buy cost" label in the city @@ -2000,6 +2025,7 @@ static void update_total_buy_cost(void) ****************************************************************************/ static void city_selection_changed_callback(GtkTreeSelection *selection) { +#ifdef MENUS_GTK3 int n; bool obs_may, plr_may; @@ -2017,10 +2043,12 @@ static void city_selection_changed_callback(GtkTreeSelection *selection) } else { gtk_widget_set_sensitive(city_sell_command, FALSE); } +#endif /* MENUS_GTK3 */ update_total_buy_cost(); } +#ifdef MENUS_GTK3 /************************************************************************//** Clear the worklist in one selected city in the city report. ****************************************************************************/ @@ -2053,6 +2081,7 @@ static void city_clear_worklist_callback(GtkMenuItem *item, gpointer data) clear_worklist_foreach_func, NULL); connection_do_unbuffer(pconn); } +#endif /* MENUS_GTK3 */ /************************************************************************//** After a selection rectangle is defined, make the cities that diff --git a/client/gui-gtk-4.0/diplodlg.c b/client/gui-gtk-4.0/diplodlg.c index e94193108f..13dc3a4786 100644 --- a/client/gui-gtk-4.0/diplodlg.c +++ b/client/gui-gtk-4.0/diplodlg.c @@ -85,6 +85,8 @@ static struct Diplomacy_dialog *create_diplomacy_dialog(struct player *plr0, static struct Diplomacy_dialog *find_diplomacy_dialog(int other_player_id); static void popup_diplomacy_dialog(int other_player_id, int initiated_from); + +#ifdef MENUS_GTK3 static void diplomacy_dialog_map_callback(GtkWidget *w, gpointer data); static void diplomacy_dialog_seamap_callback(GtkWidget *w, gpointer data); static void diplomacy_dialog_tech_callback(GtkWidget *w, gpointer data); @@ -94,6 +96,8 @@ static void diplomacy_dialog_peace_callback(GtkWidget *w, gpointer data); static void diplomacy_dialog_alliance_callback(GtkWidget *w, gpointer data); static void diplomacy_dialog_vision_callback(GtkWidget *w, gpointer data); static void diplomacy_dialog_embassy_callback(GtkWidget *w, gpointer data); +#endif /* MENUS_GTK3 */ + static void close_diplomacy_dialog(struct Diplomacy_dialog *pdialog); static void update_diplomacy_dialog(struct Diplomacy_dialog *pdialog); static void diplo_dialog_returnkey(GtkWidget *w, gpointer data); @@ -216,6 +220,7 @@ static void popup_diplomacy_dialog(int other_player_id, int initiated_from) } } +#ifdef MENUS_GTK3 /************************************************************************//** Utility for g_list_sort(). See below. ****************************************************************************/ @@ -249,7 +254,7 @@ static void popup_add_menu(GtkMenuShell *parent, gpointer data) /* Maps. */ - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); item = gtk_menu_item_new_with_mnemonic(_("World-map")); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_object_set_data(G_OBJECT(item), "plr", pgiver); @@ -298,7 +303,7 @@ static void popup_add_menu(GtkMenuShell *parent, gpointer data) const struct advance *padvance; sorting_list = g_list_sort(sorting_list, sort_advance_names); - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); /* TRANS: All technologies menu item in the diplomatic dialog. */ item = gtk_menu_item_new_with_label(_("All advances")); @@ -364,7 +369,7 @@ static void popup_add_menu(GtkMenuShell *parent, gpointer data) qsort(city_list_ptrs, i, sizeof(struct city *), city_name_compare); - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); for (j = 0; j < i; j++) { item = gtk_menu_item_new_with_label(city_name_get(city_list_ptrs[j])); @@ -419,7 +424,7 @@ static void popup_add_menu(GtkMenuShell *parent, gpointer data) ds = player_diplstate_get(pgiver, pother)->type; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); item = gtk_menu_item_new_with_mnemonic(Q_("?diplomatic_state:Cease-fire")); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_signal_connect(item, "activate", @@ -444,6 +449,7 @@ static void popup_add_menu(GtkMenuShell *parent, gpointer data) gtk_widget_show(item); } } +#endif /* MENUS_GTK3 */ /************************************************************************//** Some clause activated @@ -623,7 +629,11 @@ static struct Diplomacy_dialog *create_diplomacy_dialog(struct player *plr0, struct Diplomacy_notebook *dipl_dialog; GtkWidget *vbox, *hbox, *table, *mainbox; GtkWidget *label, *sw, *view, *image, *spin; - GtkWidget *menubar, *menuitem, *menu, *notebook; + GtkWidget *menu; +#ifdef MENUS_GTK3 + GtkWidget *menuitem; +#endif /* MENUS_GTK3 */ + GtkWidget *menubar, *notebook; struct sprite *flag_spr; GtkListStore *store; GtkCellRenderer *rend; @@ -730,14 +740,16 @@ static struct Diplomacy_dialog *create_diplomacy_dialog(struct player *plr0, /* Menu for clauses: we. */ menubar = gtk_aux_menu_bar_new(); - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); pdialog->menu0 = menu; +#ifdef MENUS_GTK3 menuitem = gtk_menu_item_new_with_label(_("Add Clause...")); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menuitem); g_object_set_data(G_OBJECT(menu), "plr", plr0); g_signal_connect(menu, "show", G_CALLBACK(popup_add_menu), pdialog); +#endif /* MENUS_GTK3 */ /* Main table for clauses and (if activated) gold trading: we. */ table = gtk_grid_new(); @@ -815,14 +827,16 @@ static struct Diplomacy_dialog *create_diplomacy_dialog(struct player *plr0, /* Menu for clauses: they. */ menubar = gtk_aux_menu_bar_new(); - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); pdialog->menu1 = menu; +#ifdef MENUS_GTK3 menuitem = gtk_menu_item_new_with_label(_("Add Clause...")); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menuitem); g_object_set_data(G_OBJECT(menu), "plr", plr1); g_signal_connect(menu, "show", G_CALLBACK(popup_add_menu), pdialog); +#endif /* MENUS_GTK3 */ /* Main table for clauses and (if activated) gold trading: they. */ table = gtk_grid_new(); @@ -942,6 +956,7 @@ static void update_diplomacy_dialog(struct Diplomacy_dialog *pdialog) g_object_unref(G_OBJECT(pixbuf)); } +#ifdef MENUS_GTK3 /************************************************************************//** Callback for the diplomatic dialog: give tech. ****************************************************************************/ @@ -1107,6 +1122,7 @@ static void diplomacy_dialog_embassy_callback(GtkWidget *w, gpointer data) player_number(pgiver), CLAUSE_EMBASSY, 0); } +#endif /* MENUS_GTK3 */ /************************************************************************//** Close diplomacy dialog diff --git a/client/gui-gtk-4.0/gtkcompat.h b/client/gui-gtk-4.0/gtkcompat.h index 8b81d44c81..6a78502944 100644 --- a/client/gui-gtk-4.0/gtkcompat.h +++ b/client/gui-gtk-4.0/gtkcompat.h @@ -39,6 +39,8 @@ GdkScrollDirection gdk_scroll_event_get_direction(GdkEvent *ev); #define gtk_label_set_wrap(_wdg_, _wrap_) gtk_label_set_line_wrap(_wdg_, _wrap_) +#define gtk_menu_button_new() gtk_menu_new() + #endif /* GTK version < 3.98 */ #if !GTK_CHECK_VERSION(3,99,0) diff --git a/client/gui-gtk-4.0/gui_stuff.c b/client/gui-gtk-4.0/gui_stuff.c index 9e61aeda2e..b125604009 100644 --- a/client/gui-gtk-4.0/gui_stuff.c +++ b/client/gui-gtk-4.0/gui_stuff.c @@ -235,6 +235,7 @@ void gtk_tree_view_focus(GtkTreeView *view) **************************************************************************/ GtkWidget *gtk_aux_menu_bar_new(void) { +#ifdef MENUS_GTK3 GtkWidget *menubar = gtk_menu_bar_new(); /* @@ -250,6 +251,9 @@ GtkWidget *gtk_aux_menu_bar_new(void) } return menubar; +#else /* MENUS_GTK3 */ + return NULL; +#endif /* MENUS_GTK3 */ } /**********************************************************************//** diff --git a/client/gui-gtk-4.0/menu.c b/client/gui-gtk-4.0/menu.c index 0a9c1de697..58451f5431 100644 --- a/client/gui-gtk-4.0/menu.c +++ b/client/gui-gtk-4.0/menu.c @@ -74,6 +74,7 @@ static GtkBuilder *ui_builder = NULL; +#ifdef MENUS_GTK3 static void menu_entry_set_active(const char *key, gboolean is_active); static void menu_entry_set_sensitive(const char *key, @@ -1898,6 +1899,7 @@ static void menu_entry_init(GtkBuildable *item) /* temporary naming solution */ gtk_menu_item_set_label(GTK_MENU_ITEM(item), key); } +#endif /* MENUS_GTK3 */ /************************************************************************//** Returns the name of the file readable by the GtkUIManager. @@ -1939,6 +1941,7 @@ GtkWidget *setup_menus(GtkWidget *window) next = entries; while (next != NULL) { +#ifdef MENUS_GTK3 GObject *obj = next->data; if (GTK_IS_MENU_ITEM(obj)) { @@ -1962,6 +1965,8 @@ GtkWidget *setup_menus(GtkWidget *window) } } +#endif /* MENUS_GTK3 */ + next = next->next; } @@ -1979,6 +1984,7 @@ GtkWidget *setup_menus(GtkWidget *window) return menubar; } +#ifdef MENUS_GTK3 /************************************************************************//** Find menu entry constrution data ****************************************************************************/ @@ -2118,6 +2124,7 @@ static const char *get_tile_change_menu_text(struct tile *ptile, tile_virtual_destroy(newtile); return text; } +#endif /* MENUS_GTK3 */ /************************************************************************//** Updates the menus. @@ -2125,6 +2132,7 @@ static const char *get_tile_change_menu_text(struct tile *ptile, void real_menus_update(void) { struct unit_list *punits = NULL; +#ifdef MENUS_GTK3 bool units_all_same_tile = TRUE, units_all_same_type = TRUE; GtkMenu *menu; char acttext[128], irrtext[128], mintext[128], transtext[128]; @@ -2133,11 +2141,13 @@ void real_menus_update(void) bool conn_possible; struct road_type *proad; struct extra_type_list *extras; +#endif /* MENUS_GTK3 */ if (ui_builder == NULL || !can_client_change_view()) { return; } +#ifdef MENUS_GTK3 if (get_num_units_in_focus() > 0) { const struct tile *ptile = NULL; const struct unit_type *ptype = NULL; @@ -2189,11 +2199,13 @@ void real_menus_update(void) menus_rename("CONNECT_RAIL", road_buf); } } +#endif /* MENUS_GTK3 */ if (!can_client_issue_orders()) { return; } +#ifdef MENUS_GTK3 /* Set government sensitivity. */ if ((menu = find_menu("/GOVERNMENT"))) { GList *list, *iter; @@ -2214,6 +2226,7 @@ void real_menus_update(void) } g_list_free(list); } +#endif /* MENUS_GTK3 */ if (!punits) { return; @@ -2221,6 +2234,7 @@ void real_menus_update(void) /* Remaining part of this function: Update Unit, Work, and Combat menus */ +#ifdef MENUS_GTK3 /* Set base sensitivity. */ if ((menu = find_menu("/BUILD_BASE"))) { GList *list, *iter; @@ -2583,8 +2597,11 @@ void real_menus_update(void) menus_rename("UNIT_HOMECITY", action_get_ui_name_mnemonic(ACTION_HOME_CITY, "_")); + +#endif /* MENUS_GTK3 */ } +#ifdef MENUS_GTK3 /************************************************************************//** Add an accelerator to an item in the "Go to and..." menu. ****************************************************************************/ @@ -2627,6 +2644,7 @@ static void menu_remove_previous_entries(GtkMenu *menu) } g_list_free(list); } +#endif /* MENUS_GTK3 */ /************************************************************************//** Initialize menus (sensitivity, name, etc.) based on the @@ -2634,12 +2652,13 @@ static void menu_remove_previous_entries(GtkMenu *menu) ****************************************************************************/ void real_menus_init(void) { - GtkMenu *menu; - if (ui_builder == NULL) { return; } +#ifdef MENUS_GTK3 + GtkMenu *menu; + menu_entry_set_sensitive("GAME_SAVE_AS", can_client_access_hack() && C_S_RUNNING <= client_state()); @@ -2774,7 +2793,7 @@ void real_menus_init(void) g_object_set_data(G_OBJECT(item), "end_action", paction); if (action_id_has_complex_target(act_id)) { - GtkWidget *sub_target_menu = gtk_menu_new(); + GtkWidget *sub_target_menu = gtk_menu_button_new(); #define CREATE_SUB_ITEM(_sub_target_, _sub_target_key_, _sub_target_name_) \ GtkWidget *sub_item = gtk_menu_item_new_with_label(_sub_target_name_); \ @@ -2913,4 +2932,6 @@ void real_menus_init(void) view_menu_update_sensitivity(); menu_entry_set_active("FULL_SCREEN", GUI_GTK_OPTION(fullscreen)); + +#endif /* MENUS_GTK3 */ } diff --git a/client/gui-gtk-4.0/optiondlg.c b/client/gui-gtk-4.0/optiondlg.c index 0a7068a420..0e41f082cf 100644 --- a/client/gui-gtk-4.0/optiondlg.c +++ b/client/gui-gtk-4.0/optiondlg.c @@ -137,6 +137,7 @@ static void option_dialog_destroy_callback(GtkWidget *object, gpointer data) } } +#ifdef MENUS_GTK3 /************************************************************************//** Option refresh requested from menu. ****************************************************************************/ @@ -175,6 +176,7 @@ static void option_apply_callback(GtkMenuItem *menuitem, gpointer data) option_dialog_option_apply(poption); } } +#endif /* MENUS_GTK3 */ /************************************************************************//** Called when a button is pressed on a option. @@ -184,7 +186,9 @@ static gboolean option_button_press_callback(GtkWidget *widget, gpointer data) { struct option *poption = (struct option *) data; +#ifdef MENUS_GTK3 GtkWidget *menu, *item; +#endif /* MENUS_GTK3 */ GdkEventType type; guint button; @@ -199,7 +203,8 @@ static gboolean option_button_press_callback(GtkWidget *widget, return FALSE; } - menu = gtk_menu_new(); +#ifdef MENUS_GTK3 + menu = gtk_menu_button_new(); item = gtk_menu_item_new_with_label(_("Refresh this option")); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); @@ -218,6 +223,7 @@ static gboolean option_button_press_callback(GtkWidget *widget, gtk_widget_show(menu); gtk_menu_popup_at_pointer(GTK_MENU(menu), NULL); +#endif /* MENUS_GTK3 */ return TRUE; } diff --git a/client/gui-gtk-4.0/pages.c b/client/gui-gtk-4.0/pages.c index 40187eea12..dc9e596fab 100644 --- a/client/gui-gtk-4.0/pages.c +++ b/client/gui-gtk-4.0/pages.c @@ -1526,6 +1526,7 @@ static void client_take_player(struct player *pplayer) client_aitoggle_player, data); } +#ifdef MENUS_GTK3 /**********************************************************************//** Connect the object to the player and the connection. **************************************************************************/ @@ -1571,6 +1572,7 @@ static bool object_extract(GObject *object, struct player **ppplayer, return ret; } +#endif /* MENUS_GTK3 */ /**********************************************************************//** Request the game options dialog. @@ -1673,6 +1675,7 @@ void update_start_page(void) conn_list_dialog_update(); } +#ifdef MENUS_GTK3 /**********************************************************************//** Callback for when a team is chosen from the conn menu. **************************************************************************/ @@ -1812,7 +1815,7 @@ static GtkWidget *create_conn_menu(struct player *pplayer, GtkWidget *item; gchar *buf; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); object_put(G_OBJECT(menu), pplayer, pconn); buf = g_strdup_printf(_("%s info"), @@ -1962,6 +1965,7 @@ static GtkWidget *create_conn_menu(struct player *pplayer, return menu; } +#endif /* MENUS_GTK3 */ /**********************************************************************//** Unselect a tree path. @@ -2013,6 +2017,7 @@ static gboolean connection_list_event(GtkWidget *widget, return FALSE; /* Return now, don't free the path. */ } } else if (3 == button) { +#ifdef MENUS_GTK3 GtkTreeModel *model = gtk_tree_view_get_model(tree); GtkTreeIter iter; GtkWidget *menu; @@ -2033,6 +2038,7 @@ static gboolean connection_list_event(GtkWidget *widget, menu = create_conn_menu(pplayer, pconn); gtk_menu_popup_at_pointer(GTK_MENU(menu), NULL); +#endif /* MENUS_GTK3 */ ret = TRUE; } diff --git a/client/gui-gtk-4.0/plrdlg.c b/client/gui-gtk-4.0/plrdlg.c index eee5bdf210..65e25822db 100644 --- a/client/gui-gtk-4.0/plrdlg.c +++ b/client/gui-gtk-4.0/plrdlg.c @@ -70,6 +70,7 @@ static GtkListStore *players_dialog_store; #define PLR_DLG_COL_ID (2 + num_player_dlg_columns) static void create_players_dialog(void); +#ifdef MENUS_GTK3 static void players_meet_callback(GtkMenuItem *item, gpointer data); static void players_war_callback(GtkMenuItem *item, gpointer data); static void players_vision_callback(GtkMenuItem *item, gpointer data); @@ -77,7 +78,7 @@ static void players_intel_callback(GtkMenuItem *item, gpointer data); static void players_sship_callback(GtkMenuItem *item, gpointer data); static void players_ai_toggle_callback(GtkMenuItem *item, gpointer data); static void players_ai_skill_callback(GtkMenuItem *item, gpointer data); - +#endif /* MENUS_GTK3 */ static void update_views(void); @@ -309,6 +310,7 @@ static GtkListStore *players_dialog_store_new(void) return store; } +#ifdef MENUS_GTK3 /**********************************************************************//** Toggled column visibility **************************************************************************/ @@ -338,7 +340,7 @@ static GtkWidget *create_diplomacy_menu(void) { GtkWidget *menu, *item; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); item = gtk_menu_item_new_with_mnemonic(_("_Meet")); g_signal_connect(item, "activate", @@ -369,7 +371,7 @@ static GtkWidget *create_intelligence_menu(void) { GtkWidget *menu, *item; - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); item = gtk_menu_item_new_with_mnemonic(_("_Report")); g_signal_connect(item, "activate", @@ -389,12 +391,12 @@ static GtkWidget *create_intelligence_menu(void) /**********************************************************************//** Create 'show' menu for player dialog **************************************************************************/ -static GtkWidget* create_show_menu(void) +static GtkWidget *create_show_menu(void) { int i; - GtkWidget *menu = gtk_menu_new(); - GtkWidget *item; - + GtkWidget *menu = gtk_menu_button_new(); + GtkWidget *item; + /* index starting at one (1) here to force playername to always be shown */ for (i = 1; i < num_player_dlg_columns; i++) { struct player_dlg_column *pcol; @@ -417,6 +419,7 @@ static GtkWidget* create_show_menu(void) return menu; } +#endif /* MENUS_GTK3 */ /**********************************************************************//** Create all of player dialog @@ -425,8 +428,12 @@ void create_players_dialog(void) { int i; GtkWidget *sep, *sw; - GtkWidget *menubar, *menu, *item, *vbox; + GtkWidget *menubar; +#ifdef MENUS_GTK3 + GtkWidget *menu, *item; enum ai_level level; +#endif /* MENUS_GTK3 */ + GtkWidget *vbox; gui_dialog_new(&players_dialog_shell, GTK_NOTEBOOK(top_notebook), NULL, TRUE); @@ -533,9 +540,9 @@ void create_players_dialog(void) menubar = gtk_aux_menu_bar_new(); gtk_container_add(GTK_CONTAINER(vbox), menubar); - gui_dialog_add_widget(players_dialog_shell, vbox); +#ifdef MENUS_GTK3 item = gtk_menu_item_new_with_mnemonic(_("Di_plomacy")); menu = create_diplomacy_menu(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); @@ -554,7 +561,7 @@ void create_players_dialog(void) item = gtk_menu_item_new_with_mnemonic(_("_AI")); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), item); - menu = gtk_menu_new(); + menu = gtk_menu_button_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); item = gtk_menu_item_new_with_mnemonic(_("_Toggle AI Mode")); @@ -577,6 +584,7 @@ void create_players_dialog(void) } } gtk_widget_show(menu); +#endif /* MENUS_GTK3 */ gui_dialog_show_all(players_dialog_shell); @@ -748,6 +756,7 @@ void real_players_dialog_update(void *unused) update_views(); } +#ifdef MENUS_GTK3 /**********************************************************************//** Callback for diplomatic meetings button. This button is enabled iff we can meet with the other player. @@ -928,6 +937,7 @@ static void players_ai_skill_callback(GtkMenuItem *item, gpointer data) player_name(player_by_number(plrno))); } } +#endif /* MENUS_GTK3 */ /**********************************************************************//** Refresh players dialog views. diff --git a/client/gui-gtk-4.0/wldlg.c b/client/gui-gtk-4.0/wldlg.c index e4073437f1..11fb2daa2c 100644 --- a/client/gui-gtk-4.0/wldlg.c +++ b/client/gui-gtk-4.0/wldlg.c @@ -449,6 +449,7 @@ static void worklist_destroy(GtkWidget *editor, gpointer data) free(ptr); } +#ifdef MENUS_GTK3 /************************************************************************//** Item activated from menu ****************************************************************************/ @@ -515,6 +516,7 @@ static void popup_add_menu(GtkMenuShell *menu, gpointer data) g_signal_connect(item, "activate", G_CALLBACK(popup_worklists_report), NULL); } +#endif /* MENUS_GTK3 */ /************************************************************************//** Help button clicked @@ -1067,7 +1069,10 @@ GtkWidget *create_worklist(void) { GtkWidget *editor, *table, *sw, *bbox; GtkWidget *src_view, *dst_view, *label, *button; - GtkWidget *menubar, *item, *menu; + GtkWidget *menubar; +#ifdef MENUS_GTK3 + GtkWidget *item, *menu; +#endif /* MENUS_GTK3 */ GtkWidget *table2, *arrow, *check; GtkSizeGroup *group; GtkListStore *src_store, *dst_store; @@ -1224,7 +1229,8 @@ GtkWidget *create_worklist(void) menubar = gtk_aux_menu_bar_new(); gtk_container_add(GTK_CONTAINER(bbox), menubar); - menu = gtk_menu_new(); +#ifdef MENUS_GTK3 + menu = gtk_menu_button_new(); item = gtk_menu_item_new_with_mnemonic(_("_Add Global Worklist")); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); @@ -1232,6 +1238,7 @@ GtkWidget *create_worklist(void) g_signal_connect(menu, "show", G_CALLBACK(popup_add_menu), ptr); ptr->add_cmd = item; +#endif /* MENUS_GTK3 */ gtk_widget_set_sensitive(ptr->add_cmd, FALSE); button = icon_label_button_new("help-browser", _("Help")); -- 2.33.0