# HG changeset patch # User Mark Huetsch # Date 1165648846 0 # Node ID 63d554c2675d20f9592ac0635d9a6408c2e8d84e # Parent e952a5fc97b36046687a411a013f6b293a32cbfc [gaim-migrate @ 17925] This seems like a reasonable way to tell the prpl if we're using a local or global buddy icon. committer: Tailor Script diff -r e952a5fc97b3 -r 63d554c2675d gtk/gtkaccount.c --- a/gtk/gtkaccount.c Sat Dec 09 06:34:48 2006 +0000 +++ b/gtk/gtkaccount.c Sat Dec 09 07:20:46 2006 +0000 @@ -622,7 +622,7 @@ gaim_account_get_check_mail(dialog->account)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->icon_check), - !gaim_account_get_ui_bool(dialog->account, GAIM_GTK_UI, "use-global-buddyicon", + !gaim_account_get_bool(dialog->account, "use-global-buddyicon", TRUE)); set_dialog_icon(dialog, g_strdup(gaim_account_get_ui_string(dialog->account, @@ -1142,12 +1142,12 @@ prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(dialog->plugin); if (prpl_info != NULL && prpl_info->icon_spec.format != NULL) { - if (new || gaim_account_get_ui_bool(account, GAIM_GTK_UI, "use-global-buddyicon", TRUE) == + if (new || gaim_account_get_bool(account, "use-global-buddyicon", TRUE) == gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check))) { icon_change = TRUE; } - gaim_account_set_ui_bool(account, GAIM_GTK_UI, "use-global-buddyicon", !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check))); + gaim_account_set_bool(account, "use-global-buddyicon", !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check))); gaim_account_set_ui_string(account, GAIM_GTK_UI, "non-global-buddyicon-cached-path", dialog->cached_icon_path); gaim_account_set_ui_string(account, GAIM_GTK_UI, "non-global-buddyicon-path", dialog->icon_path); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check))) diff -r e952a5fc97b3 -r 63d554c2675d gtk/gtkstatusbox.c --- a/gtk/gtkstatusbox.c Sat Dec 09 06:34:48 2006 +0000 +++ b/gtk/gtkstatusbox.c Sat Dec 09 07:20:46 2006 +0000 @@ -331,7 +331,7 @@ gtk_widget_show(status_box->icon_box); if (status_box->account && - !gaim_account_get_ui_bool(status_box->account, GAIM_GTK_UI, "use-global-buddyicon", TRUE)) + !gaim_account_get_bool(status_box->account, "use-global-buddyicon", TRUE)) { char *string = gaim_buddy_icons_get_full_path(gaim_account_get_buddy_icon(status_box->account)); gtk_gaim_status_box_set_buddy_icon(status_box, string); @@ -1340,7 +1340,7 @@ char *icon = NULL; if (filename) icon = gaim_gtk_convert_buddy_icon(plug, filename); - gaim_account_set_ui_bool(box->account, GAIM_GTK_UI, "use-global-buddyicon", (filename != NULL)); + gaim_account_set_bool(box->account, "use-global-buddyicon", (filename != NULL)); gaim_account_set_ui_string(box->account, GAIM_GTK_UI, "non-global-buddyicon-cached-path", icon); gaim_account_set_buddy_icon_path(box->account, filename); gaim_account_set_buddy_icon(box->account, icon); @@ -1355,7 +1355,7 @@ if (plug) { GaimPluginProtocolInfo *prplinfo = GAIM_PLUGIN_PROTOCOL_INFO(plug); if (prplinfo != NULL && - gaim_account_get_ui_bool(account, GAIM_GTK_UI, "use-global-buddyicon", TRUE) && + gaim_account_get_bool(account, "use-global-buddyicon", TRUE) && prplinfo->icon_spec.format) { char *icon = NULL; if (filename) diff -r e952a5fc97b3 -r 63d554c2675d libgaim/protocols/qq/buddy_info.c --- a/libgaim/protocols/qq/buddy_info.c Sat Dec 09 06:34:48 2006 +0000 +++ b/libgaim/protocols/qq/buddy_info.c Sat Dec 09 07:20:46 2006 +0000 @@ -548,7 +548,7 @@ } } -/* TODO: custom faces */ +/* TODO: custom faces for QQ members and users with level >= 16 */ void qq_set_my_buddy_icon(GaimConnection *gc, const gchar *iconfile) { gchar *icon; @@ -561,6 +561,7 @@ gint dir_len = strlen(buddy_icon_dir); gint icon_len = strlen(icon_path) - dir_len - 1 - prefix_len - suffix_len; gchar *errmsg = g_strconcat(_("You are attempting to set a custom face. Gaim currently only allows the standard faces. Please choose an image from "), buddy_icon_dir, ".", NULL); + gboolean icon_global = gaim_account_get_bool(gc->account, "use-global-buddyicon", TRUE); /* make sure we're using an appropriate icon */ if (!(g_ascii_strncasecmp(icon_path, buddy_icon_dir, dir_len) == 0 @@ -568,7 +569,10 @@ && g_ascii_strncasecmp(icon_path + dir_len + 1, QQ_ICON_PREFIX, prefix_len) == 0 && g_ascii_strncasecmp(icon_path + dir_len + 1 + prefix_len + icon_len, QQ_ICON_SUFFIX, suffix_len) == 0 && icon_len <= 3)) { - gaim_notify_error(gc, _("Invalid QQ Face"), errmsg, NULL); + if (icon_global) + gaim_debug(GAIM_DEBUG_ERROR, "QQ", "%s\n", errmsg); + else + gaim_notify_error(gc, _("Invalid QQ Face"), errmsg, NULL); g_free(errmsg); return; } @@ -578,7 +582,10 @@ g_free(icon); /* ensure face number in proper range */ if (icon_num > QQ_FACES) { - gaim_notify_error(gc, _("Invalid QQ Face"), errmsg, NULL); + if (icon_global) + gaim_debug(GAIM_DEBUG_ERROR, "QQ", "%s\n", errmsg); + else + gaim_notify_error(gc, _("Invalid QQ Face"), errmsg, NULL); g_free(errmsg); return; }