/soc/2013/ankitkv/gobjectification: 25d39bb4d758: Merged default...

Ankit Vani a at nevitus.org
Mon Apr 28 17:57:34 EDT 2014


Changeset: 25d39bb4d758893d57ccba43fca31ee9b96f83b3
Author:	 Ankit Vani <a at nevitus.org>
Date:	 2014-04-29 03:19 +0530
Branch:	 soc.2013.gobjectification.plugins
URL: https://hg.pidgin.im/soc/2013/ankitkv/gobjectification/rev/25d39bb4d758

Description:

Merged default branch

diffstat:

 INSTALL                                      |      2 -
 Makefile.mingw                               |      2 +-
 README                                       |      3 +-
 config.h.mingw                               |      3 -
 configure.ac                                 |     80 +-
 doc/reference/pidgin/Makefile.am             |      2 -
 finch/gntblist.c                             |      8 +-
 finch/gntconv.c                              |     77 +-
 finch/gntconv.h                              |     14 +-
 finch/gntmenuutil.c                          |     13 +-
 finch/gntpounce.c                            |      8 +-
 finch/gntrequest.c                           |     44 +
 finch/libgnt/gnt.h                           |      2 +
 finch/libgnt/gntbox.c                        |      6 +
 finch/libgnt/gntbox.h                        |     11 +
 finch/libgnt/gntcolors.c                     |     17 +-
 finch/libgnt/gntmain.c                       |      2 +
 finch/libgnt/gntmenu.c                       |     39 +-
 finch/libgnt/gntmenuitem.c                   |     38 +
 finch/libgnt/gntmenuitem.h                   |     40 +
 finch/plugins/gnttinyurl.c                   |     79 +-
 libpurple/certificate.c                      |      7 +-
 libpurple/ciphers/aescipher.c                |      2 +-
 libpurple/ciphers/pbkdf2cipher.c             |      6 +-
 libpurple/conversation.c                     |      3 +
 libpurple/e2ee.c                             |     32 +
 libpurple/e2ee.h                             |     14 +
 libpurple/plugins/Makefile.am                |      6 +-
 libpurple/plugins/keyrings/gnomekeyring.c    |      2 +-
 libpurple/plugins/keyrings/internalkeyring.c |      2 +-
 libpurple/plugins/keyrings/wincred.c         |      2 +-
 libpurple/win32/global.mak                   |      1 -
 libpurple/win32/win32dep.c                   |     21 +-
 libpurple/win32/win32dep.h                   |      3 +
 pidgin.apspec.in                             |      1 -
 pidgin/Makefile.am                           |     22 +-
 pidgin/Makefile.mingw                        |      4 +-
 pidgin/gtkblist.c                            |      2 +-
 pidgin/gtkconv.c                             |     10 +-
 pidgin/gtkdialogs.c                          |     15 +-
 pidgin/gtkrequest.c                          |      6 -
 pidgin/gtkutils.c                            |     26 -
 pidgin/gtkutils.h                            |     11 -
 pidgin/gtkwebview.c                          |    189 +-
 pidgin/pidgin.c                              |      4 +
 pidgin/win32/gtkwin32dep.c                   |      6 -
 pidgin/win32/nsis/generate_gtk_zip.sh        |     69 +-
 pidgin/win32/nsis/pidgin-installer.nsi       |      1 -
 pidgin/win32/prepare-workspace.sh            |      3 -
 pidgin/win32/wspell.c                        |    107 -
 pidgin/win32/wspell.h                        |     57 -
 po/pl.po                                     |  20730 ++++++++++++++----------
 52 files changed, 12926 insertions(+), 8928 deletions(-)

diffs (truncated from 29496 to 300 lines):

diff --git a/INSTALL b/INSTALL
--- a/INSTALL
+++ b/INSTALL
@@ -138,8 +138,6 @@ when it should mark accounts idle based 
 Doing so will remove the ability to have pidgin start up with your window
 manager.
 
-	`--disable-gtkspell' will remove the ability to highlight misspelled words.
-
 	`--disable-gevolution' will cause the evolution integration plugin not to
 compile.
 
diff --git a/Makefile.mingw b/Makefile.mingw
--- a/Makefile.mingw
+++ b/Makefile.mingw
@@ -31,7 +31,7 @@ awk 'BEGIN {FS="."} { \
     exit; \
 }' VERSION)
 
