PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED gnome-vfs-2.0)
PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED)
PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libglade-2.0 gnome-vfs-2.0)
-PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED)
+PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0)
BACKEND_LIBTOOL_FLAGS="-module -avoid-version"
AC_SUBST(BACKEND_LIBTOOL_FLAGS)
+AC_ARG_WITH(keyring,
+ AC_HELP_STRING([--without-keyring],[disable the use of gnome-keyring]),
+ [case "${withval}" in
+ yes) WITH_KEYRING=yes ;;
+ no) WITH_KEYRING=no ;;
+ *) AC_MSG_ERROR(bad value ${withval} for --with-keyring) ;;
+ esac],
+ [WITH_KEYRING=yes]) dnl Default value
+AM_CONDITIONAL(WITH_KEYRING, test x$WITH_KEYRING = "xyes")
+
+if test x$WITH_KEYRING = "xyes"; then
+ PKG_CHECK_MODULES(KEYRING, gnome-keyring-1 >= $KEYRING_REQUIRED)
+ AC_DEFINE([WITH_KEYRING],[1],[Define if KEYRING support is enabled])
+fi
+
AC_ARG_WITH(libgnome,
AC_HELP_STRING([--without-libgnome],[disable the use of libgnome]),
[case "${withval}" in
AC_SUBST(BACKEND_CFLAGS)
AC_SUBST(BACKEND_LIBS)
-SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS $GNOMEUI_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
-SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS $GNOMEUI_LIBS -lz"
+SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS $GNOMEUI_CFLAGS $KEYRING_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
+SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS $GNOMEUI_LIBS $KEYRING_LIBS -lz"
AC_SUBST(SHELL_CFLAGS)
AC_SUBST(SHELL_LIBS)
Configure summary:
GNOME Support......: $WITH_GNOME
Print Support......: $enable_print
+ Keyring Support....: $WITH_KEYRING
DBUS Support.......: $enable_dbus
Nautilus Plugin....: $HAVE_NAUTILUS
Thumbnailer........: $ENABLE_THUMBNAILER
#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include <glade/glade.h>
-#include <gnome-keyring.h>
#include <libgnomevfs/gnome-vfs-utils.h>
+#ifdef WITH_KEYRING
+#include <gnome-keyring.h>
+#else
+#define gnome_keyring_is_available() FALSE
+#endif
+
#include "ev-password.h"
enum {
g_signal_connect (dialog->priv->entry, "activate", G_CALLBACK (ev_password_dialog_entry_activated_cb), dialog);
ev_password_set_bad_password_label (dialog, " ");
-
+
if (!gnome_keyring_is_available ()) {
gtk_widget_hide (dialog->priv->check_default);
gtk_widget_hide (dialog->priv->check_session);
gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
}
+#ifdef WITH_KEYRING
static void
ev_password_item_created_callback (GnomeKeyringResult result,
guint32 val,
{
/* Nothing yet */
return;
-}
+}
+#endif
void
ev_password_dialog_save_password (EvPasswordDialog *dialog)
{
+#ifdef WITH_KEYRING
GnomeKeyringAttributeList *attributes;
GnomeKeyringAttribute attribute;
gchar *name;
gnome_keyring_attribute_list_free (attributes);
g_free (name);
g_free (unescaped_uri);
-
+
+#endif /* WITH_KEYRING */
return;
}
+#ifdef WITH_KEYRING
static void
ev_password_keyring_found_cb (GnomeKeyringResult result,
GList *list,
found = list->data;
gtk_entry_set_text (GTK_ENTRY (dialog->priv->entry), found->secret);
}
+#endif /* WITH_KEYRING */
static void
ev_password_search_in_keyring (EvPasswordDialog *dialog, const gchar *uri)
{
+#ifdef WITH_KEYRING
GnomeKeyringAttributeList *attributes;
GnomeKeyringAttribute attribute;
g_object_ref (dialog),
g_object_unref);
gnome_keyring_attribute_list_free (attributes);
+#endif /* WITH_KEYRING */
return;
}