| 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" |
| 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 = |