From 9b32280d2b1c6ef31ee8b8650239f2b37f861409 Mon Sep 17 00:00:00 2001 From: Dino Date: Mon, 3 Nov 2025 16:52:06 -0500 Subject: [PATCH] #1718 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..a905664a52 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); @@ -575,6 +581,12 @@ static struct menu_entry_info menu_entries[] = { "MAPIMG_SAVE_AS", N_("Save _Map Image As..."), "save_mapimg_as", 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 }, { "LEAVE", N_("_Leave"), "leave", NULL, MGROUP_SAFE, NULL, FALSE }, @@ -1055,6 +1067,8 @@ const GActionEntry acts[] = { { "game_save_as", save_game_as_callback }, { "save_mapimg", save_mapimg_callback }, { "save_mapimg_as", save_mapimg_as_callback }, + { "volume_up", volume_up_callback }, + { "volume_down", volume_down_callback }, { "leave", leave_callback }, { "quit", quit_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. ****************************************************************************/ @@ -3055,6 +3097,8 @@ static GMenu *setup_menus(GtkApplication *app) menu_entry_init(topmenu, "GAME_SAVE_AS"); menu_entry_init(topmenu, "MAPIMG_SAVE"); menu_entry_init(topmenu, "MAPIMG_SAVE_AS"); + menu_entry_init(topmenu, "VOLUME_UP"); + menu_entry_init(topmenu, "VOLUME_DOWN"); menu_entry_init(topmenu, "LEAVE"); menu_entry_init(topmenu, "QUIT"); -- 2.31.0