-GTK_INSTALL_VERSION = 2.24.14.0
+GTK_INSTALL_VERSION = 2.24.18.0
 
 authenticode_sign = $(MONO_SIGNCODE) \
 		    -spc "$(SIGNCODE_SPC)" -v "$(SIGNCODE_PVK)" \
diff --git a/README b/README
--- a/README
+++ b/README
@@ -29,8 +29,7 @@ well as the development files!). The con
 don't.  If you don't have GTK+ 2.0 installed, you should install it
 using your distribution's package management tools.
 
-For sound support, you also need gstreamer 0.10 or higher. For
-spellchecking support, you need libgtkspell (http://gtkspell.sf.net/).
+For sound support, you also need gstreamer 0.10 or higher.
 Your distro of choice probably already includes these, just be sure to
 install the development packages.
 
diff --git a/config.h.mingw b/config.h.mingw
--- a/config.h.mingw
+++ b/config.h.mingw
@@ -363,9 +363,6 @@
 /* It's defined in global.mak. */
 /* #undef USE_VV */
 
-/* Define if we're using GtkSpell */
-#define USE_GTKSPELL 1
-
 /* Define if we're using XScreenSaver. */
 #define USE_SCREENSAVER 1
 
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -539,10 +539,10 @@ AC_ARG_ENABLE(startup-notification,
 	[AS_HELP_STRING([--disable-startup-notification],
 		[compile without startup notification support])],
 	enable_startup_notification="$enableval", enable_startup_notification="yes")
-AC_ARG_ENABLE(gtkspell,
-	[AS_HELP_STRING([--disable-gtkspell],
-		[compile without GtkSpell automatic spell checking])],
-	enable_gtkspell="$enableval", enable_gtkspell="yes")
+AC_ARG_ENABLE(enchant,
+	[AS_HELP_STRING([--disable-enchant],
+		[compile without Enchant spell checking support])],
+	enable_enchant="$enableval", enable_enchant="yes")
 AC_ARG_ENABLE(gevolution,
 	[AS_HELP_STRING([--enable-gevolution],
 		[compile with the Evolution plugin])],
@@ -602,9 +602,9 @@ running configure.
 			PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.18.0 $gst010_pkg], [with_gtk=2], [
 				AC_MSG_RESULT(no)
 				AC_MSG_ERROR([
-You must have GTK+ 2.18.0 or newer development headers installed to compile
+You must have GTK+ 2.18.0 or newer and GStreamer development headers installed to compile
 Pidgin.  If you want to build only Finch then specify --disable-gtkui when
-running configure.
+running configure.  Use --disable-gstreamer if you do not need GStreamer (sound) support.
 ])])])
 	else
 		AC_MSG_ERROR([--with-gtk must specify one of 2, 3 or auto.])
@@ -646,6 +646,31 @@ installed to compile Pidgin.  If you wan
 	AC_SUBST(WEBKIT_PC_MODULE)
 
 	dnl #######################################################################
