From 63a07237d6c66a2b243efb0e0ad71891cf60e7dc Mon Sep 17 00:00:00 2001 From: Dino Date: Wed, 30 Jul 2025 23:44:10 -0400 Subject: [PATCH] #1630 gtk4: add Game menu items Volume Up '>' & Volume Down '<' --- client/gui-gtk-4.0/menu.c | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/client/gui-gtk-4.0/menu.c b/client/gui-gtk-4.0/menu.c index 927cdd9855..718003d874 100644 --- a/client/gui-gtk-4.0/menu.c +++ b/client/gui-gtk-4.0/menu.c @@ -155,6 +155,12 @@ static void client_lua_script_callback(GSimpleAction *action, static void leave_callback(GSimpleAction *action, GVariant *parameter, gpointer data); +static void volume_up_callback(GSimpleAction *action, + GVariant *parameter, + gpointer data); +static void volume_down_callback(GSimpleAction *action, + GVariant *parameter, + gpointer data); static void quit_callback(GSimpleAction *action, GVariant *parameter, gpointer data); @@ -578,6 +584,12 @@ static struct menu_entry_info menu_entries[] = { "LEAVE", N_("_Leave"), "leave", NULL, MGROUP_SAFE, NULL, FALSE }, + { "VOLUME_UP", N_("_Volume Up"), + "volume_up", "greater", MGROUP_SAFE, + NULL, FALSE }, + { "VOLUME_DOWN", N_("_Volume Down"), + "volume_down", "less", MGROUP_SAFE, + NULL, FALSE }, { "QUIT", N_("_Quit"), "quit", ACCL_MOD_KEY"q", MGROUP_SAFE, NULL, FALSE }, @@ -1056,6 +1068,8 @@ const GActionEntry acts[] = { { "save_mapimg", save_mapimg_callback }, { "save_mapimg_as", save_mapimg_as_callback }, { "leave", leave_callback }, + { "volume_up", volume_up_callback }, + { "volume_down", volume_down_callback }, { "quit", quit_callback }, { "find_city", find_city_callback }, @@ -1325,6 +1339,34 @@ static void leave_callback(GSimpleAction *action, } } +/************************************************************************//** + Item "VOLUME_UP" callback. +****************************************************************************/ +static void volume_up_callback(GSimpleAction *action, + GVariant *parameter, + gpointer data) +{ + struct option *poption = optset_option_by_name(client_optset, "sound_effects_volume"); + + gui_options.sound_effects_volume += 10; + gui_options.sound_effects_volume = CLIP(0, gui_options.sound_effects_volume, 100); + option_changed(poption); +} + +/************************************************************************//** + Item "VOLUME_DOWN" callback. +****************************************************************************/ +static void volume_down_callback(GSimpleAction *action, + GVariant *parameter, + gpointer data) +{ + struct option *poption = optset_option_by_name(client_optset, "sound_effects_volume"); + + gui_options.sound_effects_volume -= 10; + gui_options.sound_effects_volume = CLIP(0, gui_options.sound_effects_volume, 100); + option_changed(poption); +} + /************************************************************************//** Item "QUIT" callback. ****************************************************************************/ @@ -3056,6 +3098,8 @@ static GMenu *setup_menus(GtkApplication *app) menu_entry_init(topmenu, "MAPIMG_SAVE"); menu_entry_init(topmenu, "MAPIMG_SAVE_AS"); menu_entry_init(topmenu, "LEAVE"); + menu_entry_init(topmenu, "VOLUME_UP"); + menu_entry_init(topmenu, "VOLUME_DOWN"); menu_entry_init(topmenu, "QUIT"); submenu_append_unref(menubar, _("_Game"), G_MENU_MODEL(topmenu)); -- 2.31.0