Wed, 12 Feb 2014 21:08:49 +0100
Hentet ny revision
--- a/doc/Makefile.am Wed Feb 12 21:04:03 2014 +0100 +++ b/doc/Makefile.am Wed Feb 12 21:08:49 2014 +0100 @@ -13,14 +13,10 @@ endif EXTRA_DIST = \ - C-HOWTO.dox \ PERL-HOWTO.dox \ TCL-HOWTO.dox \ funniest_home_convos.txt \ finch.1.in \ gtkrc-2.0 \ pidgin.1.in \ - plugin-i18n.dox \ - plugin-ids.dox \ - plugin-signals.dox \ the_penguin.txt
--- a/doc/reference/libpurple/Makefile.am Wed Feb 12 21:04:03 2014 +0100 +++ b/doc/reference/libpurple/Makefile.am Wed Feb 12 21:08:49 2014 +0100 @@ -84,6 +84,8 @@ # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). # e.g. content_files=running.sgml building.sgml changes-2.0.sgml content_files = version.xml \ + plugin_i18n.xml \ + plugin_ids.xml \ signals_account.xml \ signals_blist.xml \ signals_certificate.xml \ @@ -96,9 +98,11 @@ signals_jabber.xml \ signals_log.xml \ signals_notify.xml \ + signals_plugin.xml \ signals_savedstatus.xml \ signals_sound.xml \ signals_xfer.xml \ + tut_c_plugins.xml \ tut_signals.xml \ ui_ops.xml
--- a/finch/libgnt/gntprogressbar.h Wed Feb 12 21:04:03 2014 +0100 +++ b/finch/libgnt/gntprogressbar.h Wed Feb 12 21:08:49 2014 +0100 @@ -77,6 +77,7 @@ * gnt_progress_bar_new: * * Create a new GntProgressBar + * * Returns: The new GntProgressBar */ GntWidget *
--- a/libpurple/Makefile.am Wed Feb 12 21:04:03 2014 +0100 +++ b/libpurple/Makefile.am Wed Feb 12 21:08:49 2014 +0100 @@ -2,6 +2,8 @@ dbus-analyze-functions.py \ dbus-analyze-signals.py \ dbus-analyze-types.py \ + enums.c.in \ + enums.h.in \ glibcompat.h \ marshallers.list \ purple-notifications-example \ @@ -36,15 +38,6 @@ SUBDIRS = $(GCONF_DIR) plugins protocols . tests example -if USE_NSS -AES_SOURCE = ciphers/aescipher.c -AES_HEADER = aescipher.h -endif -if USE_GNUTLS -AES_SOURCE = ciphers/aescipher.c -AES_HEADER = aescipher.h -endif - purple_coresources = \ account.c \ accounts.c \ @@ -54,7 +47,7 @@ buddylist.c \ buddyicon.c \ certificate.c \ - $(AES_SOURCE) \ + ciphers/aescipher.c \ ciphers/descipher.c \ ciphers/des3cipher.c \ ciphers/hmaccipher.c \ @@ -206,7 +199,7 @@ enum-types.h purple_cipherheaders = \ - $(AES_HEADER) \ + aescipher.h \ descipher.h \ des3cipher.h \ hmaccipher.h \
--- a/libpurple/ciphers/aescipher.c Wed Feb 12 21:04:03 2014 +0100 +++ b/libpurple/ciphers/aescipher.c Wed Feb 12 21:08:49 2014 +0100 @@ -41,7 +41,7 @@ # include <pk11pub.h> # include <prerror.h> #else -# error "No GnuTLS or NSS support" +# warning "No GnuTLS or NSS support" #endif /* 128bit */ @@ -438,7 +438,8 @@ #elif defined(PURPLE_AES_USE_NSS) encrypt_func = purple_aes_cipher_nss_encrypt; #else -# error "No matching encrypt_func" + purple_debug_error("cipher-aes", "No matching encrypt_func\n"); + return -1; #endif succ = encrypt_func(input_padded, output, out_len, priv->iv, @@ -482,7 +483,8 @@ #elif defined(PURPLE_AES_USE_NSS) decrypt_func = purple_aes_cipher_nss_decrypt; #else -# error "No matching encrypt_func" + purple_debug_error("cipher-aes", "No matching decrypt_func\n"); + return -1; #endif succ = decrypt_func(input, output, in_len, priv->iv, priv->key,
--- a/libpurple/cmds.h Wed Feb 12 21:04:03 2014 +0100 +++ b/libpurple/cmds.h Wed Feb 12 21:08:49 2014 +0100 @@ -256,6 +256,7 @@ * purple_cmds_get_handle: * * Get the handle for the commands API + * * Returns: The handle */ gpointer purple_cmds_get_handle(void);
--- a/pidgin/Makefile.am Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/Makefile.am Wed Feb 12 21:08:49 2014 +0100 @@ -144,6 +144,8 @@ pidgin_SOURCES = \ pidgin.c +noinst_HEADERS= gtkinternal.h + libpidginincludedir=$(includedir)/pidgin libpidgininclude_HEADERS = \ $(libpidgin_la_headers)
--- a/pidgin/gtk3compat.h Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtk3compat.h Wed Feb 12 21:08:49 2014 +0100 @@ -31,6 +31,8 @@ * Also, any public API should not depend on this file. */ +#include <gtk/gtk.h> + #if !GTK_CHECK_VERSION(3,2,0) #define GTK_FONT_CHOOSER GTK_FONT_SELECTION_DIALOG @@ -58,6 +60,90 @@ #define GDK_IS_QUARTZ_WINDOW(window) TRUE #endif +static inline GdkPixbuf * +gdk_pixbuf_get_from_surface(cairo_surface_t *surface, gint src_x, gint src_y, + gint width, gint height) +{ + GdkPixmap *pixmap; + GdkPixbuf *pixbuf; + cairo_t *cr; + + pixmap = gdk_pixmap_new(NULL, width, height, 24); + + cr = gdk_cairo_create(pixmap); + cairo_set_source_surface(cr, surface, -src_x, -src_y); + cairo_paint(cr); + cairo_destroy(cr); + + pixbuf = gdk_pixbuf_get_from_drawable(NULL, pixmap, + gdk_drawable_get_colormap(pixmap), 0, 0, 0, 0, width, height); + + g_object_unref(pixmap); + + return pixbuf; +} + +static inline GtkWidget * +gtk_box_new(GtkOrientation orientation, gint spacing) +{ + g_return_val_if_fail(orientation == GTK_ORIENTATION_HORIZONTAL || + orientation == GTK_ORIENTATION_VERTICAL, NULL); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + return gtk_hbox_new(FALSE, spacing); + else /* GTK_ORIENTATION_VERTICAL */ + return gtk_vbox_new(FALSE, spacing); +} + +static inline GtkWidget * +gtk_separator_new(GtkOrientation orientation) +{ + g_return_val_if_fail(orientation == GTK_ORIENTATION_HORIZONTAL || + orientation == GTK_ORIENTATION_VERTICAL, NULL); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + return gtk_hseparator_new(); + else /* GTK_ORIENTATION_VERTICAL */ + return gtk_vseparator_new(); +} + +static inline GtkWidget * +gtk_button_box_new(GtkOrientation orientation) +{ + g_return_val_if_fail(orientation == GTK_ORIENTATION_HORIZONTAL || + orientation == GTK_ORIENTATION_VERTICAL, NULL); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + return gtk_hbutton_box_new(); + else /* GTK_ORIENTATION_VERTICAL */ + return gtk_vbutton_box_new(); +} + +static inline GtkWidget * +gtk_paned_new(GtkOrientation orientation) +{ + g_return_val_if_fail(orientation == GTK_ORIENTATION_HORIZONTAL || + orientation == GTK_ORIENTATION_VERTICAL, NULL); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + return gtk_hpaned_new(); + else /* GTK_ORIENTATION_VERTICAL */ + return gtk_vpaned_new(); +} + +static inline GtkWidget * +gtk_scale_new_with_range(GtkOrientation orientation, gdouble min, gdouble max, + gdouble step) +{ + g_return_val_if_fail(orientation == GTK_ORIENTATION_HORIZONTAL || + orientation == GTK_ORIENTATION_VERTICAL, NULL); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + return gtk_hscale_new_with_range(min, max, step); + else /* GTK_ORIENTATION_VERTICAL */ + return gtk_vscale_new_with_range(min, max, step); +} + #if !GTK_CHECK_VERSION(2,24,0) #define gdk_x11_set_sm_client_id gdk_set_sm_client_id
--- a/pidgin/gtkaccount.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkaccount.c Wed Feb 12 21:08:49 2014 +0100 @@ -619,7 +619,7 @@ gtk_widget_show(dialog->login_frame); /* Main vbox */ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); @@ -807,7 +807,7 @@ gtk_widget_show(dialog->user_frame); /* Main vbox */ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); @@ -827,7 +827,7 @@ gtk_widget_show(dialog->icon_check); gtk_box_pack_start(GTK_BOX(vbox), dialog->icon_check, FALSE, FALSE, 0); - dialog->icon_hbox = hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + dialog->icon_hbox = hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_widget_set_sensitive(hbox, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check))); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); @@ -850,11 +850,11 @@ purple_imgstore_unref(dialog->icon_img); dialog->icon_img = NULL; - vbox2 = gtk_vbox_new(FALSE, 0); + vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 0); gtk_widget_show(vbox2); - hbox2 = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, FALSE, PIDGIN_HIG_BORDER); gtk_widget_show(hbox2); @@ -952,7 +952,7 @@ account = dialog->account; /* Main vbox */ - dialog->protocol_frame = vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + dialog->protocol_frame = vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BORDER); gtk_notebook_insert_page(GTK_NOTEBOOK(dialog->notebook), vbox, gtk_label_new_with_mnemonic(_("Ad_vanced")), 1); @@ -1258,7 +1258,7 @@ gtk_widget_destroy(dialog->proxy_frame); /* Main vbox */ - dialog->proxy_frame = vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + dialog->proxy_frame = vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(parent), vbox); gtk_widget_show(vbox); @@ -1268,7 +1268,7 @@ add_pref_box(dialog, vbox, _("Proxy _type:"), dialog->proxy_dropdown); /* Setup the second vbox, which may be hidden at times. */ - dialog->proxy_vbox = vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + dialog->proxy_vbox = vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), vbox2, FALSE, FALSE, PIDGIN_HIG_BORDER); gtk_widget_show(vbox2); @@ -1355,7 +1355,7 @@ } if (!dialog->voice_frame) { - dialog->voice_frame = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + dialog->voice_frame = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_container_set_border_width(GTK_CONTAINER(dialog->voice_frame), PIDGIN_HIG_BORDER); @@ -1776,7 +1776,7 @@ gtk_widget_show(GTK_WIDGET(notebook)); /* Setup the inner vbox */ - dialog->top_vbox = vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + dialog->top_vbox = vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BORDER); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, gtk_label_new_with_mnemonic(_("_Basic"))); @@ -1802,7 +1802,7 @@ add_protocol_options(dialog); /* Setup the page with 'Proxy'. */ - dbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + dbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_container_set_border_width(GTK_CONTAINER(dbox), PIDGIN_HIG_BORDER); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), dbox, gtk_label_new_with_mnemonic(_("P_roxy")));
--- a/pidgin/gtkblist.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkblist.c Wed Feb 12 21:08:49 2014 +0100 @@ -998,13 +998,13 @@ PIDGIN_HIG_BOX_SPACE); gtk_window_set_role(GTK_WINDOW(data->window), window_role); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(data->window))), hbox); gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(img), 0, 0); - vbox = gtk_vbox_new(FALSE, 5); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(hbox), vbox); label = gtk_label_new(label_text); @@ -1020,7 +1020,7 @@ callback_func, filter_func, data); pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("A_ccount"), data->sg, data->account_menu, TRUE, NULL); - data->vbox = GTK_BOX(gtk_vbox_new(FALSE, 5)); + data->vbox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, 5)); gtk_container_set_border_width(GTK_CONTAINER(data->vbox), 0); gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(data->vbox), FALSE, FALSE, 0); @@ -5423,7 +5423,7 @@ char *markup; char *description; - hbox = gtk_hbox_new(FALSE, 6); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); g_object_set_data(G_OBJECT(hbox), OBJECT_DATA_KEY_ACCOUNT, account); pack_prpl_icon_start(hbox, account); @@ -5650,7 +5650,7 @@ static GtkWidget * kiosk_page() { - GtkWidget *ret = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + GtkWidget *ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); GtkWidget *label; GtkWidget *entry; GtkWidget *bbox; @@ -5677,7 +5677,7 @@ label = gtk_label_new(" "); gtk_box_pack_start(GTK_BOX(ret), label, FALSE, FALSE, 0); - bbox = gtk_hbutton_box_new(); + bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); button = gtk_button_new_with_mnemonic(_("_Login")); gtk_box_pack_start(GTK_BOX(ret), bbox, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(bbox), button); @@ -5912,7 +5912,7 @@ GTK_WINDOW(gtkblist->window)->allow_shrink = TRUE; #endif - gtkblist->main_vbox = gtk_vbox_new(FALSE, 0); + gtkblist->main_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show(gtkblist->main_vbox); gtk_container_add(GTK_CONTAINER(gtkblist->window), gtkblist->main_vbox); @@ -5988,7 +5988,7 @@ gtk_label_set_markup(GTK_LABEL(label), pretty); g_free(pretty); gtk_notebook_append_page(GTK_NOTEBOOK(gtkblist->notebook),label, NULL); - gtkblist->vbox = gtk_vbox_new(FALSE, 0); + gtkblist->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_notebook_append_page(GTK_NOTEBOOK(gtkblist->notebook), gtkblist->vbox, NULL); gtk_widget_show_all(gtkblist->notebook); pidgin_blist_select_notebook_page(gtkblist); @@ -6033,7 +6033,7 @@ ebox = gtk_event_box_new(); gtk_box_pack_start(GTK_BOX(gtkblist->vbox), ebox, FALSE, FALSE, 0); - gtkblist->headline = gtk_hbox_new(FALSE, 3); + gtkblist->headline = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_container_set_border_width(GTK_CONTAINER(gtkblist->headline), 6); gtk_container_add(GTK_CONTAINER(ebox), gtkblist->headline); gtkblist->headline_image = gtk_image_new_from_pixbuf(NULL); @@ -6155,7 +6155,7 @@ pidgin_make_scrollable(gtkblist->treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_NONE, -1, -1), TRUE, TRUE, 0); - sep = gtk_hseparator_new(); + sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start(GTK_BOX(gtkblist->vbox), sep, FALSE, FALSE, 0); gtkblist->scrollbook = pidgin_scroll_book_new();
--- a/pidgin/gtkcertmgr.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkcertmgr.c Wed Feb 12 21:08:49 2014 +0100 @@ -30,6 +30,7 @@ #include "notify.h" #include "request.h" +#include "gtk3compat.h" #include "gtkblist.h" #include "gtkutils.h" @@ -410,9 +411,8 @@ /* Create a struct to store context information about this window */ tpm_dat = g_new0(tls_peers_mgmt_data, 1); - tpm_dat->mgmt_widget = mgmt_widget = - gtk_hbox_new(FALSE, /* Non-homogeneous */ - PIDGIN_HIG_BOX_SPACE); + tpm_dat->mgmt_widget = mgmt_widget = gtk_box_new( + GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_container_set_border_width(GTK_CONTAINER(mgmt_widget), PIDGIN_HIG_BOX_SPACE); gtk_widget_show(mgmt_widget); @@ -471,7 +471,7 @@ tls_peers_mgmt_repopulate_list(); /* Right-hand side controls box */ - bbox = gtk_vbutton_box_new(); + bbox = gtk_button_box_new(GTK_ORIENTATION_VERTICAL); gtk_box_pack_end(GTK_BOX(mgmt_widget), bbox, FALSE, FALSE, /* Do not take up space */ 0);
--- a/pidgin/gtkconv.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkconv.c Wed Feb 12 21:08:49 2014 +0100 @@ -230,6 +230,9 @@ float scale; col = g_array_index(gtkconv->nick_colors, GdkColor, g_str_hash(name) % gtkconv->nick_colors->len); + + g_return_val_if_fail(style != NULL, &col); + #if GTK_CHECK_VERSION(3,0,0) gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &rgba); scale = (1 - LUMINANCE(rgba)) * ((float)0xffff / MAX(MAX(col.red, col.blue), col.green)); @@ -955,13 +958,13 @@ gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BOX_SPACE); /* Setup the inner hbox and put the dialog's icon in it. */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(vbox), hbox); gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(img), 0, 0); /* Setup the right vbox. */ - vbox = gtk_vbox_new(FALSE, 0); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(hbox), vbox); /* Put our happy label in it. */ @@ -974,7 +977,7 @@ gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); /* hbox for the table, and to give it some spacing on the left. */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(vbox), hbox); /* Setup the table we're going to use to lay stuff out. */ @@ -4008,7 +4011,7 @@ *group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(menuitem)); /* Do some evil, see some evil, speak some evil. */ - box = gtk_hbox_new(FALSE, 0); + box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); label = gtk_bin_get_child(GTK_BIN(menuitem)); g_object_ref(label); @@ -5048,7 +5051,7 @@ GtkWidget *hbox, *label; PidginChatPane *gtkchat = gtkconv->u.chat; - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new(_("Topic:")); @@ -5113,7 +5116,7 @@ PurpleConversation *conv = gtkconv->active_conv; /* Build the right pane. */ - lbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + lbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_paned_pack2(GTK_PANED(hpaned), lbox, FALSE, TRUE); gtk_widget_show(lbox); @@ -5229,7 +5232,8 @@ pidgin_conv_end_quickfind(PidginConversation *gtkconv) { #if GTK_CHECK_VERSION(3,0,0) - gtk_widget_override_background_color(gtkconv->quickfind_entry, GTK_STATE_FLAG_NORMAL, NULL); + GtkStyleContext *context = gtk_widget_get_style_context(gtkconv->quickfind_entry); + gtk_style_context_remove_class(context, "not-found"); #else gtk_widget_modify_base(gtkconv->quickfind_entry, GTK_STATE_NORMAL, NULL); #endif @@ -5249,18 +5253,15 @@ case GDK_KEY_KP_Enter: if (webkit_web_view_search_text(WEBKIT_WEB_VIEW(gtkconv->webview), gtk_entry_get_text(GTK_ENTRY(entry)), FALSE, TRUE, TRUE)) { #if GTK_CHECK_VERSION(3,0,0) - gtk_widget_override_background_color(gtkconv->quickfind_entry, GTK_STATE_FLAG_NORMAL, NULL); + GtkStyleContext *context = gtk_widget_get_style_context(gtkconv->quickfind_entry); + gtk_style_context_remove_class(context, "not-found"); #else gtk_widget_modify_base(gtkconv->quickfind_entry, GTK_STATE_NORMAL, NULL); #endif } else { #if GTK_CHECK_VERSION(3,0,0) - GdkRGBA col; - col.red = 1.0; - col.green = 0xafff/(double)0xffff; - col.blue = 0xafff/(double)0xffff; - col.alpha = 1.0; - gtk_widget_override_background_color(gtkconv->quickfind_entry, GTK_STATE_FLAG_NORMAL, &col); + GtkStyleContext *context = gtk_widget_get_style_context(gtkconv->quickfind_entry); + gtk_style_context_add_class(context, "not-found"); #else GdkColor col; col.red = 0xffff; @@ -5282,8 +5283,19 @@ static void pidgin_conv_setup_quickfind(PidginConversation *gtkconv, GtkWidget *container) { - GtkWidget *widget = gtk_hbox_new(FALSE, 0); + GtkWidget *widget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); GtkWidget *label, *entry, *close; +#if GTK_CHECK_VERSION(3,0,0) + GtkStyleContext *context; + GtkCssProvider *filter_css; + const gchar filter_style[] = + ".not-found {" + "color: @error_fg_color;" + "text-shadow: 0 1px @error_text_shadow;" + "background-image: none;" + "background-color: @error_bg_color;" + "}"; +#endif gtk_box_pack_start(GTK_BOX(container), widget, FALSE, FALSE, 0); @@ -5296,6 +5308,14 @@ entry = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(widget), entry, TRUE, TRUE, 0); +#if GTK_CHECK_VERSION(3,0,0) + filter_css = gtk_css_provider_new(); + gtk_css_provider_load_from_data(filter_css, filter_style, -1, NULL); + context = gtk_widget_get_style_context(entry); + gtk_style_context_add_provider(context, + GTK_STYLE_PROVIDER(filter_css), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); +#endif gtkconv->quickfind_entry = entry; gtkconv->quickfind_container = widget; @@ -5555,14 +5575,14 @@ int buddyicon_size = 0; /* Setup the top part of the pane */ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_widget_show(vbox); /* Setup the info pane */ event_box = gtk_event_box_new(); gtk_event_box_set_visible_window(GTK_EVENT_BOX(event_box), FALSE); gtk_widget_show(event_box); - gtkconv->infopane_hbox = gtk_hbox_new(FALSE, 0); + gtkconv->infopane_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(vbox), event_box, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(event_box), gtkconv->infopane_hbox); gtk_widget_show(gtkconv->infopane_hbox); @@ -5592,13 +5612,13 @@ for both the buddy list and the chat window, but PidginConversation is pretty much stuck until 3.0. */ GtkWidget *sizing_vbox; - sizing_vbox = gtk_vbox_new(FALSE, 0); + sizing_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_widget_set_size_request(sizing_vbox, -1, BUDDYICON_SIZE_MIN); gtk_box_pack_start(GTK_BOX(gtkconv->infopane_hbox), sizing_vbox, FALSE, FALSE, 0); gtk_widget_show(sizing_vbox); } else { - gtkconv->u.im->icon_container = gtk_vbox_new(FALSE, 0); + gtkconv->u.im->icon_container = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); if ((buddy = purple_blist_find_buddy(purple_conversation_get_account(conv), purple_conversation_get_name(conv))) != NULL) { @@ -5655,7 +5675,7 @@ setup_chat_topic(gtkconv, vbox); /* Add the gtkwebview frame */ - hpaned = gtk_hpaned_new(); + hpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start(GTK_BOX(vbox), hpaned, TRUE, TRUE, 0); gtk_widget_show(hpaned); gtk_paned_pack1(GTK_PANED(hpaned), frame, TRUE, TRUE); @@ -5679,7 +5699,7 @@ pidgin_conv_setup_quickfind(gtkconv, vbox); - gtkconv->lower_hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + gtkconv->lower_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), gtkconv->lower_hbox, FALSE, FALSE, 0); gtk_widget_show(gtkconv->lower_hbox); @@ -6044,7 +6064,7 @@ g_signal_connect(gtkconv->webview, "style-set", G_CALLBACK(set_typing_font), gtkconv); /* Setup the container for the tab. */ - gtkconv->tab_cont = tab_cont = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + gtkconv->tab_cont = tab_cont = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); g_object_set_data(G_OBJECT(tab_cont), "PidginConversation", gtkconv); gtk_container_set_border_width(GTK_CONTAINER(tab_cont), PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(tab_cont), pane); @@ -9165,13 +9185,13 @@ img = gtk_image_new_from_stock(PIDGIN_STOCK_DIALOG_WARNING, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_HUGE)); /* Setup the inner hbox and put the dialog's icon in it. */ - hbox = gtk_hbox_new(FALSE, 12); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12); gtk_container_add(GTK_CONTAINER(vbox), hbox); gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(img), 0, 0); /* Setup the right vbox. */ - vbox = gtk_vbox_new(FALSE, 12); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12); gtk_container_add(GTK_CONTAINER(hbox), vbox); label = gtk_label_new(_("You have unread messages. Are you sure you want to close the window?")); @@ -10307,7 +10327,7 @@ g_signal_connect(G_OBJECT(win->notebook), "button_release_event", G_CALLBACK(notebook_release_cb), win); - testidea = gtk_vbox_new(FALSE, 0); + testidea = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); /* Setup the menubar. */ menubar = setup_menubar(win); @@ -10499,7 +10519,7 @@ #endif gtk_widget_set_name(gtkconv->tab_label, "tab-label"); - gtkconv->menu_tabby = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + gtkconv->menu_tabby = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtkconv->menu_label = gtk_label_new(tmp_lab); gtk_box_pack_start(GTK_BOX(gtkconv->menu_tabby), gtkconv->menu_icon, FALSE, FALSE, 0); @@ -10574,9 +10594,9 @@ #endif if (angle) - gtkconv->tabby = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + gtkconv->tabby = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); else - gtkconv->tabby = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + gtkconv->tabby = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_widget_set_name(gtkconv->tabby, "tab-container"); /* select the correct ordering for verticle tabs */
--- a/pidgin/gtkdebug.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkdebug.c Wed Feb 12 21:08:49 2014 +0100 @@ -464,7 +464,7 @@ handle = pidgin_debug_get_handle(); /* Setup the vbox */ - vbox = gtk_vbox_new(FALSE, 0); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(win->window), vbox); if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/toolbar")) {
--- a/pidgin/gtkdialogs.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkdialogs.c Wed Feb 12 21:08:49 2014 +0100 @@ -1020,7 +1020,7 @@ gtk_container_set_border_width(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(window))), PIDGIN_HIG_BOX_SPACE); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(window))), hbox); img = gtk_image_new_from_stock(PIDGIN_STOCK_DIALOG_COOL, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_HUGE)); gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
--- a/pidgin/gtklog.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtklog.c Wed Feb 12 21:08:49 2014 +0100 @@ -587,7 +587,7 @@ /* Icon *************/ if (icon != NULL) { - title_box = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + title_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_container_set_border_width(GTK_CONTAINER(title_box), PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(lv->window))), title_box, FALSE, FALSE, 0); @@ -607,7 +607,7 @@ g_free(text); /* Pane *************/ - pane = gtk_hpaned_new(); + pane = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); gtk_container_set_border_width(GTK_CONTAINER(pane), PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(lv->window))), pane, TRUE, TRUE, 0); @@ -652,7 +652,7 @@ } /* A fancy little box ************/ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_paned_add2(GTK_PANED(pane), vbox); /* Viewer ************/ @@ -663,7 +663,7 @@ gtk_widget_show(frame); /* Search box **********/ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); lv->entry = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(hbox), lv->entry, TRUE, TRUE, 0);
--- a/pidgin/gtkmedia.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkmedia.c Wed Feb 12 21:08:49 2014 +0100 @@ -331,7 +331,7 @@ XSetErrorHandler(pidgin_x_error_handler); #endif - vbox = gtk_vbox_new(FALSE, 0); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(media), vbox); media->priv->statusbar = gtk_statusbar_new(); @@ -345,7 +345,7 @@ gtk_box_pack_start(GTK_BOX(vbox), media->priv->menubar, FALSE, TRUE, 0); - media->priv->display = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + media->priv->display = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_container_set_border_width(GTK_CONTAINER(media->priv->display), PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), media->priv->display, @@ -706,8 +706,8 @@ g_return_val_if_reached(NULL); /* Setup widget structure */ - volume_widget = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); - progress_parent = gtk_vbox_new(FALSE, 0); + volume_widget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); + progress_parent = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start(GTK_BOX(volume_widget), progress_parent, TRUE, TRUE, 0); @@ -755,7 +755,7 @@ if (gtkmedia->priv->recv_widget == NULL && type & (PURPLE_MEDIA_RECV_VIDEO | PURPLE_MEDIA_RECV_AUDIO)) { - recv_widget = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + recv_widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(gtkmedia->priv->display), recv_widget, TRUE, TRUE, 0); gtk_widget_show(recv_widget); @@ -765,10 +765,10 @@ if (gtkmedia->priv->send_widget == NULL && type & (PURPLE_MEDIA_SEND_VIDEO | PURPLE_MEDIA_SEND_AUDIO)) { - send_widget = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + send_widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(gtkmedia->priv->display), send_widget, FALSE, TRUE, 0); - button_widget = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + button_widget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_end(GTK_BOX(recv_widget), button_widget, FALSE, TRUE, 0); gtk_widget_show(send_widget);
--- a/pidgin/gtkmenutray.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkmenutray.c Wed Feb 12 21:08:49 2014 +0100 @@ -23,6 +23,7 @@ #include "gtkmenutray.h" +#include "glibcompat.h" #include "gtk3compat.h" /****************************************************************************** @@ -155,10 +156,14 @@ GtkSettings *settings; gint height = -1; +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + /* Gtk3 docs says, it should be replaced with gtk_widget_set_hexpand and + * gtk_widget_set_halign. But it doesn't seems to work. */ gtk_menu_item_set_right_justified(GTK_MENU_ITEM(menu_tray), TRUE); +G_GNUC_END_IGNORE_DEPRECATIONS if(!GTK_IS_WIDGET(menu_tray->tray)) - menu_tray->tray = gtk_hbox_new(FALSE, 0); + menu_tray->tray = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); settings = gtk_settings_get_for_screen(gtk_widget_get_screen(widget));
--- a/pidgin/gtknotify.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtknotify.c Wed Feb 12 21:08:49 2014 +0100 @@ -30,6 +30,7 @@ #include "pidginstock.h" #include "util.h" +#include "gtk3compat.h" #include "gtkblist.h" #include "gtknotify.h" #include "gtkpounce.h" @@ -584,7 +585,7 @@ gtk_container_set_border_width(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), PIDGIN_HIG_BOX_SPACE); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), hbox);
--- a/pidgin/gtkplugin.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkplugin.c Wed Feb 12 21:08:49 2014 +0100 @@ -741,7 +741,7 @@ static GtkWidget * create_details() { - GtkBox *vbox = GTK_BOX(gtk_vbox_new(FALSE, 3)); + GtkBox *vbox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, 3)); GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); GtkWidget *label, *view, *website_button;
--- a/pidgin/gtkpluginpref.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkpluginpref.c Wed Feb 12 21:08:49 2014 +0100 @@ -24,9 +24,11 @@ #include "debug.h" #include "internal.h" +#include "pidgin.h" #include "pluginpref.h" #include "prefs.h" +#include "gtk3compat.h" #include "gtkpluginpref.h" #include "gtkprefs.h" #include "gtkutils.h" @@ -102,7 +104,7 @@ GtkWidget *webview; GtkWidget *frame; - box = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + box = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_widget_show(box); gtk_box_pack_start(GTK_BOX(parent), box, FALSE, FALSE, 0); @@ -115,7 +117,7 @@ if(sg) gtk_size_group_add_widget(sg, gtk_label); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); @@ -200,7 +202,7 @@ sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); - parent = ret = gtk_vbox_new(FALSE, 16); + parent = ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 16); #if !GTK_CHECK_VERSION(3,0,0) gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); #endif
--- a/pidgin/gtkpounce.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkpounce.c Wed Feb 12 21:08:49 2014 +0100 @@ -31,6 +31,7 @@ #include "sound.h" #include "util.h" +#include "gtk3compat.h" #include "gtkblist.h" #include "gtkdialogs.h" #include "gtkpounce.h" @@ -555,14 +556,14 @@ vbox1 = gtk_dialog_get_content_area(GTK_DIALOG(window)); /* Create the vbox that will contain all the prefs stuff. */ - vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox1), vbox2, TRUE, TRUE, 0); /* Create the "Pounce on Whom" frame. */ frame = pidgin_make_frame(vbox2, _("Pounce on Whom")); /* Account: */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); @@ -582,7 +583,7 @@ pidgin_set_accessible_label (dialog->account_menu, label); /* Buddy: */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox);
--- a/pidgin/gtkprefs.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkprefs.c Wed Feb 12 21:08:49 2014 +0100 @@ -1405,7 +1405,7 @@ { GtkWidget *label; GtkWidget *combo_box = NULL; - GtkWidget *themesel_hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + GtkWidget *themesel_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); label = gtk_label_new(label_str); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); @@ -1436,7 +1436,7 @@ GtkWidget *themesel_hbox; GtkCellRenderer *cell_rend; - themesel_hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + themesel_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), themesel_hbox, FALSE, FALSE, 0); label = gtk_label_new(label_str); @@ -1467,7 +1467,7 @@ GtkSizeGroup *label_sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); GtkSizeGroup *combo_sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + 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, _("Theme Selections")); @@ -1723,7 +1723,7 @@ GtkSizeGroup *sg; GList *names = NULL; - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_CAT_SPACE); gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); @@ -1763,7 +1763,7 @@ * Connect a signal to the above preference. When conversations are not * shown in a tabbed window then all tabbing options should be disabled. */ - vbox2 = gtk_vbox_new(FALSE, 9); + vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 9); gtk_box_pack_start(GTK_BOX(vbox), vbox2, FALSE, FALSE, 0); purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/conversations/tabs", conversation_usetabs_cb, vbox2); @@ -1840,7 +1840,7 @@ GtkWidget *checkbox; GtkWidget *spin_button; - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + 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")); @@ -1876,7 +1876,7 @@ #ifdef _WIN32 pidgin_prefs_checkbox(_("F_lash window when IMs are received"), PIDGIN_PREFS_ROOT "/win32/blink_im", vbox); #endif - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + 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); @@ -2153,7 +2153,7 @@ "}"; #endif - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + 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, _("IP Address")); @@ -2169,7 +2169,7 @@ pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("ST_UN server:"), sg, entry, TRUE, NULL); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(vbox), hbox); label = gtk_label_new(NULL); @@ -2220,7 +2220,7 @@ pidgin_prefs_checkbox(_("_Enable automatic router port forwarding"), "/purple/network/map_ports", vbox); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); ports_checkbox = pidgin_prefs_checkbox(_("_Manually specify range of ports to listen on:"), "/purple/network/ports_range_use", hbox); @@ -2374,7 +2374,7 @@ GtkSizeGroup *sg; GList *browsers = NULL; - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + 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, _("Browser Selection")); @@ -2382,12 +2382,12 @@ if (purple_running_gnome()) { gchar *path; - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); label = gtk_label_new(_("Browser preferences are configured in GNOME preferences")); gtk_container_add(GTK_CONTAINER(vbox), hbox); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(vbox), hbox); path = g_find_program_in_path("gnome-control-center"); @@ -2425,7 +2425,7 @@ gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); - hbox = gtk_hbox_new(FALSE, 0); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); label = pidgin_prefs_dropdown(hbox, _("_Open link in:"), PURPLE_PREF_INT, PIDGIN_PREFS_ROOT "/browsers/place", _("Browser default"), PIDGIN_BROWSER_DEFAULT, @@ -2469,20 +2469,20 @@ GtkWidget *prefs_proxy_frame = NULL; PurpleProxyInfo *proxy_info; - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + 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, _("Proxy Server")); - prefs_proxy_frame = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + prefs_proxy_frame = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); if(purple_running_gnome()) { gchar *path = NULL; - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); label = gtk_label_new(_("Proxy preferences are configured in GNOME preferences")); gtk_container_add(GTK_CONTAINER(vbox), hbox); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(vbox), hbox); path = g_find_program_in_path("gnome-network-properties"); @@ -2514,7 +2514,7 @@ which is never */ gtk_widget_show_all(ret); } else { - GtkWidget *prefs_proxy_subframe = gtk_vbox_new(FALSE, 0); + GtkWidget *prefs_proxy_subframe = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); /* This is a global option that affects SOCKS4 usage even with * account-specific proxy settings */ @@ -2559,7 +2559,8 @@ gtk_entry_set_text(GTK_ENTRY(entry), purple_proxy_info_get_host(proxy_info)); - hbox = gtk_hbox_new(TRUE, 5); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); + gtk_box_set_homogeneous(GTK_BOX(hbox), TRUE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); pidgin_set_accessible_label (entry, label); @@ -2593,7 +2594,8 @@ gtk_entry_set_text(GTK_ENTRY(entry), purple_proxy_info_get_username(proxy_info)); - hbox = gtk_hbox_new(TRUE, 5); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); + gtk_box_set_homogeneous(GTK_BOX(hbox), TRUE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); pidgin_set_accessible_label (entry, label); @@ -2629,7 +2631,7 @@ GtkWidget *vbox; GList *names; - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_CAT_SPACE); gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); @@ -2885,7 +2887,7 @@ g_return_val_if_fail(keyring_page_instance == NULL, keyring_page_instance); - keyring_page_instance = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + keyring_page_instance = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_CAT_SPACE); gtk_container_set_border_width(GTK_CONTAINER(keyring_page_instance), PIDGIN_HIG_BORDER); @@ -3161,14 +3163,14 @@ GtkWidget *entry; const char *cmd; - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_CAT_SPACE); gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); vbox2 = pidgin_make_frame(ret, _("Sound Options")); - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox2), vbox, FALSE, FALSE, 0); dd = pidgin_prefs_dropdown(vbox2, _("_Method:"), PURPLE_PREF_STRING, @@ -3222,7 +3224,8 @@ NULL); #ifdef USE_GSTREAMER - sw = gtk_hscale_new_with_range(0.0, 100.0, 5.0); + sw = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, + 0.0, 100.0, 5.0); gtk_range_set_increments(GTK_RANGE(sw), 5.0, 25.0); gtk_range_set_value(GTK_RANGE(sw), purple_prefs_get_int(PIDGIN_PREFS_ROOT "/sound/volume")); g_signal_connect (G_OBJECT (sw), "format-value", @@ -3310,7 +3313,7 @@ pidgin_make_scrollable(event_view, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, 100), TRUE, TRUE, 0); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); sound_entry = gtk_entry_new(); pref = g_strdup_printf(PIDGIN_PREFS_ROOT "/sound/file/%s", @@ -3364,7 +3367,7 @@ GtkWidget *menu; GtkSizeGroup *sg; - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_CAT_SPACE); gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); @@ -3387,7 +3390,7 @@ _("_Minutes before becoming idle:"), "/purple/away/mins_before_away", 1, 24 * 60, sg); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); button = pidgin_prefs_checkbox(_("Change to this status when _idle:"), @@ -3878,7 +3881,7 @@ label = gtk_label_new(NULL); gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_CAT_SPACE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new(_("Volume:")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); @@ -3895,7 +3898,8 @@ gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); g_free(tmp); - threshold = gtk_hscale_new_with_range(0, 100, 1); + threshold = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, + 0, 100, 1); gtk_box_pack_start(GTK_BOX(vbox), threshold, FALSE, FALSE, 0); gtk_range_set_value(GTK_RANGE(threshold), purple_prefs_get_int("/purple/media/audio/silence_threshold")); @@ -4070,7 +4074,7 @@ GtkWidget *vbox; GtkSizeGroup *sg; - ret = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + ret = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_CAT_SPACE); gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
--- a/pidgin/gtkrequest.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkrequest.c Wed Feb 12 21:08:49 2014 +0100 @@ -562,7 +562,7 @@ PIDGIN_HIG_BORDER); /* Setup the main horizontal box */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), hbox); @@ -574,7 +574,7 @@ pidgin_request_add_help(GTK_DIALOG(dialog), cpar); /* Vertical box */ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); @@ -722,7 +722,7 @@ PIDGIN_HIG_BORDER); /* Setup the main horizontal box */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), hbox); @@ -736,7 +736,7 @@ pidgin_request_add_help(GTK_DIALOG(dialog), cpar); /* Vertical box */ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); /* Descriptive label */ @@ -759,7 +759,7 @@ g_free(label_text); - vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), vbox2, FALSE, FALSE, 0); while ((radio_text = va_arg(args, char*))) { gpointer resp = va_arg(args, gpointer); @@ -845,7 +845,7 @@ PIDGIN_HIG_BORDER); /* Setup the main horizontal box */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), hbox); @@ -854,7 +854,7 @@ gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); /* Vertical box */ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); pidgin_widget_decorate_account(hbox, @@ -954,7 +954,7 @@ GTK_DIALOG(dialog))), PIDGIN_HIG_BORDER); /* Setup the main horizontal box */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area( GTK_DIALOG(dialog))), hbox); @@ -968,7 +968,7 @@ gtk_widget_set_can_default(button, FALSE); /* Vertical box */ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); pidgin_widget_decorate_account(hbox, @@ -1316,9 +1316,9 @@ GtkWidget *radio; if (num_labels == 2) - box = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); else - box = gtk_vbox_new(FALSE, 0); + box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); widget = box; @@ -1848,7 +1848,7 @@ const GList *it; sheet = purple_request_field_datasheet_get_sheet(field); - main_box = GTK_HBOX(gtk_hbox_new(FALSE, 0)); + main_box = GTK_HBOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0)); col_count = purple_request_datasheet_get_column_count(sheet); @@ -1914,7 +1914,7 @@ GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1); gtk_widget_show(GTK_WIDGET(view)); - buttons_box = GTK_VBOX(gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER)); + buttons_box = GTK_VBOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER)); gtk_size_group_add_widget(buttons_sg, GTK_WIDGET(buttons_box)); gtk_box_pack_start(GTK_BOX(main_box), scrollable, TRUE, TRUE, 0); @@ -2014,7 +2014,7 @@ G_CALLBACK(destroy_multifield_cb), data); /* Setup the main horizontal box */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(pidgin_dialog_get_vbox(GTK_DIALOG(win))), hbox); gtk_widget_show(hbox); @@ -2055,7 +2055,7 @@ purple_request_cpar_get_account(cpar)); /* Setup the vbox */ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); gtk_widget_show(vbox); @@ -2092,7 +2092,7 @@ pages = g_new0(GtkWidget*, tab_count); for (i = 0; i < tab_count; i++) { - pages[i] = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + pages[i] = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_container_set_border_width(GTK_CONTAINER(pages[i]), PIDGIN_HIG_BORDER); gtk_notebook_append_page(notebook, pages[i], NULL); gtk_notebook_set_tab_label_text(notebook, pages[i], tab_names[i]); @@ -2120,7 +2120,7 @@ GTK_CONTAINER(pages[i]), 0); hbox_for_spacing = - gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); + gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER); gtk_box_pack_start(GTK_BOX(pages[i]), pidgin_make_scrollable(hbox_for_spacing, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC, @@ -2129,13 +2129,13 @@ gtk_widget_show(hbox_for_spacing); vbox_for_spacing = - gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_box_pack_start(GTK_BOX(hbox_for_spacing), vbox_for_spacing, TRUE, TRUE, PIDGIN_HIG_BOX_SPACE); gtk_widget_show(vbox_for_spacing); - pages[i] = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + pages[i] = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_box_pack_start(GTK_BOX(vbox_for_spacing), pages[i], TRUE, TRUE, PIDGIN_HIG_BOX_SPACE); gtk_widget_show(pages[i]);
--- a/pidgin/gtkroomlist.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkroomlist.c Wed Feb 12 21:08:49 2014 +0100 @@ -30,6 +30,7 @@ #include "connection.h" #include "notify.h" +#include "gtk3compat.h" #include "gtkroomlist.h" typedef struct _PidginRoomlistDialog { @@ -578,7 +579,7 @@ /* Create the parent vbox for everything. */ vbox = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(window), FALSE, PIDGIN_HIG_BORDER); - vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(vbox), vbox2); gtk_widget_show(vbox2);
--- a/pidgin/gtksavedstatuses.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtksavedstatuses.c Wed Feb 12 21:08:49 2014 +0100 @@ -1158,7 +1158,7 @@ gtk_box_pack_start(GTK_BOX(vbox), expander, FALSE, FALSE, 0); /* Setup the box that the expander will cover */ - dbox = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + dbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_CAT_SPACE); gtk_container_add(GTK_CONTAINER(expander), dbox); /* Create the list model */ @@ -1414,7 +1414,7 @@ sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); /* Status type */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new_with_mnemonic(_("_Status:")); @@ -1448,7 +1448,7 @@ gtk_box_pack_start(GTK_BOX(hbox), combo, FALSE, FALSE, 0); /* Status mesage */ - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); label = gtk_label_new_with_mnemonic(_("_Message:"));
--- a/pidgin/gtkscrollbook.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkscrollbook.c Wed Feb 12 21:08:49 2014 +0100 @@ -21,6 +21,7 @@ #include "gtkscrollbook.h" +#include "gtk3compat.h" static void pidgin_scroll_book_init (PidginScrollBook *scroll_book); static void pidgin_scroll_book_class_init (PidginScrollBookClass *klass); @@ -255,7 +256,7 @@ GtkWidget *eb; GtkWidget *close_button; - scroll_book->hbox = gtk_hbox_new(FALSE, 0); + scroll_book->hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); /* Close */ eb = gtk_event_box_new();
--- a/pidgin/gtkstatusbox.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkstatusbox.c Wed Feb 12 21:08:49 2014 +0100 @@ -455,8 +455,14 @@ return; gtk_widget_destroy(statusbox->icon_box); + +#if GTK_CHECK_VERSION(3,0,0) + g_object_unref(statusbox->hand_cursor); + g_object_unref(statusbox->arrow_cursor); +#else gdk_cursor_unref(statusbox->hand_cursor); gdk_cursor_unref(statusbox->arrow_cursor); +#endif purple_imgstore_unref(statusbox->buddy_icon_img); @@ -1743,9 +1749,9 @@ status_box->connecting = FALSE; status_box->typing = 0; status_box->toggle_button = gtk_toggle_button_new(); - status_box->hbox = gtk_hbox_new(FALSE, 6); + status_box->hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); status_box->cell_view = gtk_cell_view_new(); - status_box->vsep = gtk_vseparator_new(); + status_box->vsep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); status_box->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE); status_box->store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, @@ -1830,7 +1836,7 @@ gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), emblem_rend, "pixbuf", EMBLEM_COLUMN, "visible", EMBLEM_VISIBLE_COLUMN, NULL); g_object_set(status_box->text_rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); - status_box->vbox = gtk_vbox_new(0, FALSE); + status_box->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, FALSE); status_box->sw = pidgin_create_webview(TRUE, &status_box->webview, NULL); pidgin_webview_hide_toolbar(PIDGIN_WEBVIEW(status_box->webview));
--- a/pidgin/gtkutils.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkutils.c Wed Feb 12 21:08:49 2014 +0100 @@ -222,7 +222,7 @@ frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); - vbox = gtk_vbox_new(FALSE, 0); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); @@ -231,7 +231,7 @@ gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0); gtk_widget_show(toolbar); - sep = gtk_hseparator_new(); + sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); g_signal_connect_swapped(G_OBJECT(toolbar), "show", G_CALLBACK(gtk_widget_show), sep); g_signal_connect_swapped(G_OBJECT(toolbar), "hide", G_CALLBACK(gtk_widget_hide), sep); @@ -376,7 +376,7 @@ button = gtk_toggle_button_new(); gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - bbox = gtk_vbox_new(FALSE, 0); + bbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER(button), bbox); @@ -397,15 +397,15 @@ button = gtk_button_new(); if (style == PIDGIN_BUTTON_HORIZONTAL) { - bbox = gtk_hbox_new(FALSE, 0); - ibox = gtk_hbox_new(FALSE, 0); + bbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); + ibox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); if (text) - lbox = gtk_hbox_new(FALSE, 0); + lbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); } else { - bbox = gtk_vbox_new(FALSE, 0); - ibox = gtk_vbox_new(FALSE, 0); + bbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); + ibox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); if (text) - lbox = gtk_vbox_new(FALSE, 0); + lbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); } gtk_container_add(GTK_CONTAINER(button), bbox); @@ -480,7 +480,7 @@ GtkWidget *vbox, *vbox2, *label, *hbox; char *labeltitle; - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(parent), vbox, FALSE, FALSE, 0); gtk_widget_show(vbox); @@ -495,7 +495,7 @@ gtk_widget_show(label); pidgin_set_accessible_label (vbox, label); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); @@ -503,7 +503,7 @@ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); gtk_widget_show(label); - vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 0); gtk_widget_show(vbox2); @@ -2118,7 +2118,12 @@ cursor = gdk_cursor_new(cursor_type); gdk_window_set_cursor(gtk_widget_get_window(widget), cursor); + +#if GTK_CHECK_VERSION(3,0,0) + g_object_unref(cursor); +#else gdk_cursor_unref(cursor); +#endif gdk_display_flush(gdk_window_get_display(gtk_widget_get_window(widget))); } @@ -2237,7 +2242,7 @@ dialog->icon_preview = gtk_image_new(); dialog->icon_text = gtk_label_new(NULL); - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_widget_set_size_request(GTK_WIDGET(vbox), -1, 50); gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(dialog->icon_preview), TRUE, FALSE, 0); gtk_box_pack_end(GTK_BOX(vbox), GTK_WIDGET(dialog->icon_text), FALSE, FALSE, 0); @@ -2863,7 +2868,7 @@ GtkWidget *label = NULL; if (widget_label) { - hbox = gtk_hbox_new(FALSE, 5); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_widget_show(hbox); gtk_box_pack_start(vbox, hbox, FALSE, FALSE, 0); @@ -3581,14 +3586,18 @@ if (width != -1 || height != -1) gtk_widget_set_size_request(sw, width, height); if (child) { +#if GTK_CHECK_VERSION(3,8,0) + gtk_container_add(GTK_CONTAINER(sw), child); +#else #if GTK_CHECK_VERSION(3,0,0) if (GTK_IS_SCROLLABLE(child)) #else if (GTK_WIDGET_GET_CLASS(child)->set_scroll_adjustments_signal) -#endif +#endif /* GTK_CHECK_VERSION(3,0,0) */ gtk_container_add(GTK_CONTAINER(sw), child); else gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), child); +#endif /* GTK_CHECK_VERSION(3,8,0) */ } return sw; }
--- a/pidgin/gtkwebviewtoolbar.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkwebviewtoolbar.c Wed Feb 12 21:08:49 2014 +0100 @@ -797,7 +797,7 @@ if (!list) return; - line = gtk_hbox_new(FALSE, 0); + line = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(container), line, FALSE, FALSE, 0); for (; list; list = list->next) { if (custom != !!(pidgin_webview_smiley_get_flags(list->smiley) & PIDGIN_WEBVIEW_SMILEY_CUSTOM)) @@ -807,7 +807,7 @@ line_width += list->width; if (line_width >= max_width) { if (list->next) { - line = gtk_hbox_new(FALSE, 0); + line = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(container), line, FALSE, FALSE, 0); } line_width = 0; @@ -877,7 +877,7 @@ ls = NULL; max_line_width = 0; num_lines = floor(sqrt(g_slist_length(unique_smileys))); - smiley_table = gtk_vbox_new(FALSE, 0); + smiley_table = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); if (supports_custom) { GtkWidget *manage = gtk_button_new_with_mnemonic(_("_Manage custom smileys")); @@ -905,7 +905,7 @@ /* pack buttons of the list */ add_smiley_list(smiley_table, ls, max_line_width, FALSE); if (supports_custom) { - gtk_box_pack_start(GTK_BOX(smiley_table), gtk_hseparator_new(), TRUE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(smiley_table), gtk_separator_new(GTK_ORIENTATION_HORIZONTAL), TRUE, FALSE, 0); add_smiley_list(smiley_table, ls, max_line_width, TRUE); } while (ls) {
--- a/pidgin/gtkwhiteboard.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/gtkwhiteboard.c Wed Feb 12 21:08:49 2014 +0100 @@ -24,18 +24,15 @@ #include "internal.h" #include "buddylist.h" #include "debug.h" +#include "pidgin.h" +#include "gtk3compat.h" #include "gtkwhiteboard.h" #include "gtkutils.h" -#if GTK_CHECK_VERSION(3,0,0) -#define GdkPixType GdkPixbuf -#else -#define GdkPixType GdkPixmap -#endif struct _PidginWhiteboardPrivate { - GdkPixType *pix; - cairo_t *cr; + cairo_t *cr; + cairo_surface_t *surface; }; /****************************************************************************** @@ -49,7 +46,14 @@ /*static void pidginwhiteboard_button_start_press(GtkButton *button, gpointer data); */ static gboolean pidgin_whiteboard_configure_event(GtkWidget *widget, GdkEventConfigure *event, gpointer data); -static gboolean pidgin_whiteboard_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data); +static gboolean +pidgin_whiteboard_draw_event(GtkWidget *widget, cairo_t *cr, + gpointer _gtkwb); +#if !GTK_CHECK_VERSION(3,0,0) +static gboolean +pidgin_whiteboard_expose_event(GtkWidget *widget, GdkEventExpose *event, + gpointer _gtkwb); +#endif static gboolean pidgin_whiteboard_brush_down(GtkWidget *widget, GdkEventButton *event, gpointer data); static gboolean pidgin_whiteboard_brush_motion(GtkWidget *widget, GdkEventMotion *event, gpointer data); @@ -173,18 +177,18 @@ GtkWidget *palette_color_box[PIDGIN_PALETTE_NUM_COLORS]; /* Create vertical box to place palette above the canvas and controls */ - vbox_palette_above_canvas_and_controls = gtk_vbox_new(FALSE, 0); + vbox_palette_above_canvas_and_controls = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(window), vbox_palette_above_canvas_and_controls); gtk_widget_show(vbox_palette_above_canvas_and_controls); /* Create horizontal box for the palette and all its entries */ - hbox_palette = gtk_hbox_new(FALSE, 0); + hbox_palette = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(vbox_palette_above_canvas_and_controls), hbox_palette, FALSE, FALSE, PIDGIN_HIG_BORDER); gtk_widget_show(hbox_palette); /* Create horizontal box to seperate the canvas from the controls */ - hbox_canvas_and_controls = gtk_hbox_new(FALSE, 0); + hbox_canvas_and_controls = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(vbox_palette_above_canvas_and_controls), hbox_canvas_and_controls, FALSE, FALSE, PIDGIN_HIG_BORDER); gtk_widget_show(hbox_canvas_and_controls); @@ -199,7 +203,7 @@ } #endif - hbox_canvas_and_controls = gtk_hbox_new(FALSE, 0); + hbox_canvas_and_controls = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_show(hbox_canvas_and_controls); gtk_container_add(GTK_CONTAINER(window), hbox_canvas_and_controls); @@ -214,11 +218,19 @@ gtk_widget_show(drawing_area); /* Signals used to handle backing pixmap */ +#if GTK_CHECK_VERSION(3,0,0) + g_signal_connect(G_OBJECT(drawing_area), "draw", + G_CALLBACK(pidgin_whiteboard_draw_event), gtkwb); + + g_signal_connect(G_OBJECT(drawing_area), "configure-event", + G_CALLBACK(pidgin_whiteboard_configure_event), gtkwb); +#else g_signal_connect(G_OBJECT(drawing_area), "expose_event", - G_CALLBACK(pidgin_whiteboard_expose_event), gtkwb); + G_CALLBACK(pidgin_whiteboard_expose_event), gtkwb); g_signal_connect(G_OBJECT(drawing_area), "configure_event", - G_CALLBACK(pidgin_whiteboard_configure_event), gtkwb); + G_CALLBACK(pidgin_whiteboard_configure_event), gtkwb); +#endif /* Event signals */ g_signal_connect(G_OBJECT(drawing_area), "button_press_event", @@ -239,7 +251,7 @@ GDK_POINTER_MOTION_HINT_MASK); /* Create vertical box to contain the controls */ - vbox_controls = gtk_vbox_new(FALSE, 0); + vbox_controls = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start(GTK_BOX(hbox_canvas_and_controls), vbox_controls, FALSE, FALSE, PIDGIN_HIG_BOX_SPACE); gtk_widget_show(vbox_controls); @@ -291,11 +303,13 @@ /* TODO Ask if user wants to save picture before the session is closed */ /* Clear graphical memory */ - if (gtkwb->priv->pix) { - cairo_t *cr = gtkwb->priv->cr; - if (cr) - cairo_destroy(cr); - g_object_unref(gtkwb->priv->pix); + if (gtkwb->priv->cr) { + cairo_destroy(gtkwb->priv->cr); + gtkwb->priv->cr = NULL; + } + if (gtkwb->priv->surface) { + cairo_surface_destroy(gtkwb->priv->surface); + gtkwb->priv->surface = NULL; } colour_dialog = g_object_get_data(G_OBJECT(gtkwb->window), "colour-dialog"); @@ -367,69 +381,54 @@ static gboolean pidgin_whiteboard_configure_event(GtkWidget *widget, GdkEventConfigure *event, gpointer data) { PidginWhiteboard *gtkwb = (PidginWhiteboard*)data; - GdkPixType *pix = gtkwb->priv->pix; cairo_t *cr; - GdkWindow *window = gtk_widget_get_window(widget); GtkAllocation allocation; - if (pix) { - cr = gtkwb->priv->cr; - if (cr) - cairo_destroy(cr); - g_object_unref(pix); - } + if (gtkwb->priv->cr) + cairo_destroy(gtkwb->priv->cr); + if (gtkwb->priv->surface) + cairo_surface_destroy(gtkwb->priv->surface); gtk_widget_get_allocation(widget, &allocation); -#if GTK_CHECK_VERSION(3,0,0) - pix = gdk_pixbuf_new(GDK_COLORSPACE_RGB, - FALSE, gdk_visual_get_depth(GDK_VISUAL(window)), - allocation.width, allocation.height); -#else - pix = gdk_pixmap_new(window, - allocation.width, - allocation.height, - -1); -#endif - - gtkwb->priv->pix = pix; - -#if GTK_CHECK_VERSION(3,0,0) - cr = gdk_cairo_create(window); -#else - cr = gdk_cairo_create(GDK_DRAWABLE(pix)); -#endif - gtkwb->priv->cr = cr; + gtkwb->priv->surface = cairo_image_surface_create(CAIRO_FORMAT_RGB24, + allocation.width, allocation.height); + gtkwb->priv->cr = cr = cairo_create(gtkwb->priv->surface); gdk_cairo_set_source_color(cr, >k_widget_get_style(widget)->white); - cairo_rectangle(cr, - 0, 0, - allocation.width, allocation.height); + cairo_rectangle(cr, 0, 0, allocation.width, allocation.height); cairo_fill(cr); return TRUE; } -static gboolean pidgin_whiteboard_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) +static gboolean +pidgin_whiteboard_draw_event(GtkWidget *widget, cairo_t *cr, + gpointer _gtkwb) { - PidginWhiteboard *gtkwb = (PidginWhiteboard*)(data); - GdkPixType *pix = gtkwb->priv->pix; + PidginWhiteboard *gtkwb = _gtkwb; + + cairo_set_source_surface(cr, gtkwb->priv->surface, 0, 0); + cairo_paint(cr); + + return FALSE; +} + +#if !GTK_CHECK_VERSION(3,0,0) +static gboolean +pidgin_whiteboard_expose_event(GtkWidget *widget, GdkEventExpose *event, + gpointer _gtkwb) +{ cairo_t *cr; -#if GTK_CHECK_VERSION(3,0,0) - cr = gdk_cairo_create(gtk_widget_get_window(widget)); - gdk_cairo_set_source_pixbuf(cr, pix, 0, 0); -#else cr = gdk_cairo_create(GDK_DRAWABLE(widget->window)); - gdk_cairo_set_source_pixmap(cr, pix, 0, 0); -#endif - cairo_rectangle(cr, - event->area.x, event->area.y, - event->area.width, event->area.height); - cairo_fill(cr); + + pidgin_whiteboard_draw_event(widget, cr, _gtkwb); + cairo_destroy(cr); return FALSE; } +#endif static gboolean pidgin_whiteboard_brush_down(GtkWidget *widget, GdkEventButton *event, gpointer data) { @@ -448,7 +447,7 @@ BrushState = PIDGIN_BRUSH_STATE_DOWN; - if(event->button == 1 && gtkwb->priv->pix != NULL) + if(event->button == 1 && gtkwb->priv->cr != NULL) { /* Check if draw_list has contents; if so, clear it */ if(draw_list) @@ -504,7 +503,7 @@ state = event->state; } - if(state & GDK_BUTTON1_MASK && gtkwb->priv->pix != NULL) + if(state & GDK_BUTTON1_MASK && gtkwb->priv->cr != NULL) { if((BrushState != PIDGIN_BRUSH_STATE_DOWN) && (BrushState != PIDGIN_BRUSH_STATE_MOTION)) { @@ -584,7 +583,7 @@ } BrushState = PIDGIN_BRUSH_STATE_UP; - if(event->button == 1 && gtkwb->priv->pix != NULL) + if(event->button == 1 && gtkwb->priv->cr != NULL) { /* If the brush was never moved, express two sets of two deltas That's a * 'point,' but not for Yahoo! @@ -738,17 +737,13 @@ gtk_widget_get_allocation(drawing_area, &allocation); - gdk_cairo_set_source_color(cr, >k_widget_get_style(drawing_area)->white); - cairo_rectangle(cr, - 0, 0, - allocation.width, - allocation.height); + gdk_cairo_set_source_color(cr, + >k_widget_get_style(drawing_area)->white); + cairo_rectangle(cr, 0, 0, allocation.width, allocation.height); cairo_fill(cr); - gtk_widget_queue_draw_area(drawing_area, - 0, 0, - allocation.width, - allocation.height); + gtk_widget_queue_draw_area(drawing_area, 0, 0, + allocation.width, allocation.height); } static void pidgin_whiteboard_button_clear_press(GtkWidget *widget, gpointer data) @@ -775,68 +770,52 @@ } } -static void pidgin_whiteboard_button_save_press(GtkWidget *widget, gpointer data) +static void +pidgin_whiteboard_button_save_press(GtkWidget *widget, gpointer _gtkwb) { - PidginWhiteboard *gtkwb = (PidginWhiteboard*)(data); + PidginWhiteboard *gtkwb = _gtkwb; GdkPixbuf *pixbuf; - GtkWidget *dialog; - int result; - dialog = gtk_file_chooser_dialog_new (_("Save File"), - GTK_WINDOW(gtkwb->window), - GTK_FILE_CHOOSER_ACTION_SAVE, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, - NULL); - - /* gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), (gboolean)(TRUE)); */ + dialog = gtk_file_chooser_dialog_new(_("Save File"), + GTK_WINDOW(gtkwb->window), GTK_FILE_CHOOSER_ACTION_SAVE, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, + GTK_RESPONSE_ACCEPT, NULL); - /* if(user_edited_a_new_document) */ - { - /* gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), default_folder_for_saving); */ - gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), "whiteboard.jpg"); - } - /* - else - gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), filename_for_existing_document); - */ + gtk_file_chooser_set_do_overwrite_confirmation( + GTK_FILE_CHOOSER(dialog), TRUE); + + gtk_file_chooser_set_current_name( + GTK_FILE_CHOOSER(dialog), "whiteboard.png"); result = gtk_dialog_run(GTK_DIALOG(dialog)); - if(result == GTK_RESPONSE_ACCEPT) - { - char *filename; - - filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); + if (result == GTK_RESPONSE_ACCEPT) { + gboolean success; + gchar *filename = + gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); gtk_widget_destroy(dialog); - /* Makes an icon from the whiteboard's canvas 'image' */ -#if GTK_CHECK_VERSION(3,0,0) - pixbuf = gtkwb->priv->pix; -#else - pixbuf = gdk_pixbuf_get_from_drawable(NULL, - (GdkDrawable*)(gtkwb->priv->pix), - gdk_drawable_get_colormap(gtkwb->priv->pix), - 0, 0, - 0, 0, - gtkwb->width, gtkwb->height); -#endif + pixbuf = gdk_pixbuf_get_from_surface(gtkwb->priv->surface, 0, 0, + gtkwb->width, gtkwb->height); - if(gdk_pixbuf_save(pixbuf, filename, "jpeg", NULL, "quality", "100", NULL)) - purple_debug_info("gtkwhiteboard", "File Saved...\n"); - else - purple_debug_info("gtkwhiteboard", "File not Saved... Error\n"); + success = gdk_pixbuf_save(pixbuf, filename, "png", NULL, + "compression", "9", NULL); + g_object_unref(pixbuf); + if (success) { + purple_debug_info("gtkwhiteboard", + "whiteboard saved to \"%s\"", filename); + } else { + purple_notify_error(NULL, _("Whiteboard"), + _("Unable to save the file"), NULL, NULL); + purple_debug_error("gtkwhiteboard", "whiteboard " + "couldn't be saved to \"%s\"", filename); + } g_free(filename); - } - else if(result == GTK_RESPONSE_CANCEL) - { + } else if (result == GTK_RESPONSE_CANCEL) gtk_widget_destroy(dialog); - - purple_debug_info("gtkwhiteboard", "File not Saved... Cancelled\n"); - } } static void pidgin_whiteboard_set_canvas_as_icon(PidginWhiteboard *gtkwb) @@ -844,18 +823,10 @@ GdkPixbuf *pixbuf; /* Makes an icon from the whiteboard's canvas 'image' */ -#if GTK_CHECK_VERSION(3,0,0) - pixbuf = gtkwb->priv->pix; -#else - pixbuf = gdk_pixbuf_get_from_drawable(NULL, - (GdkDrawable*)(gtkwb->priv->pix), - gdk_drawable_get_colormap(gtkwb->priv->pix), - 0, 0, - 0, 0, - gtkwb->width, gtkwb->height); -#endif - - gtk_window_set_icon((GtkWindow*)(gtkwb->window), pixbuf); + pixbuf = gdk_pixbuf_get_from_surface(gtkwb->priv->surface, + 0, 0, gtkwb->width, gtkwb->height); + gtk_window_set_icon(GTK_WINDOW(gtkwb->window), pixbuf); + g_object_unref(pixbuf); } static void pidgin_whiteboard_rgb24_to_rgb48(int color_rgb, GdkColor *color)
--- a/pidgin/minidialog.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/minidialog.c Wed Feb 12 21:08:49 2014 +0100 @@ -24,6 +24,8 @@ #include <gtk/gtk.h> +#include "gtk3compat.h" + #include "libpurple/prefs.h" #include "pidgin/minidialog.h" @@ -482,7 +484,7 @@ gtk_container_set_border_width(GTK_CONTAINER(self), PIDGIN_HIG_BOX_SPACE); - priv->title_box = GTK_BOX(gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE)); + priv->title_box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE)); priv->icon = GTK_IMAGE(gtk_image_new()); gtk_misc_set_alignment(GTK_MISC(priv->icon), 0, 0); @@ -515,9 +517,9 @@ blist_width_changed_cb, self); #endif - self->contents = GTK_BOX(gtk_vbox_new(FALSE, 0)); + self->contents = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, 0)); - priv->buttons = GTK_BOX(gtk_hbox_new(FALSE, 0)); + priv->buttons = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0)); gtk_box_pack_start(self_box, GTK_WIDGET(priv->title_box), FALSE, FALSE, 0); gtk_box_pack_start(self_box, GTK_WIDGET(priv->desc), FALSE, FALSE, 0);
--- a/pidgin/pidgintooltip.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/pidgintooltip.c Wed Feb 12 21:08:49 2014 +0100 @@ -149,7 +149,18 @@ GdkRectangle mon_size; GtkWidget *tipwindow = pidgin_tooltip.tipwindow; - gdk_display_get_pointer(gdk_display_get_default(), &screen, &x, &y, NULL); +#if GTK_CHECK_VERSION(3,0,0) + GdkDeviceManager *devmgr; + GdkDevice *dev; + + devmgr = gdk_display_get_device_manager(gdk_display_get_default()); + dev = gdk_device_manager_get_client_pointer(devmgr); + gdk_device_get_position(dev, &screen, &x, &y); +#else + gdk_display_get_pointer(gdk_display_get_default(), + &screen, &x, &y, NULL); +#endif + mon_num = gdk_screen_get_monitor_at_point(screen, x, y); gdk_screen_get_monitor_geometry(screen, mon_num, &mon_size);
--- a/pidgin/plugins/contact_priority.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/contact_priority.c Wed Feb 12 21:08:49 2014 +0100 @@ -20,6 +20,7 @@ #include "internal.h" #include "pidgin.h" +#include "gtk3compat.h" #include "gtkplugin.h" #include "gtkutils.h" #include "prefs.h" @@ -84,12 +85,12 @@ sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); - ret = gtk_vbox_new(FALSE, 18); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18); gtk_container_set_border_width(GTK_CONTAINER(ret), 12); frame = pidgin_make_frame(ret, _("Point values to use when...")); - vbox = gtk_vbox_new(FALSE, 5); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(frame), vbox); /* Status Spinboxes */ @@ -97,7 +98,7 @@ { char *pref = g_strconcat("/purple/status/scores/", statuses[i].id, NULL); - hbox = gtk_hbox_new(FALSE, 5); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new_with_mnemonic(_(statuses[i].description)); @@ -120,7 +121,7 @@ gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); /* Last match */ - hbox = gtk_hbox_new(FALSE, 5); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); check = gtk_check_button_new_with_label(_("Use last buddy when scores are equal")); @@ -130,11 +131,11 @@ frame = pidgin_make_frame(ret, _("Point values to use for account...")); - vbox = gtk_vbox_new(FALSE, 5); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(frame), vbox); /* Account */ - hbox = gtk_hbox_new(FALSE, 5); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); /* make this here so I can use it in the option menu callback, we'll
--- a/pidgin/plugins/disco/gtkdisco.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/disco/gtkdisco.c Wed Feb 12 21:08:49 2014 +0100 @@ -31,6 +31,7 @@ #include "request.h" #include "pidgintooltip.h" +#include "gtk3compat.h" #include "gtkdisco.h" #include "xmppdisco.h" @@ -644,7 +645,7 @@ /* Create the parent vbox for everything. */ vbox = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(window), FALSE, PIDGIN_HIG_BORDER); - vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BORDER); gtk_container_add(GTK_CONTAINER(vbox), vbox2); gtk_widget_show(vbox2);
--- a/pidgin/plugins/gestures/gestures.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/gestures/gestures.c Wed Feb 12 21:08:49 2014 +0100 @@ -26,6 +26,7 @@ #include "signals.h" #include "version.h" +#include "gtk3compat.h" #include "gtkconv.h" #include "gtkplugin.h" #include "gtkutils.h" @@ -223,7 +224,7 @@ #endif /* Outside container */ - ret = gtk_vbox_new(FALSE, 18); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18); gtk_container_set_border_width(GTK_CONTAINER(ret), 12); /* Configuration frame */ @@ -318,8 +319,10 @@ purple_prefs_add_none("/plugins/gtk/X11/gestures"); purple_prefs_add_bool("/plugins/gtk/X11/gestures/visual", FALSE); - purple_prefs_connect_callback(plugin, "/plugins/gtk/X11/gestures/visual", - visual_pref_cb, NULL); + purple_prefs_connect_callback(plugin, + "/plugins/gtk/X11/gestures/visual", visual_pref_cb, NULL); + gstroke_set_draw_strokes(purple_prefs_get_bool( + "/plugins/gtk/X11/gestures/visual")); } PURPLE_INIT_PLUGIN(gestures, init_plugin, info)
--- a/pidgin/plugins/gestures/stroke-draw.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/gestures/stroke-draw.c Wed Feb 12 21:08:49 2014 +0100 @@ -53,47 +53,53 @@ static void gstroke_execute (GtkWidget *widget, const gchar *name); static void -record_stroke_segment (GtkWidget *widget) +record_stroke_segment(GtkWidget *widget) { - gint x, y; - struct gstroke_metrics *metrics; - - g_return_if_fail( widget != NULL ); - - gtk_widget_get_pointer (widget, &x, &y); + gint x, y; + struct gstroke_metrics *metrics; +#if GTK_CHECK_VERSION(3,0,0) + GdkDeviceManager *devmgr; + GdkDevice *dev; +#endif - if (last_mouse_position.invalid) - last_mouse_position.invalid = FALSE; - else if (gstroke_draw_strokes()) - { -#if 1 - XDrawLine (gstroke_disp, gstroke_window, gstroke_gc, - last_mouse_position.last_point.x, - last_mouse_position.last_point.y, - x, y); - /* XFlush (gstroke_disp); */ + g_return_if_fail(widget != NULL); + +#if GTK_CHECK_VERSION(3,0,0) + devmgr = gdk_display_get_device_manager(gtk_widget_get_display(widget)); + dev = gdk_device_manager_get_client_pointer(devmgr); + gdk_window_get_device_position(gtk_widget_get_window(widget), + dev, &x, &y, NULL); #else - /* FIXME: this does not work. It will only work if we create a - corresponding GDK window for stroke_window and draw on - that... */ - gdk_draw_line (gtk_widget_get_window(widget), - widget->style->fg_gc[GTK_STATE_NORMAL], - last_mouse_position.last_point.x, - last_mouse_position.last_point.y, - x, - y); + gtk_widget_get_pointer(widget, &x, &y); #endif - } - if (last_mouse_position.last_point.x != x - || last_mouse_position.last_point.y != y) - { - last_mouse_position.last_point.x = x; - last_mouse_position.last_point.y = y; - metrics = (struct gstroke_metrics *)g_object_get_data(G_OBJECT(widget), - GSTROKE_METRICS); - _gstroke_record (x, y, metrics); - } + if (last_mouse_position.invalid) + last_mouse_position.invalid = FALSE; + else if (gstroke_draw_strokes()) { +#if 1 + XDrawLine(gstroke_disp, gstroke_window, gstroke_gc, + last_mouse_position.last_point.x, + last_mouse_position.last_point.y, x, y); + /* XFlush (gstroke_disp); */ +#else + /* FIXME: this does not work. It will only work if we create + * a corresponding GDK window for stroke_window and draw on + * that... */ + gdk_draw_line(gtk_widget_get_window(widget), + widget->style->fg_gc[GTK_STATE_NORMAL], + last_mouse_position.last_point.x, + last_mouse_position.last_point.y, x, y); +#endif + } + + if (last_mouse_position.last_point.x != x || + last_mouse_position.last_point.y != y) + { + last_mouse_position.last_point.x = x; + last_mouse_position.last_point.y = y; + metrics = g_object_get_data(G_OBJECT(widget), GSTROKE_METRICS); + _gstroke_record (x, y, metrics); + } } static gint
--- a/pidgin/plugins/gevolution/add_buddy_dialog.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/gevolution/add_buddy_dialog.c Wed Feb 12 21:08:49 2014 +0100 @@ -21,6 +21,8 @@ #include "internal.h" #include "gtkblist.h" #include "pidgin.h" + +#include "gtk3compat.h" #include "gtkutils.h" #include "debug.h" @@ -453,7 +455,7 @@ G_CALLBACK(delete_win_cb), dialog); /* Setup the vbox */ - vbox = gtk_vbox_new(FALSE, 12); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12); gtk_container_add(GTK_CONTAINER(dialog->win), vbox); gtk_widget_show(vbox); @@ -466,7 +468,7 @@ gtk_widget_show(label); /* Add the search hbox */ - hbox = gtk_hbox_new(FALSE, 6); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0); gtk_widget_show(hbox); @@ -549,12 +551,12 @@ /* Cool. Now we only have a little left... */ /* Separator. */ - sep = gtk_hseparator_new(); + sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); gtk_widget_show(sep); /* Button box */ - bbox = gtk_hbutton_box_new(); + bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_set_spacing(GTK_BOX(bbox), 6); gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, TRUE, 0);
--- a/pidgin/plugins/gevolution/assoc-buddy.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/gevolution/assoc-buddy.c Wed Feb 12 21:08:49 2014 +0100 @@ -21,6 +21,8 @@ #include "internal.h" #include "gtkblist.h" #include "pidgin.h" + +#include "gtk3compat.h" #include "gtkutils.h" #include "debug.h" @@ -333,7 +335,7 @@ G_CALLBACK(delete_win_cb), dialog); /* Setup the vbox */ - vbox = gtk_vbox_new(FALSE, 12); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12); gtk_container_add(GTK_CONTAINER(dialog->win), vbox); gtk_widget_show(vbox); @@ -346,7 +348,7 @@ gtk_widget_show(label); /* Add the search hbox */ - hbox = gtk_hbox_new(FALSE, 6); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0); gtk_widget_show(hbox); @@ -418,12 +420,12 @@ gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->addrbooks_combo), 0); /* Separator. */ - sep = gtk_hseparator_new(); + sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); gtk_widget_show(sep); /* Button box */ - bbox = gtk_hbutton_box_new(); + bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_set_spacing(GTK_BOX(bbox), 6); gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, TRUE, 0);
--- a/pidgin/plugins/gevolution/gevolution.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/gevolution/gevolution.c Wed Feb 12 21:08:49 2014 +0100 @@ -29,6 +29,7 @@ #include "util.h" #include "version.h" +#include "gtk3compat.h" #include "gtkblist.h" #include "gtkconv.h" #include "gtkplugin.h" @@ -426,7 +427,7 @@ GList *l; /* Outside container */ - ret = gtk_vbox_new(FALSE, 18); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18); gtk_container_set_border_width(GTK_CONTAINER(ret), 12); /* Configuration frame */
--- a/pidgin/plugins/gevolution/new_person_dialog.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/gevolution/new_person_dialog.c Wed Feb 12 21:08:49 2014 +0100 @@ -20,6 +20,8 @@ */ #include "internal.h" #include "pidgin.h" + +#include "gtk3compat.h" #include "gtkutils.h" #include "debug.h" @@ -33,7 +35,7 @@ GtkWidget *hbox; GtkWidget *label; - hbox = gtk_hbox_new(FALSE, 6); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_start(GTK_BOX(parent), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); @@ -249,7 +251,7 @@ G_CALLBACK(delete_win_cb), dialog); /* Setup the vbox */ - vbox = gtk_vbox_new(FALSE, 12); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12); gtk_container_add(GTK_CONTAINER(dialog->win), vbox); gtk_widget_show(vbox); @@ -300,7 +302,7 @@ gtk_widget_show_all(dialog->group_combo); /* Separator */ - sep = gtk_hseparator_new(); + sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); gtk_widget_show(sep); @@ -312,7 +314,7 @@ } /* Create the parent hbox for this whole thing. */ - hbox = gtk_hbox_new(FALSE, 12); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); gtk_widget_show(hbox); @@ -334,7 +336,7 @@ #endif /* Now the right side. */ - vbox2 = gtk_vbox_new(FALSE, 12); + vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12); gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 0); gtk_widget_show(vbox2); @@ -383,12 +385,12 @@ } /* Separator */ - sep = gtk_hseparator_new(); + sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); gtk_widget_show(sep); /* Button box */ - bbox = gtk_hbutton_box_new(); + bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_set_spacing(GTK_BOX(bbox), 6); gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, TRUE, 0);
--- a/pidgin/plugins/musicmessaging/musicmessaging.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/musicmessaging/musicmessaging.c Wed Feb 12 21:08:49 2014 +0100 @@ -24,6 +24,7 @@ #include "conversation.h" +#include "gtk3compat.h" #include "gtkconv.h" #include "gtkplugin.h" #include "gtkutils.h" @@ -607,7 +608,7 @@ gtk_container_add((GtkContainer *)button, image); - sep = gtk_vseparator_new(); + sep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); mmconv->seperator = sep; mmconv->button = button; @@ -639,7 +640,7 @@ GtkWidget *editor_path_button; /* Outside container */ - ret = gtk_vbox_new(FALSE, 18); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18); gtk_container_set_border_width(GTK_CONTAINER(ret), 10); /* Configuration frame */
--- a/pidgin/plugins/notify.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/notify.c Wed Feb 12 21:08:49 2014 +0100 @@ -93,6 +93,7 @@ #include "version.h" #include "debug.h" +#include "gtk3compat.h" #include "gtkplugin.h" #include "gtkutils.h" @@ -673,12 +674,12 @@ GtkWidget *vbox = NULL, *hbox = NULL; GtkWidget *toggle = NULL, *entry = NULL, *ref; - ret = gtk_vbox_new(FALSE, 18); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18); gtk_container_set_border_width(GTK_CONTAINER (ret), 12); /*---------- "Notify For" ----------*/ frame = pidgin_make_frame(ret, _("Notify For")); - vbox = gtk_vbox_new(FALSE, 5); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(frame), vbox); toggle = gtk_check_button_new_with_mnemonic(_("_IM windows")); @@ -715,11 +716,11 @@ /*---------- "Notification Methods" ----------*/ frame = pidgin_make_frame(ret, _("Notification Methods")); - vbox = gtk_vbox_new(FALSE, 5); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(frame), vbox); /* String method button */ - hbox = gtk_hbox_new(FALSE, 18); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 18); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); toggle = gtk_check_button_new_with_mnemonic(_("Prepend _string into window title:")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), @@ -785,7 +786,7 @@ /*---------- "Notification Removals" ----------*/ frame = pidgin_make_frame(ret, _("Notification Removal")); - vbox = gtk_vbox_new(FALSE, 5); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(frame), vbox); /* Remove on focus button */
--- a/pidgin/plugins/raw.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/raw.c Wed Feb 12 21:08:49 2014 +0100 @@ -29,6 +29,7 @@ #include "prpl.h" #include "version.h" +#include "gtk3compat.h" #include "gtkplugin.h" #include "gtkutils.h" @@ -126,7 +127,7 @@ G_CALLBACK(window_closed_cb), NULL); /* Main hbox */ - hbox = gtk_hbox_new(FALSE, 6); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); gtk_container_add(GTK_CONTAINER(window), hbox); /* Account drop-down menu. */
--- a/pidgin/plugins/spellchk.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/spellchk.c Wed Feb 12 21:08:49 2014 +0100 @@ -39,6 +39,7 @@ #include "util.h" #include "version.h" +#include "gtk3compat.h" #include "gtkplugin.h" #include "gtkprefs.h" #include "gtkutils.h" @@ -2170,7 +2171,7 @@ GtkWidget *vbox2; GtkWidget *vbox3; - ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + 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, _("Text Replacements")); @@ -2240,7 +2241,7 @@ TRUE, TRUE, 0); gtk_widget_show(tree); - hbox = gtk_hbutton_box_new(); + hbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); @@ -2257,10 +2258,10 @@ vbox = pidgin_make_frame(ret, _("Add a new text replacement")); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); gtk_widget_show(hbox); - vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 0); gtk_widget_show(vbox2); @@ -2295,7 +2296,7 @@ button = gtk_button_new_from_stock(GTK_STOCK_ADD); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(list_add_new), NULL); - vbox3 = gtk_vbox_new(FALSE, 0); + vbox3 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start(GTK_BOX(hbox), vbox3, TRUE, FALSE, 0); gtk_widget_show(vbox3); gtk_box_pack_end(GTK_BOX(vbox3), button, FALSE, FALSE, 0);
--- a/pidgin/plugins/themeedit-icon.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/themeedit-icon.c Wed Feb 12 21:08:49 2014 +0100 @@ -25,6 +25,7 @@ #include "theme-manager.h" +#include "gtk3compat.h" #include "gtkblist.h" #include "gtkblist-theme.h" #include "gtkutils.h" @@ -271,7 +272,7 @@ for (s = 0; sections[s].heading; s++) { const char *heading = sections[s].heading; - box = gtk_vbox_new(FALSE, 0); + box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), box, gtk_label_new(heading)); vbox = pidgin_make_frame(box, heading); @@ -281,7 +282,7 @@ const char *id = sections[s].options[i].stockid; const char *text = _(sections[s].options[i].text); - GtkWidget *hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + GtkWidget *hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_CAT_SPACE); GtkWidget *label = gtk_label_new(text); GtkWidget *image = gtk_image_new_from_stock(id, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL));
--- a/pidgin/plugins/themeedit.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/themeedit.c Wed Feb 12 21:08:49 2014 +0100 @@ -168,7 +168,7 @@ GtkWidget *color; GtkWidget *hbox, *label; - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_CAT_SPACE); label = gtk_label_new(_(text)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); @@ -192,7 +192,7 @@ GtkWidget *color, *font; GtkWidget *hbox, *label; - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_CAT_SPACE); label = gtk_label_new(_(text)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
--- a/pidgin/plugins/ticker/ticker.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/ticker/ticker.c Wed Feb 12 21:08:49 2014 +0100 @@ -34,6 +34,7 @@ #include "signals.h" #include "version.h" +#include "gtk3compat.h" #include "gtkblist.h" #include "gtkplugin.h" #include "gtkutils.h" @@ -166,7 +167,7 @@ td->ebox = gtk_event_box_new(); gtk_ticker_add(GTK_TICKER(ticker), td->ebox); - hbox = gtk_hbox_new(FALSE, 0); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add(GTK_CONTAINER(td->ebox), hbox); buddy_ticker_set_pixmap(contact); gtk_box_pack_start(GTK_BOX(hbox), td->icon, FALSE, FALSE, 0);
--- a/pidgin/plugins/unity.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/unity.c Wed Feb 12 21:08:49 2014 +0100 @@ -17,10 +17,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ #include "internal.h" -#include "version.h" #include "account.h" #include "savedstatuses.h" +#include "version.h" +#include "gtk3compat.h" #include "gtkplugin.h" #include "gtkconv.h" #include "gtkutils.h" @@ -431,13 +432,13 @@ GtkWidget *ret = NULL, *frame = NULL; GtkWidget *vbox = NULL, *toggle = NULL; - ret = gtk_vbox_new(FALSE, 18); + ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18); gtk_container_set_border_width(GTK_CONTAINER (ret), 12); /* Alerts */ frame = pidgin_make_frame(ret, _("Chatroom alerts")); - vbox = gtk_vbox_new(FALSE, 5); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(frame), vbox); toggle = gtk_check_button_new_with_mnemonic(_("Chatroom message alerts _only where someone says your username")); @@ -450,7 +451,7 @@ /* Launcher integration */ frame = pidgin_make_frame(ret, _("Launcher Icon")); - vbox = gtk_vbox_new(FALSE, 5); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(frame), vbox); toggle = gtk_radio_button_new_with_mnemonic(NULL, _("_Disable launcher integration")); @@ -479,7 +480,7 @@ /* Messaging menu integration */ frame = pidgin_make_frame(ret, _("Messaging Menu")); - vbox = gtk_vbox_new(FALSE, 5); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(frame), vbox); toggle = gtk_radio_button_new_with_mnemonic(NULL,
--- a/pidgin/plugins/win32/transparency/win2ktrans.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/win32/transparency/win2ktrans.c Wed Feb 12 21:08:49 2014 +0100 @@ -30,6 +30,7 @@ #include "prefs.h" #include "debug.h" +#include "gtk3compat.h" #include "gtkconv.h" #include "gtkplugin.h" #include "gtkprefs.h" @@ -166,7 +167,7 @@ gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE); gtk_widget_show(frame); - hbox = gtk_hbox_new(FALSE, 5); + hbox = gtk_hbox_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add(GTK_CONTAINER(frame), hbox); label = gtk_label_new(_("Opacity:")); @@ -582,7 +583,7 @@ gtk_box_pack_start(GTK_BOX(imtransbox), trans_box, FALSE, FALSE, 5); /* IM transparency slider */ - hbox = gtk_hbox_new(FALSE, 5); + hbox = gtk_hbox_new(GTK_ORIENTATION_HORIZONTAL, 5); label = gtk_label_new(_("Opacity:")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); @@ -629,7 +630,7 @@ gtk_box_pack_start(GTK_BOX(bltransbox), trans_box, FALSE, FALSE, 5); /* IM transparency slider */ - hbox = gtk_hbox_new(FALSE, 5); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); label = gtk_label_new(_("Opacity:")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
--- a/pidgin/plugins/xmppconsole.c Wed Feb 12 21:04:03 2014 +0100 +++ b/pidgin/plugins/xmppconsole.c Wed Feb 12 21:08:49 2014 +0100 @@ -314,7 +314,7 @@ gtk_container_set_border_width(GTK_CONTAINER(dialog), 12); vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("To:"); @@ -326,7 +326,7 @@ gtk_entry_set_activates_default (GTK_ENTRY (to_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), to_entry, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Type:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); @@ -400,7 +400,7 @@ gtk_container_set_border_width(GTK_CONTAINER(dialog), 12); vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("To:"); @@ -412,7 +412,7 @@ gtk_entry_set_activates_default (GTK_ENTRY (to_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), to_entry, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Type:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); @@ -430,7 +430,7 @@ gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0); gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Show:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); @@ -446,7 +446,7 @@ gtk_combo_box_set_active(GTK_COMBO_BOX(show_combo), 0); gtk_box_pack_start(GTK_BOX(hbox), show_combo, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Status:"); @@ -458,7 +458,7 @@ gtk_entry_set_activates_default (GTK_ENTRY (status_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), status_entry, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Priority:"); @@ -556,7 +556,7 @@ gtk_container_set_border_width(GTK_CONTAINER(dialog), 12); vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("To:"); @@ -568,7 +568,7 @@ gtk_entry_set_activates_default (GTK_ENTRY (to_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), to_entry, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Type:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); @@ -583,7 +583,7 @@ gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0); gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Body:"); @@ -595,7 +595,7 @@ gtk_entry_set_activates_default (GTK_ENTRY (body_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), body_entry, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Subject:"); @@ -607,7 +607,7 @@ gtk_entry_set_activates_default (GTK_ENTRY (subject_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), subject_entry, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, 3); + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Thread:"); @@ -794,7 +794,7 @@ static void create_console(PurplePluginAction *action) { - GtkWidget *vbox = gtk_vbox_new(FALSE, 6); + GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); GtkWidget *label; GtkWidget *toolbar; GList *connections; @@ -812,7 +812,7 @@ gtk_window_set_default_size(GTK_WINDOW(console->window), 580, 400); gtk_container_add(GTK_CONTAINER(console->window), vbox); - console->hbox = gtk_hbox_new(FALSE, 3); + console->hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start(GTK_BOX(vbox), console->hbox, FALSE, FALSE, 0); label = gtk_label_new(_("Account: ")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
--- a/po/POTFILES.in Wed Feb 12 21:04:03 2014 +0100 +++ b/po/POTFILES.in Wed Feb 12 21:08:49 2014 +0100 @@ -18,6 +18,7 @@ finch/gntstatus.c finch/gntui.c finch/gntxfer.c +finch/libfinch.c finch/libgnt/gntbox.c finch/libgnt/gntbutton.c finch/libgnt/gntcheckbox.c @@ -219,7 +220,6 @@ pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtklog.c -pidgin/gtkmain.c pidgin/gtkmedia.c pidgin/gtknotify.c pidgin/gtkplugin.c @@ -237,6 +237,7 @@ pidgin/gtkwebviewtoolbar.c pidgin/gtkwhiteboard.c pidgin/gtkxfer.c +pidgin/libpidgin.c pidgin/pidgin.h pidgin/pidginstock.c pidgin/pidgintooltip.c