+	dnl # Check if we should compile with enchant support
+	dnl #######################################################################
+	dnl We need enchant for spell checking dictionary enumeration,
+	dnl because webkit1 doesn't have this.
+	use_enchant=no
+	if test "x$enable_enchant" = "xyes" ; then
+		use_enchant=yes
+		PKG_CHECK_MODULES(ENCHANT, enchant, , [
+			AC_MSG_RESULT(no)
+			use_enchant=no
+		])
+		if test "x$force_deps" = "xyes" -a "x$use_enchant" = "xno"; then
+			AC_MSG_ERROR([
+Enchant development headers not found.
+Use --disable-enchant if you do not need it.
+])
+		fi
+		if test "x$use_enchant" = "xyes" ; then
+			AC_DEFINE(USE_ENCHANT, 1, [Define if we're using enchant])
+			AC_SUBST(ENCHANT_CFLAGS)
+			AC_SUBST(ENCHANT_LIBS)
+		fi
+	fi
+
+	dnl #######################################################################
 	dnl # Check if we should compile with X support
 	dnl #######################################################################
 	if test "x$with_x" = "xyes" ; then
@@ -703,7 +728,7 @@ Use --without-x if you do not need X11 s
 			else
 				if test "x$force_deps" = "xyes" ; then
 					AC_MSG_ERROR([
-XScreenSaver extension development headers (libXScrnSaver-devel) not found.
+XScreenSaver extension development headers (libXScrnSaver-devel or libxss-dev) not found.
 Use --disable-screensaver if you do not need XScreenSaver extension support,
 this is required for detecting idle time by mouse and keyboard usage.
 ])
@@ -754,30 +779,6 @@ Use --disable-sm if you do not need sess
 	fi
 
 	dnl #######################################################################
-	dnl # Check for GtkSpell
-	dnl #######################################################################
-	dnl GtkSpell is not GTK+3 compatible yet
-	if test "x$with_gtk" = "x3"; then
-		enable_gtkspell="no"
-	fi
-	if test "x$enable_gtkspell" = "xyes" ; then
-		PKG_CHECK_MODULES(GTKSPELL, gtkspell-2.0 >= 2.0.2, , [
-			AC_MSG_RESULT(no)
-			enable_gtkspell="no"
-			if test "x$force_deps" = "xyes" ; then
-				AC_MSG_ERROR([
-GtkSpell development headers not found.
-Use --disable-gtkspell if you do not need it.
-])
-			fi])
-		if test "x$enable_gtkspell" = "xyes" ; then
-			AC_DEFINE(USE_GTKSPELL, 1, [Define if we're using GtkSpell])
-			AC_SUBST(GTKSPELL_CFLAGS)
-			AC_SUBST(GTKSPELL_LIBS)
-		fi
-	fi
-
-	dnl #######################################################################
 	dnl # Check for stuff needed by the Evolution integration plugin.
 	dnl #######################################################################
 	if test "x$enable_gevolution" = "xyes"; then
@@ -848,7 +849,6 @@ else # GTK
 	enable_gcr=no
 	enable_cap=no
 	enable_gevolution=no
-	enable_gtkspell=no
 	enable_screensaver=no
 	enable_sm=no
 	enable_startup_notification=no
@@ -1858,7 +1858,7 @@ fi
 
 AC_LANG_PUSH([C++])
 CPPFLAGS_save="$CPPFLAGS"
-LDFLAGS_save="$LDFLAGS"
+LIBS_save="$LIBS"
 
 if test "x$enable_kwallet" = "xyes"; then
 	PKG_CHECK_MODULES(QT4, [QtCore], [
@@ -1927,7 +1927,7 @@ if test "x$enable_kwallet" = "xyes"; the
 		KWALLET_LIBS="-lkdeui"
 	fi
 	KWALLET_LIBS="$KWALLET_LIBS"
-	LDFLAGS="$LDFLAGS $KWALLET_LIBS $QT4_LIBS"
+	LIBS="$LIBS $KWALLET_LIBS $QT4_LIBS"
 	AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <kwallet.h>],
 		[KWallet::Wallet::LocalWallet();])], [AC_MSG_RESULT([yes])],
 		[
@@ -1943,7 +1943,7 @@ Use --disable-kwallet if you do not need
 fi
 
 CPPFLAGS="$CPPFLAGS_save"
-LDFLAGS="$LDFLAGS_save"
+LIBS="$LIBS_save"
 AC_LANG_POP
 
 AC_SUBST(KWALLET_CXXFLAGS)
@@ -2112,7 +2112,13 @@ if ! test -z "$ssl_certificates_dir" ; t
 		AC_MSG_ERROR([--with-system-ssl-certs requires that a location is specified, eg. --with-system-ssl-certs=/etc/pki/tls/certs])
 	fi
 	if ! test -d "$ssl_certificates_dir" ; then
-		AC_MSG_ERROR([$ssl_certificates_dir does not exist, if this is the correct location please make sure that it exists.])
+		if test "x$is_win32" = "xyes" ; then
+			AC_MSG_WARN([$ssl_certificates_dir does not exist. \
+It may be OK when cross-compiling, but please make sure about it.])
+		else
+			AC_MSG_ERROR([$ssl_certificates_dir does not exist, \
+if this is the correct location please make sure that it exists.])
+		fi
 	fi
 	SSL_CERTIFICATES_DIR="$ssl_certificates_dir"
 fi
@@ -2887,7 +2893,7 @@ echo
 echo Use XScreenSaver Extension.... : $enable_screensaver
 echo Use X Session Management...... : $enable_sm
 echo Use startup notification...... : $enable_startup_notification
-echo Build with GtkSpell support... : $enable_gtkspell
+echo Build with Enchant support.... : $use_enchant
 echo Build with GCR widgets........ : $enable_gcr
 echo Build Unity integration plugin.: $enable_unity
 echo
diff --git a/doc/reference/pidgin/Makefile.am b/doc/reference/pidgin/Makefile.am
--- a/doc/reference/pidgin/Makefile.am
+++ b/doc/reference/pidgin/Makefile.am
@@ -105,7 +105,6 @@ GTKDOC_CFLAGS = \
 	$(GTK_CFLAGS) \
 	$(X11_CFLAGS) \
 	$(DBUS_CFLAGS) \
-	$(GTKSPELL_CFLAGS) \
 	$(LIBXML_CFLAGS) \
 	$(WEBKIT_CFLAGS) \
 	$(INTROSPECTION_CFLAGS)
@@ -122,7 +121,6 @@ GTKDOC_LIBS = \
 	$(XSS_LIBS) \
 	$(SM_LIBS) \
 	$(INTLLIBS) \
-	$(GTKSPELL_LIBS) \
 	$(LIBXML_LIBS) \
 	$(WEBKIT_LIBS) \
 	$(GTK_LIBS) \
diff --git a/finch/gntblist.c b/finch/gntblist.c
--- a/finch/gntblist.c
+++ b/finch/gntblist.c
@@ -2369,12 +2369,12 @@ blist_node_compare_status(PurpleBlistNod
 	if (G_OBJECT_TYPE(n1) != G_OBJECT_TYPE(n2))
 		return blist_node_compare_position(n1, n2);
 
-	if (PURPLE_IS_CONTACT(n1) || PURPLE_IS_BUDDY(n1)) {
+	if (PURPLE_IS_CONTACT(n1))
 		n1 = PURPLE_BLIST_NODE(purple_contact_get_priority_buddy(PURPLE_CONTACT(n1)));
+	if (PURPLE_IS_CONTACT(n2))
 		n2 = PURPLE_BLIST_NODE(purple_contact_get_priority_buddy(PURPLE_CONTACT(n2)));
-	}
-
-	if (PURPLE_IS_BUDDY(n1)) {
+
+	if (PURPLE_IS_BUDDY(n1) && PURPLE_IS_BUDDY(n2)) {
 		ret = purple_buddy_presence_compare(
 			PURPLE_BUDDY_PRESENCE(purple_buddy_get_presence(PURPLE_BUDDY(n1))),
 			PURPLE_BUDDY_PRESENCE(purple_buddy_get_presence(PURPLE_BUDDY(n2))));
diff --git a/finch/gntconv.c b/finch/gntconv.c
--- a/finch/gntconv.c
+++ b/finch/gntconv.c
@@ -63,6 +63,7 @@
 static void finch_write_common(PurpleConversation *conv, const char *who,
 		const char *message, PurpleMessageFlags flags, time_t mtime);
 static void generate_send_to_menu(FinchConv *ggc);
+static void generate_e2ee_menu(FinchConv *ggc);
 
 static int color_message_receive;
 static int color_message_send;
@@ -245,8 +246,18 @@ find_im_with_contact(PurpleAccount *acco
 static char *
 get_conversation_title(PurpleConversation *conv, PurpleAccount *account)
 {
-	return g_strdup_printf(_("%s (%s -- %s)"), purple_conversation_get_title(conv),
-		purple_account_get_username(account), purple_account_get_protocol_name(account));
+	PurpleE2eeState *e2ee;
+
+	e2ee = purple_conversation_get_e2ee_state(conv);
+
+	return g_strdup_printf(_("%s (%s -- %s)%s%s%s%s"),
+		purple_conversation_get_title(conv),
+		purple_account_get_username(account),
+		purple_account_get_protocol_name(account),
+		e2ee ? " | " : "",
+		e2ee ? purple_e2ee_provider_get_name(purple_e2ee_state_get_provider(e2ee)) : "",
+		e2ee ? ": " : "",
+		e2ee ? purple_e2ee_state_get_name(e2ee) : "");
 }
 
 static void
@@ -389,6 +400,7 @@ gg_extended_menu(FinchConv *ggc)
 {
 	GntMenu *sub;
 	GList *list;
+	gboolean is_empty = TRUE;
 
 	g_return_if_fail(ggc != NULL);
 
@@ -399,7 +411,9 @@ gg_extended_menu(FinchConv *ggc)
 			list; list = g_list_delete_link(list, list))
 	{
 		finch_append_menu_action(sub, list->data, ggc->active_conv);
+		is_empty = FALSE;
 	}
+	gnt_menuitem_set_visible(ggc->plugins, !is_empty);
 }
 
 static void



More information about the Commits mailing list