comparison src/conversation.c @ 3300:c5b4e55024e3

[gaim-migrate @ 3318] Changed the "play sound" button to a "mute" button. This looks much nicer. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Mon, 03 Jun 2002 05:52:52 +0000
parents c98c1e0281ff
children 7c5325f460de
comparison
equal deleted inserted replaced
3299:a184a80b1e15 3300:c5b4e55024e3
53 #include "pixmaps/link.xpm" 53 #include "pixmaps/link.xpm"
54 #include "pixmaps/smile_icon.xpm" 54 #include "pixmaps/smile_icon.xpm"
55 #include "pixmaps/wood.xpm" 55 #include "pixmaps/wood.xpm"
56 #include "pixmaps/save_small.xpm" 56 #include "pixmaps/save_small.xpm"
57 #include "pixmaps/speaker.xpm" 57 #include "pixmaps/speaker.xpm"
58 #include "pixmaps/speaker_mute.xpm"
58 #include "pixmaps/image_icon.xpm" 59 #include "pixmaps/image_icon.xpm"
59 60
60 #include "pixmaps/luke03.xpm" 61 #include "pixmaps/luke03.xpm"
61 #include "pixmaps/oneeye.xpm" 62 #include "pixmaps/oneeye.xpm"
62 #include "pixmaps/crazy4.xpm" 63 #include "pixmaps/crazy4.xpm"
383 rm_log(find_log_info(c->name)); 384 rm_log(find_log_info(c->name));
384 else if (GTK_TOGGLE_BUTTON(loggle)->active) 385 else if (GTK_TOGGLE_BUTTON(loggle)->active)
385 show_log_dialog(c); 386 show_log_dialog(c);
386 else 387 else
387 cancel_log(NULL, c); 388 cancel_log(NULL, c);
389 }
390
391 void toggle_sound(GtkWidget *widget, struct conversation *c)
392 {
393 GdkPixmap *pm;
394 GdkBitmap *bm;
395
396 c->makesound = !c->makesound;
397
398 pm = gdk_pixmap_create_from_xpm_d(c->window->window, &bm, &c->window->style->white,
399 c->makesound ? speaker_xpm : speaker_mute_xpm);
400 gtk_pixmap_set(GTK_PIXMAP(c->speaker_p), pm, bm);
401 gdk_pixmap_unref(pm);
402 gdk_bitmap_unref(bm);
388 } 403 }
389 404
390 static void do_save_convo(GtkObject *obj, GtkWidget *wid) 405 static void do_save_convo(GtkObject *obj, GtkWidget *wid)
391 { 406 {
392 struct conversation *c = gtk_object_get_user_data(obj); 407 struct conversation *c = gtk_object_get_user_data(obj);
2227 _("Save"), save_p, GTK_SIGNAL_FUNC(save_convo), c); 2242 _("Save"), save_p, GTK_SIGNAL_FUNC(save_convo), c);
2228 2243
2229 speaker = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), 2244 speaker = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),
2230 GTK_TOOLBAR_CHILD_TOGGLEBUTTON, 2245 GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
2231 NULL, NULL, _("Enable sounds"), 2246 NULL, NULL, _("Enable sounds"),
2232 _("Sound"), speaker_p, GTK_SIGNAL_FUNC(set_option), 2247 _("Sound"), speaker_p, GTK_SIGNAL_FUNC(toggle_sound), c);
2233 &c->makesound); 2248 c->makesound = 1;
2234 c->makesound = 0;
2235 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(speaker), TRUE);
2236 2249
2237 /* use a slicker look if the user wants to */ 2250 /* use a slicker look if the user wants to */
2238 if (misc_options & OPT_MISC_COOL_LOOK) { 2251 if (misc_options & OPT_MISC_COOL_LOOK) {
2239 gtk_button_set_relief(GTK_BUTTON(bold), GTK_RELIEF_NONE); 2252 gtk_button_set_relief(GTK_BUTTON(bold), GTK_RELIEF_NONE);
2240 gtk_button_set_relief(GTK_BUTTON(italic), GTK_RELIEF_NONE); 2253 gtk_button_set_relief(GTK_BUTTON(italic), GTK_RELIEF_NONE);
2284 c->link = link; 2297 c->link = link;
2285 c->wood = wood; 2298 c->wood = wood;
2286 c->font = font; 2299 c->font = font;
2287 c->smiley = smiley; 2300 c->smiley = smiley;
2288 c->imagebtn = image; 2301 c->imagebtn = image;
2302 c->speaker = speaker;
2303 c->speaker_p = speaker_p;
2289 2304
2290 gtk_widget_set_sensitive(c->log_button, ((logging_options & OPT_LOG_ALL)) ? FALSE : TRUE); 2305 gtk_widget_set_sensitive(c->log_button, ((logging_options & OPT_LOG_ALL)) ? FALSE : TRUE);
2291 gtk_widget_set_sensitive(c->bold, ((font_options & OPT_FONT_BOLD)) ? FALSE : TRUE); 2306 gtk_widget_set_sensitive(c->bold, ((font_options & OPT_FONT_BOLD)) ? FALSE : TRUE);
2292 gtk_widget_set_sensitive(c->italic, ((font_options & OPT_FONT_ITALIC)) ? FALSE : TRUE); 2307 gtk_widget_set_sensitive(c->italic, ((font_options & OPT_FONT_ITALIC)) ? FALSE : TRUE);
2293 gtk_widget_set_sensitive(c->underline, ((font_options & OPT_FONT_UNDERLINE)) ? FALSE : TRUE); 2308 gtk_widget_set_sensitive(c->underline, ((font_options & OPT_FONT_UNDERLINE)) ? FALSE : TRUE);