CFLAGS="$modest_save_cflags"
LIBS="$modest_save_libs"
-
-dnl dnl now, determine what to build
-dnl AC_MSG_NOTICE([Determining what platform to build])
+dnl --------------- PLATFORM -----------
PKG_CHECK_MODULES(MODEST_MAEMO_LIBS,conic,[detected_platform=maemo],[detected_platform=gnome])
AC_ARG_WITH(platform, [
fi
AC_SUBST(MODEST_PLUGIN_DEFINES)
-#
-# check the widgets library
-#
+dnl ---------- PLATFORM: *DBUS API* -----------
+if test "x$with_platform" == "xgnome"; then
+ PKG_CHECK_MODULES(MODEST_PLATFORM,libtinymail-gnome-desktop-1.0 glib-2.0 >= 2.8 libnotify)
+ AC_DEFINE_UNQUOTED(MODEST_PLATFORM_GNOME, 1, ["Whether modest is being built for the GNOME platform."])
+else
+ have_dbusapi=true
+ PKG_CHECK_MODULES(MODEST_PLATFORM,libosso dbus-1 libtinymail-maemo-1.0 libebook-1.2 )
+ AC_DEFINE_UNQUOTED(MODEST_PLATFORM_MAEMO, 1, ["Whether modest is being built for the MAEMO platform."])
+fi
+AM_CONDITIONAL(MODEST_HAVE_DBUS_API,test "x$have_dbusapi" == "xtrue")
+AC_SUBST(MODEST_PLATFORM)
+
+
+dnl --------------- TOOLKIT SELECTION -----------
+AC_ARG_WITH(toolkit, [
+Target toolkit:
+ --with-toolkit=detect detect target toolkit (default)
+ --with-toolkit=gtk build for Gnome
+ --with-toolkit=hildon2 build for Hildon 2.x
+],
+[case "${with_toolkit}" in
+ gtk|hildon2|detect) MODEST_TOOLKIT=${with_toolkit};;
+ *) AC_MSG_ERROR([Unknown toolkit selected]);;
+esac], [MODEST_TOOLKIT=detect])
+
have_hildon2=false
-have_hildon1=false
-have_hildon0=false
have_gtk=false
-PKG_CHECK_EXISTS(hildon-1, have_hildon1=true,have_hildon1=false)
-if test "$have_hildon1" = "true"; then
- PKG_CHECK_EXISTS(hildon-1 >= 2.1.0 hildon-fm-2, have_hildon2=true, have_hildon2=false)
- PKG_CHECK_MODULES(MODEST_HILDON_WIDGETS,hildon-1 hildon-fm-2)
- hildonpkgs="hildon-1 hildon-fm-2"
- detected_toolkit=hildon1
- echo "DETECTED HILDON 1 $have_hildon2."
-else
- hildonpkgs="hildon-libs hildon-fm"
- detected_toolkit=hildon1
- PKG_CHECK_EXISTS(hildon-libs >= 0.12.0, have_hildon1=true, have_hildon1=false)
- if test "$have_hildon1" = "false"; then
- PKG_CHECK_EXISTS(hildon-libs, have_hildon0=true, have_hildon0=false)
- if test "$have_hildon0" = "false"; then
- have_gtk=true
- detected_toolkit=gtk
- hildonpkgs=
- fi
+
+if test "$MODEST_TOOLKIT" = "detect"; then
+ PKG_CHECK_EXISTS(hildon-1 >= 2.1.0 hildon-fm-2, have_hildon2=true, have_gtk=true)
+ if test "x$have_hildon2" = "xtrue"; then
+ PKG_CHECK_MODULES(MODEST_HILDON_WIDGETS,hildon-1 hildon-fm-2)
+ hildonpkgs="hildon-1 hildon-fm-2"
+ detected_toolkit=hildon2
+ hildon_api=`$PKG_CONFIG --modversion hildon-1 | cut -d. -f1`
+ echo "DETECTED HILDON 2 $have_hildon2."
fi
- if test "$have_gtk" = "false"; then
- PKG_CHECK_MODULES(MODEST_HILDON_WIDGETS,hildon-libs hildon-fm)
+ MODEST_TOOLKIT="$detected_toolkit"
+ with_toolkit=$detected_toolkit
+fi
+
+dnl -------- TOOLKIT SELECTION: *HILDON API* -----------
+if test "$with_toolkit" = "hildon2"; then
+ AC_DEFINE_UNQUOTED(MODEST_HILDON_API, $hildon_api, ["the API version of hildon"])
+ MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_HILDON_API=$hildon_api"
+ MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_HILDON2"
+elif test "$with_toolkit" = "gtk"; then
+ MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_GTK"
+fi
+
+dnl -------- TOOLKIT SELECTION: *TOOLKIT DIR* -----------
+if test "x$with_toolkit" == "xgtk"; then
+ PKG_CHECK_MODULES(MODEST_TOOLKIT,glib-2.0 >= 2.8 gtk+-2.0 >= 2.10 libnotify gtksourceview-2.0)
+ AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_GTK, 1, ["Whether modest is being build for the gtk toolkit."])
+ MODEST_TOOLKIT_DIR=gnome
+else
+ if test "$with_toolkit" = "hildon2"; then
+ AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_HILDON2, 1, ["Whether modest is being build for the hildon2 toolkit."])
+ MODEST_TOOLKIT_DIR=hildon2
fi
fi
+AC_SUBST(MODEST_TOOLKIT)
+AC_SUBST(MODEST_TOOLKIT_DIR)
+
dnl --------------- HILDON & PLUGIN PKGS -----------
pluginpkgs=$hildonpkgs
-echo "Plugin Packages $pluginpkgs"
+dnl echo "Plugin Packages $pluginpkgs"
AC_SUBST(pluginpkgs)
use_profile_data=false
# Plugin packages must not include libcanberra and libprofile
-if test "$have_hildon2" = "true"; then
- echo "DETECTED HILDON 2 $have_hildon2."
- detected_toolkit=hildon2
+if test "$with_platform" = "maemo"; then
hildonpkgs="$hildonpkgs libcanberra"
AC_CHECK_HEADER([profiled/keys_nokia.h], use_profile_data=true, use_profile_data=false)
if test "$use_profile_data" = "true"; then
hildonpkgs="$hildonpkgs profile"
AC_DEFINE_UNQUOTED(MODEST_USE_PROFILE, 1, ["Use the Profile data include"])
+dnl echo "HILDON 2 PACKAGES $hildonpkgs"
fi
- echo "HILDON 2 PACKAGES $hildonpkgs"
fi
AC_SUBST(hildonpkgs)
+PKG_CHECK_MODULES(MODEST_TOOLKIT,$hildonpkgs)
-dnl --------------- HILDON API ------------
-hildon_api=
-if test "$have_hildon0" = "true"; then
- hildon_api=0
-elif test "$have_hildon1" = "true"; then
- hildon_api=1
-elif test "$have_gtk" = "false"; then
- hildon_api=`$PKG_CONFIG --modversion hildon-1 | cut -d. -f1`
-fi
-
-AC_DEFINE_UNQUOTED(MODEST_HILDON_API, $hildon_api, ["the API version of hildon"])
-MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_HILDON_API=$hildon_api"
-
-AC_ARG_WITH(toolkit, [
-Target toolkit:
- --with-toolkit=detect detect target toolkit (default)
- --with-toolkit=gtk build for Gnome
- --with-toolkit=hildon1 build for Hildon 1.x
- --with-toolkit=hildon2 build for Hildon 2.x
-],
-[case "${with_toolkit}" in
- gtk|hildon1|hildon2|detect) MODEST_TOOLKIT=${with_toolkit};;
- *) AC_MSG_ERROR([Unknown platform selected]);;
-esac], [MODEST_TOOLKIT=detect])
-
-if test "$MODEST_TOOLKIT" = "detect"; then
- MODEST_TOOLKIT="$detected_toolkit"
- with_toolkit=$detected_toolkit
-fi
-
-if test "$with_toolkit" = "hildon1"; then
- MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_HILDON1"
-elif test "$with_toolkit" = "hildon2"; then
- MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_HILDON2"
-elif test "$with_toolkit" = "gtk"; then
- MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_GNOME"
-fi
-
-dnl Whether to use maemo-launcher or not
+dnl -------------------- MAEMO LAUNCHER STUFF ------------
AC_ARG_ENABLE([maemo-launcher],
[AS_HELP_STRING([--enable-maemo-launcher],
[build with maemo-launcher support])],
fi
AC_SUBST(MAEMO_LAUNCHER_MODEST_LDFLAGS)
-have_easysetup=false
-if test "x$with_toolkit" == "xgtk"; then
- PKG_CHECK_MODULES(MODEST_TOOLKIT,glib-2.0 >= 2.8 gtk+-2.0 >= 2.10 libnotify gtksourceview-2.0)
- AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_GTK, 1, ["Whether modest is being build for the gtk toolkit."])
- MODEST_TOOLKIT_DIR=gnome
-else
- have_easysetup=true
- PKG_CHECK_MODULES(MODEST_TOOLKIT,$hildonpkgs)
- if test "$with_toolkit" = "hildon2"; then
- AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_HILDON2, 1, ["Whether modest is being build for the hildon2 toolkit."])
- MODEST_TOOLKIT_DIR=hildon2
- else
- AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_HILDON1, 1, ["Whether modest is being build for the hildon2 toolkit."])
- MODEST_TOOLKIT_DIR=maemo
- fi
- AC_DEFINE_UNQUOTED(MODEST_HAVE_EASYSETUP, 1, ["Whether we have the easysetup feature"])
-fi
-AM_CONDITIONAL(MODEST_HAVE_EASYSETUP,test "x$have_easysetup" == "xtrue")
-AM_CONDITIONAL(MODEST_IS_TOOLKIT_HILDON1, [test "x$with_toolkit" == "xhildon1"])
-AC_SUBST(MODEST_TOOLKIT)
-AC_SUBST(MODEST_TOOLKIT_DIR)
-
-if test "x$with_platform" == "xgnome"; then
- PKG_CHECK_MODULES(MODEST_PLATFORM,libtinymail-gnome-desktop-1.0 glib-2.0 >= 2.8 libnotify)
- AC_DEFINE_UNQUOTED(MODEST_PLATFORM_GNOME, 1, ["Whether modest is being built for the GNOME platform."])
-dnl AC_MSG_ERROR([The GNOME Build is currently broken; please try the Maemo build instead])
-else
- have_dbusapi=true
- PKG_CHECK_MODULES(MODEST_PLATFORM,libosso dbus-1 libtinymail-maemo-1.0 libebook-1.2 )
- AC_DEFINE_UNQUOTED(MODEST_PLATFORM_MAEMO, 1, ["Whether modest is being built for the MAEMO platform."])
-fi
-AM_CONDITIONAL(MODEST_HAVE_DBUS_API,test "x$have_dbusapi" == "xtrue")
-AC_SUBST(MODEST_PLATFORM)
-
-
-
-#
-# check for wpeditor or libwpeditor-plus (on maemo)
-#
-if test "x$with_toolkit" != "xgtk"; then
-PKG_CHECK_MODULES(MODEST_WPEDITOR,wpeditor,have_wpeditor=true,have_wpeditor=false)
-if test "x$have_wpeditor" == "xfalse"; then
- PKG_CHECK_MODULES(MODEST_WPEDITOR,libwpeditor-plus,have_libwpeditorplus=true,have_libwpeditorplus=false)
- if test "x$have_libwpeditorplus" == "xtrue"; then
+dnl --------------- EDITOR -----------
+if test "x$with_toolkit" != "xgtk"; then
+ PKG_CHECK_MODULES(MODEST_WPEDITOR,wpeditor,have_wpeditor=true,have_wpeditor=false)
+ if test "x$have_wpeditor" == "xfalse"; then
+ PKG_CHECK_MODULES(MODEST_WPEDITOR,libwpeditor-plus,have_libwpeditorplus=true,have_libwpeditorplus=false)
+ if test "x$have_libwpeditorplus" == "xtrue"; then
wpeditor="libwpeditor-plus"
- AC_DEFINE_UNQUOTED(MODEST_HAVE_LIBWPEDITOR_PLUS, 1, ["Whether libwpeditor-plus is used."])
- else
+ AC_DEFINE_UNQUOTED(MODEST_HAVE_LIBWPEDITOR_PLUS, 1, ["Whether libwpeditor-plus is used."])
+ else
AC_MSG_ERROR([you need to have either wpeditor or libwpeditor-plus installed])
+ fi
+ else
+ wpeditor="wpeditor"
+ AC_DEFINE_UNQUOTED(MODEST_HAVE_WPEDITOR, 1, ["Whether wpeditor is used."])
fi
else
- wpeditor="wpeditor"
- AC_DEFINE_UNQUOTED(MODEST_HAVE_WPEDITOR, 1, ["Whether wpeditor is used."])
-fi
+ PKG_CHECK_EXISTS(gtksourceview-2.0, []. [])
fi
-
-#
-# check libalarm
-#
-if test "x$with_platform" == "xmaemo"; then
- PKG_CHECK_MODULES(MODEST_LIBALARM,libalarm,have_libalarm=true,have_libalarm=false)
- if test "x$have_libalarm" == "xfalse"; then
- PKG_CHECK_MODULES(MODEST_LIBALARM, alarm, have_libalarm=true,have_libalarm=false)
- fi
+dnl --------------- LIBALARM -----------
+if test "x$with_platform" == "xmaemo"; then
+ PKG_CHECK_MODULES(MODEST_LIBALARM, alarm, have_libalarm=true,have_libalarm=false)
if test "x$have_libalarm" == "xtrue"; then
- AC_DEFINE_UNQUOTED(MODEST_HAVE_LIBALARM, 1, ["Whether libalarm is used."])
+ AC_DEFINE_UNQUOTED(MODEST_HAVE_LIBALARM, 1, ["Whether libalarm is used."])
AC_SUBST(MODEST_LIBALARM_CFLAGS)
AC_SUBST(MODEST_LIBALARM_LIBS)
fi
fi
-#
-# check for MCE
-#
-if test "x$with_platform" == "xmaemo"; then
+dnl --------------- MCE -----------
+if test "x$with_platform" == "xmaemo"; then
PKG_CHECK_MODULES(MODEST_MCE,mce,have_mce=true,have_mce=false)
if test "x$have_mce" == "xtrue"; then
- mce="mce"
+ mce="mce"
AC_DEFINE_UNQUOTED(MODEST_HAVE_MCE, 1, ["Whether mce is used."])
AC_SUBST(MODEST_MCE_CFLAGS)
AC_SUBST(MODEST_MCE_LIBS)
fi
fi
-#
-# check for libconic; this is a trick to check whether we run
-# on a 'real' maemo platform, or on, say, ubuntu embedded
-# this determines whether we build with the non-hildon GTK+
-#
-if test "x$with_platform" == "xmaemo"; then
+dnl --------------- LIBCONIC -----------
+dnl check for libconic; this is a trick to check whether we run on a
+dnl 'real' maemo platform, or on, say, ubuntu embedded. This determines
+dnl whether we build with the non-hildon GTK+
+
+if test "x$with_platform" == "xmaemo"; then
PKG_CHECK_MODULES(MODEST_LIBCONIC,conic,have_libconic=true,have_libconic=false)
if test "x$have_libconic" == "xtrue"; then
AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_GTK,1,["Whether modest is being built with Hildon/Gtk"])
fi
fi
-#
-# check hildon-help (only for maemo AND NOT fremantle)
-#
-if test "x$with_toolkit" == "xhildon1"; then
- PKG_CHECK_MODULES(MODEST_HILDON_HELP,hildon-help,have_hildon_help=true,have_hildon_help=false)
- if test "x$have_hildon_help" == "xfalse"; then
- PKG_CHECK_MODULES(MODEST_HILDON_HELP,libossohelp,have_osso_help=true,have_osso_help=false)
- if test "x$have_osso_help" == "xtrue"; then
- helplib="osso-help"
- AC_DEFINE_UNQUOTED(MODEST_HAVE_OSSO_HELP, 1, ["Whether osso-help is used."])
- else
- AC_MSG_ERROR([you need to have either osso-help or hildon-help installed])
- fi
- else
- helplib="hildon-help"
- AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_HELP, 1, ["Whether hildon-help is used."])
- fi
-fi
-
-
-
-#
-# check for the notification stuff (only maemo)
-#
-if test "x$with_toolkit" != "xgtk"; then
+dnl --------------- NOTIFICATION STUFF -----------
+if test "x$with_toolkit" != "xgtk"; then
PKG_CHECK_MODULES(MODEST_HILDON_NOTIFY,hildon-notify libnotify,have_hildon_notify=true,have_hildon_notify=false)
if test "x$have_hildon_notify" == "xtrue"; then
- AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_NOTIFY, 1, ["Whether hildon-notify is available"])
+ AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_NOTIFY, 1, ["Whether hildon-notify is available"])
fi
fi
-
-#
-# check for the uri/mime stuff
-#
-if test "x$with_toolkit" != "xgtk"; then
+dnl --------------- URI/MIME STUFF -----------
+if test "x$with_toolkit" != "xgtk"; then
PKG_CHECK_MODULES(MODEST_HILDON_MIME,libhildonmime,have_hildonmime=true,have_hildonmime=false)
- if test "x$have_hildonmime" == "xfalse"; then
- PKG_CHECK_MODULES(MODEST_HILDON_MIME,libossomime,have_ossomime=true,have_ossomime=false)
- if test "x$have_ossomime" == "xtrue"; then
- mimelib="osso-mime"
- AC_DEFINE_UNQUOTED(MODEST_HAVE_OSSO_MIME, 1, ["Whether osso-mime is used."])
- else
- AC_MSG_ERROR([you need to have either osso-mime or hildon-mime installed])
- fi
- else
- mimelib="hildon-mime"
- AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_MIME, 1, ["Whether hildon-mime is used."])
+ if test "x$have_hildonmime" == "xtrue"; then
+ mimelib="hildon-mime"
+ AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_MIME, 1, ["Whether hildon-mime is used."])
fi
fi
-PKG_CHECK_MODULES(MODEST_MOZEMBED, libtinymailui-mozembed-1.0, have_mozembed=true, have_mozembed=false)
-AC_ARG_ENABLE(mozembed,
-AC_HELP_STRING([--enable-mozembed],
- [Build with GtkMozEmbed (yes, no)]),
-[case "${enableval}" in
- yes)
- if test x$have_mozembed = xfalse; then
- AC_MSG_ERROR([building of GtkMozEmbed support requested and gtkmozembed not found])
- fi
- use_mozembed=true
- ;;
- *)
- use_mozembed=false
- ;;
-esac],[use_mozembed=false])
-
-AM_CONDITIONAL(BUILD_MOZEMBED, test x$use_mozembed = xtrue)
-
-if test x$use_mozembed = xtrue; then
- AC_DEFINE_UNQUOTED(MODEST_USE_MOZEMBED, 1, ["Whether we use GtkMozEmbed."])
-fi
-
-#dnl wether we can and should build the
-#dnl search plugin (on maemo)
-if test "x$with_platform" == "xmaemo"; then
-PKG_CHECK_MODULES(MODEST_OGS, libosso >= 0.8.5 libogs-1.2, have_ogs=true, have_ogs=false)
-have_ogs_support=false
-AC_ARG_ENABLE(ogs_support,
-AC_HELP_STRING([--enable-ogs-support],
- [Build with osso global search support (yes, no)]),
-[case "${enableval}" in
- yes)
- if test x$have_ogs = xfalse; then
- AC_MSG_ERROR([building of ogs support requested and libogs-1.2 not found])
- fi
- ;;
- *)
- have_ogs_support=false
- ;;
-esac],[have_ogs_support=$have_ogs])
-
-if test x$have_ogs_support = xtrue; then
- AC_DEFINE_UNQUOTED(MODEST_HAVE_OGS, 1, ["Whether ogs is available."])
-fi
-fi
-
-
-
+dnl --------------- ADDRESSBOOK --------------
+if test "x$with_platform" == "xmaemo"; then
+ PKG_CHECK_MODULES(MODEST_ABOOK, libosso-abook-1.0,have_abook=true,have_abook=false)
-#
-# check the version of the addressbook on maemo
-#
-if test "x$with_platform" == "xmaemo"; then
- PKG_CHECK_MODULES(MODEST_ABOOK,osso-addressbook-1.0,have_abook=true,have_abook=false)
- abook_api=`$PKG_CONFIG --modversion osso-addressbook-1.0 | cut -d. -f1`
- AC_SUBST(MODEST_ABOOK_CFLAGS)
- AC_SUBST(MODEST_ABOOK_LIBS)
+ if test "x$have_abook" == "xtrue"; then
- if test "x$have_abook" == "xfalse"; then
- PKG_CHECK_MODULES(MODEST_ABOOK, libosso-abook-1.0,have_abook=true,have_abook=false)
abook_api=`$PKG_CONFIG --modversion libosso-abook-1.0 | cut -d. -f1`
AC_SUBST(MODEST_ABOOK_CFLAGS)
- AC_SUBST(MODEST_ABOOK_LIBE)
+ AC_SUBST(MODEST_ABOOK_LIBS)
modest_save_cflags="$CFLAGS"
modest_save_libs="$LIBS"
AC_SUBST(HAVE_OSSO_ABOOK_CONTACT_CHOOSER_SET_VISIBLE_FUNC)
CFLAGS="$modest_save_cflags"
LIBS="$modest_save_libs"
- fi
- if test "x$have_abook" == "xtrue"; then
- AC_DEFINE_UNQUOTED(OSSO_ABOOK_ENABLE_DEPRECATED, 1, ["use deprecated addressbook API"])
- AC_DEFINE_UNQUOTED(MODEST_ABOOK_API, $abook_api, ["the API version of osso-addressbook"])
- AC_DEFINE_UNQUOTED(MODEST_HAVE_ABOOK, 1, ["whether we have osso-addressbook"])
- addressbook="osso-addressbook"
+ AC_DEFINE_UNQUOTED(OSSO_ABOOK_ENABLE_DEPRECATED, 1, ["use deprecated addressbook API"])
+ AC_DEFINE_UNQUOTED(MODEST_ABOOK_API, $abook_api, ["the API version of osso-addressbook"])
+ AC_DEFINE_UNQUOTED(MODEST_HAVE_ABOOK, 1, ["whether we have osso-addressbook"])
fi
fi
+AM_CONDITIONAL(MODEST_USE_DUMMY_ADDRESS_BOOK,test "x$have_abook" != "xtrue")
+
+dnl --------------- LIBTIME --------------
AC_CHECK_HEADERS([clockd/libtime.h], have_libtime=true, have_libtime=false)
if test "x$have_libtime" == "xtrue"; then
fi
AC_SUBST(MODEST_LIBTIME_LIBS)
+dnl --------------- IPHB --------------
AC_CHECK_HEADERS([iphbd/libiphb.h], have_libiphb=true, have_libiphb=false)
if test "x$have_libiphb" == "xtrue"; then
fi
AC_SUBST(MODEST_LIBIPHB_LIBS)
-#
-# if we don't have an addressbook, use the dummy one
-#
-AM_CONDITIONAL(MODEST_USE_DUMMY_ADDRESS_BOOK,test "x$have_abook" != "xtrue")
-
+dnl --------------- GETTEXT --------------
AM_GLIB_GNU_GETTEXT
IT_PROG_INTLTOOL([0.35.0])
-# gettext support
-GETTEXT_PACKAGE=modest
+GETTEXT_PACKAGE=modest
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", ["gettext package"])
-#
-# settings for maemo platform
-#
-if test "x$with_platform" == "xmaemo"; then
+dnl --------------- SETTINGS FOR MAEMO --------------
+if test "x$with_platform" == "xmaemo"; then
# warnings are errors, but don't check format errors, because
# it breaks with logical ids
fi
-dnl ## setup the testing framework (ie., make check)
+dnl --------------- TESTING -------------------
build_tests=false
AC_ARG_ENABLE(tests,
AC_HELP_STRING([--enable-tests],
esac],[build_tests=false])
AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xtrue)
-
-
-dnl ## is the check package installed?
if test x$build_tests = xtrue; then
PKG_CHECK_MODULES(CHECK, check >= 0.9.4 glib-2.0)
fi
-
-
-dnl ## do we want documentation (gtk-doc)
+dnl ------------ TESTING: GTK-DOC ----------
build_docs=false
AC_ARG_ENABLE(docs,
AC_HELP_STRING([--enable-docs],
esac],[build_docs=false])
AM_CONDITIONAL(BUILD_DOCS, test x$build_docs = xtrue)
-dnl ## gtk-doc
GTK_DOC_CHECK([1.0])
+dnl ---------------- OUTPUT --------------
AC_OUTPUT([
po/Makefile.in
Makefile
echo "Maemo Launcher : $maemo_launcher"
echo "Editor lib : $wpeditor"
echo "Addressbook : $have_abook"
- if test "x$with_toolkit" == "xhildon1"; then
- echo "Help lib : $helplib"
- fi
echo "libconic support : $have_libconic"
echo "Alarm : $have_libalarm"
echo "MCE : $have_mce"
echo "Hildon-Notify : $have_hildon_notify"
- echo "LibOGS support : $have_ogs_support"
fi
-echo "MozEmbed support : $use_mozembed"
if [ $gtk_html_found = "true" ]; then
echo "GtkHTML version : $gtk_html_version"
fi
+++ /dev/null
-/* Copyright (c) 2006, 2007, Nokia Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of the Nokia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
- * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifdef XPCOM_GLUE
-#include <gtkmozembed_glue.cpp>
-#endif
-
-#include <widgets/modest-mozembed-mime-part-view.h>
-#include <string.h>
-#include <tny-stream.h>
-#include <tny-mime-part-view.h>
-#include <tny-gtk-text-buffer-stream.h>
-#include <tny-moz-embed-html-mime-part-view.h>
-#include <modest-text-utils.h>
-#include <widgets/modest-mime-part-view.h>
-#include <widgets/modest-zoomable.h>
-
-/* gobject structure methods */
-static void modest_mozembed_mime_part_view_class_init (ModestMozembedMimePartViewClass *klass);
-static void modest_mime_part_view_init (gpointer g, gpointer iface_data);
-static void modest_zoomable_init (gpointer g, gpointer iface_data);
-static void modest_isearch_view_init (gpointer g, gpointer iface_data);
-static void modest_mozembed_mime_part_view_init (ModestMozembedMimePartView *self);
-static void modest_mozembed_mime_part_view_finalize (GObject *self);
-
-/* ModestMimePartView implementation */
-static gboolean modest_mozembed_mime_part_view_is_empty (ModestMimePartView *self);
-static gboolean modest_mozembed_mime_part_view_is_empty_default (ModestMimePartView *self);
-/* ModestZoomable implementation */
-static gdouble modest_mozembed_mime_part_view_get_zoom (ModestZoomable *self);
-static void modest_mozembed_mime_part_view_set_zoom (ModestZoomable *self, gdouble value);
-static gboolean modest_mozembed_mime_part_view_zoom_minus (ModestZoomable *self);
-static gboolean modest_mozembed_mime_part_view_zoom_plus (ModestZoomable *self);
-static gdouble modest_mozembed_mime_part_view_get_zoom_default (ModestZoomable *self);
-static void modest_mozembed_mime_part_view_set_zoom_default (ModestZoomable *self, gdouble value);
-static gboolean modest_mozembed_mime_part_view_zoom_minus_default (ModestZoomable *self);
-static gboolean modest_mozembed_mime_part_view_zoom_plus_default (ModestZoomable *self);
-/* ModestISearchView implementation */
-static gboolean modest_mozembed_mime_part_view_search (ModestISearchView *self, const gchar *string);
-static gboolean modest_mozembed_mime_part_view_search_next (ModestISearchView *self);
-static gboolean modest_mozembed_mime_part_view_get_selection_area (ModestISearchView *self, gint *x, gint *y,
- gint *width, gint *height);
-static gboolean modest_mozembed_mime_part_view_search_default (ModestISearchView *self, const gchar *string);
-static gboolean modest_mozembed_mime_part_view_search_next_default (ModestISearchView *self);
-static gboolean modest_mozembed_mime_part_view_get_selection_area_default (ModestISearchView *self, gint *x, gint *y,
- gint *width, gint *height);
-
-
-/* internal api */
-static gboolean is_empty (ModestMozembedMimePartView *self);
-static void set_zoom (ModestMozembedMimePartView *self, gdouble zoom);
-static gdouble get_zoom (ModestMozembedMimePartView *self);
-static gboolean search (ModestMozembedMimePartView *self, const gchar *string);
-static gboolean search_next (ModestMozembedMimePartView *self);
-static gboolean get_selection_area (ModestMozembedMimePartView *self, gint *x, gint *y,
- gint *width, gint *height);
-
-typedef struct _ModestMozembedMimePartViewPrivate ModestMozembedMimePartViewPrivate;
-struct _ModestMozembedMimePartViewPrivate {
- gdouble current_zoom;
- gchar *last_search;
-};
-
-#define MODEST_MOZEMBED_MIME_PART_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
- MODEST_TYPE_MOZEMBED_MIME_PART_VIEW, \
- ModestMozembedMimePartViewPrivate))
-
-static GtkMozEmbedClass *parent_class = NULL;
-
-GtkWidget *
-modest_mozembed_mime_part_view_new ()
-{
- return GTK_WIDGET(g_object_new (MODEST_TYPE_MOZEMBED_MIME_PART_VIEW, NULL));
-}
-
-/* GOBJECT IMPLEMENTATION */
-GType
-modest_mozembed_mime_part_view_get_type (void)
-{
- static GType my_type = 0;
- if (!my_type) {
- static const GTypeInfo my_info = {
- sizeof(ModestMozembedMimePartViewClass),
- NULL, /* base init */
- NULL, /* base finalize */
- (GClassInitFunc) modest_mozembed_mime_part_view_class_init,
- NULL, /* class finalize */
- NULL, /* class data */
- sizeof(ModestMozembedMimePartView),
- 1, /* n_preallocs */
- (GInstanceInitFunc) modest_mozembed_mime_part_view_init,
- NULL
- };
-
- static const GInterfaceInfo modest_mime_part_view_info =
- {
- (GInterfaceInitFunc) modest_mime_part_view_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- static const GInterfaceInfo modest_zoomable_info =
- {
- (GInterfaceInitFunc) modest_zoomable_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- static const GInterfaceInfo modest_isearch_view_info =
- {
- (GInterfaceInitFunc) modest_isearch_view_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- my_type = g_type_register_static (TNY_TYPE_MOZ_EMBED_HTML_MIME_PART_VIEW,
- "ModestMozembedMimePartView",
- &my_info, GTypeFlags(0));
-
- g_type_add_interface_static (my_type, MODEST_TYPE_MIME_PART_VIEW,
- &modest_mime_part_view_info);
-
- g_type_add_interface_static (my_type, MODEST_TYPE_ZOOMABLE,
- &modest_zoomable_info);
- g_type_add_interface_static (my_type, MODEST_TYPE_ISEARCH_VIEW,
- &modest_isearch_view_info);
- }
- return my_type;
-}
-
-static void
-modest_mozembed_mime_part_view_class_init (ModestMozembedMimePartViewClass *klass)
-{
- GObjectClass *gobject_class;
- gobject_class = (GObjectClass*) klass;
-
- parent_class = (GtkMozEmbedClass*) g_type_class_peek_parent (klass);
- gobject_class->finalize = modest_mozembed_mime_part_view_finalize;
- klass->is_empty_func = modest_mozembed_mime_part_view_is_empty_default;
- klass->get_zoom_func = modest_mozembed_mime_part_view_get_zoom_default;
- klass->set_zoom_func = modest_mozembed_mime_part_view_set_zoom_default;
- klass->zoom_minus_func = modest_mozembed_mime_part_view_zoom_minus_default;
- klass->zoom_plus_func = modest_mozembed_mime_part_view_zoom_plus_default;
- klass->search_func = modest_mozembed_mime_part_view_search_default;
- klass->search_next_func = modest_mozembed_mime_part_view_search_next_default;
- klass->get_selection_area_func = modest_mozembed_mime_part_view_get_selection_area_default;
-
- g_type_class_add_private (gobject_class, sizeof(ModestMozembedMimePartViewPrivate));
-
-}
-
-static void
-modest_mozembed_mime_part_view_init (ModestMozembedMimePartView *self)
-{
- ModestMozembedMimePartViewPrivate *priv = MODEST_MOZEMBED_MIME_PART_VIEW_GET_PRIVATE (self);
-
- priv->current_zoom = 1.0;
- priv->last_search = NULL;
-
-}
-
-static void
-modest_mozembed_mime_part_view_finalize (GObject *obj)
-{
- ModestMozembedMimePartViewPrivate *priv = MODEST_MOZEMBED_MIME_PART_VIEW_GET_PRIVATE (obj);
-
- g_free (priv->last_search);
- priv->last_search = NULL;
-
- G_OBJECT_CLASS (parent_class)->finalize (obj);
-}
-
-/* INTERNAL API */
-
-static gboolean
-is_empty (ModestMozembedMimePartView *self)
-{
- /* TODO: not implemented yet */
- return FALSE;
-}
-
-static void
-set_zoom (ModestMozembedMimePartView *self, gdouble zoom)
-{
- ModestMozembedMimePartViewPrivate *priv;
-
- g_return_if_fail (MODEST_IS_MOZEMBED_MIME_PART_VIEW (self));
-
- priv = MODEST_MOZEMBED_MIME_PART_VIEW_GET_PRIVATE (self);
- priv->current_zoom = zoom;
- gtk_moz_embed_set_zoom_level (GTK_MOZ_EMBED(self), (gint) (zoom*100), NULL);
-
- gtk_widget_queue_resize (GTK_WIDGET (self));
-}
-
-static gdouble
-get_zoom (ModestMozembedMimePartView *self)
-{
- ModestMozembedMimePartViewPrivate *priv;
-
- g_return_val_if_fail (MODEST_IS_MOZEMBED_MIME_PART_VIEW (self), 1.0);
-
- priv = MODEST_MOZEMBED_MIME_PART_VIEW_GET_PRIVATE (self);
-
- return priv->current_zoom;
-}
-
-static gboolean
-search (ModestMozembedMimePartView *self,
- const gchar *string)
-{
- ModestMozembedMimePartViewPrivate *priv = MODEST_MOZEMBED_MIME_PART_VIEW_GET_PRIVATE (self);
- if (priv->last_search != NULL) {
- g_free (priv->last_search);
- }
- priv->last_search = g_strdup (string);
-
- return gtk_moz_embed_find_text (GTK_MOZ_EMBED (self), string, FALSE, FALSE,
- FALSE, TRUE, 0);
-}
-
-static gboolean
-search_next (ModestMozembedMimePartView *self)
-{
- ModestMozembedMimePartViewPrivate *priv = MODEST_MOZEMBED_MIME_PART_VIEW_GET_PRIVATE (self);
- return gtk_moz_embed_find_text (GTK_MOZ_EMBED (self), priv->last_search, FALSE, FALSE,
- FALSE, FALSE, 0);
-}
-
-static gboolean
-get_selection_area (ModestMozembedMimePartView *self,
- gint *x, gint *y,
- gint *width, gint *height)
-{
- /* TODO: Implement incremental search */
- return FALSE;
-
-}
-
-
-/* MODEST MIME PART VIEW IMPLEMENTATION */
-
-static void
-modest_mime_part_view_init (gpointer g, gpointer iface_data)
-{
- ModestMimePartViewIface *klass = (ModestMimePartViewIface *)g;
-
- klass->is_empty_func = modest_mozembed_mime_part_view_is_empty;
-
- return;
-}
-
-static gboolean
-modest_mozembed_mime_part_view_is_empty (ModestMimePartView *self)
-{
- return MODEST_MOZEMBED_MIME_PART_VIEW_GET_CLASS (self)->is_empty_func (self);
-}
-
-static gboolean
-modest_mozembed_mime_part_view_is_empty_default (ModestMimePartView *self)
-{
- return is_empty (MODEST_MOZEMBED_MIME_PART_VIEW (self));
-}
-
-
-/* MODEST ZOOMABLE IMPLEMENTATION */
-static void
-modest_zoomable_init (gpointer g, gpointer iface_data)
-{
- ModestZoomableIface *klass = (ModestZoomableIface *)g;
-
- klass->get_zoom_func = modest_mozembed_mime_part_view_get_zoom;
- klass->set_zoom_func = modest_mozembed_mime_part_view_set_zoom;
- klass->zoom_minus_func = modest_mozembed_mime_part_view_zoom_minus;
- klass->zoom_plus_func = modest_mozembed_mime_part_view_zoom_plus;
-
- return;
-}
-
-static gdouble
-modest_mozembed_mime_part_view_get_zoom (ModestZoomable *self)
-{
- return MODEST_MOZEMBED_MIME_PART_VIEW_GET_CLASS (self)->get_zoom_func (self);
-}
-
-static gdouble
-modest_mozembed_mime_part_view_get_zoom_default (ModestZoomable *self)
-{
- return get_zoom (MODEST_MOZEMBED_MIME_PART_VIEW (self));
-}
-
-static void
-modest_mozembed_mime_part_view_set_zoom (ModestZoomable *self, gdouble value)
-{
- MODEST_MOZEMBED_MIME_PART_VIEW_GET_CLASS (self)->set_zoom_func (self, value);
-}
-
-static void
-modest_mozembed_mime_part_view_set_zoom_default (ModestZoomable *self, gdouble value)
-{
- set_zoom (MODEST_MOZEMBED_MIME_PART_VIEW (self), value);
-}
-
-static gboolean
-modest_mozembed_mime_part_view_zoom_minus (ModestZoomable *self)
-{
- return MODEST_MOZEMBED_MIME_PART_VIEW_GET_CLASS (self)->zoom_minus_func (self);
-}
-
-static gboolean
-modest_mozembed_mime_part_view_zoom_minus_default (ModestZoomable *self)
-{
- /* operation not supported in ModestMozembedMimePartView */
- return FALSE;
-}
-
-static gboolean
-modest_mozembed_mime_part_view_zoom_plus (ModestZoomable *self)
-{
- return MODEST_MOZEMBED_MIME_PART_VIEW_GET_CLASS (self)->zoom_plus_func (self);
-}
-
-static gboolean
-modest_mozembed_mime_part_view_zoom_plus_default (ModestZoomable *self)
-{
- /* operation not supported in ModestMozembedMimePartView */
- return FALSE;
-}
-
-/* ISEARCH VIEW IMPLEMENTATION */
-static void
-modest_isearch_view_init (gpointer g, gpointer iface_data)
-{
- ModestISearchViewIface *klass = (ModestISearchViewIface *)g;
-
- klass->search_func = modest_mozembed_mime_part_view_search;
- klass->search_next_func = modest_mozembed_mime_part_view_search_next;
- klass->get_selection_area_func = modest_mozembed_mime_part_view_get_selection_area;
-
- return;
-}
-
-static gboolean
-modest_mozembed_mime_part_view_search (ModestISearchView *self, const gchar *string)
-{
- return MODEST_MOZEMBED_MIME_PART_VIEW_GET_CLASS (self)->search_func (self, string);
-}
-
-static gboolean
-modest_mozembed_mime_part_view_search_default (ModestISearchView *self, const gchar *string)
-{
- return search (MODEST_MOZEMBED_MIME_PART_VIEW (self), string);
-}
-
-static gboolean
-modest_mozembed_mime_part_view_search_next(ModestISearchView *self)
-{
- return MODEST_MOZEMBED_MIME_PART_VIEW_GET_CLASS (self)->search_next_func (self);
-}
-
-static gboolean
-modest_mozembed_mime_part_view_search_next_default (ModestISearchView *self)
-{
- return search_next (MODEST_MOZEMBED_MIME_PART_VIEW (self));
-}
-
-static gboolean
-modest_mozembed_mime_part_view_get_selection_area (ModestISearchView *self, gint *x, gint *y,
- gint *width, gint *height)
-{
- return MODEST_MOZEMBED_MIME_PART_VIEW_GET_CLASS (self)->get_selection_area_func (self, x, y, width, height);
-}
-
-static gboolean
-modest_mozembed_mime_part_view_get_selection_area_default (ModestISearchView *self, gint *x, gint *y,
- gint *width, gint *height)
-{
- return get_selection_area (MODEST_MOZEMBED_MIME_PART_VIEW (self), x, y, width, height);
-}
+++ /dev/null
-/* Copyright (c) 2006, 2007, Nokia Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of the Nokia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
- * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <config.h>
-#include <tny-gtk-text-buffer-stream.h>
-#include <string.h>
-#include <regex.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <glib/gi18n.h>
-#include <tny-list.h>
-#include <tny-simple-list.h>
-
-#include <modest-tny-msg.h>
-#include <modest-text-utils.h>
-#include <widgets/modest-msg-view.h>
-#include <widgets/modest-compact-mail-header-view.h>
-#include <widgets/modest-attachments-view.h>
-#include <modest-marshal.h>
-#include <widgets/modest-isearch-view.h>
-#include <widgets/modest-mozembed-msg-view.h>
-#include <widgets/modest-mozembed-mime-part-view.h>
-#include <widgets/modest-scroll-area.h>
-
-
-/* 'private'/'protected' functions */
-static void modest_mozembed_msg_view_class_init (ModestMozembedMsgViewClass *klass);
-static void tny_header_view_init (gpointer g, gpointer iface_data);
-static void tny_msg_view_init (gpointer g, gpointer iface_data);
-static void tny_mime_part_view_init (gpointer g, gpointer iface_data);
-static void modest_mime_part_view_init (gpointer g, gpointer iface_data);
-static void modest_zoomable_init (gpointer g, gpointer iface_data);
-static void modest_isearch_view_init (gpointer g, gpointer iface_data);
-static void modest_msg_view_init (gpointer g, gpointer iface_data);
-static void modest_mozembed_msg_view_init (ModestMozembedMsgView *obj);
-static void modest_mozembed_msg_view_finalize (GObject *obj);
-static void modest_mozembed_msg_view_destroy (GtkObject *obj);
-
-/* headers signals */
-static void on_recpt_activated (ModestMailHeaderView *header_view, const gchar *address, ModestMozembedMsgView *msg_view);
-static void on_attachment_activated (ModestAttachmentsView * att_view, TnyMimePart *mime_part, gpointer userdata);
-
-/* body view signals */
-static gboolean on_activate_link (GtkWidget *widget, const gchar *uri, ModestMozembedMsgView *msg_view);
-static gboolean on_fetch_url (GtkWidget *widget, const gchar *uri, TnyStream *stream,
- ModestMozembedMsgView *msg_view);
-static gboolean on_link_hover (GtkWidget *widget, const gchar *uri, ModestMozembedMsgView *msg_view);
-
-#if HAVE_DECL_GTK_WIDGET_TAP_AND_HOLD_SETUP
-static void on_tap_and_hold (GtkWidget *widget, gpointer userdata);
-#endif /*HAVE_DECL_GTK_WIDGET_TAP_AND_HOLD_SETUP*/
-
-/* TnyMimePartView implementation */
-static void modest_msg_view_mp_clear (TnyMimePartView *self);
-static void modest_msg_view_mp_set_part (TnyMimePartView *self, TnyMimePart *part);
-static void modest_msg_view_mp_set_part_default (TnyMimePartView *self, TnyMimePart *part);
-static TnyMimePart* modest_msg_view_mp_get_part (TnyMimePartView *self);
-static TnyMimePart* modest_msg_view_mp_get_part_default (TnyMimePartView *self);
-/* ModestMimePartView implementation */
-static gboolean modest_msg_view_mp_is_empty (ModestMimePartView *self);
-static gboolean modest_msg_view_mp_is_empty_default (ModestMimePartView *self);
-/* TnyHeaderView implementation */
-static void modest_msg_view_set_header (TnyHeaderView *self, TnyHeader *header);
-static void modest_msg_view_set_header_default (TnyHeaderView *self, TnyHeader *header);
-static void modest_msg_view_clear_header (TnyHeaderView *self);
-static void modest_msg_view_clear_header_default (TnyHeaderView *self);
-/* TnyMsgView implementation */
-static TnyMsg *modest_msg_view_get_msg (TnyMsgView *self);
-static TnyMsg *modest_msg_view_get_msg_default (TnyMsgView *self);
-static void modest_msg_view_set_msg (TnyMsgView *self, TnyMsg *msg);
-static void modest_msg_view_set_msg_default (TnyMsgView *self, TnyMsg *msg);
-static void modest_msg_view_clear (TnyMsgView *self);
-static void modest_msg_view_clear_default (TnyMsgView *self);
-static void modest_msg_view_set_unavailable (TnyMsgView *self);
-static void modest_msg_view_set_unavailable_default (TnyMsgView *self);
-static TnyMimePartView *modest_msg_view_create_mime_part_view_for (TnyMsgView *self, TnyMimePart *part);
-static TnyMimePartView *modest_msg_view_create_mime_part_view_for_default (TnyMsgView *self, TnyMimePart *part);
-static TnyMsgView *modest_msg_view_create_new_inline_viewer (TnyMsgView *self);
-static TnyMsgView *modest_msg_view_create_new_inline_viewer_default (TnyMsgView *self);
-/* ModestZoomable implementation */
-static gdouble modest_msg_view_get_zoom (ModestZoomable *self);
-static void modest_msg_view_set_zoom (ModestZoomable *self, gdouble value);
-static gboolean modest_msg_view_zoom_minus (ModestZoomable *self);
-static gboolean modest_msg_view_zoom_plus (ModestZoomable *self);
-static gdouble modest_msg_view_get_zoom_default (ModestZoomable *self);
-static void modest_msg_view_set_zoom_default (ModestZoomable *self, gdouble value);
-static gboolean modest_msg_view_zoom_minus_default (ModestZoomable *self);
-static gboolean modest_msg_view_zoom_plus_default (ModestZoomable *self);
-/* ModestISearchView implementation */
-static gboolean modest_msg_view_search (ModestISearchView *self, const gchar *string);
-static gboolean modest_msg_view_search_default (ModestISearchView *self, const gchar *string);
-static gboolean modest_msg_view_search_next (ModestISearchView *self);
-static gboolean modest_msg_view_search_next_default (ModestISearchView *self);
-/* ModestMsgView implementation */
-static void modest_mozembed_msg_view_set_msg_with_other_body (ModestMsgView *self, TnyMsg *msg, TnyMimePart *part);
-static GtkAdjustment *modest_mozembed_msg_view_get_vadjustment (ModestMsgView *self);
-static GtkAdjustment *modest_mozembed_msg_view_get_hadjustment (ModestMsgView *self);
-static void modest_mozembed_msg_view_set_vadjustment (ModestMsgView *self, GtkAdjustment *vadj);
-static void modest_mozembed_msg_view_set_hadjustment (ModestMsgView *self, GtkAdjustment *hadj);
-static void modest_mozembed_msg_view_set_shadow_type (ModestMsgView *self, GtkShadowType type);
-static GtkShadowType modest_mozembed_msg_view_get_shadow_type (ModestMsgView *self);
-static TnyHeaderFlags modest_mozembed_msg_view_get_priority (ModestMsgView *self);
-static void modest_mozembed_msg_view_set_priority (ModestMsgView *self, TnyHeaderFlags flags);
-static TnyList *modest_mozembed_msg_view_get_selected_attachments (ModestMsgView *self);
-static TnyList *modest_mozembed_msg_view_get_attachments (ModestMsgView *self);
-static void modest_mozembed_msg_view_grab_focus (ModestMsgView *self);
-static void modest_mozembed_msg_view_remove_attachment (ModestMsgView *view, TnyMimePart *attachment);
-static void modest_mozembed_msg_view_request_fetch_images (ModestMsgView *view);
-static void modest_mozembed_msg_view_set_branding (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
-static gboolean modest_mozembed_msg_view_has_blocked_external_images (ModestMsgView *view);
-static void modest_mozembed_msg_view_set_msg_with_other_body_default (ModestMsgView *self, TnyMsg *msg, TnyMimePart *part);
-static GtkAdjustment *modest_mozembed_msg_view_get_vadjustment_default (ModestMsgView *self);
-static GtkAdjustment *modest_mozembed_msg_view_get_hadjustment_default (ModestMsgView *self);
-static void modest_mozembed_msg_view_set_vadjustment_default (ModestMsgView *self, GtkAdjustment *vadj);
-static void modest_mozembed_msg_view_set_hadjustment_default (ModestMsgView *self, GtkAdjustment *hadj);
-static void modest_mozembed_msg_view_set_shadow_type_default (ModestMsgView *self, GtkShadowType type);
-static GtkShadowType modest_mozembed_msg_view_get_shadow_type_default (ModestMsgView *self);
-static TnyHeaderFlags modest_mozembed_msg_view_get_priority_default (ModestMsgView *self);
-static void modest_mozembed_msg_view_set_priority_default (ModestMsgView *self, TnyHeaderFlags flags);
-static TnyList *modest_mozembed_msg_view_get_selected_attachments_default (ModestMsgView *self);
-static TnyList *modest_mozembed_msg_view_get_attachments_default (ModestMsgView *self);
-static void modest_mozembed_msg_view_grab_focus_default (ModestMsgView *self);
-static void modest_mozembed_msg_view_remove_attachment_default (ModestMsgView *view, TnyMimePart *attachment);
-static gboolean modest_mozembed_msg_view_has_blocked_external_images_default (ModestMsgView *view);
-static void modest_mozembed_msg_view_request_fetch_images_default (ModestMsgView *view);
-static void modest_mozembed_msg_view_set_branding_default (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
-
-/* internal api */
-static void set_header (ModestMozembedMsgView *self, TnyHeader *header);
-static TnyMsg *get_message (ModestMozembedMsgView *self);
-static void set_message (ModestMozembedMsgView *self, TnyMsg *msg, TnyMimePart *other_body);
-static gboolean is_empty (ModestMozembedMsgView *self);
-static void set_zoom (ModestMozembedMsgView *self, gdouble zoom);
-static gdouble get_zoom (ModestMozembedMsgView *self);
-static gboolean search (ModestMozembedMsgView *self, const gchar *search);
-static gboolean search_next (ModestMozembedMsgView *self);
-static GtkAdjustment *get_vadjustment (ModestMozembedMsgView *self);
-static GtkAdjustment *get_hadjustment (ModestMozembedMsgView *self);
-static void set_vadjustment (ModestMozembedMsgView *self, GtkAdjustment *vadj);
-static void set_hadjustment (ModestMozembedMsgView *self, GtkAdjustment *hadj);
-static void set_shadow_type (ModestMozembedMsgView *self, GtkShadowType type);
-static GtkShadowType get_shadow_type (ModestMozembedMsgView *self);
-static TnyHeaderFlags get_priority (ModestMozembedMsgView *self);
-static void set_priority (ModestMozembedMsgView *self, TnyHeaderFlags flags);
-static TnyList *get_selected_attachments (ModestMozembedMsgView *self);
-static TnyList *get_attachments (ModestMozembedMsgView *self);
-static void grab_focus (ModestMozembedMsgView *self);
-static void remove_attachment (ModestMozembedMsgView *view, TnyMimePart *attachment);
-static void request_fetch_images (ModestMozembedMsgView *view);
-static void set_branding (ModestMozembedMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
-static gboolean has_blocked_external_images (ModestMozembedMsgView *view);
-
-typedef struct _ModestMozembedMsgViewPrivate ModestMozembedMsgViewPrivate;
-struct _ModestMozembedMsgViewPrivate {
- GtkWidget *body_view;
- GtkWidget *mail_header_view;
- GtkWidget *attachments_view;
-
- TnyMsg *msg;
-
- /* embedded elements */
- GtkWidget *headers_box;
- GtkWidget *attachments_box;
-
- /* zoom */
- gdouble current_zoom;
-
- /* link click management */
- gchar *last_url;
-
-};
-
-#define MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
- MODEST_TYPE_MOZEMBED_MSG_VIEW, \
- ModestMozembedMsgViewPrivate))
-
-/* globals */
-static GtkContainerClass *parent_class = NULL;
-
-GType
-modest_mozembed_msg_view_get_type (void)
-{
- static GType my_type = 0;
- if (!my_type) {
- static const GTypeInfo my_info = {
- sizeof(ModestMozembedMsgViewClass),
- NULL, /* base init */
- NULL, /* base finalize */
- (GClassInitFunc) modest_mozembed_msg_view_class_init,
- NULL, /* class finalize */
- NULL, /* class data */
- sizeof(ModestMozembedMsgView),
- 1, /* n_preallocs */
- (GInstanceInitFunc) modest_mozembed_msg_view_init,
- NULL
- };
- static const GInterfaceInfo tny_msg_view_info =
- {
- (GInterfaceInitFunc) tny_msg_view_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- static const GInterfaceInfo tny_mime_part_view_info =
- {
- (GInterfaceInitFunc) tny_mime_part_view_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- static const GInterfaceInfo tny_header_view_info =
- {
- (GInterfaceInitFunc) tny_header_view_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- static const GInterfaceInfo modest_mime_part_view_info =
- {
- (GInterfaceInitFunc) modest_mime_part_view_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- static const GInterfaceInfo modest_zoomable_info =
- {
- (GInterfaceInitFunc) modest_zoomable_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- static const GInterfaceInfo modest_isearch_view_info =
- {
- (GInterfaceInitFunc) modest_isearch_view_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- static const GInterfaceInfo modest_msg_view_info =
- {
- (GInterfaceInitFunc) modest_msg_view_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- my_type = g_type_register_static (GTK_TYPE_SCROLLED_WINDOW,
- "ModestMozembedMsgView",
- &my_info, 0);
-
- g_type_add_interface_static (my_type, TNY_TYPE_HEADER_VIEW,
- &tny_header_view_info);
-
- g_type_add_interface_static (my_type, TNY_TYPE_MIME_PART_VIEW,
- &tny_mime_part_view_info);
-
- g_type_add_interface_static (my_type, MODEST_TYPE_MIME_PART_VIEW,
- &modest_mime_part_view_info);
-
- g_type_add_interface_static (my_type, TNY_TYPE_MSG_VIEW,
- &tny_msg_view_info);
-
- g_type_add_interface_static (my_type, MODEST_TYPE_ZOOMABLE,
- &modest_zoomable_info);
-
- g_type_add_interface_static (my_type, MODEST_TYPE_ISEARCH_VIEW,
- &modest_isearch_view_info);
-
- g_type_add_interface_static (my_type, MODEST_TYPE_MSG_VIEW,
- &modest_msg_view_info);
- }
- return my_type;
-}
-
-static void
-modest_mozembed_msg_view_class_init (ModestMozembedMsgViewClass *klass)
-{
- GObjectClass *gobject_class;
- GtkWidgetClass *widget_class;
- GtkObjectClass *gtkobject_class;
- GtkContainerClass *container_class;
- gobject_class = (GObjectClass*) klass;
- widget_class = (GtkWidgetClass *) klass;
- gtkobject_class = (GtkObjectClass *) klass;
- container_class = (GtkContainerClass *) klass;
-
- parent_class = g_type_class_peek_parent (klass);
- gobject_class->finalize = modest_mozembed_msg_view_finalize;
- gtkobject_class->destroy = modest_mozembed_msg_view_destroy;
-
- klass->set_header_func = modest_msg_view_set_header_default;
- klass->clear_header_func = modest_msg_view_clear_header_default;
- klass->set_scroll_adjustments = NULL;
- klass->get_part_func = modest_msg_view_mp_get_part_default;
- klass->set_part_func = modest_msg_view_mp_set_part_default;
- klass->is_empty_func = modest_msg_view_mp_is_empty_default;
- klass->get_msg_func = modest_msg_view_get_msg_default;
- klass->set_msg_func = modest_msg_view_set_msg_default;
- klass->set_unavailable_func = modest_msg_view_set_unavailable_default;
- klass->clear_func = modest_msg_view_clear_default;
- klass->create_mime_part_view_for_func = modest_msg_view_create_mime_part_view_for_default;
- klass->create_new_inline_viewer_func = modest_msg_view_create_new_inline_viewer_default;
- klass->get_zoom_func = modest_msg_view_get_zoom_default;
- klass->set_zoom_func = modest_msg_view_set_zoom_default;
- klass->zoom_minus_func = modest_msg_view_zoom_minus_default;
- klass->zoom_plus_func = modest_msg_view_zoom_plus_default;
- klass->search_func = modest_msg_view_search_default;
- klass->search_next_func = modest_msg_view_search_next_default;
- klass->set_msg_with_other_body_func = modest_mozembed_msg_view_set_msg_with_other_body_default;
- klass->get_vadjustment_func = modest_mozembed_msg_view_get_vadjustment_default;
- klass->get_hadjustment_func = modest_mozembed_msg_view_get_hadjustment_default;
- klass->set_vadjustment_func = modest_mozembed_msg_view_set_vadjustment_default;
- klass->set_hadjustment_func = modest_mozembed_msg_view_set_hadjustment_default;
- klass->get_shadow_type_func = modest_mozembed_msg_view_get_shadow_type_default;
- klass->set_shadow_type_func = modest_mozembed_msg_view_set_shadow_type_default;
- klass->get_priority_func = modest_mozembed_msg_view_get_priority_default;
- klass->set_priority_func = modest_mozembed_msg_view_set_priority_default;
- klass->get_selected_attachments_func = modest_mozembed_msg_view_get_selected_attachments_default;
- klass->get_attachments_func = modest_mozembed_msg_view_get_attachments_default;
- klass->grab_focus_func = modest_mozembed_msg_view_grab_focus_default;
- klass->remove_attachment_func = modest_mozembed_msg_view_remove_attachment_default;
- klass->request_fetch_images_func = modest_mozembed_msg_view_request_fetch_images_default;
- klass->set_branding_func = modest_mozembed_msg_view_set_branding_default;
- klass->has_blocked_external_images_func = modest_mozembed_msg_view_has_blocked_external_images_default;
-
- g_type_class_add_private (gobject_class, sizeof(ModestMozembedMsgViewPrivate));
-
-}
-
-static void
-modest_mozembed_msg_view_init (ModestMozembedMsgView *obj)
-{
- ModestMozembedMsgViewPrivate *priv;
- GtkWidget *separator;
- GtkWidget *main_vbox;
- GtkWidget *scroll_area;
- GtkWidget *body_box;
-
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE(obj);
-
- priv->current_zoom = 1.0;
-
- priv->body_view = GTK_WIDGET (g_object_new (MODEST_TYPE_MOZEMBED_MIME_PART_VIEW, NULL));
- priv->mail_header_view = GTK_WIDGET(modest_compact_mail_header_view_new (TRUE));
- gtk_widget_set_no_show_all (priv->mail_header_view, TRUE);
- priv->attachments_view = GTK_WIDGET(modest_attachments_view_new (NULL));
-
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (obj), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_hadjustment (GTK_SCROLLED_WINDOW (obj), NULL);
- gtk_scrolled_window_set_vadjustment (GTK_SCROLLED_WINDOW (obj), NULL);
-
- priv->msg = NULL;
-
- priv->headers_box = gtk_vbox_new (0, FALSE);
-
- if (priv->mail_header_view)
- gtk_box_pack_start (GTK_BOX(priv->headers_box), priv->mail_header_view, FALSE, FALSE, 0);
-
- if (priv->attachments_view) {
-#ifndef MODEST_TOOLKIT_HILDON2
- gchar *att_label = g_strconcat (_("mcen_me_viewer_attachments"), ":", NULL);
-#else
- gchar *att_label = g_strconcat (_("mail_va_attachment"), ":", NULL);
-#endif
-
- priv->attachments_box = (GtkWidget *)
- modest_mail_header_view_add_custom_header (MODEST_MAIL_HEADER_VIEW (priv->mail_header_view),
- att_label,
- priv->attachments_view,
- FALSE, FALSE);
- gtk_widget_hide_all (priv->attachments_box);
- g_free (att_label);
- }
-
- separator = gtk_hseparator_new ();
- gtk_box_pack_start (GTK_BOX(priv->headers_box), separator, FALSE, FALSE, 0);
-
- body_box = gtk_vbox_new (FALSE, 0);
-
- main_vbox = gtk_vbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (main_vbox), priv->headers_box, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (main_vbox), body_box, TRUE, TRUE, 0);
-
- if (priv->body_view) {
- /* gtk_widget_set_size_request (priv->body_view, 610, 1000); */
- /* scroll_area = modest_scroll_area_new (GTK_WIDGET (obj), priv->body_view); */
- /* gtk_container_add (GTK_CONTAINER (body_box), scroll_area); */
-
- /* gtk_container_add (GTK_CONTAINER (body_box), priv->body_view); */
- /* scroll_area = NULL; */
-
- scroll_area = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll_area), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scroll_area), priv->body_view);
- gtk_box_pack_start (GTK_BOX (body_box), scroll_area, TRUE, TRUE, 0);
- gtk_widget_show_all (body_box);
-
-#if HAVE_DECL_GTK_WIDGET_TAP_AND_HOLD_SETUP
- gtk_widget_tap_and_hold_setup (GTK_WIDGET (priv->body_view), NULL, NULL, 0);
- g_signal_connect (G_OBJECT (priv->body_view), "tap-and-hold", G_CALLBACK (on_tap_and_hold), obj);
-#endif
- }
-
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (obj), main_vbox);
-
-
- g_signal_connect (G_OBJECT(priv->body_view), "activate_link",
- G_CALLBACK(on_activate_link), obj);
- g_signal_connect (G_OBJECT(priv->body_view), "fetch_url",
- G_CALLBACK(on_fetch_url), obj);
- g_signal_connect (G_OBJECT(priv->body_view), "link_hover",
- G_CALLBACK(on_link_hover), obj);
-
- g_signal_connect (G_OBJECT (priv->mail_header_view), "recpt-activated",
- G_CALLBACK (on_recpt_activated), obj);
-
- g_signal_connect (G_OBJECT (priv->attachments_view), "activate",
- G_CALLBACK (on_attachment_activated), obj);
-
-}
-
-
-static void
-modest_mozembed_msg_view_finalize (GObject *obj)
-{
- ModestMozembedMsgViewPrivate *priv;
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (obj);
-
- if (priv->msg) {
- g_object_unref (G_OBJECT(priv->msg));
- priv->msg = NULL;
- }
-
- priv->body_view = NULL;
- priv->attachments_view = NULL;
-
- G_OBJECT_CLASS(parent_class)->finalize (obj);
-}
-
-static void
-modest_mozembed_msg_view_destroy (GtkObject *obj)
-{
- GTK_OBJECT_CLASS(parent_class)->destroy (obj);
-}
-
-/* INTERNAL METHODS */
-
-static GtkAdjustment *
-get_vadjustment (ModestMozembedMsgView *self)
-{
- return gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (self));
-
-}
-
-static GtkAdjustment *
-get_hadjustment (ModestMozembedMsgView *self)
-{
- return gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (self));
-}
-
-static void
-set_hadjustment (ModestMozembedMsgView *self, GtkAdjustment *hadj)
-{
- gtk_scrolled_window_set_hadjustment (GTK_SCROLLED_WINDOW (self), hadj);
-}
-
-static void
-set_vadjustment (ModestMozembedMsgView *self, GtkAdjustment *vadj)
-{
- gtk_scrolled_window_set_hadjustment (GTK_SCROLLED_WINDOW (self), vadj);
-}
-
-static void
-set_shadow_type (ModestMozembedMsgView *self,
- GtkShadowType shadow_type)
-{
- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (self), shadow_type);
-}
-
-static GtkShadowType
-get_shadow_type (ModestMozembedMsgView *self)
-{
- return gtk_scrolled_window_get_shadow_type (GTK_SCROLLED_WINDOW (self));
-}
-
-GtkWidget*
-modest_mozembed_msg_view_new (TnyMsg *msg)
-{
- GObject *obj;
- ModestMozembedMsgView* self;
-
- obj = G_OBJECT(g_object_new(MODEST_TYPE_MOZEMBED_MSG_VIEW, NULL));
- self = MODEST_MOZEMBED_MSG_VIEW(obj);
- tny_msg_view_set_msg (TNY_MSG_VIEW (self), msg);
-
- return GTK_WIDGET(self);
-}
-
-#if HAVE_DECL_GTK_WIDGET_TAP_AND_HOLD_SETUP
-static void
-on_tap_and_hold (GtkWidget *widget,
- gpointer data)
-{
- ModestMozembedMsgView *self = (ModestMozembedMsgView *) data;
- ModestMozembedMsgViewPrivate *priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- g_signal_emit_by_name (G_OBJECT (self), "link-contextual", priv->last_url);
-}
-#endif
-
-static void
-on_recpt_activated (ModestMailHeaderView *header_view,
- const gchar *address,
- ModestMozembedMsgView *self)
-{
- g_signal_emit_by_name (G_OBJECT (self), "recpt-activated", address);
-}
-
-static void
-on_attachment_activated (ModestAttachmentsView * att_view, TnyMimePart *mime_part, gpointer self)
-{
-
- g_signal_emit_by_name (G_OBJECT(self), "attachment_clicked", mime_part);
-}
-
-
-static void
-request_fetch_images (ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
- TnyMimePart *part;
-
- /* The message could have not been downloaded yet */
- if (priv->msg) {
- modest_mime_part_view_set_view_images (MODEST_MIME_PART_VIEW (priv->body_view), TRUE);
- part = tny_mime_part_view_get_part (TNY_MIME_PART_VIEW (priv->body_view));
- if (part) {
- tny_mime_part_view_set_part (TNY_MIME_PART_VIEW (priv->body_view), part);
- g_object_unref (part);
- }
- tny_msg_set_allow_external_images (TNY_MSG (priv->msg), TRUE);
- }
-}
-
-static void
-set_branding (ModestMozembedMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
-{
- ModestMozembedMsgViewPrivate *priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- modest_mail_header_view_set_branding (MODEST_MAIL_HEADER_VIEW (priv->mail_header_view), brand_name, brand_icon);
-}
-
-static gboolean
-has_blocked_external_images (ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- return modest_mime_part_view_has_external_images (MODEST_MIME_PART_VIEW (priv->body_view));
-}
-
-static gboolean
-on_activate_link (GtkWidget *widget, const gchar *uri, ModestMozembedMsgView *self)
-{
- gboolean result;
- g_return_val_if_fail (self, FALSE);
-
- g_signal_emit_by_name (G_OBJECT(self), "activate-link", uri, &result);
-
- return result;
-}
-
-
-static gboolean
-on_link_hover (GtkWidget *widget, const gchar *uri, ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
- gboolean result;
-
- g_free (priv->last_url);
- priv->last_url = g_strdup (uri);
-
- g_signal_emit_by_name (G_OBJECT(self), "link-hover", uri, &result);
-
- return result;
-}
-
-
-
-static TnyMimePart *
-find_cid_image (TnyMsg *msg, const gchar *cid)
-{
- TnyMimePart *part = NULL;
- TnyList *parts;
- TnyIterator *iter;
-
- g_return_val_if_fail (msg, NULL);
- g_return_val_if_fail (cid, NULL);
-
- parts = TNY_LIST (tny_simple_list_new());
-
- tny_mime_part_get_parts (TNY_MIME_PART (msg), parts);
- iter = tny_list_create_iterator (parts);
-
- while (!tny_iterator_is_done(iter)) {
- const gchar *part_cid;
-
- part = TNY_MIME_PART(tny_iterator_get_current(iter));
- part_cid = tny_mime_part_get_content_id (part);
-
- if (part_cid && strcmp (cid, part_cid) == 0)
- break;
-
- if (tny_mime_part_content_type_is (part, "multipart/related")) {
- TnyList *related_parts = TNY_LIST (tny_simple_list_new ());
- TnyIterator *related_iter = NULL;
- TnyMimePart *related_part = NULL;
-
- tny_mime_part_get_parts (part, related_parts);
- related_iter = tny_list_create_iterator (related_parts);
-
- while (!tny_iterator_is_done (related_iter)) {
- related_part = TNY_MIME_PART (tny_iterator_get_current (related_iter));
- part_cid = tny_mime_part_get_content_id (related_part);
- if (part_cid && strcmp (cid, part_cid) == 0) {
- break;
- }
- g_object_unref (related_part);
- related_part = NULL;
- tny_iterator_next (related_iter);
- }
-
- g_object_unref (related_iter);
- g_object_unref (related_parts);
- if (related_part != NULL) {
- g_object_unref (part);
- part = related_part;
- break;
- }
- }
-
- g_object_unref (G_OBJECT(part));
-
- part = NULL;
- tny_iterator_next (iter);
- }
-
- g_object_unref (G_OBJECT(iter));
- g_object_unref (G_OBJECT(parts));
-
- return part;
-}
-
-
-static gboolean
-on_fetch_url (GtkWidget *widget, const gchar *uri,
- TnyStream *stream, ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv;
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
- gboolean result = FALSE;
-
- if (g_str_has_prefix (uri, "cid:")) {
- /* +4 ==> skip "cid:" */
- TnyMimePart *part = find_cid_image (priv->msg, uri + 4);
- if (!part) {
- g_printerr ("modest: '%s' not found\n", uri + 4);
- result = FALSE;
- } else {
- tny_mime_part_decode_to_stream ((TnyMimePart*)part,
- stream, NULL);
- g_object_unref (G_OBJECT(part));
- result = TRUE;
- }
- } else {
- return TRUE;
- }
-
- return result;
-}
-
-static void
-set_message (ModestMozembedMsgView *self, TnyMsg *msg, TnyMimePart *other_body)
-{
- TnyMimePart *body;
- ModestMozembedMsgViewPrivate *priv;
- TnyHeader *header;
-
- g_return_if_fail (self);
-
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE(self);
- gtk_widget_set_no_show_all (priv->mail_header_view, FALSE);
-
- if (msg != priv->msg) {
- if (priv->msg)
- g_object_unref (G_OBJECT(priv->msg));
- if (msg)
- g_object_ref (G_OBJECT(msg));
- priv->msg = msg;
- }
-
- if (!msg) {
- tny_header_view_clear (TNY_HEADER_VIEW (priv->mail_header_view));
- modest_attachments_view_set_message (MODEST_ATTACHMENTS_VIEW (priv->attachments_view), NULL);
- gtk_widget_hide_all (priv->mail_header_view);
- gtk_widget_hide_all (priv->attachments_box);
- gtk_widget_set_no_show_all (priv->mail_header_view, TRUE);
- tny_mime_part_view_clear (TNY_MIME_PART_VIEW (priv->body_view));
- return;
- }
-
- header = tny_msg_get_header (msg);
- tny_header_view_set_header (TNY_HEADER_VIEW (priv->mail_header_view), header);
- g_object_unref (header);
-
- modest_attachments_view_set_message (MODEST_ATTACHMENTS_VIEW(priv->attachments_view),
- other_body?NULL:msg);
-
- if (other_body) {
- body = other_body;
- g_object_ref (body);
- } else {
- body = modest_tny_msg_find_body_part (msg, TRUE);
- }
-
- if (body) {
- tny_mime_part_view_set_part (TNY_MIME_PART_VIEW (priv->body_view), body);
-
- if(modest_attachments_view_has_attachments (MODEST_ATTACHMENTS_VIEW (priv->attachments_view))) {
- gtk_widget_show_all (priv->attachments_box);
- } else {
- gtk_widget_hide_all (priv->attachments_box);
- }
-
- } else
- tny_mime_part_view_clear (TNY_MIME_PART_VIEW (priv->body_view));
-
- gtk_widget_show (priv->body_view);
- gtk_widget_set_no_show_all (priv->attachments_box, TRUE);
- gtk_widget_show_all (priv->mail_header_view);
- gtk_widget_set_no_show_all (priv->attachments_box, FALSE);
- gtk_widget_set_no_show_all (priv->mail_header_view, TRUE);
-
-}
-
-static void
-set_header (ModestMozembedMsgView *self, TnyHeader *header)
-{
- ModestMozembedMsgViewPrivate *priv;
-
- g_return_if_fail (self);
-
- if (header == NULL)
- set_message (self, NULL, NULL);
-
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE(self);
- gtk_widget_set_no_show_all (priv->mail_header_view, FALSE);
-
- if (priv->msg)
- g_object_unref (G_OBJECT(priv->msg));
- priv->msg = NULL;
-
- tny_header_view_set_header (TNY_HEADER_VIEW (priv->mail_header_view), header);
- modest_attachments_view_set_message (MODEST_ATTACHMENTS_VIEW (priv->attachments_view), NULL);
- gtk_widget_show_all (priv->mail_header_view);
- gtk_widget_hide_all (priv->attachments_box);
- gtk_widget_set_no_show_all (priv->mail_header_view, TRUE);
- tny_mime_part_view_clear (TNY_MIME_PART_VIEW (priv->body_view));
-}
-
-
-static TnyMsg*
-get_message (ModestMozembedMsgView *self)
-{
- TnyMsg *msg;
-
- g_return_val_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self), NULL);
-
- msg = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE(self)->msg;
-
- if (msg)
- g_object_ref (msg);
-
- return msg;
-}
-
-static gboolean
-is_empty (ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- return modest_mime_part_view_is_empty (MODEST_MIME_PART_VIEW (priv->body_view));
-}
-
-static void
-set_zoom (ModestMozembedMsgView *self, gdouble zoom)
-{
- ModestMozembedMsgViewPrivate *priv;
-
- g_return_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self));
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- modest_zoomable_set_zoom (MODEST_ZOOMABLE(priv->body_view), zoom);
-
- gtk_widget_queue_resize (priv->body_view);
-}
-
-static gdouble
-get_zoom (ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv;
-
- g_return_val_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self), 1.0);
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- return modest_zoomable_get_zoom (MODEST_ZOOMABLE (priv->body_view));
-}
-
-static TnyHeaderFlags
-get_priority (ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv;
-
- g_return_val_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self), 0);
-
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- return modest_mail_header_view_get_priority (MODEST_MAIL_HEADER_VIEW (priv->mail_header_view));
-}
-
-static void
-set_priority (ModestMozembedMsgView *self, TnyHeaderFlags flags)
-{
- ModestMozembedMsgViewPrivate *priv;
-
- g_return_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self));
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- modest_mail_header_view_set_priority (MODEST_MAIL_HEADER_VIEW (priv->mail_header_view), flags);
-}
-
-/* INCREMENTAL SEARCH IMPLEMENTATION */
-
-static gboolean
-search (ModestMozembedMsgView *self, const gchar *search)
-{
- ModestMozembedMsgViewPrivate *priv;
- gboolean result;
-
- g_return_val_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self), FALSE);
-
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
- result = modest_isearch_view_search (MODEST_ISEARCH_VIEW (priv->body_view),
- search);
-
- return result;
-}
-
-static gboolean
-search_next (ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv;
- gboolean result;
-
- g_return_val_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self), FALSE);
-
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
- result = modest_isearch_view_search_next (MODEST_ISEARCH_VIEW (priv->body_view));
-
- return result;
-}
-
-static TnyList *
-get_selected_attachments (ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv;
-
- g_return_val_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self), NULL);
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- return modest_attachments_view_get_selection (MODEST_ATTACHMENTS_VIEW (priv->attachments_view));
-
-}
-
-static TnyList *
-get_attachments (ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv;
-
- g_return_val_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self), NULL);
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- return modest_attachments_view_get_attachments (MODEST_ATTACHMENTS_VIEW (priv->attachments_view));
-
-}
-
-static void
-grab_focus (ModestMozembedMsgView *self)
-{
- ModestMozembedMsgViewPrivate *priv = NULL;
-
- g_return_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self));
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- gtk_widget_grab_focus (priv->body_view);
-}
-
-static void
-remove_attachment (ModestMozembedMsgView *self, TnyMimePart *attachment)
-{
- ModestMozembedMsgViewPrivate *priv;
-
- g_return_if_fail (MODEST_IS_MOZEMBED_MSG_VIEW (self));
- g_return_if_fail (TNY_IS_MIME_PART (attachment));
- priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
-
- modest_attachments_view_remove_attachment (MODEST_ATTACHMENTS_VIEW (priv->attachments_view),
- attachment);
-
-}
-
-/* TNY HEADER VIEW IMPLEMENTATION */
-
-static void
-tny_header_view_init (gpointer g, gpointer iface_data)
-{
- TnyHeaderViewIface *klass = (TnyHeaderViewIface *)g;
-
- klass->set_header = modest_msg_view_set_header;
- klass->clear = modest_msg_view_clear_header;
-
- return;
-}
-
-static void
-modest_msg_view_set_header (TnyHeaderView *self, TnyHeader *header)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_header_func (self, header);
-}
-
-
-static void
-modest_msg_view_set_header_default (TnyHeaderView *self, TnyHeader *header)
-{
- set_header (MODEST_MOZEMBED_MSG_VIEW (self), header);
-}
-
-static void
-modest_msg_view_clear_header (TnyHeaderView *self)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->clear_header_func (self);
-}
-
-
-static void
-modest_msg_view_clear_header_default (TnyHeaderView *self)
-{
- set_message (MODEST_MOZEMBED_MSG_VIEW (self), NULL, NULL);
-}
-
-/* TNY MSG IMPLEMENTATION */
-
-static void
-tny_msg_view_init (gpointer g, gpointer iface_data)
-{
- TnyMsgViewIface *klass = (TnyMsgViewIface *)g;
-
- klass->get_msg = modest_msg_view_get_msg;
- klass->set_msg = modest_msg_view_set_msg;
- klass->set_unavailable = modest_msg_view_set_unavailable;
- klass->clear = modest_msg_view_clear;
- klass->create_mime_part_view_for = modest_msg_view_create_mime_part_view_for;
- klass->create_new_inline_viewer = modest_msg_view_create_new_inline_viewer;
-
- return;
-}
-
-static TnyMsg *
-modest_msg_view_get_msg (TnyMsgView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->get_msg_func (self);
-}
-
-static TnyMsg *
-modest_msg_view_get_msg_default (TnyMsgView *self)
-{
- return TNY_MSG (tny_mime_part_view_get_part (TNY_MIME_PART_VIEW (self)));
-}
-
-static void
-modest_msg_view_set_msg (TnyMsgView *self, TnyMsg *msg)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_msg_func (self, msg);
-}
-
-static void
-modest_msg_view_set_msg_default (TnyMsgView *self, TnyMsg *msg)
-{
-
- tny_mime_part_view_set_part (TNY_MIME_PART_VIEW (self), TNY_MIME_PART (msg));
-
- return;
-}
-
-static void
-modest_msg_view_set_unavailable (TnyMsgView *self)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_unavailable_func (self);
-}
-
-static void
-modest_msg_view_set_unavailable_default (TnyMsgView *self)
-{
- tny_msg_view_clear (self);
-
- return;
-}
-
-static void
-modest_msg_view_clear (TnyMsgView *self)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->clear_func (self);
-}
-
-static void
-modest_msg_view_clear_default (TnyMsgView *self)
-{
- set_message (MODEST_MOZEMBED_MSG_VIEW (self), NULL, NULL);
-}
-
-static TnyMimePartView*
-modest_msg_view_create_mime_part_view_for (TnyMsgView *self, TnyMimePart *part)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->create_mime_part_view_for_func (self, part);
-}
-
-static TnyMimePartView*
-modest_msg_view_create_mime_part_view_for_default (TnyMsgView *self, TnyMimePart *part)
-{
- g_warning ("modest_msg_view_create_mime_part_view_for_default is not implemented");
- return NULL;
-}
-
-static TnyMsgView*
-modest_msg_view_create_new_inline_viewer (TnyMsgView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->create_new_inline_viewer_func (self);
-}
-
-static TnyMsgView*
-modest_msg_view_create_new_inline_viewer_default (TnyMsgView *self)
-{
- g_warning ("modest_msg_view_create_new_inline_viewer_default is not implemented");
-
- return NULL;
-}
-
-/* TNY MIME PART IMPLEMENTATION */
-
-static void
-tny_mime_part_view_init (gpointer g, gpointer iface_data)
-{
- TnyMimePartViewIface *klass = (TnyMimePartViewIface *)g;
-
- klass->get_part = modest_msg_view_mp_get_part;
- klass->set_part = modest_msg_view_mp_set_part;
- klass->clear = modest_msg_view_mp_clear;
-
- return;
-}
-
-static TnyMimePart*
-modest_msg_view_mp_get_part (TnyMimePartView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->get_part_func (self);
-}
-
-
-static TnyMimePart*
-modest_msg_view_mp_get_part_default (TnyMimePartView *self)
-{
- return TNY_MIME_PART (get_message (MODEST_MOZEMBED_MSG_VIEW (self)));
-}
-
-static void
-modest_msg_view_mp_set_part (TnyMimePartView *self,
- TnyMimePart *part)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_part_func (self, part);
-}
-
-static void
-modest_msg_view_mp_set_part_default (TnyMimePartView *self,
- TnyMimePart *part)
-{
- g_return_if_fail ((part == NULL) || TNY_IS_MSG (part));
-
- set_message (MODEST_MOZEMBED_MSG_VIEW (self), TNY_MSG (part), NULL);
-}
-
-static void
-modest_msg_view_mp_clear (TnyMimePartView *self)
-{
- tny_msg_view_clear (TNY_MSG_VIEW (self));
-}
-
-/* MODEST MIME PART VIEW IMPLEMENTATION */
-
-static void
-modest_mime_part_view_init (gpointer g, gpointer iface_data)
-{
- ModestMimePartViewIface *klass = (ModestMimePartViewIface *)g;
-
- klass->is_empty_func = modest_msg_view_mp_is_empty;
-
- return;
-}
-
-static gboolean
-modest_msg_view_mp_is_empty (ModestMimePartView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->is_empty_func (self);
-}
-
-static gboolean
-modest_msg_view_mp_is_empty_default (ModestMimePartView *self)
-{
- return is_empty (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-/* MODEST ZOOMABLE IMPLEMENTATION */
-static void
-modest_zoomable_init (gpointer g, gpointer iface_data)
-{
- ModestZoomableIface *klass = (ModestZoomableIface *)g;
-
- klass->get_zoom_func = modest_msg_view_get_zoom;
- klass->set_zoom_func = modest_msg_view_set_zoom;
- klass->zoom_minus_func = modest_msg_view_zoom_minus;
- klass->zoom_plus_func = modest_msg_view_zoom_plus;
-
- return;
-}
-
-static gdouble
-modest_msg_view_get_zoom (ModestZoomable *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->get_zoom_func (self);
-}
-
-static gdouble
-modest_msg_view_get_zoom_default (ModestZoomable *self)
-{
- return get_zoom (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-static void
-modest_msg_view_set_zoom (ModestZoomable *self, gdouble value)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_zoom_func (self, value);
-}
-
-static void
-modest_msg_view_set_zoom_default (ModestZoomable *self, gdouble value)
-{
- set_zoom (MODEST_MOZEMBED_MSG_VIEW (self), value);
-}
-
-static gboolean
-modest_msg_view_zoom_minus (ModestZoomable *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->zoom_minus_func (self);
-}
-
-static gboolean
-modest_msg_view_zoom_minus_default (ModestZoomable *self)
-{
- /* operation not supported in ModestMsgView */
- return FALSE;
-}
-
-static gboolean
-modest_msg_view_zoom_plus (ModestZoomable *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->zoom_plus_func (self);
-}
-
-static gboolean
-modest_msg_view_zoom_plus_default (ModestZoomable *self)
-{
- /* operation not supported in ModestMsgView */
- return FALSE;
-}
-
-/* MODEST ISEARCH VIEW IMPLEMENTATION */
-static void
-modest_isearch_view_init (gpointer g, gpointer iface_data)
-{
- ModestISearchViewIface *klass = (ModestISearchViewIface *)g;
-
- klass->search_func = modest_msg_view_search;
- klass->search_next_func = modest_msg_view_search_next;
-
- return;
-}
-
-static gboolean
-modest_msg_view_search (ModestISearchView *self, const gchar *string)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->search_func (self, string);
-}
-
-static gboolean
-modest_msg_view_search_default (ModestISearchView *self, const gchar *string)
-{
- return search (MODEST_MOZEMBED_MSG_VIEW (self), string);
-}
-
-static gboolean
-modest_msg_view_search_next (ModestISearchView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->search_next_func (self);
-}
-
-static gboolean
-modest_msg_view_search_next_default (ModestISearchView *self)
-{
- return search_next (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-/* MODEST MSG VIEW IMPLEMENTATION */
-static void
-modest_msg_view_init (gpointer g, gpointer iface_data)
-{
- ModestMsgViewIface *klass = (ModestMsgViewIface *)g;
-
- klass->set_msg_with_other_body_func = modest_mozembed_msg_view_set_msg_with_other_body;
- klass->get_vadjustment_func = modest_mozembed_msg_view_get_vadjustment;
- klass->get_hadjustment_func = modest_mozembed_msg_view_get_hadjustment;
- klass->set_vadjustment_func = modest_mozembed_msg_view_set_vadjustment;
- klass->set_hadjustment_func = modest_mozembed_msg_view_set_hadjustment;
- klass->set_shadow_type_func = modest_mozembed_msg_view_set_shadow_type;
- klass->get_shadow_type_func = modest_mozembed_msg_view_get_shadow_type;
- klass->get_priority_func = modest_mozembed_msg_view_get_priority;
- klass->set_priority_func = modest_mozembed_msg_view_set_priority;
- klass->get_selected_attachments_func = modest_mozembed_msg_view_get_selected_attachments;
- klass->get_attachments_func = modest_mozembed_msg_view_get_attachments;
- klass->grab_focus_func = modest_mozembed_msg_view_grab_focus;
- klass->remove_attachment_func = modest_mozembed_msg_view_remove_attachment;
- klass->request_fetch_images_func = modest_mozembed_msg_view_request_fetch_images;
- klass->set_branding_func = modest_mozembed_msg_view_set_branding;
- klass->has_blocked_external_images_func = modest_mozembed_msg_view_has_blocked_external_images;
-
- return;
-}
-
-static void
-modest_mozembed_msg_view_set_msg_with_other_body (ModestMsgView *self, TnyMsg *msg, TnyMimePart *other_body)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_msg_with_other_body_func (self, msg, other_body);
-}
-
-static void
-modest_mozembed_msg_view_set_msg_with_other_body_default (ModestMsgView *self, TnyMsg *msg, TnyMimePart *other_body)
-{
- set_message (MODEST_MOZEMBED_MSG_VIWE (self), msg, other_body);
-}
-
-static GtkAdjustment*
-modest_mozembed_msg_view_get_vadjustment (ModestMsgView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->get_vadjustment_func (self);
-}
-
-static GtkAdjustment*
-modest_mozembed_msg_view_get_vadjustment_default (ModestMsgView *self)
-{
- return get_vadjustment (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-static GtkAdjustment*
-modest_mozembed_msg_view_get_hadjustment (ModestMsgView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->get_hadjustment_func (self);
-}
-
-static GtkAdjustment*
-modest_mozembed_msg_view_get_hadjustment_default (ModestMsgView *self)
-{
- return get_hadjustment (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-static void
-modest_mozembed_msg_view_set_vadjustment (ModestMsgView *self, GtkAdjustment *adj)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_vadjustment_func (self, adj);
-}
-
-static void
-modest_mozembed_msg_view_set_vadjustment_default (ModestMsgView *self, GtkAdjustment *adj)
-{
- set_vadjustment (MODEST_MOZEMBED_MSG_VIEW (self), adj);
-}
-
-static void
-modest_mozembed_msg_view_set_hadjustment (ModestMsgView *self, GtkAdjustment *adj)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_hadjustment_func (self, adj);
-}
-
-static void
-modest_mozembed_msg_view_set_hadjustment_default (ModestMsgView *self, GtkAdjustment *adj)
-{
- set_hadjustment (MODEST_MOZEMBED_MSG_VIEW (self), adj);
-}
-
-static void
-modest_mozembed_msg_view_set_shadow_type (ModestMsgView *self, GtkShadowType type)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_shadow_type_func (self, type);
-}
-
-static void
-modest_mozembed_msg_view_set_shadow_type_default (ModestMsgView *self, GtkShadowType type)
-{
- set_shadow_type (MODEST_MOZEMBED_MSG_VIEW (self), type);
-}
-
-static GtkShadowType
-modest_mozembed_msg_view_get_shadow_type (ModestMsgView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->get_shadow_type_func (self);
-}
-
-static GtkShadowType
-modest_mozembed_msg_view_get_shadow_type_default (ModestMsgView *self)
-{
- return get_shadow_type (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-static void
-modest_mozembed_msg_view_set_priority (ModestMsgView *self, TnyHeaderFlags flags)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_priority_func (self, flags);
-}
-
-static void
-modest_mozembed_msg_view_set_priority_default (ModestMsgView *self, TnyHeaderFlags flags)
-{
- set_priority (MODEST_MOZEMBED_MSG_VIEW (self), flags);
-}
-
-static TnyHeaderFlags
-modest_mozembed_msg_view_get_priority (ModestMsgView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->get_priority_func (self);
-}
-
-static TnyHeaderFlags
-modest_mozembed_msg_view_get_priority_default (ModestMsgView *self)
-{
- return get_priority (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-static TnyList*
-modest_mozembed_msg_view_get_selected_attachments (ModestMsgView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->get_selected_attachments_func (self);
-}
-
-static TnyList*
-modest_mozembed_msg_view_get_selected_attachments_default (ModestMsgView *self)
-{
- return get_selected_attachments (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-static TnyList*
-modest_mozembed_msg_view_get_attachments (ModestMsgView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->get_attachments_func (self);
-}
-
-static TnyList*
-modest_mozembed_msg_view_get_attachments_default (ModestMsgView *self)
-{
- return get_attachments (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-static void
-modest_mozembed_msg_view_grab_focus (ModestMsgView *self)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->grab_focus_func (self);
-}
-
-static void
-modest_mozembed_msg_view_grab_focus_default (ModestMsgView *self)
-{
- grab_focus (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-static void
-modest_mozembed_msg_view_remove_attachment (ModestMsgView *self, TnyMimePart *attachment)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->remove_attachment_func (self, attachment);
-}
-
-static void
-modest_mozembed_msg_view_remove_attachment_default (ModestMsgView *self, TnyMimePart *attachment)
-{
- remove_attachment (MODEST_MOZEMBED_MSG_VIEW (self), attachment);
-}
-
-static void
-modest_mozembed_msg_view_request_fetch_images (ModestMsgView *self)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->request_fetch_images_func (self);
-}
-
-static void
-modest_mozembed_msg_view_request_fetch_images_default (ModestMsgView *self)
-{
- request_fetch_images (MODEST_MOZEMBED_MSG_VIEW (self));
-}
-
-static void
-modest_mozembed_msg_view_set_branding (ModestMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
-{
- MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_branding_func (self, brand_name, brand_icon);
-}
-
-static void
-modest_mozembed_msg_view_set_branding_default (ModestMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
-{
- set_branding (MODEST_MOZEMBED_MSG_VIEW (self), brand_name, brand_icon);
-}
-
-static gboolean
-modest_mozembed_msg_view_has_blocked_external_images (ModestMsgView *self)
-{
- return MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->has_blocked_external_images_func (self);
-}
-
-static gboolean
-modest_mozembed_msg_view_has_blocked_external_images_default (ModestMsgView *self)
-{
- return has_blocked_external_images (MODEST_MOZEMBED_MSG_VIEW (self));
-}