summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--configure.ac8
-rw-r--r--libpurple/plugins/perl/common/module.h8
-rw-r--r--libpurple/plugins/perl/perl-common.h4
-rw-r--r--libpurple/plugins/perl/perl.c3
-rw-r--r--libpurple/plugins/tcl/tcl_glib.c12
-rw-r--r--libpurple/protocols/novell/nmrtf.c21
-rw-r--r--pidgin/gtk3compat.h61
-rw-r--r--pidgin/gtkaccount.c22
-rw-r--r--pidgin/gtkblist.c20
-rw-r--r--pidgin/gtkcertmgr.c8
-rw-r--r--pidgin/gtkconv.c73
-rw-r--r--pidgin/gtkdebug.c2
-rw-r--r--pidgin/gtkdialogs.c2
-rw-r--r--pidgin/gtklog.c8
-rw-r--r--pidgin/gtkmedia.c14
-rw-r--r--pidgin/gtkmenutray.c7
-rw-r--r--pidgin/gtknotify.c3
-rw-r--r--pidgin/gtkplugin.c2
-rw-r--r--pidgin/gtkpluginpref.c8
-rw-r--r--pidgin/gtkpounce.c7
-rw-r--r--pidgin/gtkprefs.c68
-rw-r--r--pidgin/gtkrequest.c38
-rw-r--r--pidgin/gtkroomlist.c3
-rw-r--r--pidgin/gtksavedstatuses.c6
-rw-r--r--pidgin/gtkscrollbook.c3
-rw-r--r--pidgin/gtkstatusbox.c10
-rw-r--r--pidgin/gtkutils.c30
-rw-r--r--pidgin/gtkwebviewtoolbar.c8
-rw-r--r--pidgin/gtkwhiteboard.c12
-rw-r--r--pidgin/minidialog.c8
-rw-r--r--pidgin/pidgintooltip.c13
-rw-r--r--pidgin/plugins/contact_priority.c13
-rw-r--r--pidgin/plugins/disco/gtkdisco.c3
-rw-r--r--pidgin/plugins/gestures/gestures.c3
-rw-r--r--pidgin/plugins/gevolution/add_buddy_dialog.c22
-rw-r--r--pidgin/plugins/gevolution/assoc-buddy.c22
-rw-r--r--pidgin/plugins/gevolution/eds-utils.c104
-rw-r--r--pidgin/plugins/gevolution/gevo-util.c31
-rw-r--r--pidgin/plugins/gevolution/gevolution.c3
-rw-r--r--pidgin/plugins/gevolution/gevolution.h8
-rw-r--r--pidgin/plugins/gevolution/new_person_dialog.c16
-rw-r--r--pidgin/plugins/musicmessaging/musicmessaging.c5
-rw-r--r--pidgin/plugins/notify.c11
-rw-r--r--pidgin/plugins/perl/common/gtkmodule.h4
-rw-r--r--pidgin/plugins/raw.c3
-rw-r--r--pidgin/plugins/spellchk.c11
-rw-r--r--pidgin/plugins/themeedit-icon.c5
-rw-r--r--pidgin/plugins/themeedit.c4
-rw-r--r--pidgin/plugins/ticker/ticker.c3
-rw-r--r--pidgin/plugins/win32/transparency/win2ktrans.c7
-rw-r--r--pidgin/plugins/xmppconsole.c28
-rw-r--r--po/POTFILES.in3
53 files changed, 476 insertions, 329 deletions
diff --git a/ChangeLog b/ChangeLog
index d5c56c9212..3ba086605b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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