[Commits] [SCM] claws branch, master, updated. 3.12.0-96-g3c64fb6
claws at claws-mail.org
claws at claws-mail.org
Fri Oct 2 09:56:05 CEST 2015
The branch, master has been updated
via 3c64fb648dbb155c971fd0108f40fee7a36d2cb1 (commit)
from 76b854fd5e98f225dcee88f17cddebe72ace6683 (commit)
Summary of changes:
configure.ac | 31 -
manual/es/plugins.xml | 9 -
manual/fr/plugins.xml | 9 -
manual/plugins.xml | 9 -
po/POTFILES.in | 1 -
src/plugins/Makefile.am | 1 -
src/plugins/geolocation/Makefile.am | 30 -
src/plugins/geolocation/earth.svg | 980 --------------------------
src/plugins/geolocation/geolocation_plugin.c | 903 ------------------------
src/plugins/geolocation/pixmap_earth.h | 123 ----
10 files changed, 2096 deletions(-)
delete mode 100644 src/plugins/geolocation/Makefile.am
delete mode 100644 src/plugins/geolocation/earth.svg
delete mode 100644 src/plugins/geolocation/geolocation_plugin.c
delete mode 100644 src/plugins/geolocation/pixmap_earth.h
- Log -----------------------------------------------------------------
commit 3c64fb648dbb155c971fd0108f40fee7a36d2cb1
Author: Paul <paul at claws-mail.org>
Date: Fri Oct 2 08:56:00 2015 +0100
remove dead GeoLocation plugin
diff --git a/configure.ac b/configure.ac
index b13b6d1..98f9273 100644
--- a/configure.ac
+++ b/configure.ac
@@ -971,10 +971,6 @@ AC_ARG_ENABLE(gdata-plugin,
[ --disable-gdata-plugin Do not build gdata plugin],
[enable_gdata_plugin=$enableval], [enable_gdata_plugin=auto])
-AC_ARG_ENABLE(geolocation-plugin,
- [ --disable-geolocation-plugin Do not build geolocation plugin],
- [enable_geolocation_plugin=$enableval], [enable_geolocation_plugin=auto])
-
AC_ARG_ENABLE(libravatar-plugin,
[ --disable-libravatar-plugin Do not build libravatar plugin],
[enable_libravatar_plugin=$enableval], [enable_libravatar_plugin=auto])
@@ -1463,31 +1459,6 @@ else
AC_MSG_RESULT(no)
fi
-AC_MSG_CHECKING([whether to build geolocation plugin])
-if test x"$enable_geolocation_plugin" != xno; then
- dependencies_missing=""
-
- if test x"$HAVE_CHAMPLAIN" = xno; then
- dependencies_missing="libchamplain $dependencies_missing"
- fi
-
- if test x"$dependencies_missing" = x; then
- PLUGINS="$PLUGINS geolocation"
- AC_MSG_RESULT(yes)
- elif test x"$enable_geolocation_plugin" = xauto; then
- AC_MSG_RESULT(no)
- AC_MSG_WARN("Plugin geolocation will not be built; missing $dependencies_missing")
- enable_geolocation_plugin=no
- MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS geolocation"
- else
- AC_MSG_RESULT(no)
- AC_MSG_ERROR("Plugin geolocation cannot be built; missing $dependencies_missing")
- fi
-else
- DISABLED_PLUGINS="$DISABLED_PLUGINS geolocation"
- AC_MSG_RESULT(no)
-fi
-
AC_MSG_CHECKING([whether to build libravatar plugin])
if test x"$enable_libravatar_plugin" != xno; then
dependencies_missing=""
@@ -1881,7 +1852,6 @@ AM_CONDITIONAL(BUILD_DEMO_PLUGIN, test x"$enable_demo_plugin" != xno)
AM_CONDITIONAL(BUILD_FANCY_PLUGIN, test x"$enable_fancy_plugin" != xno)
AM_CONDITIONAL(BUILD_FETCHINFO_PLUGIN, test x"$enable_fetchinfo_plugin" != xno)
AM_CONDITIONAL(BUILD_GDATA_PLUGIN, test x"$enable_gdata_plugin" != xno)
-AM_CONDITIONAL(BUILD_GEOLOCATION_PLUGIN, test x"$enable_geolocation_plugin" != xno)
AM_CONDITIONAL(BUILD_LIBRAVATAR_PLUGIN, test x"$enable_libravatar_plugin" != xno)
AM_CONDITIONAL(BUILD_MAILMBOX_PLUGIN, test x"$enable_mailmbox_plugin" != xno)
AM_CONDITIONAL(BUILD_MANAGESIEVE_PLUGIN, test x"$enable_managesieve_plugin" != xno)
@@ -1930,7 +1900,6 @@ src/plugins/demo/Makefile
src/plugins/fancy/Makefile
src/plugins/fetchinfo/Makefile
src/plugins/gdata/Makefile
-src/plugins/geolocation/Makefile
src/plugins/libravatar/Makefile
src/plugins/mailmbox/Makefile
src/plugins/managesieve/Makefile
diff --git a/manual/es/plugins.xml b/manual/es/plugins.xml
index 99f8c14..535a99f 100644
--- a/manual/es/plugins.xml
+++ b/manual/es/plugins.xml
@@ -174,15 +174,6 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>GeoLocalización</term>
- <listitem>
- <para>
- Proporciona funciones de localización geográfica a partir de las
- direcciones IP contenidas en los mensajes.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term>Libravatar</term>
<listitem>
<para>
diff --git a/manual/fr/plugins.xml b/manual/fr/plugins.xml
index 81b2555..87682b1 100644
--- a/manual/fr/plugins.xml
+++ b/manual/fr/plugins.xml
@@ -166,15 +166,6 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>GeoLocation</term>
- <listitem>
- <para>
- Fournit une géo-localisation basée sur les adresses IP contenues dans le
- message.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term>Libravatar</term>
<listitem>
<para>
diff --git a/manual/plugins.xml b/manual/plugins.xml
index 460f3f9..421e6df 100644
--- a/manual/plugins.xml
+++ b/manual/plugins.xml
@@ -164,15 +164,6 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>GeoLocation</term>
- <listitem>
- <para>
- Provides geolocation functionality based on the IP addresses contained
- in the messages.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term>Libravatar</term>
<listitem>
<para>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index bea9815..f69e929 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -109,7 +109,6 @@ src/plugins/fetchinfo/fetchinfo_plugin_gtk.c
src/plugins/gdata/cm_gdata_contacts.c
src/plugins/gdata/cm_gdata_prefs.c
src/plugins/gdata/gdata_plugin.c
-src/plugins/geolocation/geolocation_plugin.c
src/plugins/libravatar/libravatar.c
src/plugins/libravatar/libravatar_prefs.c
src/plugins/mailmbox/mailmbox_folder.c
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index 53abd25..6acc1fb 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -16,7 +16,6 @@ SUBDIRS = \
fancy \
fetchinfo \
gdata \
- geolocation \
libravatar \
mailmbox \
managesieve \
diff --git a/src/plugins/geolocation/Makefile.am b/src/plugins/geolocation/Makefile.am
deleted file mode 100644
index 6a89031..0000000
--- a/src/plugins/geolocation/Makefile.am
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2014 the Claws Mail team.
-# This file is part of Claws Mail package, and distributed under the
-# terms of the General Public License version 3 (or later).
-# See COPYING file for license details.
-
-plugindir = $(pkglibdir)/plugins
-
-if BUILD_GEOLOCATION_PLUGIN
-plugin_LTLIBRARIES = geolocation.la
-endif
-
-geolocation_la_SOURCES = \
- geolocation_plugin.c \
- pixmap_earth.h
-
-geolocation_la_LDFLAGS = \
- -avoid-version -module \
- $(GTK_LIBS) \
- $(LIBSOUP_LIBS) \
- $(CHAMPLAIN_LIBS)
-
-geolocation_la_CPPFLAGS = \
- -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/common \
- -I$(top_builddir)/src/common \
- -I$(top_srcdir)/src/gtk \
- $(GLIB_CFLAGS) \
- $(GTK_CFLAGS) \
- $(LIBSOUP_CFLAGS) \
- $(CHAMPLAIN_CFLAGS)
diff --git a/src/plugins/geolocation/earth.svg b/src/plugins/geolocation/earth.svg
deleted file mode 100644
index 309eff7..0000000
--- a/src/plugins/geolocation/earth.svg
+++ /dev/null
@@ -1,980 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg3440"
- sodipodi:version="0.32"
- inkscape:version="0.42+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
- sodipodi:docname="internet-web-browser.svg">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient4750">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4752" />
- <stop
- style="stop-color:#fefefe;stop-opacity:1.0000000;"
- offset="0.37931034"
- id="stop4758" />
- <stop
- style="stop-color:#1d1d1d;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop4754" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4350">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4352" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4354" />
- </linearGradient>
- <linearGradient
- id="linearGradient4126">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop4128" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.16494845;"
- offset="1.0000000"
- id="stop4130" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4114">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4116" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4118" />
- </linearGradient>
- <linearGradient
- id="linearGradient3962">
- <stop
- style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop3964" />
- <stop
- style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
- offset="0.15517241"
- id="stop4134" />
- <stop
- style="stop-color:#4074ae;stop-opacity:1.0000000;"
- offset="0.75000000"
- id="stop4346" />
- <stop
- style="stop-color:#36486c;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop3966" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3962"
- id="radialGradient3968"
- gradientTransform="scale(0.999989,1.000011)"
- cx="18.247644"
- cy="15.716079"
- fx="18.247644"
- fy="15.716079"
- r="29.993349"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4114"
- id="radialGradient4120"
- gradientTransform="scale(1.643990,0.608276)"
- cx="15.115514"
- cy="63.965388"
- fx="15.115514"
- fy="63.965388"
- r="12.289036"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4126"
- id="radialGradient4132"
- gradientTransform="scale(0.999989,1.000011)"
- cx="15.601279"
- cy="12.142302"
- fx="15.601279"
- fy="12.142302"
- r="43.526714"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4350"
- id="radialGradient4356"
- gradientTransform="scale(1.179536,0.847791)"
- cx="11.826907"
- cy="10.476453"
- fx="11.826907"
- fy="10.476453"
- r="32.664848"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4750"
- id="radialGradient4756"
- gradientTransform="scale(1.036822,0.964486)"
- cx="18.633780"
- cy="17.486208"
- fx="18.934305"
- fy="17.810213"
- r="40.692665"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1460"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1462"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1466"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1468"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1470"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1474"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1476"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1478"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1482"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1484"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1486"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1490"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1492"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1494"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1498"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1500"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1502"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1506"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1508"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1510"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1514"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1516"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1518"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1522"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1524"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1526"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1528"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1530"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1532"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1534"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1536"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1538"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1540"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1542"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1544"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1546"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1550"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1552"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1554"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1558"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.17254902"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="9.8994949"
- inkscape:cx="25.799661"
- inkscape:cy="24.622653"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="770"
- inkscape:window-height="695"
- inkscape:window-x="472"
- inkscape:window-y="167"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Globe</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Tuomas Kuosmanen</dc:title>
- </cc:Agent>
- </dc:contributor>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>globe</rdf:li>
- <rdf:li>international</rdf:li>
- <rdf:li>web</rdf:li>
- <rdf:li>www</rdf:li>
- <rdf:li>internet</rdf:li>
- <rdf:li>network</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="fill:url(#radialGradient4120);fill-opacity:1.0000000;stroke:none;stroke-opacity:1.0000000"
- id="path4112"
- sodipodi:cx="24.849752"
- sodipodi:cy="38.908627"
- sodipodi:rx="20.203051"
- sodipodi:ry="7.4751287"
- d="M 45.052803 38.908627 A 20.203051 7.4751287 0 1 1 4.6467018,38.908627 A 20.203051 7.4751287 0 1 1 45.052803 38.908627 z"
- transform="matrix(1.000000,0.000000,0.000000,1.243244,0.000000,-10.27241)" />
- <path
- style="fill:url(#radialGradient3968);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#39396c;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 43.959853,23.485499 C 43.959853,34.195217 35.277750,42.877222 24.569505,42.877222 C 13.860279,42.877222 5.1786663,34.195119 5.1786663,23.485499 C 5.1786663,12.776272 13.860279,4.0951517 24.569505,4.0951517 C 35.277750,4.0951517 43.959853,12.776272 43.959853,23.485499 L 43.959853,23.485499 z "
- id="path3214" />
- <path
- sodipodi:type="arc"
- style="opacity:0.42159382;fill:url(#radialGradient4356);fill-opacity:1.0000000;stroke:none;stroke-opacity:1.0000000"
- id="path4348"
- sodipodi:cx="17.778685"
- sodipodi:cy="15.271057"
- sodipodi:rx="12.929953"
- sodipodi:ry="9.2934036"
- d="M 30.708637 15.271057 A 12.929953 9.2934036 0 1 1 4.8487320,15.271057 A 12.929953 9.2934036 0 1 1 30.708637 15.271057 z"
- transform="matrix(0.835938,0.000000,0.000000,1.000000,9.886868,0.000000)" />
- <g
- id="g4136"
- style="fill:#000000;fill-opacity:0.71345031;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
- transform="matrix(0.982371,0.000000,0.000000,0.982371,0.121079,0.232914)">
- <g
- id="g4138">
- <g
- id="g4142">
- <path
- d="M 44.071300,20.714400 C 44.071300,20.977100 44.071300,20.714400 44.071300,20.714400 L 43.526400,21.331600 C 43.192400,20.938000 42.817400,20.607000 42.436600,20.261300 L 41.600700,20.384300 L 40.837000,19.521000 L 40.837000,20.589400 L 41.491300,21.084500 L 41.926800,21.577700 L 42.508800,20.919500 C 42.655300,21.193900 42.799800,21.468300 42.945300,21.742700 L 42.945300,22.565000 L 42.290000,23.305200 L 41.090800,24.128400 L 40.182600,25.034700 L 39.600600,24.374500 L 39.891600,23.634300 L 39.310500,22.976100 L 38.329100,20.878400 L 37.493200,19.933100 L 37.274400,20.179200 L 37.602500,21.372600 L 38.219700,22.071800 C 38.572200,23.089400 38.920900,24.062000 39.383800,25.034700 C 40.101600,25.034700 40.778300,24.958500 41.491200,24.868700 L 41.491200,25.444900 L 40.619100,27.584100 L 39.819300,28.488400 L 39.165000,29.888800 C 39.165000,30.656400 39.165000,31.424000 39.165000,32.191500 L 39.383800,33.097800 L 39.020500,33.508000 L 38.219700,34.002100 L 37.383800,34.701300 L 38.075200,35.482600 L 37.129900,36.306800 L 37.311500,36.840000 L 35.893500,38.445500 L 34.949200,38.445500 L 34.149400,38.939600 L 33.639600,38.939600 L 33.639600,38.281400 L 33.422800,36.963000 C 33.141500,36.136800 32.848600,35.316500 32.550700,34.496200 C 32.550700,33.890700 32.586800,33.291100 32.623000,32.685700 L 32.987300,31.863400 L 32.477500,30.875100 L 32.514600,29.517700 L 31.823200,28.736400 L 32.168900,27.605500 L 31.606400,26.967300 L 30.624000,26.967300 L 30.296900,26.597200 L 29.315500,27.214900 L 28.916100,26.761300 L 28.006900,27.543000 C 27.389700,26.843300 26.771500,26.144100 26.153400,25.444900 L 25.426800,23.716400 L 26.081100,22.730100 L 25.717800,22.319000 L 26.516600,20.425400 C 27.172900,19.609000 27.858400,18.825800 28.551800,18.039700 L 29.788100,17.710600 L 31.169000,17.546500 L 32.114300,17.793600 L 33.459000,19.150000 L 33.931700,18.615800 L 34.585000,18.533800 L 35.821300,18.944900 L 36.766600,18.944900 L 37.420900,18.368700 L 37.711900,17.957600 L 37.056600,17.546500 L 35.965800,17.464500 C 35.663100,17.044600 35.381800,16.603200 35.022400,16.230100 L 34.658100,16.394200 L 34.512600,17.464500 L 33.858300,16.724300 L 33.713800,15.900100 L 32.987200,15.325900 L 32.695200,15.325900 L 33.422700,16.148200 L 33.131700,16.888400 L 32.550600,17.052500 L 32.913900,16.312300 L 32.258600,15.984200 L 31.678500,15.326000 L 30.586700,15.572100 L 30.442200,15.900200 L 29.787900,16.312300 L 29.424600,17.217600 L 28.516400,17.669700 L 28.116000,17.217600 L 27.680500,17.217600 L 27.680500,15.736200 L 28.625800,15.242100 L 29.352400,15.242100 L 29.205900,14.666900 L 28.625800,14.090700 L 29.606300,13.884600 L 30.151200,13.268400 L 30.586700,12.527200 L 31.387500,12.527200 L 31.168700,11.952000 L 31.678500,11.622900 L 31.678500,12.281100 L 32.768300,12.527200 L 33.858100,11.622900 L 33.931300,11.210800 L 34.875600,10.553100 C 34.533800,10.595600 34.192000,10.626800 33.858000,10.717700 L 33.858000,9.9766000 L 34.221300,9.1538000 L 33.858000,9.1538000 L 33.059600,9.8940000 L 32.840800,10.305600 L 33.059600,10.882300 L 32.695300,11.868600 L 32.114200,11.539500 L 31.606400,10.964300 L 30.805600,11.539500 L 30.514600,10.223600 L 31.895500,9.3188000 L 31.895500,8.8247000 L 32.768500,8.2490000 L 34.149400,7.9194000 L 35.094700,8.2490000 L 36.838800,8.5781000 L 36.403300,9.0713000 L 35.458000,9.0713000 L 36.403300,10.058600 L 37.129900,9.2363000 L 37.350600,8.8745000 C 37.350600,8.8745000 40.137700,11.372500 41.730500,14.105000 C 43.323300,16.838400 44.071300,20.060100 44.071300,20.714400 z "
- id="path4144" />
- </g>
- </g>
- <g
- id="g4146">
- <g
- id="g4150">
- <path
- d="M 26.070300,9.2363000 L 25.997100,9.7295000 L 26.506900,10.058600 L 27.378000,9.4829000 L 26.942500,8.9892000 L 26.360500,9.3188000 L 26.070500,9.2363000"
- id="path4152" />
- </g>
- </g>
- <g
- id="g4154">
- <g
- id="g4158">
- <path
- d="M 26.870100,5.8633000 L 24.979500,5.1226000 L 22.799800,5.3692000 L 20.109400,6.1094000 L 19.600600,6.6035000 L 21.272500,7.7549000 L 21.272500,8.4131000 L 20.618200,9.0713000 L 21.491200,10.800300 L 22.071300,10.470200 L 22.799800,9.3188000 C 23.922800,8.9716000 24.929700,8.5781000 25.997100,8.0844000 L 26.870100,5.8632000"
- id="path4160" />
- </g>
- </g>
- <g
- id="g4162">
- <g
- id="g4166">
- <path
- d="M 28.833000,12.774900 L 28.542000,12.033700 L 28.032200,12.198700 L 28.178700,13.103000 L 28.833000,12.774900"
- id="path4168" />
- </g>
- </g>
- <g
- id="g4170">
- <g
- id="g4174">
- <path
- d="M 29.123000,12.608900 L 28.977500,13.597200 L 29.777300,13.432200 L 30.358400,12.857000 L 29.849600,12.362900 C 29.678700,11.907800 29.482400,11.483000 29.268500,11.046500 L 28.833000,11.046500 L 28.833000,11.539700 L 29.123000,11.868800 L 29.123000,12.609000"
- id="path4176" />
- </g>
- </g>
- <g
- id="g4178">
- <g
- id="g4182">
- <path
- d="M 18.365200,28.242200 L 17.783200,27.089900 L 16.692900,26.843300 L 16.111400,25.280800 L 14.657800,25.444900 L 13.422400,24.540600 L 12.113300,25.692000 L 12.113300,25.873600 C 11.717300,25.759300 11.230500,25.743700 10.877900,25.526900 L 10.586900,24.704600 L 10.586900,23.799300 L 9.7148000,23.881300 C 9.7876000,23.305100 9.8598000,22.729900 9.9331000,22.153800 L 9.4238000,22.153800 L 8.9155000,22.812000 L 8.4062000,23.058100 L 7.6791000,22.647900 L 7.6063000,21.742600 L 7.7518000,20.755300 L 8.8426000,19.933000 L 9.7147000,19.933000 L 9.8597000,19.438900 L 10.950000,19.685000 L 11.749800,20.673300 L 11.895300,19.026800 L 13.276600,17.875400 L 13.785400,16.641000 L 14.803000,16.229900 L 15.384500,15.407600 L 16.692600,15.159600 L 17.347400,14.173300 C 16.693100,14.173300 16.038800,14.173300 15.384500,14.173300 L 16.620300,13.597100 L 17.491900,13.597100 L 18.728200,13.185000 L 18.873700,12.692800 L 18.437200,12.280700 L 17.928400,12.115700 L 18.073900,11.622500 L 17.710600,10.882300 L 16.838000,11.210400 L 16.983500,10.552700 L 15.965900,9.9765000 L 15.166600,11.374400 L 15.238900,11.868500 L 14.439600,12.198600 L 13.930300,13.267900 L 13.712500,12.280600 L 12.331200,11.704400 L 12.112900,10.964200 L 13.930300,9.8939000 L 14.730100,9.1537000 L 14.802900,8.2489000 L 14.366900,8.0018000 L 13.785400,7.9193000 L 13.422100,8.8246000 C 13.422100,8.8246000 12.814200,8.9437000 12.657900,8.9823000 C 10.661800,10.821700 6.6286000,14.792400 5.6916000,22.288500 C 5.7287000,22.462300 6.3708000,23.470100 6.3708000,23.470100 L 7.8972000,24.374400 L 9.4236000,24.786500 L 10.078400,25.609700 L 11.095500,26.349900 L 11.677000,26.267900 L 12.113000,26.464200 L 12.113000,26.597000 L 11.531900,28.160000 L 11.095400,28.818200 L 11.240900,29.148300 L 10.877600,30.380700 L 12.186200,32.767400 L 13.494300,33.919700 L 14.076300,34.742000 L 14.003100,36.470500 L 14.439600,37.456800 L 14.003100,39.349400 C 14.003100,39.349400 13.968900,39.337700 14.024600,39.527100 C 14.080800,39.716600 16.353700,40.978300 16.498200,40.870900 C 16.642200,40.761500 16.765300,40.665800 16.765300,40.665800 L 16.620300,40.255600 L 17.201400,39.679400 L 17.419700,39.103200 L 18.365000,38.773100 L 19.091600,36.962600 L 18.873800,36.470400 L 19.381600,35.730200 L 20.472400,35.482200 L 21.054400,34.165800 L 20.908900,32.521300 L 21.781000,31.286900 L 21.926500,30.052500 C 20.733100,29.460700 19.549500,28.851300 18.365000,28.242000"
- id="path4184" />
- </g>
- </g>
- <g
- id="g4186">
- <g
- id="g4190">
- <path
- d="M 16.765600,9.5649000 L 17.492200,10.058600 L 18.074200,10.058600 L 18.074200,9.4829000 L 17.347600,9.1538000 L 16.765600,9.5649000"
- id="path4192" />
- </g>
- </g>
- <g
- id="g4194">
- <g
- id="g4198">
- <path
- d="M 14.876000,8.9072000 L 14.512200,9.8120000 L 15.239300,9.8120000 L 15.603100,8.9892000 C 15.916600,8.7675000 16.228600,8.5444000 16.547900,8.3310000 L 17.275000,8.5781000 C 17.759400,8.9072000 18.243800,9.2363000 18.728600,9.5649000 L 19.456100,8.9072000 L 18.655800,8.5781000 L 18.292000,7.8374000 L 16.911100,7.6728000 L 16.838300,7.2612000 L 16.184000,7.4262000 L 15.893600,8.0020000 L 15.529800,7.2613000 L 15.384800,7.5904000 L 15.457600,8.4132000 L 14.876000,8.9072000"
- id="path4200" />
- </g>
- </g>
- <g
- id="g4202">
- <g
- style="opacity:0.75000000"
- id="g4204">
- <path
- id="path4206"
- d="" />
- </g>
- <g
- id="g4208">
- <path
- id="path4210"
- d="" />
- </g>
- </g>
- <g
- id="g4212">
- <g
- style="opacity:0.75000000"
- id="g4214">
- <path
- id="path4216"
- d="" />
- </g>
- <g
- id="g4218">
- <path
- id="path4220"
- d="" />
- </g>
- </g>
- <g
- id="g4222">
- <g
- id="g4226">
- <path
- d="M 17.492200,6.8496000 L 17.856000,6.5210000 L 18.583100,6.3564000 C 19.081100,6.1142000 19.581100,5.9511000 20.109500,5.7802000 L 19.819500,5.2865000 L 18.881000,5.4213000 L 18.437600,5.8632000 L 17.706600,5.9692000 L 17.056700,6.2744000 L 16.740800,6.4272000 L 16.547900,6.6855000 L 17.492200,6.8496000"
- id="path4228" />
- </g>
- </g>
- <g
- id="g4230">
- <g
- id="g4234">
- <path
- d="M 18.728500,14.666500 L 19.165000,14.008300 L 18.510200,13.515100 L 18.728500,14.666500"
- id="path4236" />
- </g>
- </g>
- </g>
- <g
- id="g3216"
- style="color:#000000;fill:url(#radialGradient1460);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0179454;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- transform="matrix(0.982371,0.000000,0.000000,0.982371,-8.095179e-2,3.088300e-2)">
- <g
- id="g3218"
- style="color:#000000;fill:url(#radialGradient1462);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3222"
- style="color:#000000;fill:url(#radialGradient1466);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 44.071300,20.714400 C 44.071300,20.977100 44.071300,20.714400 44.071300,20.714400 L 43.526400,21.331600 C 43.192400,20.938000 42.817400,20.607000 42.436600,20.261300 L 41.600700,20.384300 L 40.837000,19.521000 L 40.837000,20.589400 L 41.491300,21.084500 L 41.926800,21.577700 L 42.508800,20.919500 C 42.655300,21.193900 42.799800,21.468300 42.945300,21.742700 L 42.945300,22.565000 L 42.290000,23.305200 L 41.090800,24.128400 L 40.182600,25.034700 L 39.600600,24.374500 L 39.891600,23.634300 L 39.310500,22.976100 L 38.329100,20.878400 L 37.493200,19.933100 L 37.274400,20.179200 L 37.602500,21.372600 L 38.219700,22.071800 C 38.572200,23.089400 38.920900,24.062000 39.383800,25.034700 C 40.101600,25.034700 40.778300,24.958500 41.491200,24.868700 L 41.491200,25.444900 L 40.619100,27.584100 L 39.819300,28.488400 L 39.165000,29.888800 C 39.165000,30.656400 39.165000,31.424000 39.165000,32.191500 L 39.383800,33.097800 L 39.020500,33.508000 L 38.219700,34.002100 L 37.383800,34.701300 L 38.075200,35.482600 L 37.129900,36.306800 L 37.311500,36.840000 L 35.893500,38.445500 L 34.949200,38.445500 L 34.149400,38.939600 L 33.639600,38.939600 L 33.639600,38.281400 L 33.422800,36.963000 C 33.141500,36.136800 32.848600,35.316500 32.550700,34.496200 C 32.550700,33.890700 32.586800,33.291100 32.623000,32.685700 L 32.987300,31.863400 L 32.477500,30.875100 L 32.514600,29.517700 L 31.823200,28.736400 L 32.168900,27.605500 L 31.606400,26.967300 L 30.624000,26.967300 L 30.296900,26.597200 L 29.315500,27.214900 L 28.916100,26.761300 L 28.006900,27.543000 C 27.389700,26.843300 26.771500,26.144100 26.153400,25.444900 L 25.426800,23.716400 L 26.081100,22.730100 L 25.717800,22.319000 L 26.516600,20.425400 C 27.172900,19.609000 27.858400,18.825800 28.551800,18.039700 L 29.788100,17.710600 L 31.169000,17.546500 L 32.114300,17.793600 L 33.459000,19.150000 L 33.931700,18.615800 L 34.585000,18.533800 L 35.821300,18.944900 L 36.766600,18.944900 L 37.420900,18.368700 L 37.711900,17.957600 L 37.056600,17.546500 L 35.965800,17.464500 C 35.663100,17.044600 35.381800,16.603200 35.022400,16.230100 L 34.658100,16.394200 L 34.512600,17.464500 L 33.858300,16.724300 L 33.713800,15.900100 L 32.987200,15.325900 L 32.695200,15.325900 L 33.422700,16.148200 L 33.131700,16.888400 L 32.550600,17.052500 L 32.913900,16.312300 L 32.258600,15.984200 L 31.678500,15.326000 L 30.586700,15.572100 L 30.442200,15.900200 L 29.787900,16.312300 L 29.424600,17.217600 L 28.516400,17.669700 L 28.116000,17.217600 L 27.680500,17.217600 L 27.680500,15.736200 L 28.625800,15.242100 L 29.352400,15.242100 L 29.205900,14.666900 L 28.625800,14.090700 L 29.606300,13.884600 L 30.151200,13.268400 L 30.586700,12.527200 L 31.387500,12.527200 L 31.168700,11.952000 L 31.678500,11.622900 L 31.678500,12.281100 L 32.768300,12.527200 L 33.858100,11.622900 L 33.931300,11.210800 L 34.875600,10.553100 C 34.533800,10.595600 34.192000,10.626800 33.858000,10.717700 L 33.858000,9.9766000 L 34.221300,9.1538000 L 33.858000,9.1538000 L 33.059600,9.8940000 L 32.840800,10.305600 L 33.059600,10.882300 L 32.695300,11.868600 L 32.114200,11.539500 L 31.606400,10.964300 L 30.805600,11.539500 L 30.514600,10.223600 L 31.895500,9.3188000 L 31.895500,8.8247000 L 32.768500,8.2490000 L 34.149400,7.9194000 L 35.094700,8.2490000 L 36.838800,8.5781000 L 36.403300,9.0713000 L 35.458000,9.0713000 L 36.403300,10.058600 L 37.129900,9.2363000 L 37.350600,8.8745000 C 37.350600,8.8745000 40.137700,11.372500 41.730500,14.105000 C 43.323300,16.838400 44.071300,20.060100 44.071300,20.714400 z "
- id="path3224"
- style="color:#000000;fill:url(#radialGradient1468);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3226"
- style="color:#000000;fill:url(#radialGradient1470);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3230"
- style="color:#000000;fill:url(#radialGradient1474);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 26.070300,9.2363000 L 25.997100,9.7295000 L 26.506900,10.058600 L 27.378000,9.4829000 L 26.942500,8.9892000 L 26.360500,9.3188000 L 26.070500,9.2363000"
- id="path3232"
- style="color:#000000;fill:url(#radialGradient1476);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3234"
- style="color:#000000;fill:url(#radialGradient1478);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3238"
- style="color:#000000;fill:url(#radialGradient1482);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 26.870100,5.8633000 L 24.979500,5.1226000 L 22.799800,5.3692000 L 20.109400,6.1094000 L 19.600600,6.6035000 L 21.272500,7.7549000 L 21.272500,8.4131000 L 20.618200,9.0713000 L 21.491200,10.800300 L 22.071300,10.470200 L 22.799800,9.3188000 C 23.922800,8.9716000 24.929700,8.5781000 25.997100,8.0844000 L 26.870100,5.8632000"
- id="path3240"
- style="color:#000000;fill:url(#radialGradient1484);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3242"
- style="color:#000000;fill:url(#radialGradient1486);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3246"
- style="color:#000000;fill:url(#radialGradient1490);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 28.833000,12.774900 L 28.542000,12.033700 L 28.032200,12.198700 L 28.178700,13.103000 L 28.833000,12.774900"
- id="path3248"
- style="color:#000000;fill:url(#radialGradient1492);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3250"
- style="color:#000000;fill:url(#radialGradient1494);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3254"
- style="color:#000000;fill:url(#radialGradient1498);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 29.123000,12.608900 L 28.977500,13.597200 L 29.777300,13.432200 L 30.358400,12.857000 L 29.849600,12.362900 C 29.678700,11.907800 29.482400,11.483000 29.268500,11.046500 L 28.833000,11.046500 L 28.833000,11.539700 L 29.123000,11.868800 L 29.123000,12.609000"
- id="path3256"
- style="color:#000000;fill:url(#radialGradient1500);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3258"
- style="color:#000000;fill:url(#radialGradient1502);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3262"
- style="color:#000000;fill:url(#radialGradient1506);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 18.365200,28.242200 L 17.783200,27.089900 L 16.692900,26.843300 L 16.111400,25.280800 L 14.657800,25.444900 L 13.422400,24.540600 L 12.113300,25.692000 L 12.113300,25.873600 C 11.717300,25.759300 11.230500,25.743700 10.877900,25.526900 L 10.586900,24.704600 L 10.586900,23.799300 L 9.7148000,23.881300 C 9.7876000,23.305100 9.8598000,22.729900 9.9331000,22.153800 L 9.4238000,22.153800 L 8.9155000,22.812000 L 8.4062000,23.058100 L 7.6791000,22.647900 L 7.6063000,21.742600 L 7.7518000,20.755300 L 8.8426000,19.933000 L 9.7147000,19.933000 L 9.8597000,19.438900 L 10.950000,19.685000 L 11.749800,20.673300 L 11.895300,19.026800 L 13.276600,17.875400 L 13.785400,16.641000 L 14.803000,16.229900 L 15.384500,15.407600 L 16.692600,15.159600 L 17.347400,14.173300 C 16.693100,14.173300 16.038800,14.173300 15.384500,14.173300 L 16.620300,13.597100 L 17.491900,13.597100 L 18.728200,13.185000 L 18.873700,12.692800 L 18.437200,12.280700 L 17.928400,12.115700 L 18.073900,11.622500 L 17.710600,10.882300 L 16.838000,11.210400 L 16.983500,10.552700 L 15.965900,9.9765000 L 15.166600,11.374400 L 15.238900,11.868500 L 14.439600,12.198600 L 13.930300,13.267900 L 13.712500,12.280600 L 12.331200,11.704400 L 12.112900,10.964200 L 13.930300,9.8939000 L 14.730100,9.1537000 L 14.802900,8.2489000 L 14.366900,8.0018000 L 13.785400,7.9193000 L 13.422100,8.8246000 C 13.422100,8.8246000 12.814200,8.9437000 12.657900,8.9823000 C 10.661800,10.821700 6.6286000,14.792400 5.6916000,22.288500 C 5.7287000,22.462300 6.3708000,23.470100 6.3708000,23.470100 L 7.8972000,24.374400 L 9.4236000,24.786500 L 10.078400,25.609700 L 11.095500,26.349900 L 11.677000,26.267900 L 12.113000,26.464200 L 12.113000,26.597000 L 11.531900,28.160000 L 11.095400,28.818200 L 11.240900,29.148300 L 10.877600,30.380700 L 12.186200,32.767400 L 13.494300,33.919700 L 14.076300,34.742000 L 14.003100,36.470500 L 14.439600,37.456800 L 14.003100,39.349400 C 14.003100,39.349400 13.968900,39.337700 14.024600,39.527100 C 14.080800,39.716600 16.353700,40.978300 16.498200,40.870900 C 16.642200,40.761500 16.765300,40.665800 16.765300,40.665800 L 16.620300,40.255600 L 17.201400,39.679400 L 17.419700,39.103200 L 18.365000,38.773100 L 19.091600,36.962600 L 18.873800,36.470400 L 19.381600,35.730200 L 20.472400,35.482200 L 21.054400,34.165800 L 20.908900,32.521300 L 21.781000,31.286900 L 21.926500,30.052500 C 20.733100,29.460700 19.549500,28.851300 18.365000,28.242000"
- id="path3264"
- style="color:#000000;fill:url(#radialGradient1508);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3266"
- style="color:#000000;fill:url(#radialGradient1510);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3270"
- style="color:#000000;fill:url(#radialGradient1514);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 16.765600,9.5649000 L 17.492200,10.058600 L 18.074200,10.058600 L 18.074200,9.4829000 L 17.347600,9.1538000 L 16.765600,9.5649000"
- id="path3272"
- style="color:#000000;fill:url(#radialGradient1516);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3274"
- style="color:#000000;fill:url(#radialGradient1518);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3278"
- style="color:#000000;fill:url(#radialGradient1522);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 14.876000,8.9072000 L 14.512200,9.8120000 L 15.239300,9.8120000 L 15.603100,8.9892000 C 15.916600,8.7675000 16.228600,8.5444000 16.547900,8.3310000 L 17.275000,8.5781000 C 17.759400,8.9072000 18.243800,9.2363000 18.728600,9.5649000 L 19.456100,8.9072000 L 18.655800,8.5781000 L 18.292000,7.8374000 L 16.911100,7.6728000 L 16.838300,7.2612000 L 16.184000,7.4262000 L 15.893600,8.0020000 L 15.529800,7.2613000 L 15.384800,7.5904000 L 15.457600,8.4132000 L 14.876000,8.9072000"
- id="path3280"
- style="color:#000000;fill:url(#radialGradient1524);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3282"
- style="color:#000000;fill:url(#radialGradient1526);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- style="opacity:0.75000000;color:#000000;fill:url(#radialGradient1528);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- id="g3284">
- <path
- d=""
- style="color:#000000;fill:url(#radialGradient1530);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- id="path3286" />
- </g>
- <g
- id="g3288"
- style="color:#000000;fill:url(#radialGradient1532);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d=""
- id="path3290"
- style="color:#000000;fill:url(#radialGradient1534);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3292"
- style="color:#000000;fill:url(#radialGradient1536);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- style="opacity:0.75000000;color:#000000;fill:url(#radialGradient1538);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- id="g3294">
- <path
- d=""
- style="color:#000000;fill:url(#radialGradient1540);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- id="path3296" />
- </g>
- <g
- id="g3298"
- style="color:#000000;fill:url(#radialGradient1542);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d=""
- id="path3300"
- style="color:#000000;fill:url(#radialGradient1544);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3302"
- style="color:#000000;fill:url(#radialGradient1546);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3306"
- style="color:#000000;fill:url(#radialGradient1550);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 17.492200,6.8496000 L 17.856000,6.5210000 L 18.583100,6.3564000 C 19.081100,6.1142000 19.581100,5.9511000 20.109500,5.7802000 L 19.819500,5.2865000 L 18.881000,5.4213000 L 18.437600,5.8632000 L 17.706600,5.9692000 L 17.056700,6.2744000 L 16.740800,6.4272000 L 16.547900,6.6855000 L 17.492200,6.8496000"
- id="path3308"
- style="color:#000000;fill:url(#radialGradient1552);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3310"
- style="color:#000000;fill:url(#radialGradient1554);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3314"
- style="color:#000000;fill:url(#radialGradient1558);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 18.728500,14.666500 L 19.165000,14.008300 L 18.510200,13.515100 L 18.728500,14.666500"
- id="path3316"
- style="color:#000000;fill:url(#radialGradient4756);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- </g>
- <path
- style="fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient4132);stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 42.975093,23.485534 C 42.975093,33.651354 34.733915,41.892440 24.569493,41.892440 C 14.404139,41.892440 6.1634261,33.651261 6.1634261,23.485534 C 6.1634261,13.320180 14.404139,5.0799340 24.569493,5.0799340 C 34.733915,5.0799340 42.975093,13.320180 42.975093,23.485534 L 42.975093,23.485534 z "
- id="path4122" />
- </g>
-</svg>
diff --git a/src/plugins/geolocation/geolocation_plugin.c b/src/plugins/geolocation/geolocation_plugin.c
deleted file mode 100644
index e8fc9fb..0000000
--- a/src/plugins/geolocation/geolocation_plugin.c
+++ /dev/null
@@ -1,903 +0,0 @@
-/* GeoLocation plugin for Claws-Mail
- * Copyright (C) 2009 Holger Berndt
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-# include "claws-features.h"
-#endif
-
-#include <glib.h>
-#include <glib/gi18n.h>
-
-#include <gtk/gtk.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-
-#include "pixmap_earth.h"
-
-#include "common/plugin.h"
-#include "common/version.h"
-#include "common/utils.h"
-#include "common/hooks.h"
-#include "prefs_common.h"
-#include "mimeview.h"
-#include "procheader.h"
-#include "main.h"
-
-#include <libsoup/soup.h>
-
-#include <champlain/champlain.h>
-#include <champlain-gtk/champlain-gtk.h>
-#include <clutter-gtk/clutter-gtk.h>
-
-#include <string.h>
-
-
-/* For now, make extracting the ip address string from the Received header
- * as simple as possible. This should be made more accurate, some day.
- * Logic:
- * Find four 1-3 digit numbers, separated by dots, encosed in word boundaries,
- * where the word "from" must be ahead, and the word "by" must follow, but must
- * not be between the "from" and the digits.
- * The result will be in backreference 2, the individual numbers in 3 to 6 */
-#define EXTRACT_IP_FROM_RECEIVED_HEADER_REGEX "\\bfrom\\b((?!\\bby\\b).)*(\\b(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\b).*\\bby\\b"
-
-#define EXTRACT_LAT_LON_FROM_HOSTIP_RESPONSE_REGEX "<gml:coordinates>(-?[\\d.]+),(-?[\\d.]+)</gml:coordinates>"
-
-#define GEOLOCATION_CONTAINER_NAME "cm_geolocation_container"
-#define GEOLOCATION_CONTAINER_DATA_TOGGLEBUTTON "togglebutton"
-#define GEOLOCATION_CONTAINER_DATA_LABEL "label"
-
-#define GEOLOCATION_TOGGLE_BUTTON_DATA_CB_ID "toggled_cb_id"
-#define GEOLOCATION_TOGGLE_BUTTON_DATA_IP "ip"
-
-#define GEOLOCATION_NOTEBOOK_DATA_MAPWIDGET "mapwidget"
-
-#define GEOLOCATION_MAP_DATA_VIEW "view"
-#define GEOLOCATION_MAP_DATA_ORIGIN_MARKER "originmarker"
-
-#define BUFFSIZE 8192
-
-#define HOSTIP_URL "http://api.hostip.info/"
-
-#define COUNTRY_RESOLVER_SUFFIX "zz.countries.nerd.dk"
-
-
-static gboolean my_messageview_show_hook(gpointer, gpointer);
-static guint hook_messageview_show;
-
-static GRegex *ip_from_received_header_regex = NULL;
-static GRegex *lat_lon_from_hostip_response_regex = NULL;
-
-static GSList *container_list = NULL;
-
-static GHashTable *iso_country_hash = NULL;
-
-static gchar* get_ip_from_received_header(gchar *received)
-{
- GMatchInfo *match_info;
- gchar *ip;
- gchar *n1;
-
- g_regex_match(ip_from_received_header_regex, received, 0, &match_info);
- ip = g_match_info_fetch(match_info, 2);
-
- if (ip) {
- /* check for loopback and local subnetworks */
- if(!strcmp(ip, "127.0.0.1")) {
- g_free(ip);
- ip = NULL;
- }
- else {
- n1 = g_match_info_fetch(match_info, 3);
- if(n1) {
- /* 10.x.x.x */
- if(!strcmp(n1, "10")) {
- g_free(ip);
- ip = NULL;
- }
- /* 192.168.x.x */
- else if(!strcmp(n1, "192")) {
- gchar *n2;
- n2 = g_match_info_fetch(match_info, 4);
- if(n2 && !strcmp(n2, "168")) {
- g_free(ip);
- ip = NULL;
- }
- }
- /* 172.16.xx to 172.31.x.x */
- else if(!strcmp(n1, "172")) {
- gchar *n2;
- int i2;
- n2 = g_match_info_fetch(match_info, 4);
- if(n2) {
- i2 = atoi(n2);
- if((i2 >= 16) && (i2 <= 31)) {
- g_free(ip);
- ip = NULL;
- }
- }
- }
- }
- }
- }
-
- g_match_info_free(match_info);
- return ip;
-}
-
-enum {
- H_RECEIVED = 0
-};
-
-static HeaderEntry hentry[] = {
- {"Received:", NULL, TRUE},
- {NULL, NULL, FALSE}};
-
-static gchar* get_ip_from_msginfo(MsgInfo *msginfo)
-{
- gchar *file;
- GStatBuf ss;
- FILE *fp;
- gchar buf[BUFFSIZE];
- gint hnum;
- gchar *hp;
- gchar *ip;
- gchar *new_ip;
-
- file = procmsg_get_message_file_path(msginfo);
- g_return_val_if_fail(file, NULL);
-
- if(g_stat(file, &ss) < 0) {
- FILE_OP_ERROR(file, "stat");
- return NULL;
- }
- if(!S_ISREG(ss.st_mode)) {
- g_warning("mail file is not a regular file");
- return NULL;
- }
-
- if((fp = g_fopen(file, "rb")) == NULL) {
- FILE_OP_ERROR(file, "fopen");
- return NULL;
- }
-
- ip = NULL;
- new_ip = NULL;
- while((hnum = procheader_get_one_field(buf, sizeof(buf), fp, hentry)) != -1) {
- switch(hnum) {
- case H_RECEIVED:
- hp = buf + strlen(hentry[hnum].name);
- while(*hp == ' ' || *hp == '\t') hp++;
- new_ip = get_ip_from_received_header(hp);
- if(new_ip) {
- g_free(ip);
- ip = new_ip;
- }
- break;
- default:
- break;
- }
- }
-
- fclose(fp);
-
- g_free(file);
- return ip;
-}
-
-/* inspired by GeoClue */
-static gboolean get_lat_lon_from_ip(const gchar *ip, double *lat, double *lon)
-{
- gchar *url;
- GMatchInfo *match_info;
- gchar *slat;
- gchar *slon;
- SoupSession *session;
- SoupMessage *msg;
-
- /* fetch data from hostip.info */
- url = g_strdup_printf("%s?ip=%s", HOSTIP_URL, ip);
- session = soup_session_async_new();
- msg = soup_message_new(SOUP_METHOD_GET, url);
- g_free(url);
-
- soup_session_send_message(session, msg);
- g_object_unref(session);
- if(!SOUP_STATUS_IS_SUCCESSFUL(msg->status_code) || !msg->response_body->data)
- return FALSE;
-
- /* extract longitude and latitude from */
- g_regex_match(lat_lon_from_hostip_response_regex, msg->response_body->data, 0, &match_info);
- g_object_unref(msg);
- slon = g_match_info_fetch(match_info, 1);
- slat = g_match_info_fetch(match_info, 2);
- g_match_info_free(match_info);
-
- if(!slat || !slon)
- return FALSE;
-
- *lat = g_ascii_strtod(slat, NULL);
- *lon = g_ascii_strtod(slon, NULL);
-
- return TRUE;
-}
-
-/* try to look up country */
-static const gchar* get_country_from_ip(const gchar *ip)
-{
- gchar **tok;
- gchar *uri;
- SoupAddress *addr;
- const gchar *val = NULL;
-
- tok = g_strsplit_set(ip, ".", 4);
- if(!(tok[0] && tok[1] && tok[2] && tok[3] && !tok[4])) {
- g_strfreev(tok);
- debug_print("GeoLocation plugin: Error parsing ip address '%s'\n", ip);
- return NULL;
- }
- uri = g_strjoin(".", tok[3], tok[2], tok[1], tok[0], COUNTRY_RESOLVER_SUFFIX, NULL);
- g_strfreev(tok);
-
- addr = soup_address_new(uri, SOUP_ADDRESS_ANY_PORT);
- g_free(uri);
-
- if(soup_address_resolve_sync(addr, NULL) == SOUP_STATUS_OK) {
- const gchar *physical = soup_address_get_physical(addr);
- val = g_hash_table_lookup(iso_country_hash, physical);
- }
-
- g_object_unref(addr);
- return val;
-}
-
-static GtkWidget* create_map_widget()
-{
- GtkWidget *map;
- ChamplainLayer *layer;
- ChamplainView *view;
- ClutterActor *origin_marker;
- ClutterColor orange = { 0xf3, 0x94, 0x07, 0xbb };
-
- /* create map widget */
- map = gtk_champlain_embed_new();
- view = gtk_champlain_embed_get_view(GTK_CHAMPLAIN_EMBED(map));
- g_object_set(G_OBJECT(view), "scroll-mode", CHAMPLAIN_SCROLL_MODE_KINETIC, "zoom-level", 8, NULL);
-
- /* mail origin marker */
- layer = champlain_layer_new();
- origin_marker = champlain_marker_new_with_text("mail origin", "Serif 14", NULL, NULL);
- champlain_marker_set_color(CHAMPLAIN_MARKER(origin_marker), &orange);
- clutter_container_add(CLUTTER_CONTAINER(layer), origin_marker, NULL);
- champlain_view_add_layer(view, layer);
-
- clutter_actor_show(CLUTTER_ACTOR(view));
- clutter_actor_show(CLUTTER_ACTOR(layer));
- clutter_actor_show(origin_marker);
-
- g_object_set_data(G_OBJECT(map), GEOLOCATION_MAP_DATA_VIEW, view);
- g_object_set_data(G_OBJECT(map), GEOLOCATION_MAP_DATA_ORIGIN_MARKER, origin_marker);
-
- return map;
-}
-
-static int get_notebook_map_page_num(GtkWidget *notebook)
-{
- GtkWidget *wid;
- int page_num = 0;
-
- wid = g_object_get_data(G_OBJECT(notebook), GEOLOCATION_NOTEBOOK_DATA_MAPWIDGET);
-
- if(!wid) {
- /* create page */
- GtkWidget *map;
- map = create_map_widget();
- page_num = gtk_notebook_append_page(GTK_NOTEBOOK(notebook), map, NULL);
- gtk_widget_show_all(map);
- if(page_num == -1)
- page_num = 0;
- else
- g_object_set_data(G_OBJECT(notebook), GEOLOCATION_NOTEBOOK_DATA_MAPWIDGET, map);
- }
- else {
- /* find page */
- page_num = gtk_notebook_page_num(GTK_NOTEBOOK(notebook), wid);
- if(page_num == -1)
- page_num = 0;
- }
-
- return page_num;
-}
-
-static void geolocation_button_toggled_cb(GtkToggleButton *button, gpointer data)
-{
- if(gtk_toggle_button_get_active(button)) {
- gchar *ip;
- double lat, lon;
- gchar *text = NULL;
- GtkWidget *container, *label;
-
- ip = g_object_get_data(G_OBJECT(button), GEOLOCATION_TOGGLE_BUTTON_DATA_IP);
- container = gtk_widget_get_parent(GTK_WIDGET(button));
- g_return_if_fail(container);
- label = g_object_get_data(G_OBJECT(container), GEOLOCATION_CONTAINER_DATA_LABEL);
- g_return_if_fail(label);
-
- if(ip && get_lat_lon_from_ip(ip, &lat, &lon)) {
- GtkWidget *notebook;
- GtkWidget *map;
- MessageView *messageview;
- ClutterActor *view;
- ClutterActor *origin_marker;
- gint page_num;
-
- /* TRANSLATORS: The two numbers are latitude and longitude coordinates */
- text = g_strdup_printf(_("Found location: (%.2f,%.2f)"), lat, lon);
- gtk_label_set_text(GTK_LABEL(label), text);
- debug_print("%s\n", text);
-
- /* switch to map widget, and center on found location */
- messageview = data;
- notebook = messageview->mimeview->mime_notebook;
- page_num = get_notebook_map_page_num(notebook);
- map = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), page_num);
- view = g_object_get_data(G_OBJECT(map), GEOLOCATION_MAP_DATA_VIEW);
- origin_marker = g_object_get_data(G_OBJECT(map), GEOLOCATION_MAP_DATA_ORIGIN_MARKER);
- champlain_view_center_on(CHAMPLAIN_VIEW(view), lat, lon);
- champlain_base_marker_set_position(CHAMPLAIN_BASE_MARKER(origin_marker), lat, lon);
- gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), page_num);
- }
- else {
- const char *country;
-
- if(ip && ((country = get_country_from_ip(ip)) != NULL)) {
- /* TRANSLATORS: The country name is appended to the string */
- text = g_strconcat(_("Alleged country of origin: "), country, NULL);
- }
- else {
- /* TRANSLATORS: The IP address is appended to the string */
- text = g_strconcat(_("Could not resolve location of IP address "), ip, NULL);
- }
- gtk_label_set_text(GTK_LABEL(label), text);
- debug_print("%s\n", text);
- gtk_toggle_button_set_active(button, FALSE);
- }
- g_free(text);
- }
- else {
- /* swich to first notebook page */
- MessageView *messageview;
- messageview = data;
- gtk_notebook_set_current_page(GTK_NOTEBOOK(messageview->mimeview->mime_notebook), 0);
- }
-}
-
-static void container_finalize_cb(gpointer data, GObject *where_the_object_was)
-{
- container_list = g_slist_remove(container_list, where_the_object_was);
-}
-
-static GtkWidget* get_geolocation_container_from_messageview(MessageView *messageview)
-{
- GtkWidget *container = NULL;
- GtkWidget *vbox;
- GList *children, *walk;
- GtkWidget *button;
- gulong *cb_id;
-
- g_return_val_if_fail(messageview && messageview->mimeview && messageview->mimeview->paned, NULL);
-
- vbox = gtk_paned_get_child2(GTK_PANED(messageview->mimeview->paned));
-
- /* check if there is already a geolocation container */
- children = gtk_container_get_children(GTK_CONTAINER(vbox));
- for(walk = children; walk; walk = walk->next) {
- GtkWidget *child = walk->data;
- if(!strcmp(gtk_widget_get_name(child), GEOLOCATION_CONTAINER_NAME)) {
- container = child;
- break;
- }
- }
- g_list_free(children);
-
- /* if not, create one */
- if(!container) {
- GtkWidget *label;
- GtkWidget *image;
- GdkPixbuf *pixbuf, *scaled_pixbuf;
-
- container = gtk_hbox_new(FALSE, 0);
- gtk_widget_set_name(container, GEOLOCATION_CONTAINER_NAME);
-
- /* button */
- pixbuf = gdk_pixbuf_new_from_inline(-1, pixmap_earth, FALSE, NULL);
- scaled_pixbuf = gdk_pixbuf_scale_simple(pixbuf, 16, 16, GDK_INTERP_BILINEAR);
- g_object_unref(pixbuf);
- image = gtk_image_new_from_pixbuf(scaled_pixbuf);
- gtk_widget_show(image);
- g_object_unref(scaled_pixbuf);
- button = gtk_toggle_button_new();
- gtk_widget_show(button);
- gtk_container_add(GTK_CONTAINER(button), image);
- gtk_box_pack_start(GTK_BOX(container), button, FALSE, FALSE, 0);
- g_object_set_data(G_OBJECT(container), GEOLOCATION_CONTAINER_DATA_TOGGLEBUTTON, button);
-
- /* label */
- label = gtk_label_new("");
- gtk_widget_show(label);
- gtk_box_pack_start(GTK_BOX(container), label, FALSE, FALSE, 2);
- g_object_set_data(G_OBJECT(container), GEOLOCATION_CONTAINER_DATA_LABEL, label);
-
- gtk_box_pack_start(GTK_BOX(vbox), container, FALSE, FALSE, 0);
-
- /* add new container to list */
- container_list = g_slist_prepend(container_list, container);
- g_object_weak_ref(G_OBJECT(container), container_finalize_cb, NULL);
- }
- /* if it existed, changed the button callback data */
- else {
- /* disconnect old signal handler from button */
- gulong *id;
- button = g_object_get_data(G_OBJECT(container), GEOLOCATION_CONTAINER_DATA_TOGGLEBUTTON);
- g_return_val_if_fail(button, NULL);
- id = g_object_get_data(G_OBJECT(button), GEOLOCATION_TOGGLE_BUTTON_DATA_CB_ID);
- g_signal_handler_disconnect(button, *id);
- }
-
- /* connect new signal handler to button, and store its id */
- cb_id = g_new(gulong, 1);
- *cb_id = g_signal_connect(button, "toggled", G_CALLBACK(geolocation_button_toggled_cb), messageview);
- g_object_set_data_full(G_OBJECT(button), GEOLOCATION_TOGGLE_BUTTON_DATA_CB_ID, cb_id, g_free);
-
- return container;
-}
-
-static gboolean my_messageview_show_hook(gpointer source, gpointer data)
-{
- MessageView *messageview;
- GtkWidget *container;
- GtkWidget *button;
- gchar *ip;
-
- messageview = source;
-
- g_return_val_if_fail(messageview, FALSE);
-
- container = get_geolocation_container_from_messageview(messageview);
- g_return_val_if_fail(container, FALSE);
-
- /* make sure toggle button is turned off */
- button = g_object_get_data(G_OBJECT(container), GEOLOCATION_CONTAINER_DATA_TOGGLEBUTTON);
- g_return_val_if_fail(button, FALSE);
- if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))) {
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
- }
-
- /* do nothing except hiding the button if claws mail is in offline mode */
- if(prefs_common_get_prefs()->work_offline) {
- gtk_widget_hide(container);
- return FALSE;
- }
-
- /* try to get ip address from message */
- if(!messageview->msginfo) {
- debug_print("Warning: Messageview does not have a MsgInfo\n");
- return FALSE;
- }
- ip = get_ip_from_msginfo(messageview->msginfo);
- if(!ip) {
- debug_print("Could not get IP address from message\n");
- gtk_widget_hide(container);
- }
- else {
- GtkWidget *label;
- debug_print("Found sender ip address: %s\n", ip);
- label = g_object_get_data(G_OBJECT(container), GEOLOCATION_CONTAINER_DATA_LABEL);
- if(label) {
- gchar *text;
- text = g_strconcat(_("Try to locate sender"), NULL);
- gtk_label_set_text(GTK_LABEL(label), text);
- g_free(text);
- }
- /* button takes ownership of ip string */
- g_object_set_data_full(G_OBJECT(button), GEOLOCATION_TOGGLE_BUTTON_DATA_IP, ip, g_free);
- gtk_widget_show(container);
- }
-
- return FALSE;
-}
-
-#define ISO_IN(k,v) g_hash_table_insert(iso_country_hash, (k), (v))
-static void fill_iso_country_hash(void)
-{
- iso_country_hash = g_hash_table_new(g_str_hash, g_str_equal);
- ISO_IN("127.0.0.20", _("Andorra"));
- ISO_IN("127.0.3.16", _("United Arab Emirates"));
- ISO_IN("127.0.0.4", _("Afghanistan"));
- ISO_IN("127.0.0.28", _("Antigua And Barbuda"));
- ISO_IN("127.0.2.148", _("Anguilla"));
- ISO_IN("127.0.0.8", _("Albania"));
- ISO_IN("127.0.0.51", _("Armenia"));
- ISO_IN("127.0.2.18", _("Netherlands Antilles"));
- ISO_IN("127.0.0.24", _("Angola"));
- ISO_IN("127.0.0.10", _("Antarctica"));
- ISO_IN("127.0.0.32", _("Argentina"));
- ISO_IN("127.0.0.16", _("American Samoa"));
- ISO_IN("127.0.0.40", _("Austria"));
- ISO_IN("127.0.0.36", _("Australia"));
- ISO_IN("127.0.2.21", _("Aruba"));
- ISO_IN("127.0.0.31", _("Azerbaijan"));
- ISO_IN("127.0.0.70", _("Bosnia And Herzegovina"));
- ISO_IN("127.0.0.52", _("Barbados"));
- ISO_IN("127.0.0.50", _("Bangladesh"));
- ISO_IN("127.0.0.56", _("Belgium"));
- ISO_IN("127.0.3.86", _("Burkina Faso"));
- ISO_IN("127.0.0.100", _("Bulgaria"));
- ISO_IN("127.0.0.48", _("Bahrain"));
- ISO_IN("127.0.0.108", _("Burundi"));
- ISO_IN("127.0.0.204", _("Benin"));
- ISO_IN("127.0.0.60", _("Bermuda"));
- ISO_IN("127.0.0.96", _("Brunei Darussalam"));
- ISO_IN("127.0.0.68", _("Bolivia"));
- ISO_IN("127.0.0.76", _("Brazil"));
- ISO_IN("127.0.0.44", _("Bahamas"));
- ISO_IN("127.0.0.64", _("Bhutan"));
- ISO_IN("127.0.0.74", _("Bouvet Island"));
- ISO_IN("127.0.0.72", _("Botswana"));
- ISO_IN("127.0.0.112", _("Belarus"));
- ISO_IN("127.0.0.84", _("Belize"));
- ISO_IN("127.0.0.124", _("Canada"));
- ISO_IN("127.0.0.166", _("Cocos (Keeling) Islands"));
- ISO_IN("127.0.0.140", _("Central African Republic"));
- ISO_IN("127.0.0.178", _("Congo"));
- ISO_IN("127.0.2.244", _("Switzerland"));
- ISO_IN("127.0.1.128", _("Cote D'Ivoire"));
- ISO_IN("127.0.0.184", _("Cook Islands"));
- ISO_IN("127.0.0.152", _("Chile"));
- ISO_IN("127.0.0.120", _("Cameroon"));
- ISO_IN("127.0.0.156", _("China"));
- ISO_IN("127.0.0.170", _("Colombia"));
- ISO_IN("127.0.0.188", _("Costa Rica"));
- ISO_IN("127.0.0.192", _("Cuba"));
- ISO_IN("127.0.0.132", _("Cape Verde"));
- ISO_IN("127.0.0.162", _("Christmas Island"));
- ISO_IN("127.0.0.196", _("Cyprus"));
- ISO_IN("127.0.0.203", _("Czech Republic"));
- ISO_IN("127.0.1.20", _("Germany"));
- ISO_IN("127.0.1.6", _("Djibouti"));
- ISO_IN("127.0.0.208", _("Denmark"));
- ISO_IN("127.0.0.212", _("Dominica"));
- ISO_IN("127.0.0.214", _("Dominican Republic"));
- ISO_IN("127.0.0.12", _("Algeria"));
- ISO_IN("127.0.0.218", _("Ecuador"));
- ISO_IN("127.0.0.233", _("Estonia"));
- ISO_IN("127.0.3.50", _("Egypt"));
- ISO_IN("127.0.2.220", _("Western Sahara"));
- ISO_IN("127.0.0.232", _("Eritrea"));
- ISO_IN("127.0.2.212", _("Spain"));
- ISO_IN("127.0.0.231", _("Ethiopia"));
- ISO_IN("127.0.0.246", _("Finland"));
- ISO_IN("127.0.0.242", _("Fiji"));
- ISO_IN("127.0.0.238", _("Falkland Islands (Malvinas)"));
- ISO_IN("127.0.2.71", _("Micronesia, Federated States Of"));
- ISO_IN("127.0.0.234", _("Faroe Islands"));
- ISO_IN("127.0.0.250", _("France"));
- ISO_IN("127.0.0.249", _("France, Metropolitan"));
- ISO_IN("127.0.1.10", _("Gabon"));
- ISO_IN("127.0.3.58", _("United Kingdom"));
- ISO_IN("127.0.1.52", _("Grenada"));
- ISO_IN("127.0.1.12", _("Georgia"));
- ISO_IN("127.0.0.254", _("French Guiana"));
- ISO_IN("127.0.1.32", _("Ghana"));
- ISO_IN("127.0.1.36", _("Gibraltar"));
- ISO_IN("127.0.1.48", _("Greenland"));
- ISO_IN("127.0.1.14", _("Gambia"));
- ISO_IN("127.0.1.68", _("Guinea"));
- ISO_IN("127.0.1.56", _("Guadeloupe"));
- ISO_IN("127.0.0.226", _("Equatorial Guinea"));
- ISO_IN("127.0.1.44", _("Greece"));
- ISO_IN("127.0.0.239", _("South Georgia And The South Sandwich Islands"));
- ISO_IN("127.0.1.64", _("Guatemala"));
- ISO_IN("127.0.1.60", _("Guam"));
- ISO_IN("127.0.2.112", _("Guinea-Bissau"));
- ISO_IN("127.0.1.72", _("Guyana"));
- ISO_IN("127.0.1.88", _("Hong Kong"));
- ISO_IN("127.0.1.78", _("Heard Island And Mcdonald Islands"));
- ISO_IN("127.0.1.84", _("Honduras"));
- ISO_IN("127.0.0.191", _("Croatia"));
- ISO_IN("127.0.1.76", _("Haiti"));
- ISO_IN("127.0.1.92", _("Hungary"));
- ISO_IN("127.0.1.104", _("Indonesia"));
- ISO_IN("127.0.1.116", _("Ireland"));
- ISO_IN("127.0.1.120", _("Israel"));
- ISO_IN("127.0.1.100", _("India"));
- ISO_IN("127.0.0.86", _("British Indian Ocean Territory"));
- ISO_IN("127.0.1.112", _("Iraq"));
- ISO_IN("127.0.1.108", _("Iran, Islamic Republic Of"));
- ISO_IN("127.0.1.96", _("Iceland"));
- ISO_IN("127.0.1.124", _("Italy"));
- ISO_IN("127.0.1.132", _("Jamaica"));
- ISO_IN("127.0.1.144", _("Jordan"));
- ISO_IN("127.0.1.136", _("Japan"));
- ISO_IN("127.0.1.148", _("Kenya"));
- ISO_IN("127.0.1.161", _("Kyrgyzstan"));
- ISO_IN("127.0.0.116", _("Cambodia"));
- ISO_IN("127.0.1.40", _("Kiribati"));
- ISO_IN("127.0.0.174", _("Comoros"));
- ISO_IN("127.0.2.147", _("Saint Kitts And Nevis"));
- ISO_IN("127.0.1.152", _("Korea, Democratic People'S Republic Of"));
- ISO_IN("127.0.1.154", _("Korea, Republic Of"));
- ISO_IN("127.0.1.158", _("Kuwait"));
- ISO_IN("127.0.0.136", _("Cayman Islands"));
- ISO_IN("127.0.1.142", _("Kazakhstan"));
- ISO_IN("127.0.1.162", _("Lao People'S Democratic Republic"));
- ISO_IN("127.0.1.166", _("Lebanon"));
- ISO_IN("127.0.2.150", _("Saint Lucia"));
- ISO_IN("127.0.1.182", _("Liechtenstein"));
- ISO_IN("127.0.0.144", _("Sri Lanka"));
- ISO_IN("127.0.1.174", _("Liberia"));
- ISO_IN("127.0.1.170", _("Lesotho"));
- ISO_IN("127.0.1.184", _("Lithuania"));
- ISO_IN("127.0.1.186", _("Luxembourg"));
- ISO_IN("127.0.1.172", _("Latvia"));
- ISO_IN("127.0.1.178", _("Libyan Arab Jamahiriya"));
- ISO_IN("127.0.1.248", _("Morocco"));
- ISO_IN("127.0.1.236", _("Monaco"));
- ISO_IN("127.0.1.242", _("Moldova, Republic Of"));
- ISO_IN("127.0.1.194", _("Madagascar"));
- ISO_IN("127.0.2.72", _("Marshall Islands"));
- ISO_IN("127.0.3.39", _("Macedonia, The Former Yugoslav Republic Of"));
- ISO_IN("127.0.1.210", _("Mali"));
- ISO_IN("127.0.0.104", _("Myanmar"));
- ISO_IN("127.0.1.240", _("Mongolia"));
- ISO_IN("127.0.1.190", _("Macao"));
- ISO_IN("127.0.2.68", _("Northern Mariana Islands"));
- ISO_IN("127.0.1.218", _("Martinique"));
- ISO_IN("127.0.1.222", _("Mauritania"));
- ISO_IN("127.0.1.244", _("Montserrat"));
- ISO_IN("127.0.1.214", _("Malta"));
- ISO_IN("127.0.1.224", _("Mauritius"));
- ISO_IN("127.0.1.206", _("Maldives"));
- ISO_IN("127.0.1.198", _("Malawi"));
- ISO_IN("127.0.1.228", _("Mexico"));
- ISO_IN("127.0.1.202", _("Malaysia"));
- ISO_IN("127.0.1.252", _("Mozambique"));
- ISO_IN("127.0.2.4", _("Namibia"));
- ISO_IN("127.0.2.28", _("New Caledonia"));
- ISO_IN("127.0.2.50", _("Niger"));
- ISO_IN("127.0.2.62", _("Norfolk Island"));
- ISO_IN("127.0.2.54", _("Nigeria"));
- ISO_IN("127.0.2.46", _("Nicaragua"));
- ISO_IN("127.0.2.16", _("Netherlands"));
- ISO_IN("127.0.2.66", _("Norway"));
- ISO_IN("127.0.2.12", _("Nepal"));
- ISO_IN("127.0.2.8", _("Nauru"));
- ISO_IN("127.0.2.58", _("Niue"));
- ISO_IN("127.0.2.42", _("New Zealand"));
- ISO_IN("127.0.2.0", _("Oman"));
- ISO_IN("127.0.2.79", _("Panama"));
- ISO_IN("127.0.2.92", _("Peru"));
- ISO_IN("127.0.1.2", _("French Polynesia"));
- ISO_IN("127.0.2.86", _("Papua New Guinea"));
- ISO_IN("127.0.2.96", _("Philippines"));
- ISO_IN("127.0.2.74", _("Pakistan"));
- ISO_IN("127.0.2.104", _("Poland"));
- ISO_IN("127.0.2.154", _("Saint Pierre And Miquelon"));
- ISO_IN("127.0.2.100", _("Pitcairn"));
- ISO_IN("127.0.2.118", _("Puerto Rico"));
- ISO_IN("127.0.2.108", _("Portugal"));
- ISO_IN("127.0.2.73", _("Palau"));
- ISO_IN("127.0.2.88", _("Paraguay"));
- ISO_IN("127.0.2.122", _("Qatar"));
- ISO_IN("127.0.2.126", _("Reunion"));
- ISO_IN("127.0.2.130", _("Romania"));
- ISO_IN("127.0.2.131", _("Russian Federation"));
- ISO_IN("127.0.2.134", _("Rwanda"));
- ISO_IN("127.0.2.170", _("Saudi Arabia"));
- ISO_IN("127.0.0.90", _("Solomon Islands"));
- ISO_IN("127.0.2.178", _("Seychelles"));
- ISO_IN("127.0.2.224", _("Sudan"));
- ISO_IN("127.0.2.240", _("Sweden"));
- ISO_IN("127.0.2.190", _("Singapore"));
- ISO_IN("127.0.2.142", _("Saint Helena"));
- ISO_IN("127.0.2.193", _("Slovenia"));
- ISO_IN("127.0.2.232", _("Svalbard And Jan Mayen"));
- ISO_IN("127.0.2.191", _("Slovakia"));
- ISO_IN("127.0.2.182", _("Sierra Leone"));
- ISO_IN("127.0.2.162", _("San Marino"));
- ISO_IN("127.0.2.174", _("Senegal"));
- ISO_IN("127.0.2.194", _("Somalia"));
- ISO_IN("127.0.2.228", _("Suriname"));
- ISO_IN("127.0.2.166", _("Sao Tome And Principe"));
- ISO_IN("127.0.0.222", _("El Salvador"));
- ISO_IN("127.0.2.248", _("Syrian Arab Republic"));
- ISO_IN("127.0.2.236", _("Swaziland"));
- ISO_IN("127.0.3.28", _("Turks And Caicos Islands"));
- ISO_IN("127.0.0.148", _("Chad"));
- ISO_IN("127.0.1.4", _("French Southern Territories"));
- ISO_IN("127.0.3.0", _("Togo"));
- ISO_IN("127.0.2.252", _("Thailand"));
- ISO_IN("127.0.2.250", _("Tajikistan"));
- ISO_IN("127.0.3.4", _("Tokelau"));
- ISO_IN("127.0.3.27", _("Turkmenistan"));
- ISO_IN("127.0.3.20", _("Tunisia"));
- ISO_IN("127.0.3.8", _("Tonga"));
- ISO_IN("127.0.2.114", _("East Timor"));
- ISO_IN("127.0.3.24", _("Turkey"));
- ISO_IN("127.0.3.12", _("Trinidad And Tobago"));
- ISO_IN("127.0.3.30", _("Tuvalu"));
- ISO_IN("127.0.0.158", _("Taiwan, Province Of China"));
- ISO_IN("127.0.3.66", _("Tanzania, United Republic Of"));
- ISO_IN("127.0.3.36", _("Ukraine"));
- ISO_IN("127.0.3.32", _("Uganda"));
- ISO_IN("127.0.3.58", _("United Kingdom"));
- ISO_IN("127.0.2.69", _("United States Minor Outlying Islands"));
- ISO_IN("127.0.3.72", _("United States"));
- ISO_IN("127.0.3.90", _("Uruguay"));
- ISO_IN("127.0.3.92", _("Uzbekistan"));
- ISO_IN("127.0.1.80", _("Holy See (Vatican City State)"));
- ISO_IN("127.0.2.158", _("Saint Vincent And The Grenadines"));
- ISO_IN("127.0.3.94", _("Venezuela"));
- ISO_IN("127.0.0.92", _("Virgin Islands, British"));
- ISO_IN("127.0.3.82", _("Virgin Islands, U.S."));
- ISO_IN("127.0.2.192", _("Viet Nam"));
- ISO_IN("127.0.2.36", _("Vanuatu"));
- ISO_IN("127.0.3.108", _("Wallis And Futuna"));
- ISO_IN("127.0.3.114", _("Samoa"));
- ISO_IN("127.0.3.119", _("Yemen"));
- ISO_IN("127.0.0.175", _("Mayotte"));
- ISO_IN("127.0.3.123", _("Serbia And Montenegro"));
- ISO_IN("127.0.2.198", _("South Africa"));
- ISO_IN("127.0.3.126", _("Zambia"));
- ISO_IN("127.0.0.180", _("Democratic Republic Of The Congo"));
- ISO_IN("127.0.2.204", _("Zimbabwe"));
-}
-#undef ISO_IN
-
-gint plugin_init(gchar **error)
-{
- GError *err = NULL;
-
- /* Version check */
- if(!check_plugin_version(MAKE_NUMERIC_VERSION(3,7,1,55),
- VERSION_NUMERIC, _("GeoLocation"), error))
- return -1;
-
- if(gtk_clutter_init(0, NULL) != CLUTTER_INIT_SUCCESS)
- {
- *error = g_strdup_printf(_("Could not initialize clutter"));
- return -1;
- }
-
- ip_from_received_header_regex = g_regex_new(EXTRACT_IP_FROM_RECEIVED_HEADER_REGEX, 0, 0, &err);
- if(err) {
- *error = g_strdup_printf(_("Could not create regular expression: %s\n"), err->message);
- g_error_free(err);
- return -1;
- }
-
- lat_lon_from_hostip_response_regex = g_regex_new(EXTRACT_LAT_LON_FROM_HOSTIP_RESPONSE_REGEX, 0, 0, &err);
- if(err) {
- *error = g_strdup_printf(_("Could not create regular expression: %s\n"), err->message);
- g_error_free(err);
- g_regex_unref(ip_from_received_header_regex);
- return -1;
- }
-
- hook_messageview_show = hooks_register_hook(MESSAGE_VIEW_SHOW_DONE_HOOKLIST, my_messageview_show_hook, NULL);
- if(hook_messageview_show == (guint) -1) {
- *error = g_strdup(_("Failed to register messageview_show hook in the GeoLocation plugin"));
- g_regex_unref(ip_from_received_header_regex);
- g_regex_unref(lat_lon_from_hostip_response_regex);
- return -1;
- }
-
- fill_iso_country_hash();
-
- debug_print("GeoLocation plugin loaded\n");
-
- return 0;
-}
-
-gboolean plugin_done(void)
-{
-
- hooks_unregister_hook(MESSAGE_VIEW_SHOW_DONE_HOOKLIST, hook_messageview_show);
-
- if(!claws_is_exiting()) {
- GSList *copy, *walk;
-
- copy = g_slist_copy(container_list);
- for(walk = copy; walk; walk = walk->next) {
- GtkWidget *wid = walk->data;
- GtkWidget *button = g_object_get_data(G_OBJECT(wid), GEOLOCATION_CONTAINER_DATA_TOGGLEBUTTON);
- if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)))
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
- gtk_widget_destroy(GTK_WIDGET(wid));
- }
- g_slist_free(copy);
- if(container_list) {
- g_slist_free(container_list);
- container_list = NULL;
- }
-
- if(ip_from_received_header_regex) {
- g_regex_unref(ip_from_received_header_regex);
- ip_from_received_header_regex = NULL;
- }
-
- if(lat_lon_from_hostip_response_regex) {
- g_regex_unref(lat_lon_from_hostip_response_regex);
- lat_lon_from_hostip_response_regex = NULL;
- }
-
- if(iso_country_hash) {
- g_hash_table_destroy(iso_country_hash);
- iso_country_hash = NULL;
- }
- }
-
- debug_print("GeoLocation plugin unloaded\n");
-
- /* returning FALSE because dependant libraries may not be unload-safe. */
- return FALSE;
-}
-
-const gchar *plugin_name(void)
-{
- return _("GeoLocation");
-}
-
-const gchar *plugin_desc(void)
-{
- return _("This plugin provides GeoLocation functionality "
- "for Claws Mail.\n\n"
- "Warning: It is technically impossible to derive the geographic "
- "location of senders from their E-Mails with any amount of certainty. "
- "The results presented by "
- "this plugin are only rough estimates. In particular, mailing list managers "
- "often strip sender information from the mails, so mails from mailing lists "
- "may be assigned to the location of the mailing list server instead of the "
- "mail sender.\n"
- "When in doubt, don't trust the results of this plugin, and don't rely on this "
- "information to divorce your spouse.\n"
- "\nFeedback to <berndth at gmx.de> is welcome "
- "(but only if it's not about marital quarrels).");
-}
-
-const gchar *plugin_type(void)
-{
- return "GTK2";
-}
-
-const gchar *plugin_licence(void)
-{
- return "GPL3+";
-}
-
-const gchar *plugin_version(void)
-{
- return VERSION;
-}
-
-struct PluginFeature *plugin_provides(void)
-{
- static struct PluginFeature features[] =
- { {PLUGIN_UTILITY, N_("GeoLocation integration")},
- {PLUGIN_NOTHING, NULL}};
- return features;
-}
diff --git a/src/plugins/geolocation/pixmap_earth.h b/src/plugins/geolocation/pixmap_earth.h
deleted file mode 100644
index 625ed07..0000000
--- a/src/plugins/geolocation/pixmap_earth.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (pixmap_earth)
-#endif
-#ifdef __GNUC__
-static const guint8 pixmap_earth[] __attribute__ ((__aligned__ (4))) =
-#else
-static const guint8 pixmap_earth[] =
-#endif
-{ ""
- /* Pixbuf magic (0x47646b50) */
- "GdkP"
- /* length: header (24) + pixel_data (2304) */
- "\0\0\11\30"
- /* pixdata_type (0x1010002) */
- "\1\1\0\2"
- /* rowstride (96) */
- "\0\0\0`"
- /* width (24) */
- "\0\0\0\30"
- /* height (24) */
- "\0\0\0\30"
- /* pixel_data: */
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "99l\12""99m)99l077l\36++\200\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0""88k\15RR\200s\231\234\264\316\236\241\273\372"
- "\271\275\317\372\271\276\320\372\234\246\302\371\206\216\257\361_d\217"
- "\244:=oD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0KM{W\227\233\266\351\331"
- "\340\350\377\311\327\347\377\356\360\361\377\376\376\376\377\353\354"
- "\355\377\253\302\332\377\245\301\337\377\244\277\335\377\227\250\306"
- "\374[b\215\270;;n\32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0jl\222\202\324\325\336\375\302\313\324"
- "\377\305\314\324\377\307\322\335\377\350\354\357\377\313\322\330\377"
- "\271\306\323\377\273\314\337\377\264\314\346\377\306\325\344\377\327"
- "\332\335\377\315\322\331\377\207\213\244\344:=p.\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\_\211l\343\344\352\375"
- "\267\310\332\377\337\353\366\377\325\332\337\377\341\357\376\377\322"
- "\335\351\377\331\350\370\377\320\342\364\377\305\331\356\377\273\316"
- "\341\377\320\327\336\377\264\276\311\377\360\361\361\377\347\347\347"
- "\377\210\214\243\343::m\30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0 at Bu)\306\310\326\371\376\376\376\377\360\362\363\377\364\364\364"
- "\377\327\332\335\377\323\336\351\377\342\361\377\377\335\355\374\377"
- "\323\345\367\377\310\331\354\377\307\316\326\377\355\357\360\377\371"
- "\372\372\377\370\370\370\377\346\346\346\377\334\334\335\377fi\212\262"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\211\213\250\255\376"
- "\376\376\377\376\376\376\377\376\376\376\377\340\343\346\377\323\337"
- "\353\377\333\351\367\377\341\360\377\377\337\356\375\377\324\346\370"
- "\377\315\335\356\377\345\347\352\377\321\325\333\377\355\356\360\377"
- "\372\372\372\377\352\352\352\377\330\330\330\377\262\264\274\3759<oA"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""88n\33\304\305\324\373\376\376\376"
- "\377\376\376\376\377\320\325\333\377\325\345\365\377\337\357\377\377"
- "\337\357\377\377\340\357\377\377\335\355\375\377\322\345\367\377\315"
- "\334\353\377\303\313\323\377\266\310\334\377\241\265\313\377\242\265"
- "\312\377\323\326\332\377\330\330\330\377\321\321\321\377`c\200\247\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BEvi\371\371\372\377\330\333\336\377\314"
- "\321\325\377\274\322\352\377\327\352\376\377\336\356\377\377\336\357"
- "\377\377\336\356\376\377\327\351\373\377\315\340\365\377\334\345\357"
- "\377\376\376\376\377\376\376\376\377\337\343\350\377\317\330\342\377"
- "\330\332\335\377\327\327\327\377\274\275\277\377\206\207\235\363@@j\3"
- "\0\0\0\0\0\0\0\0\0\0\0\0\200\201\240\216\323\327\333\377\240\277\337"
- "\377\254\310\346\377\274\326\362\377\306\336\367\377\325\350\373\377"
- "\330\352\373\377\324\347\372\377\315\341\366\377\314\334\356\377\376"
- "\376\376\377\376\376\376\377\376\376\376\377\376\376\376\377\366\366"
- "\366\377\247\262\277\377\321\321\322\377\214\231\250\377t~\230\37199"
- "k\"\0\0\0\0\0\0\0\0\0\0\0\0ns\230\237\334\340\345\377\321\327\335\377"
- "\244\301\337\377\257\314\353\377\267\322\357\377\275\326\362\377\303"
- "\333\363\377\306\334\363\377\301\330\360\377\320\335\353\377\376\376"
- "\376\377\376\376\376\377\376\376\376\377\375\375\375\377\360\360\360"
- "\377\324\325\327\377\232\247\265\377\204\217\234\377ex\236\37388k7\0"
- "\0\0\0\0\0\0\0\0\0\0\0]c\215\227\241\275\334\377\232\262\314\377\254"
- "\273\313\377\335\345\354\377\323\342\361\377\251\306\345\377\254\312"
- "\351\377\251\307\347\377\246\304\345\377\247\300\333\377\367\367\370"
- "\377\376\376\376\377\376\376\376\377\367\367\367\377\350\350\350\377"
- "\330\330\330\377\262\265\271\377Pm\220\377dv\234\37288l/\0\0\0\0\0\0"
- "\0\0\0\0\0\0\77Ar}\242\275\333\377\201\247\321\377\241\273\327\377\376"
- "\376\376\377\376\376\376\377\320\327\340\377\234\274\337\377\231\273"
- "\337\377\224\267\334\377\214\261\330\377\230\262\317\377\206\241\275"
- "\377\251\271\314\377\354\354\354\377\336\336\336\377\317\317\317\377"
- "\251\254\257\377;^\213\377bn\224\37166l\17\0\0\0\0\0\0\0\0\0\0\0\0;="
- "pC\221\246\307\374s\235\312\377\310\327\351\377\376\376\376\377\376\376"
- "\376\377\376\376\376\377\345\351\355\377\245\275\327\377\204\253\323"
- "\377~\245\320\377v\236\313\377l\227\306\377v\231\300\377\340\340\340"
- "\377\322\322\322\377\304\304\304\377\\s\217\377Jj\225\377U]\206\324\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0..t\2r~\244\343t\234\310\377\232\262\315"
- "\377\367\367\367\377\373\373\373\377\375\375\375\377\375\375\375\377"
- "\256\274\313\377u\236\313\377o\231\310\377h\223\304\377_\214\277\377"
- "X\206\272\377\310\312\314\377\305\305\305\377\270\270\270\377Kd\204\377"
- "]t\230\377<>ov\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77Cth\206\242"
- "\307\375`\215\277\377\255\273\312\377\352\352\352\377\355\355\355\377"
- "\357\357\357\377~\231\266\377e\221\302\377`\215\277\377Y\210\274\377"
- "Q\201\267\377L}\263\377\303\303\303\377\270\270\270\377\227\232\235\377"
- "Lc\203\377V`\207\351;;m\16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\20\17V_\211\315v\234\305\377d\214\270\377\330\330\330\377\333\333"
- "\333\377\252\264\300\377W\201\256\377U\205\271\377Q\201\267\377J|\264"
- "\377Cv\257\377\77p\250\377\240\244\251\377\252\252\252\377bp\203\377"
- "`o\222\374/0Xm\0\0\0\12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0"
- "\32\24\25'I[f\220\346q\226\300\377\304\304\304\377\307\307\307\377Xz"
- "\240\377Hz\262\377Ex\261\377Bu\255\377\77p\250\377=k\242\377<f\231\377"
- "v\206\232\377\211\213\216\377eq\215\37546]\253\0\0\0""0\0\0\0\27\0\0"
- "\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\33\0\0\0""4\21\21\40aSY\177"
- "\336\265\267\273\376t\206\233\377=m\244\377>n\245\377=l\242\377=i\236"
- "\377<e\230\377;a\222\377;]\212\377Vl\215\377]h\214\375,.P\253\0\0\0J"
- "\0\0\0""1\0\0\0\30\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\17\0"
- "\0\0'\0\0\0>\2\2\5X)+K\252Ze\213\363g~\245\376b\202\252\377Xx\241\377"
- "Ts\234\377Yt\233\377_u\231\377^j\217\375 at Dk\332\27\27,\205\0\0\0Q\0\0"
- "\0:\0\0\0#\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\15\0\0\0!\0\0\0""5\0\0\0G\2\2\5Z\35\36""9\215,-Q\262<@c\306 at Dh\314"
- "68[\277%'H\250\20\20\40w\0\0\0U\0\0\0D\0\0\0""2\0\0\0\36\0\0\0\12\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3"
- "\0\0\0\15\0\0\0\34\0\0\0(\0\0\0""3\0\0\0;\0\0\0\77\0\0\0A\0\0\0\77\0"
- "\0\0:\0\0\0""1\0\0\0'\0\0\0\31\0\0\0\13\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\1\0\0\0\6\0\0\0\11\0\0\0\13\0\0\0\14\0\0\0\13\0\0\0\11\0"
- "\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0"};
-
-
-----------------------------------------------------------------------
hooks/post-receive
--
Claws Mail
More information about the Commits
mailing list