# HG changeset patch # User Sadrul Habib Chowdhury # Date 1155779900 0 # Node ID d822e68acb3eaee5e652aeb5d5cc4d4dad02544b # Parent 0154168c414a1ca57ebdf7f9f2855535e20a76ff [gaim-migrate @ 16802] Add an option to beep on events. committer: Tailor Script diff -r 0154168c414a -r d822e68acb3e console/plugins/gntgf.c --- a/console/plugins/gntgf.c Thu Aug 17 01:06:27 2006 +0000 +++ b/console/plugins/gntgf.c Thu Aug 17 01:58:20 2006 +0000 @@ -22,11 +22,13 @@ #define PLUGIN_STATIC_NAME "GntGf" -#define PREFS_EVENT "/plugins/gnt/gntgf/events" +#define PREFS_PREFIX "/plugins/gnt/gntgf" +#define PREFS_EVENT PREFS_PREFIX "/events" #define PREFS_EVENT_SIGNONF PREFS_EVENT "/signonf" #define PREFS_EVENT_IM_MSG PREFS_EVENT "/immsg" #define PREFS_EVENT_CHAT_MSG PREFS_EVENT "/chatmsg" #define PREFS_EVENT_CHAT_NICK PREFS_EVENT "/chatnick" +#define PREFS_BEEP PREFS_PREFIX "/beep" #include @@ -39,6 +41,7 @@ #include #include #include +#include #include #include @@ -96,6 +99,9 @@ int h, w; va_list args; + if (gaim_prefs_get_bool(PREFS_BEEP)) + beep(); + toast->window = window = gnt_vbox_new(FALSE); GNT_WIDGET_SET_FLAGS(window, GNT_WIDGET_TRANSIENT); GNT_WIDGET_UNSET_FLAGS(window, GNT_WIDGET_NO_BORDER); @@ -197,7 +203,7 @@ } prefs[] = { {PREFS_EVENT_SIGNONF, _("Buddy signs on/off")}, - {PREFS_EVENT_IM_MSG, _("You receive an IMs")}, + {PREFS_EVENT_IM_MSG, _("You receive an IM")}, {PREFS_EVENT_CHAT_MSG, _("Someone speaks in a chat")}, {PREFS_EVENT_CHAT_NICK, _("Someone says your name in a chat")}, {NULL, NULL} @@ -209,10 +215,16 @@ gaim_prefs_set_bool(key, gnt_tree_get_choice(tree, key)); } +static void +beep_toggled(GntCheckBox *check, gpointer null) +{ + gaim_prefs_set_bool(PREFS_BEEP, gnt_check_box_get_checked(check)); +} + static GntWidget * config_frame() { - GntWidget *window, *tree; + GntWidget *window, *tree, *check; int i; window = gnt_vbox_new(FALSE); @@ -236,6 +248,11 @@ gnt_tree_set_col_width(GNT_TREE(tree), 0, 40); g_signal_connect(G_OBJECT(tree), "toggled", G_CALLBACK(pref_toggled), NULL); + check = gnt_check_box_new(_("Beep too!")); + gnt_check_box_set_checked(GNT_CHECK_BOX(check), gaim_prefs_get_bool(PREFS_BEEP)); + g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(beep_toggled), NULL); + gnt_box_add_widget(GNT_BOX(window), check); + return window; } @@ -278,6 +295,8 @@ gaim_prefs_add_bool(PREFS_EVENT_IM_MSG, TRUE); gaim_prefs_add_bool(PREFS_EVENT_CHAT_MSG, TRUE); gaim_prefs_add_bool(PREFS_EVENT_CHAT_NICK, TRUE); + + gaim_prefs_add_bool(PREFS_BEEP, TRUE); } GAIM_INIT_PLUGIN(PLUGIN_STATIC_NAME, init_plugin, info)