diff options
53 files changed, 476 insertions, 329 deletions
@@ -8,10 +8,12 @@ version 3.0.0 (??/??/????): support. The default is 'auto', which will first look for 3.x development headers and then 2.x development headers. * Add email notification in the docklet area. (Alexei) (#3571) - * Add a pref to select the type messages in conversation that triggers + * Add a pref to select the type messages in conversation that triggers the docklet notification. (Momchil) (#12598) * Complete support for receiving a limited amount of history when joining a room. (Kha) (#15458) + * Fix gevolution plugin to compile with e-d-s >= 3.6, older versions are + not supported anymore. (Ed Catmur) (#15353) Finch: * Support the conversation-extended signal for extending the diff --git a/configure.ac b/configure.ac index ec679f6eab..d77cdf8de6 100644 --- a/configure.ac +++ b/configure.ac @@ -634,16 +634,10 @@ Use --disable-gtkspell if you do not need it. dnl # Check for stuff needed by the Evolution integration plugin. dnl ####################################################################### if test "x$enable_gevolution" = "xyes"; then - evo_deps="libebook-1.2 libedata-book-1.2" + evo_deps="libebook-1.2 libedata-book-1.2 evolution-data-server-1.2 >= 3.6" PKG_CHECK_MODULES(EVOLUTION_ADDRESSBOOK, $evo_deps, , [ enable_gevolution="no" ]) - if test "x$enable_gevolution" = "xno"; then - evo_deps="libebook-1.0 libedata-book-1.0" - PKG_CHECK_MODULES(EVOLUTION_ADDRESSBOOK, $evo_deps, [ - enable_gevolution="yes" - ]) - fi if test "x$enable_gevolution" = "xyes"; then AC_DEFINE(HAVE_EVOLUTION_ADDRESSBOOK, 1, [Define if we're using evolution addressbook.]) AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS) diff --git a/libpurple/plugins/perl/common/module.h b/libpurple/plugins/perl/common/module.h index 9c50c88423..b734991341 100644 --- a/libpurple/plugins/perl/common/module.h +++ b/libpurple/plugins/perl/common/module.h @@ -1,6 +1,8 @@ /* Allow the Perl code to see deprecated functions, so we can continue to * export them to Perl plugins. */ -#undef PURPLE_DISABLE_DEPRECATED +/* Re-enable this after 3.0.0 release. + #undef PURPLE_DISABLE_DEPRECATED + */ typedef struct group *Purple__Group; @@ -11,6 +13,10 @@ typedef struct group *Purple__Group; #undef pipe #undef STRINGIFY #endif + +#define SILENT_NO_TAINT_SUPPORT 0 +#define NO_TAINT_SUPPORT 0 + #include <EXTERN.h> #include <perl.h> #include <XSUB.h> diff --git a/libpurple/plugins/perl/perl-common.h b/libpurple/plugins/perl/perl-common.h index 8f2184e04d..8e5bc1c325 100644 --- a/libpurple/plugins/perl/perl-common.h +++ b/libpurple/plugins/perl/perl-common.h @@ -6,6 +6,10 @@ #undef STRINGIFY #undef pipe #endif + +#define SILENT_NO_TAINT_SUPPORT 0 +#define NO_TAINT_SUPPORT 0 + #include <EXTERN.h> #include <perl.h> #include <XSUB.h> diff --git a/libpurple/plugins/perl/perl.c b/libpurple/plugins/perl/perl.c index 3a2c48cab8..c7b13df651 100644 --- a/libpurple/plugins/perl/perl.c +++ b/libpurple/plugins/perl/perl.c @@ -48,6 +48,9 @@ # define HAS_UNION_SEMUN #endif +#define SILENT_NO_TAINT_SUPPORT 0 +#define NO_TAINT_SUPPORT 0 + #include <perl.h> #include <XSUB.h> diff --git a/libpurple/plugins/tcl/tcl_glib.c b/libpurple/plugins/tcl/tcl_glib.c index 9ca0bc2849..c169e1a521 100644 --- a/libpurple/plugins/tcl/tcl_glib.c +++ b/libpurple/plugins/tcl/tcl_glib.c @@ -68,6 +68,10 @@ #include "tcl_glib.h" +#ifndef CONST86 +# define CONST86 +#endif + struct tcl_file_handler { int source; int fd; @@ -86,8 +90,8 @@ static guint tcl_timer; static gboolean tcl_timer_pending; static GHashTable *tcl_file_handlers; -static void tcl_set_timer(Tcl_Time *timePtr); -static int tcl_wait_for_event(Tcl_Time *timePtr); +static void tcl_set_timer(CONST86 Tcl_Time *timePtr); +static int tcl_wait_for_event(CONST86 Tcl_Time *timePtr); static void tcl_create_file_handler(int fd, int mask, Tcl_FileProc *proc, ClientData data); static void tcl_delete_file_handler(int fd); @@ -120,7 +124,7 @@ void tcl_glib_init () tcl_file_handlers = g_hash_table_new(g_direct_hash, g_direct_equal); } -static void tcl_set_timer(Tcl_Time *timePtr) +static void tcl_set_timer(CONST86 Tcl_Time *timePtr) { guint interval; @@ -137,7 +141,7 @@ static void tcl_set_timer(Tcl_Time *timePtr) tcl_timer_pending = TRUE; } -static int tcl_wait_for_event(Tcl_Time *timePtr) +static int tcl_wait_for_event(CONST86 Tcl_Time *timePtr) { if (!timePtr || (timePtr->sec == 0 && timePtr->usec == 0)) { g_main_context_iteration(NULL, FALSE); diff --git a/libpurple/protocols/novell/nmrtf.c b/libpurple/protocols/novell/nmrtf.c index 0a0caf48b3..8e53070fa9 100644 --- a/libpurple/protocols/novell/nmrtf.c +++ b/libpurple/protocols/novell/nmrtf.c @@ -132,7 +132,8 @@ struct _NMRtfContext int depth; /* how many groups deep are we */ gboolean skip_unknown; /* if true, skip any unknown destinations (this is set after encountering '\*') */ char *input; /* input string */ - char nextch; /* next char in input */ + guchar nextch; /* next char in input */ + gboolean nextch_available; /* nextch value is set */ GString *ansi; /* Temporary ansi text, will be convert/flushed to the output string */ GString *output; /* The plain text UTF8 string */ }; @@ -217,7 +218,7 @@ NMRtfContext * nm_rtf_init() { NMRtfContext *ctx = g_new0(NMRtfContext, 1); - ctx->nextch = -1; + ctx->nextch_available = FALSE; ctx->ansi = g_string_new(""); ctx->output = g_string_new(""); return ctx; @@ -802,14 +803,13 @@ rtf_dispatch_special(NMRtfContext *ctx, NMRtfSpecialKwd type) static int rtf_get_char(NMRtfContext *ctx, guchar *ch) { - if (ctx->nextch >= 0) { - *ch = ctx->nextch; - ctx->nextch = -1; - } - else { + if (ctx->nextch_available) { + *ch = ctx->nextch; + ctx->nextch_available = FALSE; + } else { *ch = *(ctx->input); ctx->input++; - } + } if (*ch) return NMRTF_OK; @@ -823,6 +823,7 @@ rtf_get_char(NMRtfContext *ctx, guchar *ch) static int rtf_unget_char(NMRtfContext *ctx, guchar ch) { - ctx->nextch = ch; - return NMRTF_OK; + ctx->nextch = ch; + ctx->nextch_available = TRUE; + return NMRTF_OK; } diff --git a/pidgin/gtk3compat.h b/pidgin/gtk3compat.h index e0fcc486f7..654d5b4c9b 100644 --- a/pidgin/gtk3compat.h +++ b/pidgin/gtk3compat.h @@ -58,6 +58,67 @@ static inline GtkWidget * gtk_font_chooser_dialog_new(const gchar *title, #define GDK_IS_QUARTZ_WINDOW(window) TRUE #endif +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 diff --git a/pidgin/gtkaccount.c b/pidgin/gtkaccount.c index 8c996bd269..26b59fea03 100644 --- a/pidgin/gtkaccount.c +++ b/pidgin/gtkaccount.c @@ -615,7 +615,7 @@ add_login_options(AccountPrefsDialog *dialog, GtkWidget *parent) 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); @@ -803,7 +803,7 @@ add_user_options(AccountPrefsDialog *dialog, GtkWidget *parent) 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); @@ -823,7 +823,7 @@ add_user_options(AccountPrefsDialog *dialog, GtkWidget *parent) 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); @@ -846,11 +846,11 @@ add_user_options(AccountPrefsDialog *dialog, GtkWidget *parent) 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); @@ -949,7 +949,7 @@ add_account_options(AccountPrefsDialog *dialog) 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); @@ -1255,7 +1255,7 @@ add_proxy_options(AccountPrefsDialog *dialog, GtkWidget *parent) 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); @@ -1265,7 +1265,7 @@ add_proxy_options(AccountPrefsDialog *dialog, GtkWidget *parent) 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); @@ -1352,7 +1352,7 @@ add_voice_options(AccountPrefsDialog *dialog) } 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); @@ -1783,7 +1783,7 @@ pidgin_account_dialog_show_continue(PurpleAccount *account, 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"))); @@ -1809,7 +1809,7 @@ pidgin_account_dialog_show_continue(PurpleAccount *account, add_account_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"))); diff --git a/pidgin/gtkblist.c b/pidgin/gtkblist.c index bbe003b500..4e757a40b6 100644 --- a/pidgin/gtkblist.c +++ b/pidgin/gtkblist.c @@ -996,13 +996,13 @@ make_blist_request_dialog(PidginBlistRequestData *data, PurpleAccount *account, 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); @@ -1018,7 +1018,7 @@ make_blist_request_dialog(PidginBlistRequestData *data, PurpleAccount *account, 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); @@ -5405,7 +5405,7 @@ create_account_label(PurpleAccount *account) 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_protocol_icon_start(hbox, account); @@ -5632,7 +5632,7 @@ blist_focus_cb(GtkWidget *widget, GdkEventFocus *event, PidginBuddyList *gtkblis 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; @@ -5659,7 +5659,7 @@ kiosk_page() 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); @@ -5894,7 +5894,7 @@ static void pidgin_blist_show(PurpleBuddyList *list) 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); @@ -5970,7 +5970,7 @@ static void pidgin_blist_show(PurpleBuddyList *list) 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); @@ -6015,7 +6015,7 @@ static void pidgin_blist_show(PurpleBuddyList *list) 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); @@ -6137,7 +6137,7 @@ static void pidgin_blist_show(PurpleBuddyList *list) 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(); diff --git a/pidgin/gtkcertmgr.c b/pidgin/gtkcertmgr.c index 63d6426b14..a492cf8877 100644 --- a/pidgin/gtkcertmgr.c +++ b/pidgin/gtkcertmgr.c @@ -30,6 +30,7 @@ #include "notify.h" #include "request.h" +#include "gtk3compat.h" #include "gtkblist.h" #include "gtkutils.h" @@ -410,9 +411,8 @@ tls_peers_mgmt_build(void) /* 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_build(void) 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); diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c index 47ea5e30de..fb90d42e10 100644 --- a/pidgin/gtkconv.c +++ b/pidgin/gtkconv.c @@ -958,13 +958,13 @@ invite_cb(GtkWidget *widget, PidginConversation *gtkconv) 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. */ @@ -977,7 +977,7 @@ invite_cb(GtkWidget *widget, PidginConversation *gtkconv) 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 +4008,7 @@ create_sendto_item(GtkWidget *menu, GtkSizeGroup *sg, GSList **group, *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 +5048,7 @@ setup_chat_topic(PidginConversation *gtkconv, GtkWidget *vbox) 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 +5113,7 @@ setup_chat_userlist(PidginConversation *gtkconv, GtkWidget *hpaned) 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 +5229,8 @@ static gboolean 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 +5250,15 @@ quickfind_process_input(GtkWidget *entry, GdkEventKey *event, PidginConversation 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 +5280,19 @@ quickfind_process_input(GtkWidget *entry, GdkEventKey *event, PidginConversation 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 +5305,14 @@ pidgin_conv_setup_quickfind(PidginConversation *gtkconv, GtkWidget *container) 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 +5572,14 @@ setup_common_pane(PidginConversation *gtkconv) 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 +5609,13 @@ setup_common_pane(PidginConversation *gtkconv) 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 +5672,7 @@ setup_common_pane(PidginConversation *gtkconv) 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 +5696,7 @@ setup_common_pane(PidginConversation *gtkconv) 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 +6061,7 @@ private_gtkconv_new(PurpleConversation *conv, gboolean hidden) 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); @@ -9164,13 +9181,13 @@ build_warn_close_dialog(PidginWindow *gtkwin) 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?")); @@ -10306,7 +10323,7 @@ pidgin_conv_window_new() 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); @@ -10498,7 +10515,7 @@ pidgin_conv_window_add_gtkconv(PidginWindow *win, PidginConversation *gtkconv) #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); @@ -10573,9 +10590,9 @@ pidgin_conv_tab_pack(PidginWindow *win, PidginConversation *gtkconv) #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 */ diff --git a/pidgin/gtkdebug.c b/pidgin/gtkdebug.c index 739c4625d9..8ca9ee4e5c 100644 --- a/pidgin/gtkdebug.c +++ b/pidgin/gtkdebug.c @@ -464,7 +464,7 @@ debug_window_new(void) 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")) { diff --git a/pidgin/gtkdialogs.c b/pidgin/gtkdialogs.c index 76baf8ddc7..26bc44a98b 100644 --- a/pidgin/gtkdialogs.c +++ b/pidgin/gtkdialogs.c @@ -1060,7 +1060,7 @@ pidgin_dialogs_ee(const char *ee) 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); diff --git a/pidgin/gtklog.c b/pidgin/gtklog.c index 8f86598de4..3ccc630842 100644 --- a/pidgin/gtklog.c +++ b/pidgin/gtklog.c @@ -587,7 +587,7 @@ static PidginLogViewer *display_log_viewer(struct log_viewer_hash_t *ht, GList * /* 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 @@ static PidginLogViewer *display_log_viewer(struct log_viewer_hash_t *ht, GList * 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 @@ static PidginLogViewer *display_log_viewer(struct log_viewer_hash_t *ht, GList * } /* 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 @@ static PidginLogViewer *display_log_viewer(struct log_viewer_hash_t *ht, GList * 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); diff --git a/pidgin/gtkmedia.c b/pidgin/gtkmedia.c index ba240c3181..784aa41c92 100644 --- a/pidgin/gtkmedia.c +++ b/pidgin/gtkmedia.c @@ -331,7 +331,7 @@ pidgin_media_init (PidginMedia *media) 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 @@ pidgin_media_init (PidginMedia *media) 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 @@ pidgin_media_add_audio_widget(PidginMedia *gtkmedia, 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 @@ pidgin_media_ready_cb(PurpleMedia *media, PidginMedia *gtkmedia, const gchar *si 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 @@ pidgin_media_ready_cb(PurpleMedia *media, PidginMedia *gtkmedia, const gchar *si 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); diff --git a/pidgin/gtkmenutray.c b/pidgin/gtkmenutray.c index dea01c9765..626f9dda1c 100644 --- a/pidgin/gtkmenutray.c +++ b/pidgin/gtkmenutray.c @@ -155,10 +155,15 @@ pidgin_menu_tray_init(PidginMenuTray *menu_tray) { GtkSettings *settings; gint height = -1; +#if GTK_CHECK_VERSION(3,0,0) + gtk_widget_set_hexpand(widget, TRUE); + gtk_widget_set_halign(widget, GTK_ALIGN_END); +#else gtk_menu_item_set_right_justified(GTK_MENU_ITEM(menu_tray), TRUE); +#endif 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)); diff --git a/pidgin/gtknotify.c b/pidgin/gtknotify.c index d8a402ae96..4a6624c501 100644 --- a/pidgin/gtknotify.c +++ b/pidgin/gtknotify.c @@ -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 @@ pidgin_notify_message(PurpleNotifyMsgType type, const char *title, 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); diff --git a/pidgin/gtkplugin.c b/pidgin/gtkplugin.c index 055501db88..3d2f5001cf 100644 --- a/pidgin/gtkplugin.c +++ b/pidgin/gtkplugin.c @@ -892,7 +892,7 @@ website_button_clicked_cb(GtkButton *button, GdkEventButton *event, 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; diff --git a/pidgin/gtkpluginpref.c b/pidgin/gtkpluginpref.c index afaef9de6f..d005d21543 100644 --- a/pidgin/gtkpluginpref.c +++ b/pidgin/gtkpluginpref.c @@ -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 @@ make_string_pref(GtkWidget *parent, PurplePluginPref *pref, GtkSizeGroup *sg) { 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 @@ make_string_pref(GtkWidget *parent, PurplePluginPref *pref, GtkSizeGroup *sg) { 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 @@ pidgin_plugin_pref_create_frame(PurplePluginPrefFrame *frame) { 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 diff --git a/pidgin/gtkpounce.c b/pidgin/gtkpounce.c index 8910467d3d..7a7696604f 100644 --- a/pidgin/gtkpounce.c +++ b/pidgin/gtkpounce.c @@ -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 @@ pidgin_pounce_editor_show(PurpleAccount *account, const char *name, 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_pounce_editor_show(PurpleAccount *account, const char *name, 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); diff --git a/pidgin/gtkprefs.c b/pidgin/gtkprefs.c index 0cd517eeab..f1baaf6a4c 100644 --- a/pidgin/gtkprefs.c +++ b/pidgin/gtkprefs.c @@ -1405,7 +1405,7 @@ add_theme_prefs_combo(GtkWidget *vbox, { 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 @@ add_child_theme_prefs_combo(GtkWidget *vbox, GtkSizeGroup *combo_sg, 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 @@ theme_page(void) 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 @@ interface_page(void) 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 @@ interface_page(void) * 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 @@ conv_page(void) 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 @@ conv_page(void) #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 @@ network_page(void) "}"; #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 @@ network_page(void) 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 @@ network_page(void) 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 @@ browser_page(void) 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 @@ browser_page(void) 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 @@ browser_page(void) 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 @@ proxy_page(void) 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 @@ proxy_page(void) 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 @@ proxy_page(void) 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 @@ proxy_page(void) 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 @@ logging_page(void) 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 @@ keyring_page(void) 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 @@ sound_page(void) 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 @@ sound_page(void) 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 @@ sound_page(void) 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 @@ away_page(void) 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 @@ away_page(void) _("_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 @@ make_voice_test(GtkWidget *vbox) 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 @@ make_voice_test(GtkWidget *vbox) 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 @@ vv_page(void) 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); diff --git a/pidgin/gtkrequest.c b/pidgin/gtkrequest.c index 360ef8f506..badef74ab4 100644 --- a/pidgin/gtkrequest.c +++ b/pidgin/gtkrequest.c @@ -562,7 +562,7 @@ pidgin_request_input(const char *title, const char *primary, 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_input(const char *title, const char *primary, 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_request_choice(const char *title, const char *primary, 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_choice(const char *title, const char *primary, 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 @@ pidgin_request_choice(const char *title, const char *primary, 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_request_action(const char *title, const char *primary, 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 @@ pidgin_request_action(const char *title, const char *primary, 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 @@ pidgin_request_wait(const char *title, const char *primary, 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 @@ pidgin_request_wait(const char *title, const char *primary, 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 @@ create_choice_field(PurpleRequestField *field, 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 @@ create_datasheet_field(PurpleRequestField *field, GtkSizeGroup *buttons_sg) 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 @@ create_datasheet_field(PurpleRequestField *field, GtkSizeGroup *buttons_sg) 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 @@ pidgin_request_fields(const char *title, const char *primary, 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 @@ pidgin_request_fields(const char *title, const char *primary, 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 @@ pidgin_request_fields(const char *title, const char *primary, 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 @@ pidgin_request_fields(const char *title, const char *primary, 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 @@ pidgin_request_fields(const char *title, const char *primary, 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]); diff --git a/pidgin/gtkroomlist.c b/pidgin/gtkroomlist.c index a078673793..a8f934a8a0 100644 --- a/pidgin/gtkroomlist.c +++ b/pidgin/gtkroomlist.c @@ -30,6 +30,7 @@ #include "connection.h" #include "notify.h" +#include "gtk3compat.h" #include "gtkroomlist.h" typedef struct _PidginRoomlistDialog { @@ -578,7 +579,7 @@ pidgin_roomlist_dialog_new_with_account(PurpleAccount *account) /* 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); diff --git a/pidgin/gtksavedstatuses.c b/pidgin/gtksavedstatuses.c index dabc653542..298a967757 100644 --- a/pidgin/gtksavedstatuses.c +++ b/pidgin/gtksavedstatuses.c @@ -1158,7 +1158,7 @@ pidgin_status_editor_show(gboolean edit, PurpleSavedStatus *saved_status) 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 @@ edit_substatus(StatusEditor *status_editor, PurpleAccount *account) 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 @@ edit_substatus(StatusEditor *status_editor, PurpleAccount *account) 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:")); diff --git a/pidgin/gtkscrollbook.c b/pidgin/gtkscrollbook.c index a56bad1ec0..cc36d2e1ea 100644 --- a/pidgin/gtkscrollbook.c +++ b/pidgin/gtkscrollbook.c @@ -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 @@ pidgin_scroll_book_init (PidginScrollBook *scroll_book) 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(); diff --git a/pidgin/gtkstatusbox.c b/pidgin/gtkstatusbox.c index cd7589a647..2b19d99e86 100644 --- a/pidgin/gtkstatusbox.c +++ b/pidgin/gtkstatusbox.c @@ -455,8 +455,8 @@ destroy_icon_box(PidginStatusBox *statusbox) return; gtk_widget_destroy(statusbox->icon_box); - gdk_cursor_unref(statusbox->hand_cursor); - gdk_cursor_unref(statusbox->arrow_cursor); + g_object_unref(statusbox->hand_cursor); + g_object_unref(statusbox->arrow_cursor); purple_imgstore_unref(statusbox->buddy_icon_img); @@ -1744,9 +1744,9 @@ pidgin_status_box_init (PidginStatusBox *status_box) 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, @@ -1831,7 +1831,7 @@ pidgin_status_box_init (PidginStatusBox *status_box) 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)); diff --git a/pidgin/gtkutils.c b/pidgin/gtkutils.c index 0db97d5a48..257432223e 100644 --- a/pidgin/gtkutils.c +++ b/pidgin/gtkutils.c @@ -222,7 +222,7 @@ pidgin_create_webview(gboolean editable, GtkWidget **webview_ret, GtkWidget **sw 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 @@ pidgin_create_webview(gboolean editable, GtkWidget **webview_ret, GtkWidget **sw 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 @@ pidgin_pixbuf_toolbar_button_from_stock(const char *icon) 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 @@ pidgin_pixbuf_button_from_stock(const char *text, const char *icon, 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 @@ pidgin_make_frame(GtkWidget *parent, const char *title) 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 @@ pidgin_make_frame(GtkWidget *parent, const char *title) 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 @@ pidgin_make_frame(GtkWidget *parent, const char *title) 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); @@ -2104,7 +2104,7 @@ void pidgin_set_cursor(GtkWidget *widget, GdkCursorType cursor_type) cursor = gdk_cursor_new(cursor_type); gdk_window_set_cursor(gtk_widget_get_window(widget), cursor); - gdk_cursor_unref(cursor); + g_object_unref(cursor); gdk_display_flush(gdk_window_get_display(gtk_widget_get_window(widget))); } @@ -2223,7 +2223,7 @@ GtkWidget *pidgin_buddy_icon_chooser_new(GtkWindow *parent, void(*callback)(cons 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); @@ -2847,7 +2847,7 @@ pidgin_add_widget_to_vbox(GtkBox *vbox, const char *widget_label, GtkSizeGroup * 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); diff --git a/pidgin/gtkwebviewtoolbar.c b/pidgin/gtkwebviewtoolbar.c index d17a4e13ea..f124bcdafe 100644 --- a/pidgin/gtkwebviewtoolbar.c +++ b/pidgin/gtkwebviewtoolbar.c @@ -797,7 +797,7 @@ add_smiley_list(GtkWidget *container, struct smiley_button_list *list, 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 @@ add_smiley_list(GtkWidget *container, struct smiley_button_list *list, 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 @@ insert_smiley_cb(GtkAction *smiley, PidginWebViewToolbar *toolbar) 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 @@ insert_smiley_cb(GtkAction *smiley, PidginWebViewToolbar *toolbar) /* 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) { diff --git a/pidgin/gtkwhiteboard.c b/pidgin/gtkwhiteboard.c index a9ae9f95a1..129f47b626 100644 --- a/pidgin/gtkwhiteboard.c +++ b/pidgin/gtkwhiteboard.c @@ -24,7 +24,9 @@ #include "internal.h" #include "buddylist.h" #include "debug.h" +#include "pidgin.h" +#include "gtk3compat.h" #include "gtkwhiteboard.h" #include "gtkutils.h" @@ -173,18 +175,18 @@ static void pidgin_whiteboard_create(PurpleWhiteboard *wb) 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 +201,7 @@ static void pidgin_whiteboard_create(PurpleWhiteboard *wb) } #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); @@ -239,7 +241,7 @@ static void pidgin_whiteboard_create(PurpleWhiteboard *wb) 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); diff --git a/pidgin/minidialog.c b/pidgin/minidialog.c index edc7d37880..fa7b953e26 100644 --- a/pidgin/minidialog.c +++ b/pidgin/minidialog.c @@ -24,6 +24,8 @@ #include <gtk/gtk.h> +#include "gtk3compat.h" + #include "libpurple/prefs.h" #include "pidgin/minidialog.h" @@ -482,7 +484,7 @@ pidgin_mini_dialog_init(PidginMiniDialog *self) 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 @@ pidgin_mini_dialog_init(PidginMiniDialog *self) 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); diff --git a/pidgin/pidgintooltip.c b/pidgin/pidgintooltip.c index 91bdec147a..d46be2e4a8 100644 --- a/pidgin/pidgintooltip.c +++ b/pidgin/pidgintooltip.c @@ -149,7 +149,18 @@ setup_tooltip_window_position(gpointer data, int w, int h) 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); diff --git a/pidgin/plugins/contact_priority.c b/pidgin/plugins/contact_priority.c index 7b9b10914f..b7d9be2e87 100644 --- a/pidgin/plugins/contact_priority.c +++ b/pidgin/plugins/contact_priority.c @@ -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 @@ get_config_frame(PurplePlugin *plugin) 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 @@ get_config_frame(PurplePlugin *plugin) { 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 @@ get_config_frame(PurplePlugin *plugin) 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 @@ get_config_frame(PurplePlugin *plugin) 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 diff --git a/pidgin/plugins/disco/gtkdisco.c b/pidgin/plugins/disco/gtkdisco.c index 0733294bcf..71a9e65695 100644 --- a/pidgin/plugins/disco/gtkdisco.c +++ b/pidgin/plugins/disco/gtkdisco.c @@ -31,6 +31,7 @@ #include "request.h" #include "pidgintooltip.h" +#include "gtk3compat.h" #include "gtkdisco.h" #include "xmppdisco.h" @@ -644,7 +645,7 @@ PidginDiscoDialog *pidgin_disco_dialog_new(void) /* 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); diff --git a/pidgin/plugins/gestures/gestures.c b/pidgin/plugins/gestures/gestures.c index 112cb061ac..732087519f 100644 --- a/pidgin/plugins/gestures/gestures.c +++ b/pidgin/plugins/gestures/gestures.c @@ -26,6 +26,7 @@ #include "signals.h" #include "version.h" +#include "gtk3compat.h" #include "gtkconv.h" #include "gtkplugin.h" #include "gtkutils.h" @@ -179,7 +180,7 @@ get_config_frame(PurplePlugin *plugin) #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 */ diff --git a/pidgin/plugins/gevolution/add_buddy_dialog.c b/pidgin/plugins/gevolution/add_buddy_dialog.c index 0b9610f45e..0f7f4c9b6c 100644 --- a/pidgin/plugins/gevolution/add_buddy_dialog.c +++ b/pidgin/plugins/gevolution/add_buddy_dialog.c @@ -21,6 +21,8 @@ #include "internal.h" #include "gtkblist.h" #include "pidgin.h" + +#include "gtk3compat.h" #include "gtkutils.h" #include "debug.h" @@ -227,7 +229,7 @@ add_ims(GevoAddBuddyDialog *dialog, EContact *contact, const char *name, } static void -populate_treeview(GevoAddBuddyDialog *dialog, const gchar *uri) +populate_treeview(GevoAddBuddyDialog *dialog, const gchar *uid) { EBookQuery *query; EBook *book; @@ -250,8 +252,7 @@ populate_treeview(GevoAddBuddyDialog *dialog, const gchar *uri) gtk_list_store_clear(dialog->model); - if (!gevo_load_addressbook(uri, &book, &err)) - { + if (!gevo_load_addressbook(uid, &book, &err)) { purple_debug_error("evolution", "Error retrieving default addressbook: %s\n", err->message); g_error_free(err); @@ -333,16 +334,15 @@ static void addrbook_change_cb(GtkComboBox *combo, GevoAddBuddyDialog *dialog) { GtkTreeIter iter; - const char *esource_uri; + const char *esource_uid; if (!gtk_combo_box_get_active_iter(combo, &iter)) return; gtk_tree_model_get(GTK_TREE_MODEL(dialog->addrbooks), &iter, - ADDRBOOK_COLUMN_URI, &esource_uri, - -1); + ADDRBOOK_COLUMN_UID, &esource_uid, -1); - populate_treeview(dialog, esource_uri); + populate_treeview(dialog, esource_uid); } static void @@ -455,7 +455,7 @@ gevo_add_buddy_dialog_show(PurpleAccount *account, const char *username, 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); @@ -468,7 +468,7 @@ gevo_add_buddy_dialog_show(PurpleAccount *account, const char *username, 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); @@ -551,12 +551,12 @@ gevo_add_buddy_dialog_show(PurpleAccount *account, const char *username, /* 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); diff --git a/pidgin/plugins/gevolution/assoc-buddy.c b/pidgin/plugins/gevolution/assoc-buddy.c index a814c32737..fe8b5d2626 100644 --- a/pidgin/plugins/gevolution/assoc-buddy.c +++ b/pidgin/plugins/gevolution/assoc-buddy.c @@ -21,6 +21,8 @@ #include "internal.h" #include "gtkblist.h" #include "pidgin.h" + +#include "gtk3compat.h" #include "gtkutils.h" #include "debug.h" @@ -129,7 +131,7 @@ add_columns(GevoAssociateBuddyDialog *dialog) } static void -populate_treeview(GevoAssociateBuddyDialog *dialog, const gchar *uri) +populate_treeview(GevoAssociateBuddyDialog *dialog, const gchar *uid) { EBook *book; EBookQuery *query; @@ -152,8 +154,7 @@ populate_treeview(GevoAssociateBuddyDialog *dialog, const gchar *uri) gtk_list_store_clear(dialog->model); - if (!gevo_load_addressbook(uri, &book, &err)) - { + if (!gevo_load_addressbook(uid, &book, &err)) { purple_debug_error("evolution", "Error retrieving addressbook: %s\n", err->message); g_error_free(err); @@ -239,16 +240,15 @@ static void addrbook_change_cb(GtkComboBox *combo, GevoAssociateBuddyDialog *dialog) { GtkTreeIter iter; - const char *esource_uri; + const char *esource_uid; if (!gtk_combo_box_get_active_iter(combo, &iter)) return; gtk_tree_model_get(GTK_TREE_MODEL(dialog->addrbooks), &iter, - ADDRBOOK_COLUMN_URI, &esource_uri, - -1); + ADDRBOOK_COLUMN_UID, &esource_uid, -1); - populate_treeview(dialog, esource_uri); + populate_treeview(dialog, esource_uid); } static void @@ -335,7 +335,7 @@ gevo_associate_buddy_dialog_new(PurpleBuddy *buddy) 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); @@ -348,7 +348,7 @@ gevo_associate_buddy_dialog_new(PurpleBuddy *buddy) 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); @@ -420,12 +420,12 @@ gevo_associate_buddy_dialog_new(PurpleBuddy *buddy) 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); diff --git a/pidgin/plugins/gevolution/eds-utils.c b/pidgin/plugins/gevolution/eds-utils.c index 658026956f..fe49c39d2c 100644 --- a/pidgin/plugins/gevolution/eds-utils.c +++ b/pidgin/plugins/gevolution/eds-utils.c @@ -51,9 +51,9 @@ gevo_addrbooks_model_unref(GtkTreeModel *model) void gevo_addrbooks_model_populate(GtkTreeModel *model) { - ESourceList *addressbooks; + ESourceRegistry *registry; GError *err = NULL; - GSList *groups, *g; + GList *sources, *s; GtkTreeIter iter; GtkListStore *list; @@ -62,66 +62,55 @@ gevo_addrbooks_model_populate(GtkTreeModel *model) list = GTK_LIST_STORE(model); - if (!e_book_get_addressbooks(&addressbooks, &err)) - { + registry = e_source_registry_new_sync(NULL, &err); + + if (!registry) { purple_debug_error("evolution", - "Unable to fetch list of address books.\n"); + "Unable to fetch list of address books."); gtk_list_store_append(list, &iter); - gtk_list_store_set(list, &iter, - ADDRBOOK_COLUMN_NAME, _("None"), - ADDRBOOK_COLUMN_URI, NULL, - -1); + gtk_list_store_set(list, &iter, ADDRBOOK_COLUMN_NAME, _("None"), + ADDRBOOK_COLUMN_UID, NULL, -1); + g_clear_error(&err); return; } - groups = e_source_list_peek_groups(addressbooks); + sources = e_source_registry_list_sources(registry, E_SOURCE_EXTENSION_ADDRESS_BOOK); - if (groups == NULL) - { + if (sources == NULL) { + g_object_unref(registry); gtk_list_store_append(list, &iter); - gtk_list_store_set(list, &iter, - ADDRBOOK_COLUMN_NAME, _("None"), - ADDRBOOK_COLUMN_URI, NULL, - -1); + gtk_list_store_set(list, &iter, ADDRBOOK_COLUMN_NAME, _("None"), + ADDRBOOK_COLUMN_UID, NULL, -1); return; } - for (g = groups; g != NULL; g = g->next) - { - GSList *sources, *s; - - sources = e_source_group_peek_sources(g->data); - - for (s = sources; s != NULL; s = s->next) - { - ESource *source = E_SOURCE(s->data); + for (s = sources; s != NULL; s = s->next) { + ESource *source = E_SOURCE(s->data); - g_object_ref(source); + g_object_ref(source); - gtk_list_store_append(list, &iter); - gtk_list_store_set(list, &iter, - ADDRBOOK_COLUMN_NAME, e_source_peek_name(source), - ADDRBOOK_COLUMN_URI, e_source_get_uri(source), - -1); - } + gtk_list_store_append(list, &iter); + gtk_list_store_set(list, &iter, + ADDRBOOK_COLUMN_NAME, e_source_get_display_name(source), + ADDRBOOK_COLUMN_UID, e_source_get_uid(source), -1); } - g_object_unref(addressbooks); + g_object_unref(registry); + g_list_free_full(sources, g_object_unref); } static EContact * -gevo_run_query_in_uri(const gchar *uri, EBookQuery *query) +gevo_run_query_in_source(ESource *source, EBookQuery *query) { EBook *book; gboolean status; GList *cards; GError *err = NULL; - if (!gevo_load_addressbook(uri, &book, &err)) - { + if (!gevo_load_addressbook_from_source(source, &book, &err)) { purple_debug_error("evolution", "Error retrieving addressbook: %s\n", err->message); g_error_free(err); @@ -171,10 +160,10 @@ gevo_run_query_in_uri(const gchar *uri, EBookQuery *query) EContact * gevo_search_buddy_in_contacts(PurpleBuddy *buddy, EBookQuery *query) { - ESourceList *addressbooks; + ESourceRegistry *registry; GError *err = NULL; EBookQuery *full_query; - GSList *groups, *g; + GList *sources, *s; EContact *result; EContactField protocol_field = gevo_protocol_get_field(purple_buddy_get_account(buddy), buddy); @@ -209,8 +198,9 @@ gevo_search_buddy_in_contacts(PurpleBuddy *buddy, EBookQuery *query) } } - if (!e_book_get_addressbooks(&addressbooks, &err)) - { + registry = e_source_registry_new_sync(NULL, &err); + + if (!registry) { purple_debug_error("evolution", "Unable to fetch list of address books.\n"); e_book_query_unref(full_query); @@ -219,30 +209,22 @@ gevo_search_buddy_in_contacts(PurpleBuddy *buddy, EBookQuery *query) return NULL; } - groups = e_source_list_peek_groups(addressbooks); - if (groups == NULL) - { - g_object_unref(addressbooks); - e_book_query_unref(full_query); - return NULL; - } - - for (g = groups; g != NULL; g = g->next) - { - GSList *sources, *s; - sources = e_source_group_peek_sources(g->data); - for (s = sources; s != NULL; s = s->next) - { - result = gevo_run_query_in_uri(e_source_get_uri(E_SOURCE(s->data)), full_query); - if (result != NULL) { - g_object_unref(addressbooks); - e_book_query_unref(full_query); - return result; - } + sources = e_source_registry_list_sources(registry, + E_SOURCE_EXTENSION_ADDRESS_BOOK); + + for (s = sources; s != NULL; s = s->next) { + result = gevo_run_query_in_source(E_SOURCE(s->data), + full_query); + if (result != NULL) { + g_object_unref(registry); + g_list_free_full(sources, g_object_unref); + e_book_query_unref(full_query); + return result; } } - g_object_unref(addressbooks); + g_object_unref(registry); + g_list_free_full(sources, g_object_unref); e_book_query_unref(full_query); return NULL; } diff --git a/pidgin/plugins/gevolution/gevo-util.c b/pidgin/plugins/gevolution/gevo-util.c index 5da1156400..d505a6c805 100644 --- a/pidgin/plugins/gevolution/gevo-util.c +++ b/pidgin/plugins/gevolution/gevo-util.c @@ -126,16 +126,39 @@ gevo_protocol_is_supported(PurpleAccount *account, PurpleBuddy *buddy) } gboolean -gevo_load_addressbook(const gchar* uri, EBook **book, GError **error) +gevo_load_addressbook(const gchar* uid, EBook **book, GError **error) { gboolean result = FALSE; + ESourceRegistry *registry; + ESource *source; g_return_val_if_fail(book != NULL, FALSE); - if (uri == NULL) - *book = e_book_new_system_addressbook(error); + registry = e_source_registry_new_sync(NULL, error); + + if (!registry) + return FALSE; + + if (uid == NULL) + source = e_source_registry_ref_default_address_book(registry); else - *book = e_book_new_from_uri(uri, error); + source = e_source_registry_ref_source(registry, uid); + + g_object_unref(registry); + + result = gevo_load_addressbook_from_source(source, book, error); + + g_object_unref(source); + + return result; +} + +gboolean +gevo_load_addressbook_from_source(ESource *source, EBook **book, GError **error) +{ + gboolean result = FALSE; + + *book = e_book_new(source, error); if (*book == NULL) return FALSE; diff --git a/pidgin/plugins/gevolution/gevolution.c b/pidgin/plugins/gevolution/gevolution.c index 45da9f6dd5..d8fadac08c 100644 --- a/pidgin/plugins/gevolution/gevolution.c +++ b/pidgin/plugins/gevolution/gevolution.c @@ -29,6 +29,7 @@ #include "util.h" #include "version.h" +#include "gtk3compat.h" #include "gtkblist.h" #include "gtkconv.h" #include "gtkplugin.h" @@ -370,7 +371,7 @@ get_config_frame(PurplePlugin *plugin) 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 */ diff --git a/pidgin/plugins/gevolution/gevolution.h b/pidgin/plugins/gevolution/gevolution.h index e3c7535a14..aea1f3d7b9 100644 --- a/pidgin/plugins/gevolution/gevolution.h +++ b/pidgin/plugins/gevolution/gevolution.h @@ -25,12 +25,12 @@ # include "config.h" #endif -#include <libebook/e-book.h> +#include <libebook/libebook.h> enum { ADDRBOOK_COLUMN_NAME, - ADDRBOOK_COLUMN_URI, + ADDRBOOK_COLUMN_UID, NUM_ADDRBOOK_COLUMNS }; @@ -122,7 +122,9 @@ GList *gevo_get_groups(void); EContactField gevo_protocol_get_field(PurpleAccount *account, PurpleBuddy *buddy); gboolean gevo_protocol_is_supported(PurpleAccount *account, PurpleBuddy *buddy); -gboolean gevo_load_addressbook(const gchar *uri, EBook **book, GError **error); +gboolean gevo_load_addressbook(const gchar *uid, EBook **book, GError **error); +gboolean gevo_load_addressbook_from_source(ESource *source, EBook **book, + GError **error); char *gevo_get_email_for_buddy(PurpleBuddy *buddy); GevoAssociateBuddyDialog *gevo_associate_buddy_dialog_new(PurpleBuddy *buddy); diff --git a/pidgin/plugins/gevolution/new_person_dialog.c b/pidgin/plugins/gevolution/new_person_dialog.c index 926ac03266..f600b678fa 100644 --- a/pidgin/plugins/gevolution/new_person_dialog.c +++ b/pidgin/plugins/gevolution/new_person_dialog.c @@ -20,6 +20,8 @@ */ #include "internal.h" #include "pidgin.h" + +#include "gtk3compat.h" #include "gtkutils.h" #include "debug.h" @@ -33,7 +35,7 @@ add_pref_box(GtkSizeGroup *sg, GtkWidget *parent, const char *text, 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 @@ gevo_new_person_dialog_show(EBook *book, EContact *contact, 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 @@ gevo_new_person_dialog_show(EBook *book, EContact *contact, 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 @@ gevo_new_person_dialog_show(EBook *book, EContact *contact, } /* 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 @@ gevo_new_person_dialog_show(EBook *book, EContact *contact, #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 @@ gevo_new_person_dialog_show(EBook *book, EContact *contact, } /* 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); diff --git a/pidgin/plugins/musicmessaging/musicmessaging.c b/pidgin/plugins/musicmessaging/musicmessaging.c index 5597170261..15f0d6b7da 100644 --- a/pidgin/plugins/musicmessaging/musicmessaging.c +++ b/pidgin/plugins/musicmessaging/musicmessaging.c @@ -24,6 +24,7 @@ #include "conversation.h" +#include "gtk3compat.h" #include "gtkconv.h" #include "gtkplugin.h" #include "gtkutils.h" @@ -555,7 +556,7 @@ static void add_button (MMConversation *mmconv) gtk_container_add((GtkContainer *)button, image); - sep = gtk_vseparator_new(); + sep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); mmconv->seperator = sep; mmconv->button = button; @@ -587,7 +588,7 @@ get_config_frame(PurplePlugin *plugin) 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 */ diff --git a/pidgin/plugins/notify.c b/pidgin/plugins/notify.c index 632b6197ae..4f50478d6a 100644 --- a/pidgin/plugins/notify.c +++ b/pidgin/plugins/notify.c @@ -93,6 +93,7 @@ #include "version.h" #include "debug.h" +#include "gtk3compat.h" #include "gtkplugin.h" #include "gtkutils.h" @@ -673,12 +674,12 @@ get_config_frame(PurplePlugin *plugin) 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 @@ get_config_frame(PurplePlugin *plugin) /*---------- "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 @@ get_config_frame(PurplePlugin *plugin) /*---------- "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 */ diff --git a/pidgin/plugins/perl/common/gtkmodule.h b/pidgin/plugins/perl/common/gtkmodule.h index 7e743be954..1533761a31 100644 --- a/pidgin/plugins/perl/common/gtkmodule.h +++ b/pidgin/plugins/perl/common/gtkmodule.h @@ -11,6 +11,10 @@ typedef struct group *Pidgin__Group; #ifdef _WIN32 #undef pipe #endif + +#define SILENT_NO_TAINT_SUPPORT 0 +#define NO_TAINT_SUPPORT 0 + #include <EXTERN.h> #include <perl.h> #include <XSUB.h> diff --git a/pidgin/plugins/raw.c b/pidgin/plugins/raw.c index f81a50f592..bf8824ab96 100644 --- a/pidgin/plugins/raw.c +++ b/pidgin/plugins/raw.c @@ -29,6 +29,7 @@ #include "protocol.h" #include "version.h" +#include "gtk3compat.h" #include "gtkplugin.h" #include "gtkutils.h" @@ -152,7 +153,7 @@ plugin_load(PurplePlugin *plugin, GError **error) 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. */ diff --git a/pidgin/plugins/spellchk.c b/pidgin/plugins/spellchk.c index e2e64fb672..3cd1551ed0 100644 --- a/pidgin/plugins/spellchk.c +++ b/pidgin/plugins/spellchk.c @@ -39,6 +39,7 @@ #include "util.h" #include "version.h" +#include "gtk3compat.h" #include "gtkplugin.h" #include "gtkprefs.h" #include "gtkutils.h" @@ -2128,7 +2129,7 @@ get_config_frame(PurplePlugin *plugin) 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")); @@ -2198,7 +2199,7 @@ get_config_frame(PurplePlugin *plugin) 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); @@ -2215,10 +2216,10 @@ get_config_frame(PurplePlugin *plugin) 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); @@ -2253,7 +2254,7 @@ get_config_frame(PurplePlugin *plugin) 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); diff --git a/pidgin/plugins/themeedit-icon.c b/pidgin/plugins/themeedit-icon.c index 9d54051614..0cb55b024f 100644 --- a/pidgin/plugins/themeedit-icon.c +++ b/pidgin/plugins/themeedit-icon.c @@ -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 @@ void pidgin_icon_theme_edit(PurplePluginAction *unused) 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 @@ void pidgin_icon_theme_edit(PurplePluginAction *unused) 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)); diff --git a/pidgin/plugins/themeedit.c b/pidgin/plugins/themeedit.c index cc38f41281..f928e9645b 100644 --- a/pidgin/plugins/themeedit.c +++ b/pidgin/plugins/themeedit.c @@ -168,7 +168,7 @@ pidgin_theme_create_color_selector(const char *text, const char *blurb, const ch 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 @@ pidgin_theme_create_font_selector(const char *text, const char *blurb, const cha 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); diff --git a/pidgin/plugins/ticker/ticker.c b/pidgin/plugins/ticker/ticker.c index 5b305b1b8d..89cd1b4d37 100644 --- a/pidgin/plugins/ticker/ticker.c +++ b/pidgin/plugins/ticker/ticker.c @@ -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 @@ static void buddy_ticker_add_buddy(PurpleBuddy *b) { 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); diff --git a/pidgin/plugins/win32/transparency/win2ktrans.c b/pidgin/plugins/win32/transparency/win2ktrans.c index 8f59599e40..53eb2f693b 100644 --- a/pidgin/plugins/win32/transparency/win2ktrans.c +++ b/pidgin/plugins/win32/transparency/win2ktrans.c @@ -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 @@ static GtkWidget *wintrans_slider(GtkWidget *win) { 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:")); @@ -533,7 +534,7 @@ static GtkWidget *get_config_frame(PurplePlugin *plugin) { 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); @@ -580,7 +581,7 @@ static GtkWidget *get_config_frame(PurplePlugin *plugin) { 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); diff --git a/pidgin/plugins/xmppconsole.c b/pidgin/plugins/xmppconsole.c index 40c588b1c1..ce052e28a8 100644 --- a/pidgin/plugins/xmppconsole.c +++ b/pidgin/plugins/xmppconsole.c @@ -317,7 +317,7 @@ static void iq_clicked_cb(GtkWidget *w, gpointer nul) 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:"); @@ -329,7 +329,7 @@ static void iq_clicked_cb(GtkWidget *w, gpointer nul) 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); @@ -403,7 +403,7 @@ static void presence_clicked_cb(GtkWidget *w, gpointer nul) 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:"); @@ -415,7 +415,7 @@ static void presence_clicked_cb(GtkWidget *w, gpointer nul) 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); @@ -433,7 +433,7 @@ static void presence_clicked_cb(GtkWidget *w, gpointer nul) 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); @@ -449,7 +449,7 @@ static void presence_clicked_cb(GtkWidget *w, gpointer nul) 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:"); @@ -461,7 +461,7 @@ static void presence_clicked_cb(GtkWidget *w, gpointer nul) 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:"); @@ -559,7 +559,7 @@ static void message_clicked_cb(GtkWidget *w, gpointer nul) 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:"); @@ -571,7 +571,7 @@ static void message_clicked_cb(GtkWidget *w, gpointer nul) 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); @@ -586,7 +586,7 @@ static void message_clicked_cb(GtkWidget *w, gpointer nul) 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:"); @@ -598,7 +598,7 @@ static void message_clicked_cb(GtkWidget *w, gpointer nul) 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:"); @@ -610,7 +610,7 @@ static void message_clicked_cb(GtkWidget *w, gpointer nul) 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:"); @@ -751,7 +751,7 @@ dropdown_changed_cb(GtkComboBox *widget, gpointer nul) 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; @@ -769,7 +769,7 @@ create_console(PurplePluginAction *action) 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); diff --git a/po/POTFILES.in b/po/POTFILES.in index e2535b86f5..ad340f5d74 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -18,6 +18,7 @@ finch/gntsound.c 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/gtkdebug.c 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/gtkwebview.c pidgin/gtkwebviewtoolbar.c pidgin/gtkwhiteboard.c pidgin/gtkxfer.c +pidgin/libpidgin.c pidgin/pidgin.h pidgin/pidginstock.c pidgin/pidgintooltip.c |