comparison plugins/docklet/docklet.c @ 5554:7b36d02031a2

[gaim-migrate @ 5955] More work done... Got some painful stuff to do now. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Fri, 30 May 2003 00:00:48 +0000
parents 2c4c975620f0
children cade2082f760
comparison
equal deleted inserted replaced
5553:c0593bcdd5d6 5554:7b36d02031a2
29 /* includes */ 29 /* includes */
30 #include <gtk/gtk.h> 30 #include <gtk/gtk.h>
31 #include "gtkplugin.h" 31 #include "gtkplugin.h"
32 #include "gaim.h" 32 #include "gaim.h"
33 #include "sound.h" 33 #include "sound.h"
34 #include "prefs.h"
35 #include "gtkblist.h"
34 #include "eggtrayicon.h" 36 #include "eggtrayicon.h"
35 #include "gtkblist.h"
36 37
37 #define DOCKLET_PLUGIN_ID "gtk-docklet" 38 #define DOCKLET_PLUGIN_ID "gtk-docklet"
38 39
39 /* types */ 40 /* types */
40 enum docklet_status { 41 enum docklet_status {
60 61
61 static void docklet_toggle_mute(GtkWidget *toggle, void *data) { 62 static void docklet_toggle_mute(GtkWidget *toggle, void *data) {
62 gaim_sound_set_mute(GTK_CHECK_MENU_ITEM(toggle)->active); 63 gaim_sound_set_mute(GTK_CHECK_MENU_ITEM(toggle)->active);
63 } 64 }
64 65
65 static void docklet_toggle_queue(GtkWidget *widget, void *data) { 66 static void docklet_set_bool(GtkWidget *widget, const char *key) {
66 away_options ^= OPT_AWAY_QUEUE_UNREAD; 67 gaim_prefs_set_bool(key, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
67 save_prefs(); 68 }
68 }
69
70 /* static void docklet_toggle_blist_show(GtkWidget *widget, void *data) {
71 blist_options ^= OPT_BLIST_APP_BUDDY_SHOW;
72 save_prefs();
73 } */
74 69
75 static void docklet_flush_queue() { 70 static void docklet_flush_queue() {
76 if (unread_message_queue) { 71 if (unread_message_queue) {
77 purge_away_queue(&unread_message_queue); 72 purge_away_queue(&unread_message_queue);
78 } 73 }
395 } */ 390 } */
396 391
397 static gboolean 392 static gboolean
398 plugin_load(GaimPlugin *plugin) 393 plugin_load(GaimPlugin *plugin)
399 { 394 {
395 gaim_prefs_add_none("/plugins/gtk/docklet");
396 gaim_prefs_add_bool("/plugins/gtk/docklet/queue_messages", FALSE);
397
400 docklet_create(NULL); 398 docklet_create(NULL);
401 399
402 gaim_signal_connect(plugin, event_signon, gaim_signon, NULL); 400 gaim_signal_connect(plugin, event_signon, gaim_signon, NULL);
403 gaim_signal_connect(plugin, event_signoff, gaim_signoff, NULL); 401 gaim_signal_connect(plugin, event_signoff, gaim_signoff, NULL);
404 gaim_signal_connect(plugin, event_connecting, gaim_connecting, NULL); 402 gaim_signal_connect(plugin, event_connecting, gaim_connecting, NULL);
442 get_config_frame(GaimPlugin *plugin) 440 get_config_frame(GaimPlugin *plugin)
443 { 441 {
444 GtkWidget *frame; 442 GtkWidget *frame;
445 GtkWidget *vbox, *hbox; 443 GtkWidget *vbox, *hbox;
446 GtkWidget *toggle; 444 GtkWidget *toggle;
445 static const char *qmpref = "/plugins/gtk/docklet/queue_messages";
447 446
448 frame = gtk_vbox_new(FALSE, 18); 447 frame = gtk_vbox_new(FALSE, 18);
449 gtk_container_set_border_width(GTK_CONTAINER(frame), 12); 448 gtk_container_set_border_width(GTK_CONTAINER(frame), 12);
450 449
451 vbox = gaim_gtk_make_frame(frame, _("Tray Icon Configuration")); 450 vbox = gaim_gtk_make_frame(frame, _("Tray Icon Configuration"));
452 hbox = gtk_hbox_new(FALSE, 18); 451 hbox = gtk_hbox_new(FALSE, 18);
453 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); 452 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
454 453
455 /* toggle = gtk_check_button_new_with_mnemonic(_("_Automatically show buddy list on sign on"));
456 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), blist_options & OPT_BLIST_APP_BUDDY_SHOW);
457 g_signal_connect(G_OBJECT(toggle), "clicked", G_CALLBACK(docklet_toggle_blist_show), NULL);
458 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0); */
459
460 toggle = gtk_check_button_new_with_mnemonic(_("_Hide new messages until tray icon is clicked")); 454 toggle = gtk_check_button_new_with_mnemonic(_("_Hide new messages until tray icon is clicked"));
461 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), away_options & OPT_AWAY_QUEUE_UNREAD); 455 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), gaim_prefs_get_bool(qmpref));
462 g_signal_connect(G_OBJECT(toggle), "clicked", G_CALLBACK(docklet_toggle_queue), NULL); 456 g_signal_connect(G_OBJECT(toggle), "clicked", G_CALLBACK(docklet_set_bool), (void *)qmpref);
463 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0); 457 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
464 458
465 gtk_widget_show_all(frame); 459 gtk_widget_show_all(frame);
466 return frame; 460 return frame;
467 } 461 }