diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2018-06-25 02:29:23 -0400 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2018-06-25 02:29:23 -0400 |
commit | f9ad27dbf4b53cb09910ac7f84e6a22310c634ab (patch) | |
tree | 95992b1177ab44d9e7c085d138a97a4dc5ec09b2 | |
parent | 0fd387e7aea3c95513e567b83907483fbc57883e (diff) | |
download | pidgin-f9ad27dbf4b53cb09910ac7f84e6a22310c634ab.tar.gz |
prefs: Convert Conversations page to glade.
-rw-r--r-- | pidgin/gtkprefs.c | 235 | ||||
-rw-r--r-- | pidgin/resources/Prefs/prefs.ui | 490 |
2 files changed, 632 insertions, 93 deletions
diff --git a/pidgin/gtkprefs.c b/pidgin/gtkprefs.c index aa9d363056..fd1be8638b 100644 --- a/pidgin/gtkprefs.c +++ b/pidgin/gtkprefs.c @@ -106,6 +106,33 @@ struct _PidginPrefsWindow { /* Notebook */ GtkWidget *notebook; + /* Conversations page */ + struct { + PidginPrefCombo notification_chat; + GtkWidget *show_incoming_formatting; + struct { + GtkWidget *close_immediately; + GtkWidget *show_buddy_icons; + GtkWidget *animate_buddy_icons; + GtkWidget *send_typing; + } im; + GtkWidget *spellcheck; + GtkWidget *use_smooth_scrolling; + struct { + GtkWidget *blink_im; + } win32; + GtkWidget *resize_custom_smileys; + GtkWidget *custom_smileys_size; + GtkWidget *minimum_entry_lines; + GtkWidget *sample_box; + GtkWidget *sample_webview; + /* Win32 specific frame */ + GtkWidget *font_frame; + GtkWidget *use_theme_font; + GtkWidget *custom_font_hbox; + GtkWidget *custom_font; + } conversations; + /* Logging page */ struct { PidginPrefCombo format; @@ -153,9 +180,6 @@ struct _PidginPrefsWindow { /* Main dialog */ static PidginPrefsWindow *prefs = NULL; -/* Conversations page */ -static GtkWidget *sample_webview = NULL; - /* Themes page */ static GtkWidget *prefs_sound_themes_combo_box; static GtkWidget *prefs_blist_themes_combo_box; @@ -823,8 +847,6 @@ delete_prefs(GtkWidget *asdf, void *gdsa) keyring_page_cleanup(); - sample_webview = NULL; - #ifdef USE_VV voice_level = NULL; voice_threshold = NULL; @@ -1503,7 +1525,7 @@ prefs_set_smiley_theme_cb(GtkComboBox *combo_box, gpointer user_data) #if 0 /* TODO: update smileys in sample_webview input box. */ - update_smileys_in_webview_input_box(sample_webview); + update_smileys_in_webview_input_box(win->conversation.sample_webview); #endif g_free(new_theme); @@ -2063,9 +2085,9 @@ interface_page(void) return ret; } -#ifdef _WIN32 +/* This is also Win32-specific, but must be visible for Glade binding. */ static void -apply_custom_font(void) +apply_custom_font(GtkWidget *unused, PidginPrefsWindow *win) { PangoFontDescription *desc = NULL; if (!purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/use_theme_font")) { @@ -2073,123 +2095,101 @@ apply_custom_font(void) desc = pango_font_description_from_string(font); } - gtk_widget_modify_font(sample_webview, desc); + gtk_widget_modify_font(win->conversations.sample_webview, desc); if (desc) pango_font_description_free(desc); } + static void -pidgin_custom_font_set(GtkFontButton *font_button, gpointer nul) +pidgin_custom_font_set(GtkWidget *font_button, PidginPrefsWindow *win) { purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/custom_font", - gtk_font_button_get_font_name(font_button)); + gtk_font_chooser_get_font(GTK_FONT_CHOOSER(font_button))); - apply_custom_font(); + apply_custom_font(font_button, win); } -#endif -static GtkWidget * -conv_page(void) +static void +bind_conv_page(PidginPrefsWindow *win) { - GtkWidget *ret; - GtkWidget *vbox; - GtkWidget *iconpref1; - GtkWidget *iconpref2; GtkWidget *webview; GtkWidget *frame; -#if 0 - GtkWidget *hbox; - GtkWidget *checkbox; - GtkWidget *spin_button; -#endif - - ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_CAT_SPACE); - gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); - vbox = pidgin_make_frame(ret, _("Conversations")); - - pidgin_prefs_dropdown(vbox, _("Chat notification:"), - PURPLE_PREF_INT, PIDGIN_PREFS_ROOT "/conversations/notification_chat", - _("On unseen events"), PIDGIN_UNSEEN_EVENT, - _("On unseen text"), PIDGIN_UNSEEN_TEXT, - _("On unseen text and the nick was said"), PIDGIN_UNSEEN_NICK, - NULL); - - pidgin_prefs_checkbox(_("Show _formatting on incoming messages"), - PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting", vbox); - pidgin_prefs_checkbox(_("Close IMs immediately when the tab is closed"), - PIDGIN_PREFS_ROOT "/conversations/im/close_immediately", vbox); - - iconpref1 = pidgin_prefs_checkbox(_("Show _detailed information"), - PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons", vbox); - iconpref2 = pidgin_prefs_checkbox(_("Enable buddy ic_on animation"), - PIDGIN_PREFS_ROOT "/conversations/im/animate_buddy_icons", vbox); - g_object_bind_property(iconpref1, "active", iconpref2, "sensitive", + win->conversations.notification_chat.type = PURPLE_PREF_INT; + win->conversations.notification_chat.key = PIDGIN_PREFS_ROOT "/conversations/notification_chat"; + pidgin_prefs_bind_dropdown(&win->conversations.notification_chat); + + pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting", + win->conversations.show_incoming_formatting); + pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/im/close_immediately", + win->conversations.im.close_immediately); + + pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons", + win->conversations.im.show_buddy_icons); + pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/im/animate_buddy_icons", + win->conversations.im.animate_buddy_icons); + g_object_bind_property(win->conversations.im.show_buddy_icons, "active", + win->conversations.im.animate_buddy_icons, "sensitive", G_BINDING_SYNC_CREATE); - pidgin_prefs_checkbox(_("_Notify buddies that you are typing to them"), - "/purple/conversations/im/send_typing", vbox); - pidgin_prefs_checkbox(_("Highlight _misspelled words"), - PIDGIN_PREFS_ROOT "/conversations/spellcheck", vbox); + pidgin_prefs_bind_checkbox("/purple/conversations/im/send_typing", + win->conversations.im.send_typing); + pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/spellcheck", + win->conversations.spellcheck); - pidgin_prefs_checkbox(_("Use smooth-scrolling"), PIDGIN_PREFS_ROOT "/conversations/use_smooth_scrolling", vbox); + pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/use_smooth_scrolling", + win->conversations.use_smooth_scrolling); #ifdef _WIN32 - pidgin_prefs_checkbox(_("F_lash window when IMs are received"), PIDGIN_PREFS_ROOT "/win32/blink_im", vbox); + pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/win32/blink_im", + win->conversations.win32.blink_im); +#else + gtk_widget_hide(win->conversations.win32.blink_im); #endif #if 0 /* TODO: it's not implemented */ - hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); - - checkbox = pidgin_prefs_checkbox(_("Resize incoming custom smileys"), - PIDGIN_PREFS_ROOT "/conversations/resize_custom_smileys", hbox); + pidgin_prefs_bind_checkbox( + PIDGIN_PREFS_ROOT "/conversations/resize_custom_smileys", + win->conversations.resize_custom_smileys); - spin_button = pidgin_prefs_labeled_spin_button(hbox, - _("Maximum size:"), - PIDGIN_PREFS_ROOT "/conversations/custom_smileys_size", - 16, 512, NULL); + pidgin_prefs_bind_spin_button( + PIDGIN_PREFS_ROOT "/conversations/custom_smileys_size", + win->conversations.custom_smileys_size); - g_object_bind_property(checkbox, "active", spin_button, "sensitive", + g_object_bind_property(win->conversations.resize_custom_smileys, "active", + win->conversations.custom_smileys_size, "sensitive", G_BINDING_SYNC_CREATE); - - pidgin_add_widget_to_vbox(GTK_BOX(vbox), NULL, NULL, hbox, TRUE, NULL); #endif - pidgin_prefs_labeled_spin_button(vbox, - _("Minimum input area height in lines:"), + pidgin_prefs_bind_spin_button( PIDGIN_PREFS_ROOT "/conversations/minimum_entry_lines", - 1, 8, NULL); + win->conversations.minimum_entry_lines); #ifdef _WIN32 { - GtkWidget *fontpref, *font_button, *hbox; const char *font_name; - vbox = pidgin_make_frame(ret, _("Font")); + gtk_widget_show(win->conversations.font_frame); - fontpref = pidgin_prefs_checkbox(_("Use font from _theme"), - PIDGIN_PREFS_ROOT "/conversations/use_theme_font", vbox); + pidgin_prefs_bind_checkbox( + PIDGIN_PREFS_ROOT "/conversations/use_theme_font", + win->conversations.use_theme_font); font_name = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/custom_font"); - if ((font_name == NULL) || (*font_name == '\0')) { - font_button = gtk_font_button_new(); - } else { - font_button = gtk_font_button_new_with_font(font_name); + if (font_name != NULL && *font_name != '\0') { + gtk_font_chooser_set_font( + GTK_FONT_CHOOSER(win->conversations.custom_font), + font_name); } - gtk_font_button_set_show_style(GTK_FONT_BUTTON(font_button), TRUE); - hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Conversation _font:"), NULL, font_button, FALSE, NULL); - g_object_bind_property(fontpref, "active", hbox, "sensitive", + g_object_bind_property(win->conversations.use_theme_font, "active", + win->conversations.custom_font_hbox, "sensitive", G_BINDING_SYNC_CREATE|G_BINDING_INVERT_BOOLEAN); - g_signal_connect(G_OBJECT(fontpref), "clicked", G_CALLBACK(apply_custom_font), hbox); - g_signal_connect(G_OBJECT(font_button), "font-set", G_CALLBACK(pidgin_custom_font_set), NULL); - } #endif - vbox = pidgin_make_frame(ret, _("Default Formatting")); - frame = pidgin_create_webview(TRUE, &webview, NULL); gtk_widget_show(frame); gtk_widget_set_name(webview, "pidgin_prefs_font_webview"); @@ -2211,7 +2211,7 @@ conv_page(void) "appear when you use protocols that support " "formatting.")); - gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(win->conversations.sample_box), frame, TRUE, TRUE, 0); pidgin_webview_setup_entry(PIDGIN_WEBVIEW(webview), PURPLE_CONNECTION_FLAG_HTML | @@ -2221,11 +2221,7 @@ conv_page(void) G_CALLBACK(formatting_toggle_cb), NULL); g_signal_connect_after(G_OBJECT(webview), "format-cleared", G_CALLBACK(formatting_clear_cb), NULL); - sample_webview = webview; - - gtk_widget_show(ret); - - return ret; + win->conversations.sample_webview = webview; } static void @@ -4037,7 +4033,8 @@ prefs_notebook_init(PidginPrefsWindow *win) prefs_notebook_add_page(notebook, _("Browser"), browser_page(), notebook_page++); #endif - prefs_notebook_add_page(notebook, _("Conversations"), conv_page(), notebook_page++); + bind_conv_page(win); + notebook_page++; bind_logging_page(win); notebook_page++; bind_network_page(win); @@ -4069,6 +4066,66 @@ pidgin_prefs_window_class_init(PidginPrefsWindowClass *klass) widget_class, PidginPrefsWindow, notebook); gtk_widget_class_bind_template_callback(widget_class, delete_prefs); + /* Conversations page */ + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.notification_chat.combo); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.show_incoming_formatting); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.im.close_immediately); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.im.show_buddy_icons); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.im.animate_buddy_icons); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.im.send_typing); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.spellcheck); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.use_smooth_scrolling); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.win32.blink_im); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.resize_custom_smileys); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.custom_smileys_size); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.minimum_entry_lines); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.sample_box); +#ifdef WIN32 + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.font_frame); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.use_theme_font); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.custom_font_hbox); + gtk_widget_class_bind_template_child( + widget_class, PidginPrefsWindow, + conversations.custom_font); +#endif + /* Even though Win32-specific, must be bound to avoid Glade warnings. */ + gtk_widget_class_bind_template_callback(widget_class, + apply_custom_font); + gtk_widget_class_bind_template_callback(widget_class, + pidgin_custom_font_set); + /* Logging page */ gtk_widget_class_bind_template_child( widget_class, PidginPrefsWindow, logging.format.combo); diff --git a/pidgin/resources/Prefs/prefs.ui b/pidgin/resources/Prefs/prefs.ui index 16845da8b1..2fc51475d7 100644 --- a/pidgin/resources/Prefs/prefs.ui +++ b/pidgin/resources/Prefs/prefs.ui @@ -2,6 +2,42 @@ <!-- Generated with glade 3.22.1 --> <interface> <requires lib="gtk+" version="3.10"/> + <object class="GtkAdjustment" id="conversations.custom_smiley_size.adjustment"> + <property name="lower">16</property> + <property name="upper">512</property> + <property name="value">16</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="conversations.minimum_entry_lines.adjustment"> + <property name="lower">1</property> + <property name="upper">8</property> + <property name="value">2</property> + <property name="step_increment">1</property> + <property name="page_increment">1</property> + </object> + <object class="GtkListStore" id="conversations.notification_chat.store"> + <columns> + <!-- column-name text --> + <column type="gchararray"/> + <!-- column-name value --> + <column type="gint"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">On unseen events</col> + <col id="1">1</col> + </row> + <row> + <col id="0" translatable="yes">On unseen text</col> + <col id="1">3</col> + </row> + <row> + <col id="0" translatable="yes">On unseen text and the nick was said</col> + <col id="1">4</col> + </row> + </data> + </object> <object class="GtkListStore" id="logging.format.store"> <columns> <!-- column-name text --> @@ -114,6 +150,448 @@ <property name="can_focus">True</property> <property name="tab_pos">left</property> <child> + <object class="GtkBox" id="conversations.page"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_left">12</property> + <property name="margin_right">12</property> + <property name="margin_top">12</property> + <property name="margin_bottom">12</property> + <property name="orientation">vertical</property> + <property name="spacing">18</property> + <child> + <object class="GtkFrame"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="left_padding">12</property> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Chat notification:</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="conversations.notification_chat.combo"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">conversations.notification_chat.store</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="conversations.show_incoming_formatting"> + <property name="label" translatable="yes">Show _formatting on incoming messages</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="conversations.im.close_immediately"> + <property name="label" translatable="yes">Close IMs immediately when the tab is closed</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="conversations.im.show_buddy_icons"> + <property name="label" translatable="yes">Show _detailed information</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="conversations.im.animate_buddy_icons"> + <property name="label" translatable="yes">Enable buddy ic_on animation</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">4</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="conversations.im.send_typing"> + <property name="label" translatable="yes">_Notify buddies that you are typing to them</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">5</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="conversations.spellcheck"> + <property name="label" translatable="yes">Highlight _misspelled words</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">6</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="conversations.use_smooth_scrolling"> + <property name="label" translatable="yes">Use smooth-scrolling</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">7</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="conversations.win32.blink_im"> + <property name="label" translatable="yes">F_lash window when IMs are received</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">8</property> + </packing> + </child> + <child> + <object class="GtkBox"> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkCheckButton" id="conversations.resize_custom_smileys"> + <property name="label" translatable="yes">Resize incoming custom smileys</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Maximum size:</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="conversations.custom_smileys_size"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="input_purpose">number</property> + <property name="adjustment">conversations.custom_smiley_size.adjustment</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">9</property> + </packing> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Minimum input area height in lines:</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="conversations.minimum_entry_lines"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="input_purpose">digits</property> + <property name="adjustment">conversations.minimum_entry_lines.adjustment</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">10</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Conversations</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFrame"> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="left_padding">12</property> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkCheckButton" id="conversations.use_theme_font"> + <property name="label" translatable="yes">Use font from _theme</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="apply_custom_font" object="PidginPrefsWindow" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="conversations.custom_font_hbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Conversation _font:</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFontButton" id="conversations.custom_font"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="font">Sans 12</property> + <property name="preview_text"/> + <signal name="font-set" handler="pidgin_custom_font_set" object="PidginPrefsWindow" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Font</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkFrame"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="left_padding">12</property> + <child> + <object class="GtkBox" id="conversations.sample_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <placeholder/> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Default Formatting</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + <child type="tab"> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Conversations</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> <object class="GtkBox" id="logging.page"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -251,6 +729,9 @@ </packing> </child> </object> + <packing> + <property name="position">1</property> + </packing> </child> <child type="tab"> <object class="GtkLabel"> @@ -259,6 +740,7 @@ <property name="label" translatable="yes">Logging</property> </object> <packing> + <property name="position">1</property> <property name="tab_fill">False</property> </packing> </child> @@ -751,7 +1233,7 @@ </child> </object> <packing> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> <child type="tab"> @@ -761,7 +1243,7 @@ <property name="label" translatable="yes">Network</property> </object> <packing> - <property name="position">1</property> + <property name="position">2</property> <property name="tab_fill">False</property> </packing> </child> @@ -1079,7 +1561,7 @@ </child> </object> <packing> - <property name="position">2</property> + <property name="position">3</property> </packing> </child> <child type="tab"> @@ -1089,7 +1571,7 @@ <property name="label" translatable="yes">Proxy</property> </object> <packing> - <property name="position">2</property> + <property name="position">3</property> <property name="tab_fill">False</property> </packing> </child> |