comparison pidgin/gtkblist.c @ 21347:200afe30b7af

merge of '53b79b2ce557c515c1eb6d234e40ede98328a82e' and 'f0a7f7c96090e1312d4ca0675a3e047cfb4a2a53'
author Richard Laager <rlaager@wiktel.com>
date Fri, 16 Nov 2007 23:00:41 +0000
parents fba1f6c3df0b 0ecc58c20d8b
children 0cb8d5304f4f
comparison
equal deleted inserted replaced
21238:dd510f19c844 21347:200afe30b7af
615 gtk_tree_path_free(path); 615 gtk_tree_path_free(path);
616 } 616 }
617 617
618 static void gtk_blist_menu_bp_cb(GtkWidget *w, PurpleBuddy *b) 618 static void gtk_blist_menu_bp_cb(GtkWidget *w, PurpleBuddy *b)
619 { 619 {
620 pidgin_pounce_editor_show_with_parent(GTK_WINDOW(gtkblist->window), b->account, b->name, NULL); 620 pidgin_pounce_editor_show(b->account, b->name, NULL);
621 } 621 }
622 622
623 static void gtk_blist_menu_showlog_cb(GtkWidget *w, PurpleBlistNode *node) 623 static void gtk_blist_menu_showlog_cb(GtkWidget *w, PurpleBlistNode *node)
624 { 624 {
625 PurpleLogType type; 625 PurpleLogType type;
641 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_find_prpl(purple_account_get_protocol_id(account))); 641 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_find_prpl(purple_account_get_protocol_id(account)));
642 if (prpl_info && prpl_info->get_chat_name) { 642 if (prpl_info && prpl_info->get_chat_name) {
643 name = prpl_info->get_chat_name(c->components); 643 name = prpl_info->get_chat_name(c->components);
644 } 644 }
645 } else if (PURPLE_BLIST_NODE_IS_CONTACT(node)) { 645 } else if (PURPLE_BLIST_NODE_IS_CONTACT(node)) {
646 pidgin_log_show_contact_with_parent(GTK_WINDOW(gtkblist->window), (PurpleContact *)node); 646 pidgin_log_show_contact((PurpleContact *)node);
647 pidgin_clear_cursor(gtkblist->window); 647 pidgin_clear_cursor(gtkblist->window);
648 return; 648 return;
649 } else { 649 } else {
650 pidgin_clear_cursor(gtkblist->window); 650 pidgin_clear_cursor(gtkblist->window);
651 651
653 * that doesn't match the type of one of the blocks above. */ 653 * that doesn't match the type of one of the blocks above. */
654 g_return_if_reached(); 654 g_return_if_reached();
655 } 655 }
656 656
657 if (name && account) { 657 if (name && account) {
658 pidgin_log_show_with_parent(GTK_WINDOW(gtkblist->window), type, name, account); 658 pidgin_log_show(type, name, account);
659 g_free(name); 659 g_free(name);
660 660
661 pidgin_clear_cursor(gtkblist->window); 661 pidgin_clear_cursor(gtkblist->window);
662 } 662 }
663 } 663 }
678 for (bnode = node->child; bnode != NULL; bnode = bnode->next) { 678 for (bnode = node->child; bnode != NULL; bnode = bnode->next) {
679 purple_blist_node_set_bool(bnode, "show_offline", setting); 679 purple_blist_node_set_bool(bnode, "show_offline", setting);
680 } 680 }
681 } 681 }
682 pidgin_blist_update(purple_get_blist(), node); 682 pidgin_blist_update(purple_get_blist(), node);
683 }
684
685 static void gtk_blist_show_systemlog_cb()
686 {
687 pidgin_syslog_show();
683 } 688 }
684 689
685 static void gtk_blist_show_onlinehelp_cb() 690 static void gtk_blist_show_onlinehelp_cb()
686 { 691 {
687 purple_notify_uri(NULL, PURPLE_WEBSITE "documentation"); 692 purple_notify_uri(NULL, PURPLE_WEBSITE "documentation");
3050 { 3055 {
3051 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/enabled", 3056 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/enabled",
3052 !purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/enabled")); 3057 !purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/enabled"));
3053 } 3058 }
3054 3059
3055 static void
3056 pidgin_blist_show_with_parent(gpointer data1, void (*callback)(GtkWindow *parent), gpointer data3)
3057 {
3058 callback(GTK_WINDOW(gtkblist->window));
3059 }
3060 3060
3061 /*************************************************** 3061 /***************************************************
3062 * Crap * 3062 * Crap *
3063 ***************************************************/ 3063 ***************************************************/
3064 static GtkItemFactoryEntry blist_menu[] = 3064 static GtkItemFactoryEntry blist_menu[] =
3088 { N_("/_Accounts"), NULL, NULL, 0, "<Branch>", NULL }, 3088 { N_("/_Accounts"), NULL, NULL, 0, "<Branch>", NULL },
3089 { N_("/Accounts/Manage"), "<CTL>A", pidgin_accounts_window_show, 0, "<Item>", NULL }, 3089 { N_("/Accounts/Manage"), "<CTL>A", pidgin_accounts_window_show, 0, "<Item>", NULL },
3090 3090
3091 /* Tools */ 3091 /* Tools */
3092 { N_("/_Tools"), NULL, NULL, 0, "<Branch>", NULL }, 3092 { N_("/_Tools"), NULL, NULL, 0, "<Branch>", NULL },
3093 { N_("/Tools/Buddy _Pounces"), NULL, pidgin_blist_show_with_parent, (int)pidgin_pounces_manager_show_with_parent, "<Item>", NULL }, 3093 { N_("/Tools/Buddy _Pounces"), NULL, pidgin_pounces_manager_show, 0, "<Item>", NULL },
3094 { N_("/Tools/_Certificates"), NULL, pidgin_certmgr_show, 0, "<Item>", NULL }, 3094 { N_("/Tools/_Certificates"), NULL, pidgin_certmgr_show, 0, "<Item>", NULL },
3095 { N_("/Tools/Plu_gins"), "<CTL>U", pidgin_blist_show_with_parent, (int)pidgin_plugin_dialog_show_with_parent, "<StockItem>", PIDGIN_STOCK_TOOLBAR_PLUGINS }, 3095 { N_("/Tools/Plu_gins"), "<CTL>U", pidgin_plugin_dialog_show, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_PLUGINS },
3096 { N_("/Tools/Pr_eferences"), "<CTL>P", pidgin_prefs_show, 0, "<StockItem>", GTK_STOCK_PREFERENCES }, 3096 { N_("/Tools/Pr_eferences"), "<CTL>P", pidgin_prefs_show, 0, "<StockItem>", GTK_STOCK_PREFERENCES },
3097 { N_("/Tools/Pr_ivacy"), NULL, pidgin_privacy_dialog_show, 0, "<Item>", NULL }, 3097 { N_("/Tools/Pr_ivacy"), NULL, pidgin_privacy_dialog_show, 0, "<Item>", NULL },
3098 { "/Tools/sep2", NULL, NULL, 0, "<Separator>", NULL }, 3098 { "/Tools/sep2", NULL, NULL, 0, "<Separator>", NULL },
3099 { N_("/Tools/_File Transfers"), "<CTL>T", pidgin_xfer_dialog_show, 0, "<Item>", NULL }, 3099 { N_("/Tools/_File Transfers"), "<CTL>T", pidgin_xfer_dialog_show, 0, "<Item>", NULL },
3100 { N_("/Tools/R_oom List"), NULL, pidgin_roomlist_dialog_show, 0, "<Item>", NULL }, 3100 { N_("/Tools/R_oom List"), NULL, pidgin_roomlist_dialog_show, 0, "<Item>", NULL },
3101 { N_("/Tools/System _Log"), NULL, pidgin_blist_show_with_parent, (int)pidgin_syslog_show_with_parent, "<Item>", NULL }, 3101 { N_("/Tools/System _Log"), NULL, gtk_blist_show_systemlog_cb, 0, "<Item>", NULL },
3102 { "/Tools/sep3", NULL, NULL, 0, "<Separator>", NULL }, 3102 { "/Tools/sep3", NULL, NULL, 0, "<Separator>", NULL },
3103 { N_("/Tools/Mute _Sounds"), "<CTL>S", pidgin_blist_mute_sounds_cb, 0, "<CheckItem>", NULL }, 3103 { N_("/Tools/Mute _Sounds"), "<CTL>S", pidgin_blist_mute_sounds_cb, 0, "<CheckItem>", NULL },
3104 /* Help */ 3104 /* Help */
3105 { N_("/_Help"), NULL, NULL, 0, "<Branch>", NULL }, 3105 { N_("/_Help"), NULL, NULL, 0, "<Branch>", NULL },
3106 { N_("/Help/Online _Help"), "F1", gtk_blist_show_onlinehelp_cb, 0, "<StockItem>", GTK_STOCK_HELP }, 3106 { N_("/Help/Online _Help"), "F1", gtk_blist_show_onlinehelp_cb, 0, "<StockItem>", GTK_STOCK_HELP },
3107 { N_("/Help/_Debug Window"), NULL, toggle_debug, 0, "<Item>", NULL }, 3107 { N_("/Help/_Debug Window"), NULL, toggle_debug, 0, "<Item>", NULL },
3108 #if GTK_CHECK_VERSION(2,6,0) 3108 #if GTK_CHECK_VERSION(2,6,0)
3109 { N_("/Help/_About"), NULL, pidgin_blist_show_with_parent, (int)pidgin_dialogs_about_with_parent, "<StockItem>", GTK_STOCK_ABOUT }, 3109 { N_("/Help/_About"), NULL, pidgin_dialogs_about, 0, "<StockItem>", GTK_STOCK_ABOUT },
3110 #else 3110 #else
3111 { N_("/Help/_About"), NULL, pidgin_blist_show_with_parent, (int)pidgin_dialogs_about_with_parent, "<Item>", NULL }, 3111 { N_("/Help/_About"), NULL, pidgin_dialogs_about, 0, "<Item>", NULL },
3112 #endif 3112 #endif
3113 }; 3113 };
3114 3114
3115 /********************************************************* 3115 /*********************************************************
3116 * Private Utility functions * 3116 * Private Utility functions *