pidgin/plugins/pidginrc.c

changeset 27269
77c9c61baf6e
parent 24328
7be2af5c9129
child 27307
65906c6de115
equal deleted inserted replaced
27268:b1fe037cabea 27269:77c9c61baf6e
26 #include "version.h" 26 #include "version.h"
27 27
28 static guint pref_callback; 28 static guint pref_callback;
29 29
30 static const gchar *color_prefs[] = { 30 static const gchar *color_prefs[] = {
31 "/plugins/gtk/purplerc/color/GtkWidget::cursor-color",
32 "/plugins/gtk/purplerc/color/GtkWidget::secondary-cursor-color",
33 "/plugins/gtk/purplerc/color/GtkIMHtml::hyperlink-color", 31 "/plugins/gtk/purplerc/color/GtkIMHtml::hyperlink-color",
34 "/plugins/gtk/purplerc/color/GtkIMHtml::hyperlink-visited-color", 32 "/plugins/gtk/purplerc/color/GtkIMHtml::hyperlink-visited-color",
35 "/plugins/gtk/purplerc/color/GtkIMHtml::send-name-color", 33 "/plugins/gtk/purplerc/color/GtkIMHtml::send-name-color",
36 "/plugins/gtk/purplerc/color/GtkIMHtml::receive-name-color", 34 "/plugins/gtk/purplerc/color/GtkIMHtml::receive-name-color",
37 "/plugins/gtk/purplerc/color/GtkIMHtml::highlight-name-color", 35 "/plugins/gtk/purplerc/color/GtkIMHtml::highlight-name-color",
38 "/plugins/gtk/purplerc/color/GtkIMHtml::action-name-color" 36 "/plugins/gtk/purplerc/color/GtkIMHtml::action-name-color",
37 "/plugins/gtk/purplerc/color/GtkIMHtml::typing-ntofication-color"
39 }; 38 };
40 static const gchar *color_prefs_set[] = { 39 static const gchar *color_prefs_set[] = {
41 "/plugins/gtk/purplerc/set/color/GtkWidget::cursor-color",
42 "/plugins/gtk/purplerc/set/color/GtkWidget::secondary-cursor-color",
43 "/plugins/gtk/purplerc/set/color/GtkIMHtml::hyperlink-color", 40 "/plugins/gtk/purplerc/set/color/GtkIMHtml::hyperlink-color",
44 "/plugins/gtk/purplerc/set/color/GtkIMHtml::hyperlink-visited-color", 41 "/plugins/gtk/purplerc/set/color/GtkIMHtml::hyperlink-visited-color",
45 "/plugins/gtk/purplerc/set/color/GtkIMHtml::send-name-color", 42 "/plugins/gtk/purplerc/set/color/GtkIMHtml::send-name-color",
46 "/plugins/gtk/purplerc/set/color/GtkIMHtml::receive-name-color", 43 "/plugins/gtk/purplerc/set/color/GtkIMHtml::receive-name-color",
47 "/plugins/gtk/purplerc/set/color/GtkIMHtml::highlight-name-color", 44 "/plugins/gtk/purplerc/set/color/GtkIMHtml::highlight-name-color",
48 "/plugins/gtk/purplerc/set/color/GtkIMHtml::action-name-color" 45 "/plugins/gtk/purplerc/set/color/GtkIMHtml::action-name-color",
46 "/plugins/gtk/purplerc/set/color/GtkIMHtml::typing-notification-color"
49 }; 47 };
50 static const gchar *color_names[] = { 48 static const gchar *color_names[] = {
51 N_("Cursor Color"),
52 N_("Secondary Cursor Color"),
53 N_("Hyperlink Color"), 49 N_("Hyperlink Color"),
54 N_("Visited Hyperlink Color"), 50 N_("Visited Hyperlink Color"),
55 N_("Sent Message Name Color"), 51 N_("Sent Message Name Color"),
56 N_("Received Message Name Color"), 52 N_("Received Message Name Color"),
57 N_("Highlighted Message Name Color"), 53 N_("Highlighted Message Name Color"),
58 N_("Action Message Name Color") 54 N_("Action Message Name Color"),
55 N_("Typing Notification Color")
59 }; 56 };
60 static GtkWidget *color_widgets[G_N_ELEMENTS(color_prefs)]; 57 static GtkWidget *color_widgets[G_N_ELEMENTS(color_prefs)];
61 58
62 static const gchar *widget_size_prefs[] = { 59 static const gchar *widget_size_prefs[] = {
63 "/plugins/gtk/purplerc/size/GtkTreeView::horizontal_separator" 60 "/plugins/gtk/purplerc/size/GtkTreeView::horizontal_separator"
123 pref); 120 pref);
124 } 121 }
125 } 122 }
126 123
127 g_string_append(style_string, "style \"purplerc_style\"\n{"); 124 g_string_append(style_string, "style \"purplerc_style\"\n{");
125
126 if(purple_prefs_get_bool("/plugins/gtk/purplerc/set/disable-typing-notification")) {
127 g_string_append(style_string, "\tGtkIMHtml::typing-notification-enable = 0\n");
128 }
128 129
129 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { 130 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) {
130 if (purple_prefs_get_bool(color_prefs_set[i])) { 131 if (purple_prefs_get_bool(color_prefs_set[i])) {
131 const gchar *pref; 132 const gchar *pref;
132 133
347 348
348 return TRUE; 349 return TRUE;
349 } 350 }
350 351
351 static GtkWidget * 352 static GtkWidget *
352 purplerc_get_config_frame(PurplePlugin *plugin) 353 purplerc_make_interface_vbox(void)
353 { 354 {
354 /* Note: Intentionally not using the size group argument to the 355 GtkWidget *vbox = NULL, *hbox = NULL, *check = NULL;
355 * pidgin_prefs_labeled_* functions they only add the text label to 356 GtkSizeGroup *labelsg = NULL;
356 * the size group not the whole thing, which isn't what I want. */
357 gint i; 357 gint i;
358 gchar *tmp; 358
359 GtkWidget *check = NULL, *widget = NULL; 359 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
360 GtkWidget *ret = NULL, *hbox = NULL, *frame = NULL; 360 labelsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
361 GtkSizeGroup *labelsg = NULL, *widgetsg = NULL, *buttonsg = NULL; 361
362 #ifndef _WIN32 362 gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BORDER);
363 const gchar *homepath = "$HOME"; 363
364 #else
365 const gchar *homepath = "\%APPDATA\%";
366 #endif
367
368 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
369 gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER);
370
371 labelsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
372 widgetsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
373 buttonsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
374
375 frame = pidgin_make_frame(ret, _("General"));
376 /* interface font */
377 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
378 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
379
380 check = pidgin_prefs_checkbox(_("GTK+ Interface Font"),
381 "/plugins/gtk/purplerc/set/gtk-font-name",
382 hbox);
383 gtk_size_group_add_widget(labelsg, check);
384
385 widget = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT,
386 PIDGIN_BUTTON_HORIZONTAL);
387 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);
388 gtk_size_group_add_widget(widgetsg, widget);
389 gtk_widget_set_sensitive(widget,
390 purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-font-name"));
391 g_signal_connect(G_OBJECT(check), "toggled",
392 G_CALLBACK(pidgin_toggle_sensitive), widget);
393 g_signal_connect(G_OBJECT(widget), "clicked",
394 G_CALLBACK(purplerc_set_font), GINT_TO_POINTER(-1));
395
396 /* key theme name */
397 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
398 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
399
400 check = pidgin_prefs_checkbox(_("GTK+ Text Shortcut Theme"),
401 "/plugins/gtk/purplerc/set/gtk-key-theme-name",
402 hbox);
403 gtk_size_group_add_widget(labelsg, check);
404
405 widget = pidgin_prefs_labeled_entry(hbox, "",
406 "/plugins/gtk/purplerc/gtk-key-theme-name",
407 NULL);
408 /*
409 gtk_size_group_add_widget(widgetsg, widget);
410 */
411 gtk_widget_set_sensitive(widget,
412 purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-key-theme-name"));
413 g_signal_connect(G_OBJECT(check), "toggled",
414 G_CALLBACK(pidgin_toggle_sensitive), widget);
415
416 /*
417 for (i = 0; i < G_N_ELEMENTS(widget_bool_prefs); i++) {
418 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
419 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
420
421 check = pidgin_prefs_checkbox(_(widget_bool_names[i]),
422 widget_bool_prefs_set[i], hbox);
423 gtk_size_group_add_widget(labelsg, check);
424
425 widget_bool_widgets[i] = pidgin_prefs_checkbox("", widget_bool_prefs[i], hbox);
426 *
427 gtk_size_group_add_widget(widgetsb, widget_bool_widgets[i]);
428 *
429 gtk_widget_set_sensitive(widget_bool_widgets[i],
430 purple_prefs_get_bool(widget_bool_prefs_set[i]));
431 g_signal_connect(G_OBJECT(check), "toggled",
432 G_CALLBACK(pidgin_toggle_sensitive),
433 widget_bool_widgets[i]);
434 }
435 */
436
437 frame = pidgin_make_frame(ret, _("Interface colors"));
438 /* imhtml stuff */
439 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { 364 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) {
440 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); 365 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
441 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); 366 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
442 367
443 check = pidgin_prefs_checkbox(_(color_names[i]), 368 check = pidgin_prefs_checkbox(_(color_names[i]),
444 color_prefs_set[i], hbox); 369 color_prefs_set[i], hbox);
445 gtk_size_group_add_widget(labelsg, check); 370 gtk_size_group_add_widget(labelsg, check);
446 371
447 color_widgets[i] = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR, PIDGIN_BUTTON_HORIZONTAL); 372 color_widgets[i] = pidgin_pixbuf_button_from_stock("",
448 gtk_size_group_add_widget(widgetsg, color_widgets[i]); 373 GTK_STOCK_SELECT_COLOR, PIDGIN_BUTTON_HORIZONTAL);
449 gtk_box_pack_start(GTK_BOX(hbox), color_widgets[i], FALSE, 374 gtk_box_pack_start(GTK_BOX(hbox), color_widgets[i], FALSE,
450 FALSE, 0); 375 FALSE, 0);
451 gtk_widget_set_sensitive(color_widgets[i], 376 gtk_widget_set_sensitive(color_widgets[i],
452 purple_prefs_get_bool(color_prefs_set[i])); 377 purple_prefs_get_bool(color_prefs_set[i]));
453 g_signal_connect(G_OBJECT(check), "toggled", 378 g_signal_connect(G_OBJECT(check), "toggled",
456 g_signal_connect(G_OBJECT(color_widgets[i]), "clicked", 381 g_signal_connect(G_OBJECT(color_widgets[i]), "clicked",
457 G_CALLBACK(purplerc_set_color), 382 G_CALLBACK(purplerc_set_color),
458 GINT_TO_POINTER(i)); 383 GINT_TO_POINTER(i));
459 } 384 }
460 385
461 frame = pidgin_make_frame(ret, _("Widget Sizes")); 386 g_object_unref(labelsg);
462 /* widget size stuff */ 387
463 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { 388 return vbox;
464 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); 389 }
465 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); 390
466 391 static GtkWidget *
467 check = pidgin_prefs_checkbox(_(widget_size_names[i]), 392 purplerc_make_fonts_vbox(void)
468 widget_size_prefs_set[i], hbox); 393 {
469 gtk_size_group_add_widget(labelsg, check); 394 GtkWidget *vbox = NULL, *hbox = NULL, *check = NULL, *widget = NULL;
470 395 GtkSizeGroup *labelsg = NULL;
471 widget_size_widgets[i] = pidgin_prefs_labeled_spin_button(hbox, "", widget_size_prefs[i], 0, 50, NULL); 396 int i;
472 /* 397
473 gtk_size_group_add_widget(widgetsg, widget_size_widgets[i]); 398 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
474 */ 399 labelsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
475 gtk_widget_set_sensitive(widget_size_widgets[i], 400
476 purple_prefs_get_bool(widget_size_prefs_set[i])); 401 gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BORDER);
477 g_signal_connect(G_OBJECT(check), "toggled", 402
478 G_CALLBACK(pidgin_toggle_sensitive), 403 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
479 widget_size_widgets[i]); 404 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
480 } 405
481 406 check = pidgin_prefs_checkbox(_("GTK+ Interface Font"),
482 frame = pidgin_make_frame(ret, _("Fonts")); 407 "/plugins/gtk/purplerc/set/gtk-font-name",
483 /* imhtml font stuff */ 408 hbox);
409 gtk_size_group_add_widget(labelsg, check);
410
411 widget = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT,
412 PIDGIN_BUTTON_HORIZONTAL);
413 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);
414 gtk_widget_set_sensitive(widget,
415 purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-font-name"));
416 g_signal_connect(G_OBJECT(check), "toggled",
417 G_CALLBACK(pidgin_toggle_sensitive), widget);
418 g_signal_connect(G_OBJECT(widget), "clicked",
419 G_CALLBACK(purplerc_set_font), GINT_TO_POINTER(-1));
420
484 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { 421 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) {
485 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); 422 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
486 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); 423 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
487 424
488 check = pidgin_prefs_checkbox(_(font_names[i]), 425 check = pidgin_prefs_checkbox(_(font_names[i]),
489 font_prefs_set[i], hbox); 426 font_prefs_set[i], hbox);
490 gtk_size_group_add_widget(labelsg, check); 427 gtk_size_group_add_widget(labelsg, check);
491 428
492 font_widgets[i] = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, PIDGIN_BUTTON_HORIZONTAL); 429 font_widgets[i] = pidgin_pixbuf_button_from_stock("",
493 gtk_size_group_add_widget(widgetsg, font_widgets[i]); 430 GTK_STOCK_SELECT_FONT, PIDGIN_BUTTON_HORIZONTAL);
494 gtk_box_pack_start(GTK_BOX(hbox), font_widgets[i], FALSE, 431 gtk_box_pack_start(GTK_BOX(hbox), font_widgets[i], FALSE,
495 FALSE, 0); 432 FALSE, 0);
496 gtk_widget_set_sensitive(font_widgets[i], 433 gtk_widget_set_sensitive(font_widgets[i],
497 purple_prefs_get_bool(font_prefs_set[i])); 434 purple_prefs_get_bool(font_prefs_set[i]));
498 g_signal_connect(G_OBJECT(check), "toggled", 435 g_signal_connect(G_OBJECT(check), "toggled",
501 g_signal_connect(G_OBJECT(font_widgets[i]), "clicked", 438 g_signal_connect(G_OBJECT(font_widgets[i]), "clicked",
502 G_CALLBACK(purplerc_set_font), 439 G_CALLBACK(purplerc_set_font),
503 GINT_TO_POINTER(i)); 440 GINT_TO_POINTER(i));
504 } 441 }
505 442
443 g_object_unref(labelsg);
444
445 return vbox;
446 }
447
448 static GtkWidget *
449 purplerc_make_misc_vbox(void)
450 {
451 /* Note: Intentionally not using the size group argument to the
452 * pidgin_prefs_labeled_* functions they only add the text label to
453 * the size group not the whole thing, which isn't what I want. */
454 GtkWidget *vbox = NULL, *hbox = NULL, *check = NULL, *widget = NULL;
455 GtkSizeGroup *labelsg = NULL;
456 int i;
457
458 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
459 labelsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
460
461 gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BORDER);
462
463 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
464 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
465
466 check = pidgin_prefs_checkbox(_("GTK+ Text Shortcut Theme"),
467 "/plugins/gtk/purplerc/set/gtk-key-theme-name",
468 hbox);
469 gtk_size_group_add_widget(labelsg, check);
470
471 widget = pidgin_prefs_labeled_entry(hbox, "",
472 "/plugins/gtk/purplerc/gtk-key-theme-name",
473 NULL);
474 gtk_widget_set_sensitive(widget,
475 purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-key-theme-name"));
476 g_signal_connect(G_OBJECT(check), "toggled",
477 G_CALLBACK(pidgin_toggle_sensitive), widget);
478
479 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) {
480 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
481 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
482
483 check = pidgin_prefs_checkbox(_(widget_size_names[i]),
484 widget_size_prefs_set[i], hbox);
485 gtk_size_group_add_widget(labelsg, check);
486
487 widget_size_widgets[i] = pidgin_prefs_labeled_spin_button(hbox, "", widget_size_prefs[i], 0, 50, NULL);
488 gtk_widget_set_sensitive(widget_size_widgets[i],
489 purple_prefs_get_bool(widget_size_prefs_set[i]));
490 g_signal_connect(G_OBJECT(check), "toggled",
491 G_CALLBACK(pidgin_toggle_sensitive),
492 widget_size_widgets[i]);
493 }
494
495 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
496 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
497
498 check = pidgin_prefs_checkbox(_("Disable Typing Notification Text"),
499 "/plugins/gtk/purplerc/set/disable-typing-notification", hbox);
500
501 /* Widget boolean stuff */
502 /*
503 for (i = 0; i < G_N_ELEMENTS(widget_bool_prefs); i++) {
504 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
505 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
506
507 check = pidgin_prefs_checkbox(_(widget_bool_names[i]),
508 widget_bool_prefs_set[i], hbox);
509 gtk_size_group_add_widget(labelsg, check);
510
511 widget_bool_widgets[i] = pidgin_prefs_checkbox("", widget_bool_prefs[i], hbox);
512
513 gtk_widget_set_sensitive(widget_bool_widgets[i],
514 purple_prefs_get_bool(widget_bool_prefs_set[i]));
515 g_signal_connect(G_OBJECT(check), "toggled",
516 G_CALLBACK(pidgin_toggle_sensitive),
517 widget_bool_widgets[i]);
518 }
519 */
520
521 g_object_unref(labelsg);
522
523 return vbox;
524 }
525
526 static GtkWidget *
527 purplerc_get_config_frame(PurplePlugin *plugin)
528 {
529 gchar *tmp;
530 GtkWidget *check = NULL, *label = NULL;
531 GtkWidget *ret = NULL, *hbox = NULL, *frame = NULL, *note = NULL;
532 #ifndef _WIN32
533 const gchar *homepath = "$HOME";
534 #else
535 const gchar *homepath = "\%APPDATA\%";
536 #endif
537
538 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
539 note = gtk_notebook_new();
540 label = gtk_label_new(NULL);
541 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
542
543 gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER);
544
545 tmp = g_strdup_printf("<span weight=\"bold\">%s</span>", _("GTK+ Theme Control Settings"));
546 gtk_label_set_markup(GTK_LABEL(label), tmp);
547 g_free(tmp);
548
549 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
550 gtk_box_pack_start(GTK_BOX(ret), hbox, FALSE, FALSE, 0);
551 gtk_box_pack_start(GTK_BOX(ret), note, FALSE, FALSE, 0);
552
553 label = gtk_label_new(_("Colors"));
554 gtk_notebook_insert_page(GTK_NOTEBOOK(note), purplerc_make_interface_vbox(), label, -1);
555
556 label = gtk_label_new(_("Fonts"));
557 gtk_notebook_insert_page(GTK_NOTEBOOK(note), purplerc_make_fonts_vbox(), label, -1);
558
559 label = gtk_label_new(_("Miscellaneous"));
560 gtk_notebook_insert_page(GTK_NOTEBOOK(note), purplerc_make_misc_vbox(), label, -1);
561
562 gtk_box_pack_start(GTK_BOX(ret), gtk_hseparator_new(), TRUE, TRUE, 0);
563
506 frame = pidgin_make_frame(ret, _("Gtkrc File Tools")); 564 frame = pidgin_make_frame(ret, _("Gtkrc File Tools"));
507 565
508 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); 566 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
509 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); 567 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
510 568
511 tmp = g_strdup_printf(_("Write settings to %s%sgtkrc-2.0"), 569 tmp = g_strdup_printf(_("Write settings to %s%sgtkrc-2.0"),
512 homepath, G_DIR_SEPARATOR_S ".purple" G_DIR_SEPARATOR_S); 570 homepath, G_DIR_SEPARATOR_S ".purple" G_DIR_SEPARATOR_S);
513 check = gtk_button_new_with_label(tmp); 571 check = gtk_button_new_with_label(tmp);
514 g_free(tmp); 572 g_free(tmp);
515 gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0); 573 gtk_box_pack_start(GTK_BOX(hbox), check, TRUE, TRUE, 0);
516 gtk_size_group_add_widget(buttonsg, check);
517 g_signal_connect(G_OBJECT(check), "clicked", 574 g_signal_connect(G_OBJECT(check), "clicked",
518 G_CALLBACK(purplerc_write), NULL); 575 G_CALLBACK(purplerc_write), NULL);
519 576
520 check = gtk_button_new_with_label(_("Re-read gtkrc files")); 577 check = gtk_button_new_with_label(_("Re-read gtkrc files"));
521 gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0); 578 gtk_box_pack_start(GTK_BOX(hbox), check, TRUE, TRUE, 0);
522 gtk_size_group_add_widget(buttonsg, check);
523 g_signal_connect(G_OBJECT(check), "clicked", 579 g_signal_connect(G_OBJECT(check), "clicked",
524 G_CALLBACK(purplerc_reread), NULL); 580 G_CALLBACK(purplerc_reread), NULL);
525 581
526 gtk_widget_show_all(ret); 582 gtk_widget_show_all(ret);
527 583
528 g_object_unref(labelsg);
529 g_object_unref(widgetsg);
530 g_object_unref(buttonsg);
531 584
532 return ret; 585 return ret;
533 } 586 }
534 587
535 static PidginPluginUiInfo purplerc_ui_info = 588 static PidginPluginUiInfo purplerc_ui_info =
619 for (i = 0; i < G_N_ELEMENTS(widget_bool_prefs); i++) { 672 for (i = 0; i < G_N_ELEMENTS(widget_bool_prefs); i++) {
620 purple_prefs_add_bool(widget_bool_prefs[i], TRUE); 673 purple_prefs_add_bool(widget_bool_prefs[i], TRUE);
621 purple_prefs_add_bool(widget_bool_prefs_set[i], FALSE); 674 purple_prefs_add_bool(widget_bool_prefs_set[i], FALSE);
622 } 675 }
623 */ 676 */
677
678 purple_prefs_add_bool("/plugins/gtk/purplerc/disable-typing-notification", FALSE);
679 purple_prefs_add_bool("/plugins/gtk/purplerc/set/disable-typing-notification", FALSE);
680
681 /* remove old cursor color prefs */
682 purple_prefs_remove("/plugins/gtk/purplerc/color/GtkWidget::cursor-color");
683 purple_prefs_remove("/plugins/gtk/purplerc/color/GtkWidget::secondary-cursor-color");
684 purple_prefs_remove("/plugins/gtk/purplerc/set/color/GtkWidget::cursor-color");
685 purple_prefs_remove("/plugins/gtk/purplerc/set/color/GtkWidget::secondary-cursor-color");
624 } 686 }
625 687
626 PURPLE_INIT_PLUGIN(purplerc, purplerc_init, purplerc_info) 688 PURPLE_INIT_PLUGIN(purplerc, purplerc_init, purplerc_info)

mercurial