Mercurial > pidgin
comparison src/dialogs.c @ 657:4bbc103a3294
[gaim-migrate @ 667]
merge buddy lists instead of overwrite them
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Thu, 10 Aug 2000 08:14:00 +0000 |
| parents | ea811c6dd3e0 |
| children | 71ea550c22ac |
comparison
equal
deleted
inserted
replaced
| 656:732ee4f6f541 | 657:4bbc103a3294 |
|---|---|
| 1720 } | 1720 } |
| 1721 buttons = buttons->next; | 1721 buttons = buttons->next; |
| 1722 } | 1722 } |
| 1723 | 1723 |
| 1724 if (d) { | 1724 if (d) { |
| 1725 deny = g_list_append(deny, name); | 1725 GList *d = deny; |
| 1726 serv_add_deny(name); | 1726 while (d) { |
| 1727 char *n = g_strdup(normalize(name)); | |
| 1728 if (!strcmp(n, normalize(d->data))) | |
| 1729 break; | |
| 1730 d = d->next; | |
| 1731 g_free(n); | |
| 1732 } | |
| 1733 if (!d) { | |
| 1734 deny = g_list_append(deny, name); | |
| 1735 serv_add_deny(name); | |
| 1736 } | |
| 1727 } else { | 1737 } else { |
| 1728 permit = g_list_append(permit, name); | 1738 GList *d = permit; |
| 1729 serv_add_permit(name); | 1739 while (d) { |
| 1740 char *n = g_strdup(normalize(name)); | |
| 1741 if (!strcmp(n, normalize(d->data))) | |
| 1742 break; | |
| 1743 d = d->next; | |
| 1744 g_free(n); | |
| 1745 } | |
| 1746 if (!d) { | |
| 1747 permit = g_list_append(permit, name); | |
| 1748 serv_add_permit(name); | |
| 1749 } | |
| 1730 } | 1750 } |
| 1731 | 1751 |
| 1732 | 1752 |
| 1733 | 1753 |
| 1734 build_permit_tree(); | 1754 build_permit_tree(); |
| 2283 | 2303 |
| 2284 /*------------------------------------------------------*/ | 2304 /*------------------------------------------------------*/ |
| 2285 /* Color Selection Dialog */ | 2305 /* Color Selection Dialog */ |
| 2286 /*------------------------------------------------------*/ | 2306 /*------------------------------------------------------*/ |
| 2287 | 2307 |
| 2308 static GtkWidget *fgcseld = NULL; | |
| 2309 static GtkWidget *bgcseld = NULL; | |
| 2310 | |
| 2288 void cancel_color(GtkWidget *widget, struct conversation *c) | 2311 void cancel_color(GtkWidget *widget, struct conversation *c) |
| 2289 { | 2312 { |
| 2290 if (c->palette && widget) | 2313 if (c->palette && widget) |
| 2291 { | 2314 { |
| 2292 set_state_lock(1); | 2315 set_state_lock(1); |
| 2322 debug_print(debug_buff); | 2345 debug_print(debug_buff); |
| 2323 g_free(open_tag); | 2346 g_free(open_tag); |
| 2324 cancel_color(NULL, c); | 2347 cancel_color(NULL, c); |
| 2325 } | 2348 } |
| 2326 | 2349 |
| 2350 static void destroy_colorsel(GtkWidget *w, gpointer d) | |
| 2351 { | |
| 2352 if (d) { | |
| 2353 gtk_widget_destroy(fgcseld); | |
| 2354 fgcseld = NULL; | |
| 2355 } else { | |
| 2356 gtk_widget_destroy(bgcseld); | |
| 2357 bgcseld = NULL; | |
| 2358 } | |
| 2359 } | |
| 2360 | |
| 2361 static void apply_color_dlg(GtkWidget *w, gpointer d) | |
| 2362 { | |
| 2363 gdouble color[3]; | |
| 2364 if ((int)d == 1) { | |
| 2365 gtk_color_selection_get_color(GTK_COLOR_SELECTION(fgcseld), color); | |
| 2366 destroy_colorsel(NULL, (void *)1); | |
| 2367 } else { | |
| 2368 gtk_color_selection_get_color(GTK_COLOR_SELECTION(bgcseld), color); | |
| 2369 destroy_colorsel(NULL, (void *)2); | |
| 2370 } | |
| 2371 /* FIXME ! here we need to set the preferences, etc */ | |
| 2372 } | |
| 2327 | 2373 |
| 2328 void show_color_dialog(struct conversation *c, GtkWidget *color) | 2374 void show_color_dialog(struct conversation *c, GtkWidget *color) |
| 2329 { | 2375 { |
| 2330 GtkWidget *colorsel; | 2376 GtkWidget *colorsel; |
| 2377 | |
| 2378 if ((int)color == 1) { /* foreground */ | |
| 2379 if (fgcseld) return; | |
| 2380 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color")); | |
| 2381 gtk_signal_connect(GTK_OBJECT(fgcseld), "delete_event", GTK_SIGNAL_FUNC(destroy_colorsel), (void *)1); | |
| 2382 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button), "clicked", GTK_SIGNAL_FUNC(destroy_colorsel), (void *)1); | |
| 2383 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked", GTK_SIGNAL_FUNC(apply_color_dlg), (void *)1); | |
| 2384 gtk_widget_realize(fgcseld); | |
| 2385 aol_icon(fgcseld->window); | |
| 2386 gtk_widget_show(fgcseld); | |
| 2387 gdk_window_raise(fgcseld->window); | |
| 2388 return; | |
| 2389 } else if ((int)color == 2) { /* background */ | |
| 2390 if (bgcseld) return; | |
| 2391 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color")); | |
| 2392 gtk_signal_connect(GTK_OBJECT(bgcseld), "delete_event", GTK_SIGNAL_FUNC(destroy_colorsel), NULL); | |
| 2393 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button), "clicked", GTK_SIGNAL_FUNC(destroy_colorsel), NULL); | |
| 2394 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked", GTK_SIGNAL_FUNC(apply_color_dlg), (void *)2); | |
| 2395 gtk_widget_realize(bgcseld); | |
| 2396 aol_icon(bgcseld->window); | |
| 2397 gtk_widget_show(bgcseld); | |
| 2398 gdk_window_raise(bgcseld->window); | |
| 2399 return; | |
| 2400 } | |
| 2331 | 2401 |
| 2332 if (!c->color_dialog) | 2402 if (!c->color_dialog) |
| 2333 { | 2403 { |
| 2334 c->color_dialog = gtk_color_selection_dialog_new(_("Select Text Color")); | 2404 c->color_dialog = gtk_color_selection_dialog_new(_("Select Text Color")); |
| 2335 colorsel = GTK_COLOR_SELECTION_DIALOG(c->color_dialog)->colorsel; | 2405 colorsel = GTK_COLOR_SELECTION_DIALOG(c->color_dialog)->colorsel; |
| 2657 | 2727 |
| 2658 fread(buf, BUF_LONG, 1, f); | 2728 fread(buf, BUF_LONG, 1, f); |
| 2659 | 2729 |
| 2660 grp = groups; | 2730 grp = groups; |
| 2661 | 2731 |
| 2732 /* why is this being done? if we merge them than this shouldn't happen | |
| 2662 while(grp) { | 2733 while(grp) { |
| 2663 grp2 = grp->next; | 2734 grp2 = grp->next; |
| 2664 remove_group((struct group *)grp->data); | 2735 remove_group((struct group *)grp->data); |
| 2665 grp = grp2; | 2736 grp = grp2; |
| 2666 } | 2737 } |
| 2738 */ | |
| 2667 | 2739 |
| 2668 parse_toc_buddy_list(buf, 1); | 2740 parse_toc_buddy_list(buf, 1); |
| 2669 | 2741 |
| 2670 serv_save_config(); | 2742 serv_save_config(); |
| 2671 | 2743 |
