commit c8b47d43cfcbcc581e184aa6b5696d949f816e6d
parent 2829733b35a59b67d5a7b69ffb6794b0137dc952
Author: Jean-Yves Lefort <jylefort@brutele.be>
Date: Thu, 19 Aug 2004 08:47:29 +1000
mail-notification-0.6.1
* File descriptor leaks in the Sylpheed and Maildir backends
have been fixed
* It was not possible to use some special characters (such as
'@') in usernames, passwords etc (reported by Ronny
Schoebel): now escapes URIs
* Now properly quotes arguments to the IMAP LOGIN and STATUS
commands
* Gmail support didn't work in all situations: fixed (thanks
to Phil Nelson for his help)
* A first startup dialog has been added
* A memory leak has been fixed
* A few minor issues have been fixed
Diffstat:
71 files changed, 1725 insertions(+), 1017 deletions(-)
diff --git a/AUTHORS b/AUTHORS
@@ -8,7 +8,6 @@ Contributors:
* Dan Korostelev <dan@ats.energo.ru> (russian translations)
External art sources:
- * GNOME (about-icon.png)
* Google (gmail.png)
- * Evolution (mail-notification.png, properties-icon.png)
+ * Evolution (mail-notification.png)
* GTK+ (unsupported.png)
diff --git a/INSTALL b/INSTALL
@@ -10,7 +10,7 @@ Index
0. About this document
- $Id: INSTALL,v 1.7 2004/08/16 16:08:17 jylefort Exp $
+ $Id: INSTALL,v 1.8 2004/08/18 22:45:35 jylefort Exp $
Copyright (c) 2003, 2004 Jean-Yves Lefort.
@@ -49,11 +49,14 @@ Index
Mail Notification uses the well-known GNU build system. Hence,
the following usual sequence will probably satisfy most users:
- $ ./configure
+ $ ./configure --prefix=/usr
$ make
<get root privileges, if needed>
$ make install
+ IMPORTANT: you must install Mail Notification in the same
+ prefix as GNOME (commonly /usr or /opt/gnome).
+
The ./configure script behaviour can be changed using
command-line options: type "./configure --help" for an
exhaustive list.
diff --git a/NEWS b/NEWS
@@ -1,3 +1,18 @@
+0.6.1 19 August 2004
+
+ * File descriptor leaks in the Sylpheed and Maildir backends
+ have been fixed
+ * It was not possible to use some special characters (such as
+ '@') in usernames, passwords etc (reported by Ronny
+ Schoebel): now escapes URIs
+ * Now properly quotes arguments to the IMAP LOGIN and STATUS
+ commands
+ * Gmail support didn't work in all situations: fixed (thanks
+ to Phil Nelson for his help)
+ * A first startup dialog has been added
+ * A memory leak has been fixed
+ * A few minor issues have been fixed
+
0.6.0 16 August 2004
* Added IMAP support
diff --git a/README b/README
@@ -11,7 +11,7 @@ Index
0. About this document
- $Id: README,v 1.16 2004/08/16 16:11:07 jylefort Exp $
+ $Id: README,v 1.18 2004/08/18 01:00:25 jylefort Exp $
Copyright (c) 2003, 2004 Jean-Yves Lefort.
@@ -42,12 +42,15 @@ Index
2. Release notes
- Some configuration keys have been obsoleted. For the sake of
- cleanliness, you should remove them:
+ In this release or in previous ones, some configuration keys
+ have been obsoleted. For the sake of cleanliness, you should
+ remove them, by typing:
$ gconftool-2 --recursive-unset \
+ /apps/mail-notification/local \
+ /apps/mail-notification/remote \
/apps/mail-notification/commands/clicked \
- /apps/mail-notification/preferences-dialog
+ /apps/mail-notification/ui/preferences-dialog
3. Installation instructions
diff --git a/TODO b/TODO
@@ -1 +1,3 @@
* add STARTTLS support to the IMAP backend
+* implement RFC 2965 cookie support
+* implement a MNURI object
diff --git a/art/Makefile.am b/art/Makefile.am
@@ -1,9 +1,8 @@
GNOME_IMAGES = mail-notification.png
APP_IMAGES = \
- about-icon.png \
logo.png \
gmail.png \
- properties-icon.png \
+ mail-notification.png \
unsupported.png
gnome_pixmapsdir = $(datadir)/pixmaps
diff --git a/art/Makefile.in b/art/Makefile.in
@@ -209,10 +209,9 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@
GNOME_IMAGES = mail-notification.png
APP_IMAGES = \
- about-icon.png \
logo.png \
gmail.png \
- properties-icon.png \
+ mail-notification.png \
unsupported.png
gnome_pixmapsdir = $(datadir)/pixmaps
diff --git a/art/about-icon.png b/art/about-icon.png
Binary files differ.
diff --git a/art/properties-icon.png b/art/properties-icon.png
Binary files differ.
diff --git a/config.h.in b/config.h.in
@@ -12,6 +12,12 @@
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#undef HAVE_BIND_TEXTDOMAIN_CODESET
+/* Define to 1 if you have the `close' function. */
+#undef HAVE_CLOSE
+
+/* Define to 1 if you have the `connect' function. */
+#undef HAVE_CONNECT
+
/* Define to 1 if you have the `dcgettext' function. */
#undef HAVE_DCGETTEXT
diff --git a/configure b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for mail-notification 0.6.0.
+# Generated by GNU Autoconf 2.59 for mail-notification 0.6.1.
#
# Report bugs to <jylefort@brutele.be>.
#
@@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='mail-notification'
PACKAGE_TARNAME='mail-notification'
-PACKAGE_VERSION='0.6.0'
-PACKAGE_STRING='mail-notification 0.6.0'
+PACKAGE_VERSION='0.6.1'
+PACKAGE_STRING='mail-notification 0.6.1'
PACKAGE_BUGREPORT='jylefort@brutele.be'
ac_unique_file="src/mn-main.c"
@@ -780,7 +780,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures mail-notification 0.6.0 to adapt to many kinds of systems.
+\`configure' configures mail-notification 0.6.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -842,7 +842,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of mail-notification 0.6.0:";;
+ short | recursive ) echo "Configuration of mail-notification 0.6.1:";;
esac
cat <<\_ACEOF
@@ -986,7 +986,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-mail-notification configure 0.6.0
+mail-notification configure 0.6.1
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1000,7 +1000,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by mail-notification $as_me 0.6.0, which was
+It was created by mail-notification $as_me 0.6.1, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1828,7 +1828,7 @@ fi
# Define the identity of the package.
PACKAGE='mail-notification'
- VERSION='0.6.0'
+ VERSION='0.6.1'
cat >>confdefs.h <<_ACEOF
@@ -6312,7 +6312,8 @@ fi
-for ac_header in errno.h signal.h stdarg.h stdio.h stdlib.h string.h sys/types.h
+
+for ac_header in errno.h signal.h stdarg.h stdio.h stdlib.h string.h sys/types.h unistd.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if eval "test \"\${$as_ac_Header+set}\" = set"; then
@@ -6784,7 +6785,9 @@ fi
-for ac_func in atoi exit freeaddrinfo gai_strerror getaddrinfo getnameinfo getpeername getsockname memcpy memset read signal sleep socket sscanf strchr strcmp strlen strncmp strstr write
+
+
+for ac_func in atoi close connect exit freeaddrinfo gai_strerror getaddrinfo getnameinfo getpeername getsockname memcpy memset read signal sleep socket sscanf strchr strcmp strlen strncmp strstr write
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -8388,7 +8391,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
-This file was extended by mail-notification $as_me 0.6.0, which was
+This file was extended by mail-notification $as_me 0.6.1, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -8451,7 +8454,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-mail-notification config.status 0.6.0
+mail-notification config.status 0.6.1
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT(mail-notification, 0.6.0, jylefort@brutele.be)
+AC_INIT(mail-notification, 0.6.1, jylefort@brutele.be)
AC_CONFIG_SRCDIR(src/mn-main.c)
AC_PREREQ(2.59)
@@ -108,7 +108,7 @@ AC_PROG_CC
AC_SYS_LARGEFILE
# the order of these tests matters
-AC_CHECK_HEADERS(errno.h signal.h stdarg.h stdio.h stdlib.h string.h sys/types.h,, [AC_MSG_ERROR([header not found])])
+AC_CHECK_HEADERS(errno.h signal.h stdarg.h stdio.h stdlib.h string.h sys/types.h unistd.h,, [AC_MSG_ERROR([header not found])])
AC_CHECK_HEADER(sys/uio.h,, [AC_MSG_ERROR([header not found])],
[#include <sys/types.h>])
AC_CHECK_HEADER(sys/socket.h,, [AC_MSG_ERROR([header not found])],
@@ -132,7 +132,7 @@ AC_CHECK_HEADER(arpa/inet.h,, [AC_MSG_ERROR([header not found])],
#include <sys/socket.h>
#include <netinet/in.h>])
-AC_CHECK_FUNCS(atoi exit freeaddrinfo gai_strerror getaddrinfo getnameinfo getpeername getsockname memcpy memset read signal sleep socket sscanf strchr strcmp strlen strncmp strstr write,, [AC_MSG_ERROR([library function not found])])
+AC_CHECK_FUNCS(atoi close connect exit freeaddrinfo gai_strerror getaddrinfo getnameinfo getpeername getsockname memcpy memset read signal sleep socket sscanf strchr strcmp strlen strncmp strstr write,, [AC_MSG_ERROR([library function not found])])
### build dependencies
diff --git a/data/mail-notification.schemas.in b/data/mail-notification.schemas.in
@@ -97,5 +97,16 @@
<long>The width of the properties dialog in pixels.</long>
</locale>
</schema>
+ <schema>
+ <key>/schemas/apps/mail-notification/already-run</key>
+ <applyto>/apps/mail-notification/already-run</applyto>
+ <owner>mail-notification</owner>
+ <type>bool</type>
+ <default>0</default>
+ <locale name="C">
+ <short>Has already been run</short>
+ <long>Whether Mail Notification has already been run or not.</long>
+ </locale>
+ </schema>
</schemalist>
</gconfschemafile>
diff --git a/help/C/mail-notification-C.omf b/help/C/mail-notification-C.omf
@@ -12,9 +12,9 @@
Mail Notification Manual
</title>
<date>
- 2004-08-16
+ 2004-08-19
</date>
- <version identifier="2.2" date="2004-08-16" description="Third release"/>
+ <version identifier="2.3" date="2004-08-19" description="Fourth release"/>
<subject category="GNOME|Internet"/>
<description>
Mail Notification Manual
diff --git a/help/C/mail-notification.xml b/help/C/mail-notification.xml
@@ -2,9 +2,9 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY app "<application>Mail Notification</application>">
- <!ENTITY appversion "0.6.0">
- <!ENTITY manrevision "2.2">
- <!ENTITY date "Monday, August 16, 2004">
+ <!ENTITY appversion "0.6.1">
+ <!ENTITY manrevision "2.3">
+ <!ENTITY date "Thursday, August 19, 2004">
<!ENTITY project "The Mail Notification Project">
@@ -25,7 +25,7 @@
<!ENTITY gnomevfs "<link linkend="gnomevfs">GnomeVFS</link>">
]>
-<!-- $Id: mail-notification.xml,v 1.36 2004/08/16 15:58:56 jylefort Exp $ -->
+<!-- $Id: mail-notification.xml,v 1.37 2004/08/18 22:37:58 jylefort Exp $ -->
<!-- Mail Notification Manual -->
<!-- Copyright (c) 2004 Jean-Yves Lefort -->
@@ -133,6 +133,17 @@
</revdescription>
</revision>
<revision>
+ <revnumber>Mail Notification Manual V2.2</revnumber>
+ <date>Monday, August 16, 2004</date>
+ <revdescription>
+ <para role="author">
+ Jean-Yves Lefort
+ <email>jylefort@brutele.be</email>
+ </para>
+ <para role="publisher">&project;</para>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>Mail Notification Manual V2.1</revnumber>
<date>Wednesday, July 21, 2004</date>
<revdescription>
@@ -713,6 +724,7 @@ endif</programlisting>
<!-- We don't use <firstname> and <surname> because we can't -->
<!-- unambiguously split some names. -->
<listitem><para>Dan Korostelev</para></listitem>
+ <listitem><para>Phil Nelson</para></listitem>
</itemizedlist>
</sect2>
diff --git a/po/POTFILES.in b/po/POTFILES.in
@@ -1,3 +1,4 @@
+[encoding: UTF-8]
data/GNOME_MailNotification_Automation.server.in.in
data/mail-notification-properties.desktop.in
data/mail-notification.desktop.in
@@ -64,3 +65,4 @@ src/mn-vfs.h
ui/dialog.glade
ui/mailbox-properties.glade
ui/properties.glade
+ui/welcome.glade
diff --git a/po/fr.gmo b/po/fr.gmo
Binary files differ.
diff --git a/po/fr.po b/po/fr.po
@@ -8,14 +8,14 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: mail-notification 0.6.0\n"
+"Project-Id-Version: mail-notification 0.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-16 18:15+0200\n"
-"PO-Revision-Date: 2004-08-16 18:12+0200\n"
+"POT-Creation-Date: 2004-08-19 00:12+0200\n"
+"PO-Revision-Date: 2004-08-19 00:04+0200\n"
"Last-Translator: Jean-Yves Lefort <jylefort@brutele.be>\n"
"Language-Team: Jean-Yves Lefort <jylefort@brutele.be>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
@@ -44,77 +44,85 @@ msgstr "Etre notifié lorsque du nouveau courrier arrive"
#: data/mail-notification.schemas.in.h:1
msgid "Delay between mail checks (minutes part)."
-msgstr "Délai entre les vérifications de courrier (partie minutes)."
+msgstr "Délai entre les vérifications de courrier (partie minutes)."
#: data/mail-notification.schemas.in.h:2
msgid "Delay between mail checks (seconds part)."
-msgstr "Délai entre les vérifications de courrier (partie secondes)."
+msgstr "Délai entre les vérifications de courrier (partie secondes)."
#: data/mail-notification.schemas.in.h:3
msgid "Double-clicked command"
-msgstr "Commande associée au double-click"
+msgstr "Commande associée au double-click"
#: data/mail-notification.schemas.in.h:4
-msgid "Height of properties dialog"
-msgstr "Hauteur de la boîte de dialogue contenant les propriétés"
+msgid "Has already been run"
+msgstr "A déjà été exécuté"
#: data/mail-notification.schemas.in.h:5
-msgid "Mailboxes list"
-msgstr "Liste des boîtes aux lettres"
+msgid "Height of properties dialog"
+msgstr "Hauteur de la boîte de dialogue contenant les propriétés"
#: data/mail-notification.schemas.in.h:6
-msgid "Minutes between mail checks"
-msgstr "Minutes entre les vérifications de courrier"
+msgid "Mailboxes list"
+msgstr "Liste des boîtes aux lettres"
#: data/mail-notification.schemas.in.h:7
+msgid "Minutes between mail checks"
+msgstr "Minutes entre les vérifications de courrier"
+
+#: data/mail-notification.schemas.in.h:8
msgid "New mail command"
msgstr "Commande de nouveau message"
-#: data/mail-notification.schemas.in.h:8
+#: data/mail-notification.schemas.in.h:9
msgid "Run a command when new mail arrives"
-msgstr "Exécuter une commande lorsque du nouveau courrier arrive"
+msgstr "Exécuter une commande lorsque du nouveau courrier arrive"
-#: data/mail-notification.schemas.in.h:9
+#: data/mail-notification.schemas.in.h:10
msgid "Run a command when the icon is double-clicked"
-msgstr "Exécuter une commande lorsque l'îcone est double-cliquée"
+msgstr "Exécuter une commande lorsque l'îcone est double-cliquée"
-#: data/mail-notification.schemas.in.h:10
+#: data/mail-notification.schemas.in.h:11
msgid "Seconds between mail checks"
-msgstr "Secondes entre les vérifications de courrier"
+msgstr "Secondes entre les vérifications de courrier"
-#: data/mail-notification.schemas.in.h:11
+#: data/mail-notification.schemas.in.h:12
msgid "The command to run when new mail arrives."
-msgstr "La commande à exécuter lorsque du nouveau courrier arrive."
+msgstr "La commande à exécuter lorsque du nouveau courrier arrive."
-#: data/mail-notification.schemas.in.h:12
+#: data/mail-notification.schemas.in.h:13
msgid "The command to run when the icon is double-clicked."
-msgstr "La commande à exécuter lorsque l'îcone est double-cliquée."
+msgstr "La commande à exécuter lorsque l'îcone est double-cliquée."
-#: data/mail-notification.schemas.in.h:13
+#: data/mail-notification.schemas.in.h:14
msgid "The height of the properties dialog in pixels."
-msgstr "La hauteur de la boîte de dialogue contenant les propriétés en pixels."
+msgstr "La hauteur de la boîte de dialogue contenant les propriétés en pixels."
-#: data/mail-notification.schemas.in.h:14
+#: data/mail-notification.schemas.in.h:15
msgid "The list of mailboxes to monitor."
-msgstr "La liste des boîtes aux lettres à surveiller."
+msgstr "La liste des boîtes aux lettres à surveiller."
-#: data/mail-notification.schemas.in.h:15
+#: data/mail-notification.schemas.in.h:16
msgid "The width of the properties dialog in pixels."
-msgstr "La largeur de la boîte de dialogue contenant les propriétés en pixels."
+msgstr "La largeur de la boîte de dialogue contenant les propriétés en pixels."
-#: data/mail-notification.schemas.in.h:16
+#: data/mail-notification.schemas.in.h:17
+msgid "Whether Mail Notification has already been run or not."
+msgstr "Si la Notification de Courrier a déjà été exécutée ou pas."
+
+#: data/mail-notification.schemas.in.h:18
msgid "Whether to run a command when new mail arrives or not."
msgstr ""
-"Si une commande doit être exécutée lorsque du nouveau courrier arrive ou pas."
+"Si une commande doit être exécutée lorsque du nouveau courrier arrive ou pas."
-#: data/mail-notification.schemas.in.h:17
+#: data/mail-notification.schemas.in.h:19
msgid "Whether to run a command when the icon is double-clicked or not."
msgstr ""
-"Si une commande doit être exécutée lorsque l'îcone est double-cliquée ou pas."
+"Si une commande doit être exécutée lorsque l'îcone est double-cliquée ou pas."
-#: data/mail-notification.schemas.in.h:18
+#: data/mail-notification.schemas.in.h:20
msgid "Width of properties dialog"
-msgstr "Largeur de la boîte de dialogue contenant les propriétés"
+msgstr "Largeur de la boîte de dialogue contenant les propriétés"
#: data/mail-notification.soundlist.in.h:2
msgid "New Mail"
@@ -130,7 +138,7 @@ msgstr "L'orientation du plateau."
#: src/mn-about-dialog.gob:41
msgid "A Mail Notification Icon"
-msgstr "Une Icône de Notification de Courrier"
+msgstr "Une Icône de Notification de Courrier"
#: src/mn-about-dialog.gob:44
msgid "Jean-Yves Lefort <jylefort@brutele.be>"
@@ -138,7 +146,7 @@ msgstr "Jean-Yves Lefort <jylefort@brutele.be>"
#: src/mn-auth-combo-box.gob:99 src/mn-autodetect-mailbox-properties.gob:36
msgid "<span style=\"italic\">autodetect</span>"
-msgstr "<span style=\"italic\">autodétecter</span>"
+msgstr "<span style=\"italic\">autodétecter</span>"
#: src/mn-autodetect-mailbox-properties.gob:67
msgid "_Location:"
@@ -150,201 +158,201 @@ msgstr "_Parcourir..."
#: src/mn-autodetect-mailbox-properties.gob:80
msgid "The URI of the mailbox"
-msgstr "L'URI de la boîte aux lettres"
+msgstr "L'URI de la boîte aux lettres"
#: src/mn-autodetect-mailbox-properties.gob:117
msgid "Select a File or Folder"
-msgstr "Sélectionnez un Fichier ou Dossier"
+msgstr "Sélectionnez un Fichier ou Dossier"
#: src/mn-blinking-image.gob:30
msgid "Whether the image is blinking or not"
msgstr "Si l'image clignote ou pas"
-#: src/mn-client-session.c:196 src/mn-client-session.c:203
+#: src/mn-client-session.c:195 src/mn-client-session.c:202
#, c-format
msgid "unable to read from server: %s"
msgstr "impossible de lire depuis le serveur: %s"
-#: src/mn-client-session.c:201
+#: src/mn-client-session.c:200
msgid "unable to read from server: EOF"
msgstr "impossible de lire depuis le serveur: EOF"
-#: src/mn-client-session.c:213
+#: src/mn-client-session.c:212
#, c-format
msgid "unable to decode data using SASL: %s"
-msgstr "impossible de décoder les données en utilisant SASL: %s"
+msgstr "impossible de décoder les données en utilisant SASL: %s"
-#: src/mn-client-session.c:287
+#: src/mn-client-session.c:286
#, c-format
msgid "resolving %s"
-msgstr "résolution de %s en cours"
+msgstr "résolution de %s en cours"
-#: src/mn-client-session.c:297
+#: src/mn-client-session.c:296
#, c-format
msgid "unable to resolve %s: %s"
-msgstr "impossible de résoudre %s: %s"
+msgstr "impossible de résoudre %s: %s"
-#: src/mn-client-session.c:334
+#: src/mn-client-session.c:333
#, c-format
msgid "%s: unsupported address family"
msgstr "%s: famille d'adresse non prise en charge"
-#: src/mn-client-session.c:341
+#: src/mn-client-session.c:340
#, c-format
msgid "%s: unable to create socket: %s"
-msgstr "%s: impossible de créer un soquet: %s"
+msgstr "%s: impossible de créer un soquet: %s"
-#: src/mn-client-session.c:345
+#: src/mn-client-session.c:344
#, c-format
msgid "connecting to %s (%s) port %i"
-msgstr "connection à %s (%s) port %i en cours"
+msgstr "connection à %s (%s) port %i en cours"
-#: src/mn-client-session.c:348
+#: src/mn-client-session.c:347
#, c-format
msgid "unable to connect: %s"
msgstr "impossible de se connecter: %s"
-#: src/mn-client-session.c:353
+#: src/mn-client-session.c:352
msgid "connected successfully"
-msgstr "connecté avec succès"
+msgstr "connecté avec succès"
#. if reached, we couldn't find a working address
-#: src/mn-client-session.c:359
+#: src/mn-client-session.c:358
#, c-format
msgid "unable to connect to %s"
-msgstr "impossible de se connecter à %s"
+msgstr "impossible de se connecter à %s"
-#: src/mn-client-session.c:375
+#: src/mn-client-session.c:374
#, c-format
msgid "unable to initialize the OpenSSL library: %s"
-msgstr "impossible d'initialiser la bibliothèque OpenSSL: %s"
+msgstr "impossible d'initialiser la bibliothèque OpenSSL: %s"
-#: src/mn-client-session.c:383
+#: src/mn-client-session.c:382
#, c-format
msgid "unable to create a SSL object: %s"
-msgstr "impossible de créer un objet SSL: %s"
+msgstr "impossible de créer un objet SSL: %s"
-#: src/mn-client-session.c:389
+#: src/mn-client-session.c:388
#, c-format
msgid "unable to set the SSL file descriptor: %s"
-msgstr "impossible de spécifier le descripteur de fichier SSL: %s"
+msgstr "impossible de spécifier le descripteur de fichier SSL: %s"
-#: src/mn-client-session.c:444
+#: src/mn-client-session.c:443
#, c-format
msgid "response \"%s\" is not valid in current context"
-msgstr "la réponse \"%s\" n'est pas valable dans le contexte actuel"
+msgstr "la réponse \"%s\" n'est pas valable dans le contexte actuel"
-#: src/mn-client-session.c:470
+#: src/mn-client-session.c:469
#, c-format
msgid "unable to parse response \"%s\""
-msgstr "impossible d'interpréter la réponse \"%s\""
+msgstr "impossible d'interpréter la réponse \"%s\""
-#: src/mn-client-session.c:517
+#: src/mn-client-session.c:516
#, c-format
msgid "unable to encode data using SASL: %s"
-msgstr "impossible d'encoder les données en utilisant SASL: %s"
+msgstr "impossible d'encoder les données en utilisant SASL: %s"
-#: src/mn-client-session.c:546 src/mn-client-session.c:553
+#: src/mn-client-session.c:545 src/mn-client-session.c:552
#, c-format
msgid "unable to write to server: %s"
-msgstr "impossible d'écrire vers le serveur: %s"
+msgstr "impossible d'écrire vers le serveur: %s"
-#: src/mn-client-session.c:551
+#: src/mn-client-session.c:550
msgid "unable to write to server: EOF"
-msgstr "impossible d'écrire vers le serveur: EOF"
+msgstr "impossible d'écrire vers le serveur: EOF"
-#: src/mn-client-session.c:583
+#: src/mn-client-session.c:582
#, c-format
msgid "unable to encode Base64: %s"
msgstr "impossible d'encoder en Base64: %s"
-#: src/mn-client-session.c:686
+#: src/mn-client-session.c:685
#, c-format
msgid "unable to initialize the SASL library: %s"
-msgstr "impossible d'initialiser la bibliothèque SASL: %s"
+msgstr "impossible d'initialiser la bibliothèque SASL: %s"
-#: src/mn-client-session.c:695
+#: src/mn-client-session.c:694
#, c-format
msgid "unable to retrieve local address of socket: %s"
msgstr "impossible d'obtenir l'adresse locale du soquet: %s"
-#: src/mn-client-session.c:701
+#: src/mn-client-session.c:700
#, c-format
msgid "unable to retrieve remote address of socket: %s"
msgstr "impossible d'obtenir l'adresse distante du soquet: %s"
-#: src/mn-client-session.c:735
+#: src/mn-client-session.c:734
#, c-format
msgid "warning: unable to set SASL security properties: %s"
msgstr ""
-"avertissement: impossible de spécifier les propriétés de sécurité SASL: %s"
+"avertissement: impossible de spécifier les propriétés de sécurité SASL: %s"
-#: src/mn-client-session.c:774
+#: src/mn-client-session.c:773
msgid ""
"unable to start SASL authentication: SASL asked for something we did not know"
msgstr ""
-"impossible de démarrer l'authentification SASL: SASL a demandé quelque chose "
+"impossible de démarrer l'authentification SASL: SASL a demandé quelque chose "
"que nous ne connaissions pas"
-#: src/mn-client-session.c:778
+#: src/mn-client-session.c:777
#, c-format
msgid "unable to start SASL authentication: %s"
-msgstr "impossible de démarrer l'authentification SASL: %s"
+msgstr "impossible de démarrer l'authentification SASL: %s"
-#: src/mn-client-session.c:782
+#: src/mn-client-session.c:781
#, c-format
msgid "unable to create a SASL connection: %s"
-msgstr "impossible de créer une connection SASL: %s"
+msgstr "impossible de créer une connection SASL: %s"
-#: src/mn-client-session.c:832
+#: src/mn-client-session.c:831
msgid "SASL asked for something we did not know, aborting SASL authentication"
msgstr ""
-"SASL a demandé quelque chose que nous ne connaissions pas, annulation de "
+"SASL a demandé quelque chose que nous ne connaissions pas, annulation de "
"l'authentification SASL"
-#: src/mn-client-session.c:836
+#: src/mn-client-session.c:835
#, c-format
msgid "%s, aborting SASL authentication"
msgstr "%s, annulation de l'authentification SASL"
#. compliance error
-#: src/mn-client-session.c:841
+#: src/mn-client-session.c:840
#, c-format
msgid "unable to decode Base64 input from server: %s"
-msgstr "impossible de décoder l'entrée Base64 du serveur: %s"
+msgstr "impossible de décoder l'entrée Base64 du serveur: %s"
-#: src/mn-client-session.c:844
+#: src/mn-client-session.c:843
msgid ""
"the server sent a SASL challenge, but there was a pending initial SASL "
"client response"
msgstr ""
-"le serveur a envoyé un défi SASL, mais il y avait une réponse client SASL "
+"le serveur a envoyé un défi SASL, mais il y avait une réponse client SASL "
"initiale en attente"
-#: src/mn-client-session.c:858
+#: src/mn-client-session.c:857
msgid ""
"the server did not send a SASL challenge, but there was no pending initial "
"SASL client response"
msgstr ""
-"le serveur n'a pas envoyé de défi SASL, mais il n'y avait pas de réponse "
+"le serveur n'a pas envoyé de défi SASL, mais il n'y avait pas de réponse "
"client SASL initiale en attente"
-#: src/mn-client-session.c:881
+#: src/mn-client-session.c:880
#, c-format
msgid "a SASL security layer of strength factor %i is now active"
msgstr ""
-"une couche de sécurité SASL de facteur de force %i est maintenant active"
+"une couche de sécurité SASL de facteur de force %i est maintenant active"
#. a security layer is active but we can't retrieve maxoutbuf -> fatal
-#: src/mn-client-session.c:886
+#: src/mn-client-session.c:885
#, c-format
msgid "unable to get SASL_MAXOUTBUF property: %s"
-msgstr "impossible d'obtenir la propriété SASL_MAXOUTBUF: %s"
+msgstr "impossible d'obtenir la propriété SASL_MAXOUTBUF: %s"
-#: src/mn-client-session.c:892
+#: src/mn-client-session.c:891
#, c-format
msgid "warning: unable to get SASL_SSF property: %s"
-msgstr "avertissement: impossible d'obtenir la propriété SASL_SSF: %s"
+msgstr "avertissement: impossible d'obtenir la propriété SASL_SSF: %s"
#: src/mn-dialog.c:108
msgid "A fatal error has occurred in Mail Notification"
@@ -360,42 +368,42 @@ msgstr "Votre mot de passe Gmail"
#: src/mn-gmail-mailbox.gob:65
msgid "unable to parse Gmail URI"
-msgstr "impossible d'interpréter l'URI Gmail"
+msgstr "impossible d'interpréter l'URI Gmail"
-#: src/mn-gmail-mailbox.gob:180
+#: src/mn-gmail-mailbox.gob:182
msgid "logging in"
msgstr "ouverture de session en cours"
-#: src/mn-gmail-mailbox.gob:194 src/mn-gmail-mailbox.gob:233
-#: src/mn-gmail-mailbox.gob:266 src/mn-gmail-mailbox.gob:370
+#: src/mn-gmail-mailbox.gob:201 src/mn-gmail-mailbox.gob:240
+#: src/mn-gmail-mailbox.gob:273 src/mn-gmail-mailbox.gob:377
#, c-format
msgid "unable to transfer data: %s"
-msgstr "impossible de transférer des données: %s"
+msgstr "impossible de transférer des données: %s"
-#: src/mn-gmail-mailbox.gob:219 src/mn-gmail-mailbox.gob:252
-#: src/mn-gmail-mailbox.gob:286
+#: src/mn-gmail-mailbox.gob:226 src/mn-gmail-mailbox.gob:259
+#: src/mn-gmail-mailbox.gob:293
msgid "login failed"
-msgstr "l'ouverture de session a échoué"
+msgstr "l'ouverture de session a échoué"
-#: src/mn-gmail-mailbox.gob:280
+#: src/mn-gmail-mailbox.gob:287
msgid "successfully logged in"
-msgstr "ouverture de session effectuée avec succès"
+msgstr "ouverture de session effectuée avec succès"
-#: src/mn-gmail-mailbox.gob:358
+#: src/mn-gmail-mailbox.gob:365
msgid "searching for unread mail"
msgstr "recherche du courrier non lu"
-#: src/mn-gmail-mailbox.gob:377
+#: src/mn-gmail-mailbox.gob:384
msgid "unable to parse Gmail data"
-msgstr "impossible d'interpréter les données Gmail"
+msgstr "impossible d'interpréter les données Gmail"
#: src/mn-imap-mailbox-properties.gob:92
msgid "Mailbox:"
-msgstr "Boîte aux lettres:"
+msgstr "Boîte aux lettres:"
#: src/mn-imap-mailbox-properties.gob:96
msgid "in_box"
-msgstr "_boîte de réception"
+msgstr "_boîte de réception"
#: src/mn-imap-mailbox-properties.gob:107
msgid "oth_er:"
@@ -403,7 +411,7 @@ msgstr "autr_e:"
#: src/mn-imap-mailbox-properties.gob:121
msgid "The hostname or IP address of the IMAP server"
-msgstr "Le nom d'hôte ou adresse IP du serveur IMAP"
+msgstr "Le nom d'hôte ou adresse IP du serveur IMAP"
#: src/mn-imap-mailbox-properties.gob:122
msgid "Your username on the IMAP server"
@@ -416,28 +424,28 @@ msgstr "Votre mot de passe sur le serveur IMAP"
#: src/mn-imap-mailbox-properties.gob:124
#: src/mn-imap-mailbox-properties.gob:125
msgid "The port number of the IMAP server"
-msgstr "Le numéro de port du serveur IMAP"
+msgstr "Le numéro de port du serveur IMAP"
#: src/mn-imap-mailbox-properties.gob:126
msgid "The mailbox name"
-msgstr "Le nom de la boîte aux lettres"
+msgstr "Le nom de la boîte aux lettres"
#: src/mn-imap-mailbox.gob:124 src/mn-pop3-mailbox.gob:133
msgid "SSL support has not been compiled in"
-msgstr "le support SSL n'a pas été inclus lors de la compilation"
+msgstr "le support SSL n'a pas été inclus lors de la compilation"
#: src/mn-imap-mailbox.gob:128
msgid "unable to parse IMAP URI"
-msgstr "impossible d'interpréter l'URI IMAP"
+msgstr "impossible d'interpréter l'URI IMAP"
#: src/mn-imap-mailbox.gob:195
msgid "server did not send capabilities"
-msgstr "le serveur n'a pas envoyé ses possibilités"
+msgstr "le serveur n'a pas envoyé ses possibilités"
#: src/mn-imap-mailbox.gob:267
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
msgstr ""
-"le serveur a annoncé LOGINDISABLED, pas d'utilisation de l'authentification "
+"le serveur a annoncé LOGINDISABLED, pas d'utilisation de l'authentification "
"LOGIN"
#: src/mn-imap-mailbox.gob:268
@@ -445,38 +453,38 @@ msgid "unable to login"
msgstr "impossible d'ouvrir la session"
#. compliance error
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:336
msgid "server did not send status"
-msgstr "le serveur n'a pas envoyé de status"
+msgstr "le serveur n'a pas envoyé de status"
-#: src/mn-imap-mailbox.gob:537 src/mn-pop3-mailbox.gob:715
+#: src/mn-imap-mailbox.gob:554 src/mn-pop3-mailbox.gob:715
msgid "unknown server error"
msgstr "erreur serveur inconnue"
-#: src/mn-imap-mailbox.gob:603 src/mn-pop3-mailbox.gob:645
+#: src/mn-imap-mailbox.gob:625 src/mn-pop3-mailbox.gob:645
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
msgstr ""
-"un méchanisme d'authentification SASL a été sélectionné mais le support SASL "
-"n'a pas été inclus lors de la compilation"
+"un méchanisme d'authentification SASL a été sélectionné mais le support SASL "
+"n'a pas été inclus lors de la compilation"
-#: src/mn-imap-mailbox.gob:611 src/mn-pop3-mailbox.gob:657
+#: src/mn-imap-mailbox.gob:633 src/mn-pop3-mailbox.gob:657
#, c-format
msgid "unknown authentication mechanism \"%s\""
-msgstr "méchanisme d'authentification inconnu \"%s\""
+msgstr "méchanisme d'authentification inconnu \"%s\""
-#: src/mn-imap-mailbox.gob:629
+#: src/mn-imap-mailbox.gob:651
msgid "falling back to IMAP LOGIN authentication"
-msgstr "rétrogradation vers l'authentification IMAP LOGIN"
+msgstr "rétrogradation vers l'authentification IMAP LOGIN"
-#: src/mn-imap-mailbox.gob:633 src/mn-pop3-mailbox.gob:691
+#: src/mn-imap-mailbox.gob:655 src/mn-pop3-mailbox.gob:691
msgid "authentication failed"
-msgstr "l'authentification a échoué"
+msgstr "l'authentification a échoué"
#: src/mn-mail-icon.gob:81
msgid "_Update"
-msgstr "_Mettre à Jour"
+msgstr "_Mettre à Jour"
#: src/mn-mail-icon.gob:87
msgid "R_emove From Notification Area"
@@ -485,20 +493,20 @@ msgstr "_Enlever de l'Aire de Notification"
#: src/mn-mail-icon.gob:172
#, c-format
msgid "_Run %s"
-msgstr "_Exécuter %s"
+msgstr "_Exécuter %s"
#: src/mn-mail-icon.gob:173
msgid "_Run Default Action"
-msgstr "_Exécuter l'Action par Défaut"
+msgstr "_Exécuter l'Action par Défaut"
#: src/mn-mailbox-properties-dialog.c:109
msgid "Add a Mailbox"
-msgstr "Ajouter une Boîte aux Lettres"
+msgstr "Ajouter une Boîte aux Lettres"
#: src/mn-mailbox-properties-dialog.c:331
#, c-format
msgid "%s Properties"
-msgstr "Propriétés de %s"
+msgstr "Propriétés de %s"
#: src/mn-mailbox-properties-util.c:75
msgid "_Username:"
@@ -518,7 +526,7 @@ msgstr "Port:"
#: src/mn-mailbox-properties-util.c:180
msgid "_Authentication mechanism:"
-msgstr "Méchanisme d'_authentification:"
+msgstr "Méchanisme d'_authentification:"
#: src/mn-mailbox-properties.c:63
msgid "Label"
@@ -526,7 +534,7 @@ msgstr "Etiquette"
#: src/mn-mailbox-properties.c:64
msgid "The marked up text to show in the type combo box"
-msgstr "Le texte marqué à afficher dans la boîte de type"
+msgstr "Le texte marqué à afficher dans la boîte de type"
#: src/mn-mailbox-properties.c:69
msgid "Size group"
@@ -534,7 +542,7 @@ msgstr "Groupe de taille"
#: src/mn-mailbox-properties.c:70
msgid "A GtkSizeGroup for aligning control labels"
-msgstr "Un GtkSizeGroup pour aligner les étiquettes des contrôles"
+msgstr "Un GtkSizeGroup pour aligner les étiquettes des contrôles"
#: src/mn-mailbox-properties.c:75
msgid "Complete"
@@ -542,19 +550,19 @@ msgstr "Complet"
#: src/mn-mailbox-properties.c:76
msgid "Whether the properties are completely filled or not"
-msgstr "Si les propriétés sont complètement remplies ou pas"
+msgstr "Si les propriétés sont complètement remplies ou pas"
#: src/mn-mailbox-view.gob:91
msgid "Unable to add mailbox"
-msgstr "Impossible d'ajouter la boîte aux lettres"
+msgstr "Impossible d'ajouter la boîte aux lettres"
#: src/mn-mailbox-view.gob:91
msgid "The mailbox is already in the list."
-msgstr "La boîte aux lettres est déjà dans la liste."
+msgstr "La boîte aux lettres est déjà dans la liste."
#: src/mn-mailbox-view.gob:283
msgid "Mailbox"
-msgstr "Boîte aux lettres"
+msgstr "Boîte aux lettres"
#: src/mn-mailbox-view.gob:297
msgid "Format"
@@ -562,23 +570,23 @@ msgstr "Format"
#: src/mn-mailbox.gob:88
msgid "The mailbox URI"
-msgstr "L'URI de la boîte aux lettres"
+msgstr "L'URI de la boîte aux lettres"
#: src/mn-mailbox.gob:98
msgid "The mailbox human-readable name"
-msgstr "Le nom, lisible par un humain, de la boîte aux lettres"
+msgstr "Le nom, lisible par un humain, de la boîte aux lettres"
#: src/mn-mailbox.gob:102
msgid "Whether the mailbox has to be manually checked or not"
-msgstr "Si la boîte aux lettres doit être vérifiée manuellement ou pas"
+msgstr "Si la boîte aux lettres doit être vérifiée manuellement ou pas"
#: src/mn-mailbox.gob:107
msgid "Whether the mailbox has new mail or not"
-msgstr "Si la boîte aux lettres a du nouveau courrier ou pas"
+msgstr "Si la boîte aux lettres a du nouveau courrier ou pas"
#: src/mn-mailbox.gob:112
msgid "The mailbox error, if any"
-msgstr "L'erreur de la boîte aux lettres si il y en a une"
+msgstr "L'erreur de la boîte aux lettres si il y en a une"
#: src/mn-mailbox.gob:218
msgid "does not exist"
@@ -602,11 +610,11 @@ msgid_plural ""
"As a fallback, they will be checked every %i seconds (this delay is "
"configurable from the Properties Dialog)."
msgstr[0] ""
-"Comme solution de secours, elles seront vérifiées toutes les %i seconde (ce "
-"délai est configurable depuis les Propriétés)."
+"Comme solution de secours, elles seront vérifiées toutes les %i seconde (ce "
+"délai est configurable depuis les Propriétés)."
msgstr[1] ""
-"Comme solution de secours, elles seront vérifiées toutes les %i secondes (ce "
-"délai est configurable depuis les Propriétés)."
+"Comme solution de secours, elles seront vérifiées toutes les %i secondes (ce "
+"délai est configurable depuis les Propriétés)."
#: src/mn-mailbox.gob:341
#, c-format
@@ -617,11 +625,11 @@ msgid_plural ""
"As a fallback, they will be checked every %i minutes (this delay is "
"configurable from the Properties Dialog)."
msgstr[0] ""
-"Comme solution de secours, elles seront vérifiées toutes les %i minutes (ce "
-"délai est configurable depuis les Propriétés)."
+"Comme solution de secours, elles seront vérifiées toutes les %i minutes (ce "
+"délai est configurable depuis les Propriétés)."
msgstr[1] ""
-"Comme solution de secours, elles seront vérifiées toutes les %i minutes (ce "
-"délai est configurable depuis les Propriétés)."
+"Comme solution de secours, elles seront vérifiées toutes les %i minutes (ce "
+"délai est configurable depuis les Propriétés)."
#: src/mn-mailbox.gob:352
#, c-format
@@ -632,11 +640,11 @@ msgid_plural ""
"As a fallback, they will be checked approximately every %i minutes (this "
"delay is configurable from the Properties Dialog)."
msgstr[0] ""
-"Comme solution de secours, elles seront vérifiées approximativement toutes "
-"les %i minute (ce délai est configurable depuis les Propriétés)."
+"Comme solution de secours, elles seront vérifiées approximativement toutes "
+"les %i minute (ce délai est configurable depuis les Propriétés)."
msgstr[1] ""
-"Comme solution de secours, elles seront vérifiées approximativement toutes "
-"les %i minutes (ce délai est configurable depuis les Propriétés)."
+"Comme solution de secours, elles seront vérifiées approximativement toutes "
+"les %i minutes (ce délai est configurable depuis les Propriétés)."
#: src/mn-mailbox.gob:366
msgid "A monitoring error has occurred"
@@ -648,8 +656,8 @@ msgid ""
"Mail Notification was unable to enable automatic notification for one or "
"more mailboxes. %s"
msgstr ""
-"Notification de Courrier n'a pas été en mesure d'activer la notification "
-"automatique pour une ou plusieures boîtes aux lettres. %s"
+"Notification de Courrier n'a pas été en mesure d'activer la notification "
+"automatique pour une ou plusieures boîtes aux lettres. %s"
#: src/mn-mailboxes.gob:130
#, c-format
@@ -669,14 +677,19 @@ msgstr "%s n'a pas de nouveau courrier"
#: src/mn-mailboxes.gob:173
#, c-format
msgid "%s reported an error: %s"
-msgstr "%s a indiqué une erreur: %s"
+msgstr "%s a indiqué une erreur: %s"
-#: src/mn-maildir-mailbox.gob:97
+#: src/mn-maildir-mailbox.gob:98
#, c-format
msgid "unable to open folder \"new\": %s"
msgstr "impossible d'ouvrir le dossier \"new\": %s"
-#: src/mn-maildir-mailbox.gob:122
+#: src/mn-maildir-mailbox.gob:126
+#, c-format
+msgid "unable to close folder \"new\": %s"
+msgstr "impossible de fermer le dossier \"new\": %s"
+
+#: src/mn-maildir-mailbox.gob:129
#, c-format
msgid "error while reading folder \"new\": %s"
msgstr "erreur lors de la lecture du dossier \"new\": %s"
@@ -684,12 +697,12 @@ msgstr "erreur lors de la lecture du dossier \"new\": %s"
#: src/mn-main.c:86
#, c-format
msgid "Compiled-in mailbox backends: %s\n"
-msgstr "Prises en charge de boîtes aux lettres disponibles: %s\n"
+msgstr "Prises en charge de boîtes aux lettres disponibles: %s\n"
#: src/mn-main.c:104
#, c-format
msgid "Compiled-in features: %s\n"
-msgstr "Fonctionnalités disponibles: %s\n"
+msgstr "Fonctionnalités disponibles: %s\n"
#: src/mn-main.c:133
msgid "Enable informational output"
@@ -697,19 +710,19 @@ msgstr "Activer la sortie informationelle"
#: src/mn-main.c:142
msgid "List compiled-in features and exit"
-msgstr "Afficher les fonctionnalités disponibles et quitter"
+msgstr "Afficher les fonctionnalités disponibles et quitter"
#: src/mn-main.c:151
msgid "Display the properties dialog"
-msgstr "Afficher la boîte de dialogue contenant les propriétés"
+msgstr "Afficher la boîte de dialogue contenant les propriétés"
#: src/mn-main.c:160
msgid "Display the about dialog"
-msgstr "Afficher la boîte de dialogue \"à propos\""
+msgstr "Afficher la boîte de dialogue \"à propos\""
#: src/mn-main.c:169
msgid "Update the mail status"
-msgstr "Mettre à jour le status du courrier"
+msgstr "Mettre à jour le status du courrier"
#: src/mn-main.c:178
msgid "Report the mail status"
@@ -723,51 +736,51 @@ msgstr "Rapporter le status du courrier"
msgid "multi-threading is not available"
msgstr "le multi-threading n'est pas disponible"
-#: src/mn-main.c:244
-msgid "Unable to initialize the GnomeVFS library."
-msgstr "Impossible d'initialiser la bibliothèque GnomeVFS."
-
-#: src/mn-main.c:252
+#: src/mn-main.c:243
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
msgstr ""
-"Bonobo n'a pas pu localiser l'objet automation. Veuillez vérifier votre "
+"Bonobo n'a pas pu localiser l'objet automation. Veuillez vérifier votre "
"installation de la Notification de Courrier."
-#: src/mn-main.c:263
+#: src/mn-main.c:248
+msgid "Unable to initialize the GnomeVFS library."
+msgstr "Impossible d'initialiser la bibliothèque GnomeVFS."
+
+#: src/mn-main.c:270
msgid "updating the mail status"
-msgstr "mise à jour du status du courrier"
+msgstr "mise à jour du status du courrier"
-#: src/mn-main.c:279
+#: src/mn-main.c:286
msgid "Mail Notification is already running"
-msgstr "La Notification de Courrier est déjà en cours d'exécution"
+msgstr "La Notification de Courrier est déjà en cours d'exécution"
-#: src/mn-main.c:286
+#: src/mn-main.c:293
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
msgstr ""
"Bonobo n'a pas pu localiser le fichier GNOME_MailNotification_Automation."
-"server. Veuillez vérifier votre installation de la Notification de Courrier."
+"server. Veuillez vérifier votre installation de la Notification de Courrier."
-#: src/mn-main.c:290
+#: src/mn-main.c:297
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
msgstr ""
-"Bonobo n'a pas été en mesure d'inscrire le serveur d'automation. Veuillez "
-"vérifier votre installation de la Notification de Courrier."
+"Bonobo n'a pas été en mesure d'inscrire le serveur d'automation. Veuillez "
+"vérifier votre installation de la Notification de Courrier."
#: src/mn-mbox-mailbox.gob:165
#, c-format
msgid "error while reading mailbox: %s"
-msgstr "erreur lors de la lecture de la boîte aux lettres: %s"
+msgstr "erreur lors de la lecture de la boîte aux lettres: %s"
#: src/mn-mbox-mailbox.gob:173
#, c-format
msgid "unable to open mailbox: %s"
-msgstr "impossible d'ouvrir la boîte aux lettres: %s"
+msgstr "impossible d'ouvrir la boîte aux lettres: %s"
#: src/mn-mh-mailbox.gob:111
#, c-format
@@ -781,15 +794,15 @@ msgstr "impossible d'ouvrir .mh_sequences: %s"
#: src/mn-pending-mailbox.gob:33
msgid "detecting"
-msgstr "en cours de détection"
+msgstr "en cours de détection"
#: src/mn-pi-mailbox-properties.gob:75
msgid "_Hostname:"
-msgstr "Nom d'_hôte:"
+msgstr "Nom d'_hôte:"
#: src/mn-pi-mailbox-properties.gob:93
msgid "_Details"
-msgstr "_Détails"
+msgstr "_Détails"
#: src/mn-pi-mailbox-properties.gob:105
msgid "sta_ndard"
@@ -801,7 +814,7 @@ msgstr "_SSL"
#: src/mn-pop3-mailbox-properties.gob:84
msgid "The hostname or IP address of the POP3 server"
-msgstr "Le nom d'hôte ou adresse IP du serveur POP3"
+msgstr "Le nom d'hôte ou adresse IP du serveur POP3"
#: src/mn-pop3-mailbox-properties.gob:85
msgid "Your username on the POP3 server"
@@ -813,15 +826,15 @@ msgstr "Votre mot de passe sur le serveur POP3"
#: src/mn-pop3-mailbox-properties.gob:87 src/mn-pop3-mailbox-properties.gob:88
msgid "The port number of the POP3 server"
-msgstr "Le numéro de port du serveur POP3"
+msgstr "Le numéro de port du serveur POP3"
#: src/mn-pop3-mailbox.gob:137
msgid "unable to parse POP3 URI"
-msgstr "impossible d'interpréter l'URI POP3"
+msgstr "impossible d'interpréter l'URI POP3"
#: src/mn-pop3-mailbox.gob:267
msgid "invalid arguments for the LOGIN-DELAY capability"
-msgstr "arguments invalides pour la possibilité LOGIN-DELAY"
+msgstr "arguments invalides pour la possibilité LOGIN-DELAY"
#: src/mn-pop3-mailbox.gob:495
#, c-format
@@ -836,22 +849,22 @@ msgstr "le serveur ne supporte pas l'authentification APOP"
#: src/mn-pop3-mailbox.gob:681
msgid "falling back to APOP authentication"
-msgstr "rétrogradation vers l'authentification APOP"
+msgstr "rétrogradation vers l'authentification APOP"
#: src/mn-pop3-mailbox.gob:686
msgid "falling back to USER/PASS authentication"
-msgstr "rétrogradation vers l'authentification USER/PASS"
+msgstr "rétrogradation vers l'authentification USER/PASS"
#: src/mn-properties.c:132
msgid "No mailbox selected."
-msgstr "Pas de boîte aux lettres sélectionnée."
+msgstr "Pas de boîte aux lettres sélectionnée."
#: src/mn-properties.c:137
#, c-format
msgid "%i mailbox selected."
msgid_plural "%i mailboxes selected."
-msgstr[0] "%i boîte aux lettres sélectionnée"
-msgstr[1] "%i boîtes aux lettres sélectionnées"
+msgstr[0] "%i boîte aux lettres sélectionnée"
+msgstr[1] "%i boîtes aux lettres sélectionnées"
#: src/mn-shell.gob:191
msgid "A command error has occurred"
@@ -861,13 +874,13 @@ msgstr "Une erreur de commande s'est produite"
#, c-format
msgid "Unable to execute double-clicked command: %s."
msgstr ""
-"Impossible d'exécuter la commande associée au double-click sur l'icône: %s."
+"Impossible d'exécuter la commande associée au double-click sur l'icône: %s."
#: src/mn-shell.gob:297
msgid "The following mailbox has new mail:\n"
msgid_plural "The following mailboxes have new mail:\n"
-msgstr[0] "La boîte aux lettres suivante a du nouveau courrier:\n"
-msgstr[1] "Les boîtes aux lettres suivantes ont du nouveau courrier:\n"
+msgstr[0] "La boîte aux lettres suivante a du nouveau courrier:\n"
+msgstr[1] "Les boîtes aux lettres suivantes ont du nouveau courrier:\n"
#: src/mn-shell.gob:301
msgid "You have no new mail."
@@ -876,14 +889,14 @@ msgstr "Vous n'avez pas de nouveau courrier."
#: src/mn-shell.gob:304
msgid "The following mailbox reported an error:\n"
msgid_plural "The following mailboxes reported an error:\n"
-msgstr[0] "La boîte aux lettres suivante a indiqué une erreur:\n"
-msgstr[1] "Les boîtes aux lettres suivantes ont indiqué une erreur:\n"
+msgstr[0] "La boîte aux lettres suivante a indiqué une erreur:\n"
+msgstr[1] "Les boîtes aux lettres suivantes ont indiqué une erreur:\n"
#: src/mn-shell.gob:309
msgid "The following mailbox is unsupported:\n"
msgid_plural "The following mailboxes are unsupported:\n"
-msgstr[0] "La boîte aux lettres suivante n'est pas prise en charge:\n"
-msgstr[1] "Les boîtes aux lettres suivantes ne sont pas prises en charge:\n"
+msgstr[0] "La boîte aux lettres suivante n'est pas prise en charge:\n"
+msgstr[1] "Les boîtes aux lettres suivantes ne sont pas prises en charge:\n"
#: src/mn-shell.gob:325
msgid "You have new mail."
@@ -897,45 +910,50 @@ msgstr "Une erreur de commande s'est produite dans la Notification de Courrier"
#, c-format
msgid "Unable to execute new mail command: %s."
msgstr ""
-"Impossible d'exécuter la commande associée à l'arrivée de nouveau courrier: %"
+"Impossible d'exécuter la commande associée à l'arrivée de nouveau courrier: %"
"s"
#: src/mn-stock.c:28
msgid "Select _All"
-msgstr "Sélectionner _Tout"
+msgstr "Sélectionner _Tout"
-#: src/mn-sylpheed-mailbox.gob:83
+#: src/mn-sylpheed-mailbox.gob:84
#, c-format
msgid "unable to open folder: %s"
msgstr "impossible d'ouvrir le dossier: %s"
-#: src/mn-sylpheed-mailbox.gob:114
+#: src/mn-sylpheed-mailbox.gob:118
+#, c-format
+msgid "unable to close folder: %s"
+msgstr "impossible de fermer le dossier: %s"
+
+#: src/mn-sylpheed-mailbox.gob:121
#, c-format
msgid "error while reading folder: %s"
msgstr "erreur lors de la lecture du dossier: %s"
-#: src/mn-system-mailbox-properties.gob:33 src/mn-uri.c:617
+#: src/mn-system-mailbox-properties.gob:33 src/mn-uri.c:672
msgid "System Mailbox"
-msgstr "Boîte aux Lettres Système"
+msgstr "Boîte aux Lettres Système"
#: src/mn-system-mailbox-properties.gob:56
#, c-format
msgid "Your system mailbox (<span weight=\"bold\">%s</span>) will be used."
msgstr ""
-"Votre boîte aux lettres système (<span weight=\"bold\">%s</span>) sera "
-"utilisée."
+"Votre boîte aux lettres système (<span weight=\"bold\">%s</span>) sera "
+"utilisée."
#: src/mn-system-mailbox-properties.gob:63
msgid ""
"The location of your system mailbox could not be detected. Please set the "
"MAIL environment variable."
msgstr ""
-"L'emplacement de votre boîte aux lettres système n'a pu être détecté. "
-"Veuillez spécifier la variable d'environnement MAIL."
+"L'emplacement de votre boîte aux lettres système n'a pu être détecté. "
+"Veuillez spécifier la variable d'environnement MAIL."
#: src/mn-unsupported-mailbox.gob:31
msgid "The reason why the mailbox is unsupported"
-msgstr "La raison pour laquelle la boîte aux lettres n'est pas prise en charge"
+msgstr "La raison pour laquelle la boîte aux lettres n'est pas prise en charge"
#: src/mn-unsupported-mailbox.gob:38
msgid "unsupported"
@@ -949,15 +967,15 @@ msgstr "erreur de chargement d'image: %s"
#: src/mn-util.c:154
#, c-format
msgid "widget %s not found in interface %s"
-msgstr "élément %s non trouvé dans interface %s"
+msgstr "élément %s non trouvé dans interface %s"
#: src/mn-util.c:261
msgid "received an invalid URI list"
-msgstr "une liste d'URI invalide a été reçue"
+msgstr "une liste d'URI invalide a été reçue"
#: src/mn-util.c:297
msgid "received an invalid Mozilla URL"
-msgstr "une URL Mozilla invalide a été reçue"
+msgstr "une URL Mozilla invalide a été reçue"
#: src/mn-util.c:389
msgid "Unable to display help"
@@ -966,11 +984,11 @@ msgstr "Impossible d'afficher l'aide"
#: src/mn-util.c:403
#, c-format
msgid "Unable to create a thread: %s."
-msgstr "Impossible de créer un thread: %s."
+msgstr "Impossible de créer un thread: %s."
#: ui/mailbox-properties.glade.h:1
msgid "_Mailbox type:"
-msgstr "_Type de boîte aux lettres:"
+msgstr "_Type de boîte aux lettres:"
#: ui/properties.glade.h:1
msgid " "
@@ -986,27 +1004,27 @@ msgstr "<span weight=\"bold\">Commandes</span>"
#: ui/properties.glade.h:4
msgid "<span weight=\"bold\">General</span>"
-msgstr "<span weight=\"bold\">Général</span>"
+msgstr "<span weight=\"bold\">Général</span>"
#: ui/properties.glade.h:5
msgid "<span weight=\"bold\">Mailboxes</span>"
-msgstr "<span weight=\"bold\">Boîtes aux lettres</span>"
+msgstr "<span weight=\"bold\">Boîtes aux lettres</span>"
#: ui/properties.glade.h:6
msgid "Mail Notification Properties"
-msgstr "Propriétés de la Notification de Courrier"
+msgstr "Propriétés de la Notification de Courrier"
#: ui/properties.glade.h:7
msgid "The amount of time to wait between mail checks"
-msgstr "La quantité de temps à attendre entre les vérifications de courrier"
+msgstr "La quantité de temps à attendre entre les vérifications de courrier"
#: ui/properties.glade.h:8
msgid "The command to run when new mail arrives"
-msgstr "La commande à exécuter lorsque du nouveau courrier arrive"
+msgstr "La commande à exécuter lorsque du nouveau courrier arrive"
#: ui/properties.glade.h:9
msgid "The command to run when the icon is double-clicked"
-msgstr "La commande à exécuter lorsque l'îcone est double-cliquée"
+msgstr "La commande à exécuter lorsque l'îcone est double-cliquée"
#: ui/properties.glade.h:10
msgid "When _new mail arrives:"
@@ -1014,21 +1032,21 @@ msgstr "Lorsque du _nouveau courrier arrive:"
#: ui/properties.glade.h:11
msgid "When double-click_ed:"
-msgstr "Lorsque l'îcone est double-cliqué_e:"
+msgstr "Lorsque l'îcone est double-cliqué_e:"
#: ui/properties.glade.h:12
msgid "Whether to run a command when new mail arrives or not"
msgstr ""
-"Si une commande doit être exécutée lorsque du nouveau courrier arrive ou pas"
+"Si une commande doit être exécutée lorsque du nouveau courrier arrive ou pas"
#: ui/properties.glade.h:13
msgid "Whether to run a command when the icon is double-clicked or not"
msgstr ""
-"Si une commande doit être exécutée lorsque l'îcone est double-cliquée ou pas"
+"Si une commande doit être exécutée lorsque l'îcone est double-cliquée ou pas"
#: ui/properties.glade.h:14
msgid "_Delay between mail checks:"
-msgstr "_Délai entre les vérifications de courrier:"
+msgstr "_Délai entre les vérifications de courrier:"
#: ui/properties.glade.h:15
msgid "minutes"
@@ -1037,3 +1055,37 @@ msgstr "minutes"
#: ui/properties.glade.h:16
msgid "seconds"
msgstr "secondes"
+
+#: ui/welcome.glade.h:1
+msgid ""
+"<span weight=\"bold\" size=\"larger\">First startup</span>\n"
+"\n"
+"Mail Notification has been loaded successfully.\n"
+"\n"
+"Since this is the first time you run Mail Notification, you might want to "
+"configure it.\n"
+"\n"
+"Note: this message will not be shown anymore. To configure Mail Notification "
+"again, choose <span weight=\"bold\">Applications</span> → <span weight=\"bold"
+"\">Desktop Preferences</span> → <span weight=\"bold\">Mail Notification</"
+"span>."
+msgstr ""
+"<span weight=\"bold\" size=\"larger\">Premier démarrage</span>\n"
+"\n"
+"La Notification de Courrier a été chargée avec succès.\n"
+"\n"
+"Etant donné que c'est la première fois que vous utilisez la Notification de "
+"Courrier, vous voudrez probablement la configurer.\n"
+"\n"
+"Note: ce message ne sera plus affiché à nouveau. Pour configurer la "
+"Notification de Courrier ultérieurement, choisissez <span weight=\"bold"
+"\">Applications</span> → <span weight=\"bold\">Préférences du bureau</span> "
+"→ <span weight=\"bold\">Notification de Courrier</span>."
+
+#: ui/welcome.glade.h:8
+msgid "_Configure Mail Notification"
+msgstr "_Configurer la Notification de Courrier"
+
+#: ui/welcome.glade.h:9
+msgid "_Skip configuration"
+msgstr "_Passer la configuration"
diff --git a/po/mail-notification.pot b/po/mail-notification.pot
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-16 18:15+0200\n"
+"POT-Creation-Date: 2004-08-19 00:12+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
@@ -53,62 +53,70 @@ msgid "Double-clicked command"
msgstr ""
#: data/mail-notification.schemas.in.h:4
-msgid "Height of properties dialog"
+msgid "Has already been run"
msgstr ""
#: data/mail-notification.schemas.in.h:5
-msgid "Mailboxes list"
+msgid "Height of properties dialog"
msgstr ""
#: data/mail-notification.schemas.in.h:6
-msgid "Minutes between mail checks"
+msgid "Mailboxes list"
msgstr ""
#: data/mail-notification.schemas.in.h:7
-msgid "New mail command"
+msgid "Minutes between mail checks"
msgstr ""
#: data/mail-notification.schemas.in.h:8
-msgid "Run a command when new mail arrives"
+msgid "New mail command"
msgstr ""
#: data/mail-notification.schemas.in.h:9
-msgid "Run a command when the icon is double-clicked"
+msgid "Run a command when new mail arrives"
msgstr ""
#: data/mail-notification.schemas.in.h:10
-msgid "Seconds between mail checks"
+msgid "Run a command when the icon is double-clicked"
msgstr ""
#: data/mail-notification.schemas.in.h:11
-msgid "The command to run when new mail arrives."
+msgid "Seconds between mail checks"
msgstr ""
#: data/mail-notification.schemas.in.h:12
-msgid "The command to run when the icon is double-clicked."
+msgid "The command to run when new mail arrives."
msgstr ""
#: data/mail-notification.schemas.in.h:13
-msgid "The height of the properties dialog in pixels."
+msgid "The command to run when the icon is double-clicked."
msgstr ""
#: data/mail-notification.schemas.in.h:14
-msgid "The list of mailboxes to monitor."
+msgid "The height of the properties dialog in pixels."
msgstr ""
#: data/mail-notification.schemas.in.h:15
-msgid "The width of the properties dialog in pixels."
+msgid "The list of mailboxes to monitor."
msgstr ""
#: data/mail-notification.schemas.in.h:16
-msgid "Whether to run a command when new mail arrives or not."
+msgid "The width of the properties dialog in pixels."
msgstr ""
#: data/mail-notification.schemas.in.h:17
-msgid "Whether to run a command when the icon is double-clicked or not."
+msgid "Whether Mail Notification has already been run or not."
msgstr ""
#: data/mail-notification.schemas.in.h:18
+msgid "Whether to run a command when new mail arrives or not."
+msgstr ""
+
+#: data/mail-notification.schemas.in.h:19
+msgid "Whether to run a command when the icon is double-clicked or not."
+msgstr ""
+
+#: data/mail-notification.schemas.in.h:20
msgid "Width of properties dialog"
msgstr ""
@@ -156,178 +164,178 @@ msgstr ""
msgid "Whether the image is blinking or not"
msgstr ""
-#: src/mn-client-session.c:196 src/mn-client-session.c:203
+#: src/mn-client-session.c:195 src/mn-client-session.c:202
#, c-format
msgid "unable to read from server: %s"
msgstr ""
-#: src/mn-client-session.c:201
+#: src/mn-client-session.c:200
msgid "unable to read from server: EOF"
msgstr ""
-#: src/mn-client-session.c:213
+#: src/mn-client-session.c:212
#, c-format
msgid "unable to decode data using SASL: %s"
msgstr ""
-#: src/mn-client-session.c:287
+#: src/mn-client-session.c:286
#, c-format
msgid "resolving %s"
msgstr ""
-#: src/mn-client-session.c:297
+#: src/mn-client-session.c:296
#, c-format
msgid "unable to resolve %s: %s"
msgstr ""
-#: src/mn-client-session.c:334
+#: src/mn-client-session.c:333
#, c-format
msgid "%s: unsupported address family"
msgstr ""
-#: src/mn-client-session.c:341
+#: src/mn-client-session.c:340
#, c-format
msgid "%s: unable to create socket: %s"
msgstr ""
-#: src/mn-client-session.c:345
+#: src/mn-client-session.c:344
#, c-format
msgid "connecting to %s (%s) port %i"
msgstr ""
-#: src/mn-client-session.c:348
+#: src/mn-client-session.c:347
#, c-format
msgid "unable to connect: %s"
msgstr ""
-#: src/mn-client-session.c:353
+#: src/mn-client-session.c:352
msgid "connected successfully"
msgstr ""
#. if reached, we couldn't find a working address
-#: src/mn-client-session.c:359
+#: src/mn-client-session.c:358
#, c-format
msgid "unable to connect to %s"
msgstr ""
-#: src/mn-client-session.c:375
+#: src/mn-client-session.c:374
#, c-format
msgid "unable to initialize the OpenSSL library: %s"
msgstr ""
-#: src/mn-client-session.c:383
+#: src/mn-client-session.c:382
#, c-format
msgid "unable to create a SSL object: %s"
msgstr ""
-#: src/mn-client-session.c:389
+#: src/mn-client-session.c:388
#, c-format
msgid "unable to set the SSL file descriptor: %s"
msgstr ""
-#: src/mn-client-session.c:444
+#: src/mn-client-session.c:443
#, c-format
msgid "response \"%s\" is not valid in current context"
msgstr ""
-#: src/mn-client-session.c:470
+#: src/mn-client-session.c:469
#, c-format
msgid "unable to parse response \"%s\""
msgstr ""
-#: src/mn-client-session.c:517
+#: src/mn-client-session.c:516
#, c-format
msgid "unable to encode data using SASL: %s"
msgstr ""
-#: src/mn-client-session.c:546 src/mn-client-session.c:553
+#: src/mn-client-session.c:545 src/mn-client-session.c:552
#, c-format
msgid "unable to write to server: %s"
msgstr ""
-#: src/mn-client-session.c:551
+#: src/mn-client-session.c:550
msgid "unable to write to server: EOF"
msgstr ""
-#: src/mn-client-session.c:583
+#: src/mn-client-session.c:582
#, c-format
msgid "unable to encode Base64: %s"
msgstr ""
-#: src/mn-client-session.c:686
+#: src/mn-client-session.c:685
#, c-format
msgid "unable to initialize the SASL library: %s"
msgstr ""
-#: src/mn-client-session.c:695
+#: src/mn-client-session.c:694
#, c-format
msgid "unable to retrieve local address of socket: %s"
msgstr ""
-#: src/mn-client-session.c:701
+#: src/mn-client-session.c:700
#, c-format
msgid "unable to retrieve remote address of socket: %s"
msgstr ""
-#: src/mn-client-session.c:735
+#: src/mn-client-session.c:734
#, c-format
msgid "warning: unable to set SASL security properties: %s"
msgstr ""
-#: src/mn-client-session.c:774
+#: src/mn-client-session.c:773
msgid ""
"unable to start SASL authentication: SASL asked for something we did not know"
msgstr ""
-#: src/mn-client-session.c:778
+#: src/mn-client-session.c:777
#, c-format
msgid "unable to start SASL authentication: %s"
msgstr ""
-#: src/mn-client-session.c:782
+#: src/mn-client-session.c:781
#, c-format
msgid "unable to create a SASL connection: %s"
msgstr ""
-#: src/mn-client-session.c:832
+#: src/mn-client-session.c:831
msgid "SASL asked for something we did not know, aborting SASL authentication"
msgstr ""
-#: src/mn-client-session.c:836
+#: src/mn-client-session.c:835
#, c-format
msgid "%s, aborting SASL authentication"
msgstr ""
#. compliance error
-#: src/mn-client-session.c:841
+#: src/mn-client-session.c:840
#, c-format
msgid "unable to decode Base64 input from server: %s"
msgstr ""
-#: src/mn-client-session.c:844
+#: src/mn-client-session.c:843
msgid ""
"the server sent a SASL challenge, but there was a pending initial SASL "
"client response"
msgstr ""
-#: src/mn-client-session.c:858
+#: src/mn-client-session.c:857
msgid ""
"the server did not send a SASL challenge, but there was no pending initial "
"SASL client response"
msgstr ""
-#: src/mn-client-session.c:881
+#: src/mn-client-session.c:880
#, c-format
msgid "a SASL security layer of strength factor %i is now active"
msgstr ""
#. a security layer is active but we can't retrieve maxoutbuf -> fatal
-#: src/mn-client-session.c:886
+#: src/mn-client-session.c:885
#, c-format
msgid "unable to get SASL_MAXOUTBUF property: %s"
msgstr ""
-#: src/mn-client-session.c:892
+#: src/mn-client-session.c:891
#, c-format
msgid "warning: unable to get SASL_SSF property: %s"
msgstr ""
@@ -348,30 +356,30 @@ msgstr ""
msgid "unable to parse Gmail URI"
msgstr ""
-#: src/mn-gmail-mailbox.gob:180
+#: src/mn-gmail-mailbox.gob:182
msgid "logging in"
msgstr ""
-#: src/mn-gmail-mailbox.gob:194 src/mn-gmail-mailbox.gob:233
-#: src/mn-gmail-mailbox.gob:266 src/mn-gmail-mailbox.gob:370
+#: src/mn-gmail-mailbox.gob:201 src/mn-gmail-mailbox.gob:240
+#: src/mn-gmail-mailbox.gob:273 src/mn-gmail-mailbox.gob:377
#, c-format
msgid "unable to transfer data: %s"
msgstr ""
-#: src/mn-gmail-mailbox.gob:219 src/mn-gmail-mailbox.gob:252
-#: src/mn-gmail-mailbox.gob:286
+#: src/mn-gmail-mailbox.gob:226 src/mn-gmail-mailbox.gob:259
+#: src/mn-gmail-mailbox.gob:293
msgid "login failed"
msgstr ""
-#: src/mn-gmail-mailbox.gob:280
+#: src/mn-gmail-mailbox.gob:287
msgid "successfully logged in"
msgstr ""
-#: src/mn-gmail-mailbox.gob:358
+#: src/mn-gmail-mailbox.gob:365
msgid "searching for unread mail"
msgstr ""
-#: src/mn-gmail-mailbox.gob:377
+#: src/mn-gmail-mailbox.gob:384
msgid "unable to parse Gmail data"
msgstr ""
@@ -429,30 +437,30 @@ msgid "unable to login"
msgstr ""
#. compliance error
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:336
msgid "server did not send status"
msgstr ""
-#: src/mn-imap-mailbox.gob:537 src/mn-pop3-mailbox.gob:715
+#: src/mn-imap-mailbox.gob:554 src/mn-pop3-mailbox.gob:715
msgid "unknown server error"
msgstr ""
-#: src/mn-imap-mailbox.gob:603 src/mn-pop3-mailbox.gob:645
+#: src/mn-imap-mailbox.gob:625 src/mn-pop3-mailbox.gob:645
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
msgstr ""
-#: src/mn-imap-mailbox.gob:611 src/mn-pop3-mailbox.gob:657
+#: src/mn-imap-mailbox.gob:633 src/mn-pop3-mailbox.gob:657
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr ""
-#: src/mn-imap-mailbox.gob:629
+#: src/mn-imap-mailbox.gob:651
msgid "falling back to IMAP LOGIN authentication"
msgstr ""
-#: src/mn-imap-mailbox.gob:633 src/mn-pop3-mailbox.gob:691
+#: src/mn-imap-mailbox.gob:655 src/mn-pop3-mailbox.gob:691
msgid "authentication failed"
msgstr ""
@@ -639,12 +647,17 @@ msgstr ""
msgid "%s reported an error: %s"
msgstr ""
-#: src/mn-maildir-mailbox.gob:97
+#: src/mn-maildir-mailbox.gob:98
#, c-format
msgid "unable to open folder \"new\": %s"
msgstr ""
-#: src/mn-maildir-mailbox.gob:122
+#: src/mn-maildir-mailbox.gob:126
+#, c-format
+msgid "unable to close folder \"new\": %s"
+msgstr ""
+
+#: src/mn-maildir-mailbox.gob:129
#, c-format
msgid "error while reading folder \"new\": %s"
msgstr ""
@@ -691,31 +704,31 @@ msgstr ""
msgid "multi-threading is not available"
msgstr ""
-#: src/mn-main.c:244
-msgid "Unable to initialize the GnomeVFS library."
-msgstr ""
-
-#: src/mn-main.c:252
+#: src/mn-main.c:243
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
msgstr ""
-#: src/mn-main.c:263
+#: src/mn-main.c:248
+msgid "Unable to initialize the GnomeVFS library."
+msgstr ""
+
+#: src/mn-main.c:270
msgid "updating the mail status"
msgstr ""
-#: src/mn-main.c:279
+#: src/mn-main.c:286
msgid "Mail Notification is already running"
msgstr ""
-#: src/mn-main.c:286
+#: src/mn-main.c:293
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
msgstr ""
-#: src/mn-main.c:290
+#: src/mn-main.c:297
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -863,17 +876,22 @@ msgstr ""
msgid "Select _All"
msgstr ""
-#: src/mn-sylpheed-mailbox.gob:83
+#: src/mn-sylpheed-mailbox.gob:84
#, c-format
msgid "unable to open folder: %s"
msgstr ""
-#: src/mn-sylpheed-mailbox.gob:114
+#: src/mn-sylpheed-mailbox.gob:118
+#, c-format
+msgid "unable to close folder: %s"
+msgstr ""
+
+#: src/mn-sylpheed-mailbox.gob:121
#, c-format
msgid "error while reading folder: %s"
msgstr ""
-#: src/mn-system-mailbox-properties.gob:33 src/mn-uri.c:617
+#: src/mn-system-mailbox-properties.gob:33 src/mn-uri.c:672
msgid "System Mailbox"
msgstr ""
@@ -990,3 +1008,26 @@ msgstr ""
#: ui/properties.glade.h:16
msgid "seconds"
msgstr ""
+
+#: ui/welcome.glade.h:1
+msgid ""
+"<span weight=\"bold\" size=\"larger\">First startup</span>\n"
+"\n"
+"Mail Notification has been loaded successfully.\n"
+"\n"
+"Since this is the first time you run Mail Notification, you might want to "
+"configure it.\n"
+"\n"
+"Note: this message will not be shown anymore. To configure Mail Notification "
+"again, choose <span weight=\"bold\">Applications</span> → <span weight=\"bold"
+"\">Desktop Preferences</span> → <span weight=\"bold\">Mail Notification</"
+"span>."
+msgstr ""
+
+#: ui/welcome.glade.h:8
+msgid "_Configure Mail Notification"
+msgstr ""
+
+#: ui/welcome.glade.h:9
+msgid "_Skip configuration"
+msgstr ""
diff --git a/po/ru.gmo b/po/ru.gmo
Binary files differ.
diff --git a/po/ru.po b/po/ru.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mail-notification 0.5.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-16 18:15+0200\n"
+"POT-Creation-Date: 2004-08-19 00:12+0200\n"
"PO-Revision-Date: 2004-07-21 21:58+0200\n"
"Last-Translator: Dan Korostelev <dan@ats.energo.ru>\n"
"Language-Team: Russian\n"
@@ -60,74 +60,83 @@ msgid "Double-clicked command"
msgstr ""
#: data/mail-notification.schemas.in.h:4
-msgid "Height of properties dialog"
+msgid "Has already been run"
msgstr ""
#: data/mail-notification.schemas.in.h:5
-msgid "Mailboxes list"
+msgid "Height of properties dialog"
msgstr ""
#: data/mail-notification.schemas.in.h:6
-msgid "Minutes between mail checks"
+msgid "Mailboxes list"
msgstr ""
#: data/mail-notification.schemas.in.h:7
-msgid "New mail command"
+msgid "Minutes between mail checks"
msgstr ""
#: data/mail-notification.schemas.in.h:8
+msgid "New mail command"
+msgstr ""
+
+#: data/mail-notification.schemas.in.h:9
#, fuzzy
msgid "Run a command when new mail arrives"
msgstr ""
"Иконка в облаÑти ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸, уведомлÑÑŽÑ‰Ð°Ñ Ð¾ приходе новой почты."
-#: data/mail-notification.schemas.in.h:9
+#: data/mail-notification.schemas.in.h:10
#, fuzzy
msgid "Run a command when the icon is double-clicked"
msgstr ""
"Иконка в облаÑти ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸, уведомлÑÑŽÑ‰Ð°Ñ Ð¾ приходе новой почты."
-#: data/mail-notification.schemas.in.h:10
+#: data/mail-notification.schemas.in.h:11
msgid "Seconds between mail checks"
msgstr ""
-#: data/mail-notification.schemas.in.h:11
+#: data/mail-notification.schemas.in.h:12
#, fuzzy
msgid "The command to run when new mail arrives."
msgstr ""
"Иконка в облаÑти ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸, уведомлÑÑŽÑ‰Ð°Ñ Ð¾ приходе новой почты."
-#: data/mail-notification.schemas.in.h:12
+#: data/mail-notification.schemas.in.h:13
#, fuzzy
msgid "The command to run when the icon is double-clicked."
msgstr ""
"Иконка в облаÑти ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸, уведомлÑÑŽÑ‰Ð°Ñ Ð¾ приходе новой почты."
-#: data/mail-notification.schemas.in.h:13
+#: data/mail-notification.schemas.in.h:14
msgid "The height of the properties dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:14
+#: data/mail-notification.schemas.in.h:15
msgid "The list of mailboxes to monitor."
msgstr ""
-#: data/mail-notification.schemas.in.h:15
+#: data/mail-notification.schemas.in.h:16
msgid "The width of the properties dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:16
+#: data/mail-notification.schemas.in.h:17
+#, fuzzy
+msgid "Whether Mail Notification has already been run or not."
+msgstr "Иконка входÑщих Ñообщений"
+
+#: data/mail-notification.schemas.in.h:18
#, fuzzy
msgid "Whether to run a command when new mail arrives or not."
msgstr ""
"Иконка в облаÑти ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸, уведомлÑÑŽÑ‰Ð°Ñ Ð¾ приходе новой почты."
-#: data/mail-notification.schemas.in.h:17
+#: data/mail-notification.schemas.in.h:19
#, fuzzy
msgid "Whether to run a command when the icon is double-clicked or not."
msgstr ""
"Иконка в облаÑти ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸, уведомлÑÑŽÑ‰Ð°Ñ Ð¾ приходе новой почты."
-#: data/mail-notification.schemas.in.h:18
+#: data/mail-notification.schemas.in.h:20
msgid "Width of properties dialog"
msgstr ""
@@ -175,178 +184,178 @@ msgstr ""
msgid "Whether the image is blinking or not"
msgstr ""
-#: src/mn-client-session.c:196 src/mn-client-session.c:203
+#: src/mn-client-session.c:195 src/mn-client-session.c:202
#, c-format
msgid "unable to read from server: %s"
msgstr ""
-#: src/mn-client-session.c:201
+#: src/mn-client-session.c:200
msgid "unable to read from server: EOF"
msgstr ""
-#: src/mn-client-session.c:213
+#: src/mn-client-session.c:212
#, c-format
msgid "unable to decode data using SASL: %s"
msgstr ""
-#: src/mn-client-session.c:287
+#: src/mn-client-session.c:286
#, c-format
msgid "resolving %s"
msgstr ""
-#: src/mn-client-session.c:297
+#: src/mn-client-session.c:296
#, c-format
msgid "unable to resolve %s: %s"
msgstr ""
-#: src/mn-client-session.c:334
+#: src/mn-client-session.c:333
#, c-format
msgid "%s: unsupported address family"
msgstr ""
-#: src/mn-client-session.c:341
+#: src/mn-client-session.c:340
#, c-format
msgid "%s: unable to create socket: %s"
msgstr ""
-#: src/mn-client-session.c:345
+#: src/mn-client-session.c:344
#, c-format
msgid "connecting to %s (%s) port %i"
msgstr ""
-#: src/mn-client-session.c:348
+#: src/mn-client-session.c:347
#, c-format
msgid "unable to connect: %s"
msgstr ""
-#: src/mn-client-session.c:353
+#: src/mn-client-session.c:352
msgid "connected successfully"
msgstr ""
#. if reached, we couldn't find a working address
-#: src/mn-client-session.c:359
+#: src/mn-client-session.c:358
#, c-format
msgid "unable to connect to %s"
msgstr ""
-#: src/mn-client-session.c:375
+#: src/mn-client-session.c:374
#, c-format
msgid "unable to initialize the OpenSSL library: %s"
msgstr ""
-#: src/mn-client-session.c:383
+#: src/mn-client-session.c:382
#, c-format
msgid "unable to create a SSL object: %s"
msgstr ""
-#: src/mn-client-session.c:389
+#: src/mn-client-session.c:388
#, c-format
msgid "unable to set the SSL file descriptor: %s"
msgstr ""
-#: src/mn-client-session.c:444
+#: src/mn-client-session.c:443
#, c-format
msgid "response \"%s\" is not valid in current context"
msgstr ""
-#: src/mn-client-session.c:470
+#: src/mn-client-session.c:469
#, c-format
msgid "unable to parse response \"%s\""
msgstr ""
-#: src/mn-client-session.c:517
+#: src/mn-client-session.c:516
#, c-format
msgid "unable to encode data using SASL: %s"
msgstr ""
-#: src/mn-client-session.c:546 src/mn-client-session.c:553
+#: src/mn-client-session.c:545 src/mn-client-session.c:552
#, c-format
msgid "unable to write to server: %s"
msgstr ""
-#: src/mn-client-session.c:551
+#: src/mn-client-session.c:550
msgid "unable to write to server: EOF"
msgstr ""
-#: src/mn-client-session.c:583
+#: src/mn-client-session.c:582
#, c-format
msgid "unable to encode Base64: %s"
msgstr ""
-#: src/mn-client-session.c:686
+#: src/mn-client-session.c:685
#, c-format
msgid "unable to initialize the SASL library: %s"
msgstr ""
-#: src/mn-client-session.c:695
+#: src/mn-client-session.c:694
#, c-format
msgid "unable to retrieve local address of socket: %s"
msgstr ""
-#: src/mn-client-session.c:701
+#: src/mn-client-session.c:700
#, c-format
msgid "unable to retrieve remote address of socket: %s"
msgstr ""
-#: src/mn-client-session.c:735
+#: src/mn-client-session.c:734
#, c-format
msgid "warning: unable to set SASL security properties: %s"
msgstr ""
-#: src/mn-client-session.c:774
+#: src/mn-client-session.c:773
msgid ""
"unable to start SASL authentication: SASL asked for something we did not know"
msgstr ""
-#: src/mn-client-session.c:778
+#: src/mn-client-session.c:777
#, c-format
msgid "unable to start SASL authentication: %s"
msgstr ""
-#: src/mn-client-session.c:782
+#: src/mn-client-session.c:781
#, c-format
msgid "unable to create a SASL connection: %s"
msgstr ""
-#: src/mn-client-session.c:832
+#: src/mn-client-session.c:831
msgid "SASL asked for something we did not know, aborting SASL authentication"
msgstr ""
-#: src/mn-client-session.c:836
+#: src/mn-client-session.c:835
#, c-format
msgid "%s, aborting SASL authentication"
msgstr ""
#. compliance error
-#: src/mn-client-session.c:841
+#: src/mn-client-session.c:840
#, c-format
msgid "unable to decode Base64 input from server: %s"
msgstr ""
-#: src/mn-client-session.c:844
+#: src/mn-client-session.c:843
msgid ""
"the server sent a SASL challenge, but there was a pending initial SASL "
"client response"
msgstr ""
-#: src/mn-client-session.c:858
+#: src/mn-client-session.c:857
msgid ""
"the server did not send a SASL challenge, but there was no pending initial "
"SASL client response"
msgstr ""
-#: src/mn-client-session.c:881
+#: src/mn-client-session.c:880
#, c-format
msgid "a SASL security layer of strength factor %i is now active"
msgstr ""
#. a security layer is active but we can't retrieve maxoutbuf -> fatal
-#: src/mn-client-session.c:886
+#: src/mn-client-session.c:885
#, c-format
msgid "unable to get SASL_MAXOUTBUF property: %s"
msgstr ""
-#: src/mn-client-session.c:892
+#: src/mn-client-session.c:891
#, c-format
msgid "warning: unable to get SASL_SSF property: %s"
msgstr ""
@@ -367,30 +376,30 @@ msgstr ""
msgid "unable to parse Gmail URI"
msgstr ""
-#: src/mn-gmail-mailbox.gob:180
+#: src/mn-gmail-mailbox.gob:182
msgid "logging in"
msgstr ""
-#: src/mn-gmail-mailbox.gob:194 src/mn-gmail-mailbox.gob:233
-#: src/mn-gmail-mailbox.gob:266 src/mn-gmail-mailbox.gob:370
+#: src/mn-gmail-mailbox.gob:201 src/mn-gmail-mailbox.gob:240
+#: src/mn-gmail-mailbox.gob:273 src/mn-gmail-mailbox.gob:377
#, c-format
msgid "unable to transfer data: %s"
msgstr ""
-#: src/mn-gmail-mailbox.gob:219 src/mn-gmail-mailbox.gob:252
-#: src/mn-gmail-mailbox.gob:286
+#: src/mn-gmail-mailbox.gob:226 src/mn-gmail-mailbox.gob:259
+#: src/mn-gmail-mailbox.gob:293
msgid "login failed"
msgstr ""
-#: src/mn-gmail-mailbox.gob:280
+#: src/mn-gmail-mailbox.gob:287
msgid "successfully logged in"
msgstr ""
-#: src/mn-gmail-mailbox.gob:358
+#: src/mn-gmail-mailbox.gob:365
msgid "searching for unread mail"
msgstr ""
-#: src/mn-gmail-mailbox.gob:377
+#: src/mn-gmail-mailbox.gob:384
msgid "unable to parse Gmail data"
msgstr ""
@@ -448,30 +457,30 @@ msgid "unable to login"
msgstr ""
#. compliance error
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:336
msgid "server did not send status"
msgstr ""
-#: src/mn-imap-mailbox.gob:537 src/mn-pop3-mailbox.gob:715
+#: src/mn-imap-mailbox.gob:554 src/mn-pop3-mailbox.gob:715
msgid "unknown server error"
msgstr ""
-#: src/mn-imap-mailbox.gob:603 src/mn-pop3-mailbox.gob:645
+#: src/mn-imap-mailbox.gob:625 src/mn-pop3-mailbox.gob:645
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
msgstr ""
-#: src/mn-imap-mailbox.gob:611 src/mn-pop3-mailbox.gob:657
+#: src/mn-imap-mailbox.gob:633 src/mn-pop3-mailbox.gob:657
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr ""
-#: src/mn-imap-mailbox.gob:629
+#: src/mn-imap-mailbox.gob:651
msgid "falling back to IMAP LOGIN authentication"
msgstr ""
-#: src/mn-imap-mailbox.gob:633 src/mn-pop3-mailbox.gob:691
+#: src/mn-imap-mailbox.gob:655 src/mn-pop3-mailbox.gob:691
msgid "authentication failed"
msgstr ""
@@ -658,12 +667,17 @@ msgstr ""
msgid "%s reported an error: %s"
msgstr ""
-#: src/mn-maildir-mailbox.gob:97
+#: src/mn-maildir-mailbox.gob:98
#, c-format
msgid "unable to open folder \"new\": %s"
msgstr ""
-#: src/mn-maildir-mailbox.gob:122
+#: src/mn-maildir-mailbox.gob:126
+#, c-format
+msgid "unable to close folder \"new\": %s"
+msgstr ""
+
+#: src/mn-maildir-mailbox.gob:129
#, c-format
msgid "error while reading folder \"new\": %s"
msgstr ""
@@ -710,32 +724,32 @@ msgstr ""
msgid "multi-threading is not available"
msgstr ""
-#: src/mn-main.c:244
-msgid "Unable to initialize the GnomeVFS library."
-msgstr ""
-
-#: src/mn-main.c:252
+#: src/mn-main.c:243
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
msgstr ""
-#: src/mn-main.c:263
+#: src/mn-main.c:248
+msgid "Unable to initialize the GnomeVFS library."
+msgstr ""
+
+#: src/mn-main.c:270
msgid "updating the mail status"
msgstr ""
-#: src/mn-main.c:279
+#: src/mn-main.c:286
#, fuzzy
msgid "Mail Notification is already running"
msgstr "Иконка входÑщих Ñообщений"
-#: src/mn-main.c:286
+#: src/mn-main.c:293
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
msgstr ""
-#: src/mn-main.c:290
+#: src/mn-main.c:297
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -883,17 +897,22 @@ msgstr ""
msgid "Select _All"
msgstr ""
-#: src/mn-sylpheed-mailbox.gob:83
+#: src/mn-sylpheed-mailbox.gob:84
#, c-format
msgid "unable to open folder: %s"
msgstr ""
-#: src/mn-sylpheed-mailbox.gob:114
+#: src/mn-sylpheed-mailbox.gob:118
+#, c-format
+msgid "unable to close folder: %s"
+msgstr ""
+
+#: src/mn-sylpheed-mailbox.gob:121
#, c-format
msgid "error while reading folder: %s"
msgstr ""
-#: src/mn-system-mailbox-properties.gob:33 src/mn-uri.c:617
+#: src/mn-system-mailbox-properties.gob:33 src/mn-uri.c:672
msgid "System Mailbox"
msgstr ""
@@ -1015,3 +1034,27 @@ msgstr ""
#: ui/properties.glade.h:16
msgid "seconds"
msgstr ""
+
+#: ui/welcome.glade.h:1
+msgid ""
+"<span weight=\"bold\" size=\"larger\">First startup</span>\n"
+"\n"
+"Mail Notification has been loaded successfully.\n"
+"\n"
+"Since this is the first time you run Mail Notification, you might want to "
+"configure it.\n"
+"\n"
+"Note: this message will not be shown anymore. To configure Mail Notification "
+"again, choose <span weight=\"bold\">Applications</span> → <span weight=\"bold"
+"\">Desktop Preferences</span> → <span weight=\"bold\">Mail Notification</"
+"span>."
+msgstr ""
+
+#: ui/welcome.glade.h:8
+#, fuzzy
+msgid "_Configure Mail Notification"
+msgstr "Иконка входÑщих Ñообщений"
+
+#: ui/welcome.glade.h:9
+msgid "_Skip configuration"
+msgstr ""
diff --git a/src/Makefile.am b/src/Makefile.am
@@ -207,18 +207,16 @@ mail_notification_SOURCES = \
mn-vfs.h
BUILT_SOURCES = $(idl_built_sources) $(gob_built_sources)
-mail_notification_LDFLAGS = $(INTLLIBS) $(GNOME_LIBS) $(SOUP_LIBS) $(OPENSSL_LIBS) $(SASL_LIBS)
-
-gnomelocaledir = $(datadir)/locale
AM_CPPFLAGS = $(WARN_CFLAGS) $(G_ASSERTIONS) $(GNOME_CFLAGS) $(SOUP_CFLAGS) $(OPENSSL_CFLAGS) $(SASL_CFLAGS) \
-I$(top_srcdir) \
-DPREFIX="\"$(prefix)\"" \
-DSYSCONFDIR="\"$(sysconfdir)\"" \
-DDATADIR="\"$(datadir)\"" \
-DLIBDIR="\"$(libdir)\"" \
- -DGNOMELOCALEDIR="\"$(gnomelocaledir)\"" \
+ -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \
-DUIDIR="\"$(pkgdatadir)/ui\"" \
-DG_LOG_DOMAIN="\"$(PACKAGE)\""
+AM_LDFLAGS = $(INTLLIBS) $(GNOME_LIBS) $(SOUP_LIBS) $(OPENSSL_LIBS) $(SASL_LIBS)
CLEANFILES = $(idl_built_sources)
MAINTAINERCLEANFILES = $(gob_built_sources)
diff --git a/src/Makefile.in b/src/Makefile.in
@@ -542,18 +542,17 @@ mail_notification_SOURCES = \
mn-vfs.h
BUILT_SOURCES = $(idl_built_sources) $(gob_built_sources)
-mail_notification_LDFLAGS = $(INTLLIBS) $(GNOME_LIBS) $(SOUP_LIBS) $(OPENSSL_LIBS) $(SASL_LIBS)
-gnomelocaledir = $(datadir)/locale
AM_CPPFLAGS = $(WARN_CFLAGS) $(G_ASSERTIONS) $(GNOME_CFLAGS) $(SOUP_CFLAGS) $(OPENSSL_CFLAGS) $(SASL_CFLAGS) \
-I$(top_srcdir) \
-DPREFIX="\"$(prefix)\"" \
-DSYSCONFDIR="\"$(sysconfdir)\"" \
-DDATADIR="\"$(datadir)\"" \
-DLIBDIR="\"$(libdir)\"" \
- -DGNOMELOCALEDIR="\"$(gnomelocaledir)\"" \
+ -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \
-DUIDIR="\"$(pkgdatadir)/ui\"" \
-DG_LOG_DOMAIN="\"$(PACKAGE)\""
+AM_LDFLAGS = $(INTLLIBS) $(GNOME_LIBS) $(SOUP_LIBS) $(OPENSSL_LIBS) $(SASL_LIBS)
CLEANFILES = $(idl_built_sources)
MAINTAINERCLEANFILES = $(gob_built_sources)
all: $(BUILT_SOURCES)
diff --git a/src/mn-about-dialog.c b/src/mn-about-dialog.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -125,7 +125,7 @@ mn_about_dialog_init (MNAboutDialog * self G_GNUC_UNUSED)
logo);
g_object_unref(logo);
- icon = mn_pixbuf_new("about-icon.png");
+ icon = mn_pixbuf_new("mail-notification.png");
gtk_window_set_icon(GTK_WINDOW(self), icon);
g_object_unref(icon);
diff --git a/src/mn-about-dialog.gob b/src/mn-about-dialog.gob
@@ -45,7 +45,7 @@ class MN:About:Dialog from Gnome:About
logo);
g_object_unref(logo);
- icon = mn_pixbuf_new("about-icon.png");
+ icon = mn_pixbuf_new("mail-notification.png");
gtk_window_set_icon(GTK_WINDOW(self), icon);
g_object_unref(icon);
}
diff --git a/src/mn-auth-combo-box.c b/src/mn-auth-combo-box.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-autodetect-mailbox-properties.c b/src/mn-autodetect-mailbox-properties.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-automation.c b/src/mn-automation.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-blinking-image.c b/src/mn-blinking-image.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:53 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -136,7 +136,7 @@ ___finalize(GObject *obj_self)
#define VAR timeout_id
{
#line 49 "mn-blinking-image.gob"
- g_source_remove(VAR); }
+ if (VAR) g_source_remove(VAR); }
#line 141 "mn-blinking-image.c"
memset(&timeout_id, 0, sizeof(timeout_id));
#undef VAR
diff --git a/src/mn-blinking-image.gob b/src/mn-blinking-image.gob
@@ -46,7 +46,7 @@ class MN:Blinking:Image from Gtk:Image
g_value_set_boolean(VAL, selfp->blinking);
};
- private unsigned int timeout_id destroy { g_source_remove(VAR); };
+ private unsigned int timeout_id destroy { if (VAR) g_source_remove(VAR); };
private gboolean is_on = TRUE; /* is currently displaying the on pixbuf? */
private GdkPixbuf *on_pixbuf unrefwith g_object_unref;
private GdkPixbuf *off_pixbuf unrefwith g_object_unref;
diff --git a/src/mn-client-session.c b/src/mn-client-session.c
@@ -26,7 +26,6 @@
#include <unistd.h>
#include <sys/socket.h>
#include <netdb.h>
-#include <sys/param.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
@@ -258,7 +257,7 @@ mn_client_session_run (MNClientSessionState *states,
#endif /* WITH_SASL */
if (session.error)
{
- g_set_error(err, 0, 0, session.error);
+ g_set_error(err, 0, 0, "%s", session.error);
g_free(session.error);
return FALSE;
}
diff --git a/src/mn-conf.h b/src/mn-conf.h
@@ -44,6 +44,7 @@
#define MN_CONF_UI_NAMESPACE MN_CONF_NAMESPACE "/ui"
#define MN_CONF_PREFERENCES_DIALOG MN_CONF_UI_NAMESPACE "/preferences-dialog" /* obsolete */
#define MN_CONF_PROPERTIES_DIALOG MN_CONF_UI_NAMESPACE "/properties-dialog"
+#define MN_CONF_ALREADY_RUN MN_CONF_NAMESPACE "/already-run"
void mn_conf_init (void);
diff --git a/src/mn-gmail-mailbox-properties.c b/src/mn-gmail-mailbox-properties.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-gmail-mailbox.c b/src/mn-gmail-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -409,6 +409,8 @@ mn_gmail_mailbox_login (MNGmailMailbox * self)
#line 171 "mn-gmail-mailbox.gob"
char *uri;
+ char *escaped_username;
+ char *escaped_password;
g_return_if_fail(selfp->logged_in == FALSE);
@@ -418,26 +420,31 @@ mn_gmail_mailbox_login (MNGmailMailbox * self)
mn_mailbox_notice(MN_MAILBOX(self), _("logging in"));
- uri = g_strdup_printf("https://www.google.com/accounts/ServiceLoginBoxAuth?service=mail&continue=http://gmail.google.com/gmail&Email=%s&Passwd=%s", selfp->username, selfp->password);
+ escaped_username = gnome_vfs_escape_string(selfp->username);
+ escaped_password = gnome_vfs_escape_string(selfp->password);
+ uri = g_strdup_printf("https://www.google.com/accounts/ServiceLoginBoxAuth?service=mail&continue=http://gmail.google.com/gmail&Email=%s&Passwd=%s", escaped_username, escaped_password);
+ g_free(escaped_username);
+ g_free(escaped_password);
+
self_get(self, uri, self_login_cb1);
g_free(uri);
}}
-#line 426 "mn-gmail-mailbox.c"
+#line 433 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 187 "mn-gmail-mailbox.gob"
+#line 194 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_login_cb1 (SoupMessage * message, gpointer user_data)
-#line 432 "mn-gmail-mailbox.c"
+#line 439 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::login_cb1"
-#line 187 "mn-gmail-mailbox.gob"
+#line 194 "mn-gmail-mailbox.gob"
g_return_if_fail (message != NULL);
-#line 187 "mn-gmail-mailbox.gob"
+#line 194 "mn-gmail-mailbox.gob"
g_return_if_fail (user_data != NULL);
-#line 439 "mn-gmail-mailbox.c"
+#line 446 "mn-gmail-mailbox.c"
{
-#line 190 "mn-gmail-mailbox.gob"
+#line 197 "mn-gmail-mailbox.gob"
Self *self = user_data;
@@ -473,22 +480,22 @@ mn_gmail_mailbox_login_cb1 (SoupMessage * message, gpointer user_data)
/* if this point is reached, an error occurred */
mn_mailbox_end_check(MN_MAILBOX(self));
}}
-#line 477 "mn-gmail-mailbox.c"
+#line 484 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 226 "mn-gmail-mailbox.gob"
+#line 233 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_login_cb2 (SoupMessage * message, gpointer user_data)
-#line 483 "mn-gmail-mailbox.c"
+#line 490 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::login_cb2"
-#line 226 "mn-gmail-mailbox.gob"
+#line 233 "mn-gmail-mailbox.gob"
g_return_if_fail (message != NULL);
-#line 226 "mn-gmail-mailbox.gob"
+#line 233 "mn-gmail-mailbox.gob"
g_return_if_fail (user_data != NULL);
-#line 490 "mn-gmail-mailbox.c"
+#line 497 "mn-gmail-mailbox.c"
{
-#line 229 "mn-gmail-mailbox.gob"
+#line 236 "mn-gmail-mailbox.gob"
Self *self = user_data;
@@ -518,22 +525,22 @@ mn_gmail_mailbox_login_cb2 (SoupMessage * message, gpointer user_data)
/* if this point is reached, an error occurred */
mn_mailbox_end_check(MN_MAILBOX(self));
}}
-#line 522 "mn-gmail-mailbox.c"
+#line 529 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 259 "mn-gmail-mailbox.gob"
+#line 266 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_login_cb3 (SoupMessage * message, gpointer user_data)
-#line 528 "mn-gmail-mailbox.c"
+#line 535 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::login_cb3"
-#line 259 "mn-gmail-mailbox.gob"
+#line 266 "mn-gmail-mailbox.gob"
g_return_if_fail (message != NULL);
-#line 259 "mn-gmail-mailbox.gob"
+#line 266 "mn-gmail-mailbox.gob"
g_return_if_fail (user_data != NULL);
-#line 535 "mn-gmail-mailbox.c"
+#line 542 "mn-gmail-mailbox.c"
{
-#line 262 "mn-gmail-mailbox.gob"
+#line 269 "mn-gmail-mailbox.gob"
Self *self = user_data;
@@ -564,24 +571,24 @@ mn_gmail_mailbox_login_cb3 (SoupMessage * message, gpointer user_data)
/* if this point is reached, an error occurred */
mn_mailbox_end_check(MN_MAILBOX(self));
}}
-#line 568 "mn-gmail-mailbox.c"
+#line 575 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 293 "mn-gmail-mailbox.gob"
+#line 300 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_update_cookies (MNGmailMailbox * self, SoupMessage * message)
-#line 574 "mn-gmail-mailbox.c"
+#line 581 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::update_cookies"
-#line 293 "mn-gmail-mailbox.gob"
+#line 300 "mn-gmail-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 293 "mn-gmail-mailbox.gob"
+#line 300 "mn-gmail-mailbox.gob"
g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 293 "mn-gmail-mailbox.gob"
+#line 300 "mn-gmail-mailbox.gob"
g_return_if_fail (message != NULL);
-#line 583 "mn-gmail-mailbox.c"
+#line 590 "mn-gmail-mailbox.c"
{
-#line 295 "mn-gmail-mailbox.gob"
+#line 302 "mn-gmail-mailbox.gob"
const GSList *set_cookie_headers;
const GSList *l;
@@ -593,7 +600,7 @@ mn_gmail_mailbox_update_cookies (MNGmailMailbox * self, SoupMessage * message)
char *equal;
equal = strchr(value, '=');
- if (equal)
+ if (equal && equal - value > 0)
{
char *end;
char *cookie_name;
@@ -610,22 +617,22 @@ mn_gmail_mailbox_update_cookies (MNGmailMailbox * self, SoupMessage * message)
}
}
}}
-#line 614 "mn-gmail-mailbox.c"
+#line 621 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 324 "mn-gmail-mailbox.gob"
+#line 331 "mn-gmail-mailbox.gob"
static char *
mn_gmail_mailbox_build_cookie (MNGmailMailbox * self)
-#line 620 "mn-gmail-mailbox.c"
+#line 627 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::build_cookie"
-#line 324 "mn-gmail-mailbox.gob"
+#line 331 "mn-gmail-mailbox.gob"
g_return_val_if_fail (self != NULL, (char * )0);
-#line 324 "mn-gmail-mailbox.gob"
+#line 331 "mn-gmail-mailbox.gob"
g_return_val_if_fail (MN_IS_GMAIL_MAILBOX (self), (char * )0);
-#line 627 "mn-gmail-mailbox.c"
+#line 634 "mn-gmail-mailbox.c"
{
-#line 326 "mn-gmail-mailbox.gob"
+#line 333 "mn-gmail-mailbox.gob"
GString *cookie;
char *str;
@@ -643,17 +650,17 @@ mn_gmail_mailbox_build_cookie (MNGmailMailbox * self)
return str;
}}
-#line 647 "mn-gmail-mailbox.c"
+#line 654 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 344 "mn-gmail-mailbox.gob"
+#line 351 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_build_cookie_cb (gpointer key, gpointer value, gpointer user_data)
-#line 653 "mn-gmail-mailbox.c"
+#line 660 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::build_cookie_cb"
{
-#line 346 "mn-gmail-mailbox.gob"
+#line 353 "mn-gmail-mailbox.gob"
GString *cookie = user_data;
@@ -662,41 +669,41 @@ mn_gmail_mailbox_build_cookie_cb (gpointer key, gpointer value, gpointer user_da
g_string_append_printf(cookie, "%s=%s", (const char *) key, (const char *) value);
}}
-#line 666 "mn-gmail-mailbox.c"
+#line 673 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 355 "mn-gmail-mailbox.gob"
+#line 362 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_check_internal (MNGmailMailbox * self)
-#line 672 "mn-gmail-mailbox.c"
+#line 679 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::check_internal"
-#line 355 "mn-gmail-mailbox.gob"
+#line 362 "mn-gmail-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 355 "mn-gmail-mailbox.gob"
+#line 362 "mn-gmail-mailbox.gob"
g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 679 "mn-gmail-mailbox.c"
+#line 686 "mn-gmail-mailbox.c"
{
-#line 357 "mn-gmail-mailbox.gob"
+#line 364 "mn-gmail-mailbox.gob"
mn_mailbox_notice(MN_MAILBOX(self), _("searching for unread mail"));
self_get(self, "https://gmail.google.com/gmail?search=adv&as_subset=unread&view=tl&start=0", self_check_internal_cb);
}}
-#line 687 "mn-gmail-mailbox.c"
+#line 694 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 363 "mn-gmail-mailbox.gob"
+#line 370 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_check_internal_cb (SoupMessage * message, gpointer user_data)
-#line 693 "mn-gmail-mailbox.c"
+#line 700 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::check_internal_cb"
-#line 363 "mn-gmail-mailbox.gob"
+#line 370 "mn-gmail-mailbox.gob"
g_return_if_fail (message != NULL);
-#line 698 "mn-gmail-mailbox.c"
+#line 705 "mn-gmail-mailbox.c"
{
-#line 366 "mn-gmail-mailbox.gob"
+#line 373 "mn-gmail-mailbox.gob"
Self *self = user_data;
@@ -715,20 +722,20 @@ mn_gmail_mailbox_check_internal_cb (SoupMessage * message, gpointer user_data)
mn_mailbox_end_check(MN_MAILBOX(self));
}}
-#line 719 "mn-gmail-mailbox.c"
+#line 726 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 385 "mn-gmail-mailbox.gob"
+#line 392 "mn-gmail-mailbox.gob"
static int
mn_gmail_mailbox_get_unread_count (SoupMessage * message)
-#line 725 "mn-gmail-mailbox.c"
+#line 732 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::get_unread_count"
-#line 385 "mn-gmail-mailbox.gob"
+#line 392 "mn-gmail-mailbox.gob"
g_return_val_if_fail (message != NULL, (int )0);
-#line 730 "mn-gmail-mailbox.c"
+#line 737 "mn-gmail-mailbox.c"
{
-#line 387 "mn-gmail-mailbox.gob"
+#line 394 "mn-gmail-mailbox.gob"
int count = -1;
char *body;
@@ -754,5 +761,5 @@ mn_gmail_mailbox_get_unread_count (SoupMessage * message)
return count;
}}
-#line 758 "mn-gmail-mailbox.c"
+#line 765 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-gmail-mailbox.gob b/src/mn-gmail-mailbox.gob
@@ -170,6 +170,8 @@ class MN:Gmail:Mailbox from MN:Mailbox
login (self)
{
char *uri;
+ char *escaped_username;
+ char *escaped_password;
g_return_if_fail(selfp->logged_in == FALSE);
@@ -179,7 +181,12 @@ class MN:Gmail:Mailbox from MN:Mailbox
mn_mailbox_notice(MN_MAILBOX(self), _("logging in"));
- uri = g_strdup_printf("https://www.google.com/accounts/ServiceLoginBoxAuth?service=mail&continue=http://gmail.google.com/gmail&Email=%s&Passwd=%s", selfp->username, selfp->password);
+ escaped_username = gnome_vfs_escape_string(selfp->username);
+ escaped_password = gnome_vfs_escape_string(selfp->password);
+ uri = g_strdup_printf("https://www.google.com/accounts/ServiceLoginBoxAuth?service=mail&continue=http://gmail.google.com/gmail&Email=%s&Passwd=%s", escaped_username, escaped_password);
+ g_free(escaped_username);
+ g_free(escaped_password);
+
self_get(self, uri, self_login_cb1);
g_free(uri);
}
@@ -303,7 +310,7 @@ class MN:Gmail:Mailbox from MN:Mailbox
char *equal;
equal = strchr(value, '=');
- if (equal)
+ if (equal && equal - value > 0)
{
char *end;
char *cookie_name;
diff --git a/src/mn-imap-mailbox-properties.c b/src/mn-imap-mailbox-properties.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-imap-mailbox.c b/src/mn-imap-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -124,6 +124,7 @@ static void mn_imap_mailbox_session_parse_capabilities (MNClientSessionPrivate *
static gboolean mn_imap_mailbox_session_has_capability (MNClientSessionPrivate * priv, const char * capability) G_GNUC_UNUSED;
static int mn_imap_mailbox_session_authenticate (MNClientSessionPrivate * priv) G_GNUC_UNUSED;
static int mn_imap_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv) G_GNUC_UNUSED;
+static char * mn_imap_mailbox_quote (const char * str) G_GNUC_UNUSED;
/* pointer to the class of our parent */
static MNMailboxClass *parent_class = NULL;
@@ -150,6 +151,7 @@ static MNMailboxClass *parent_class = NULL;
#define self_session_has_capability mn_imap_mailbox_session_has_capability
#define self_session_authenticate mn_imap_mailbox_session_authenticate
#define self_session_authenticate_fallback mn_imap_mailbox_session_authenticate_fallback
+#define self_quote mn_imap_mailbox_quote
GType
mn_imap_mailbox_get_type (void)
{
@@ -203,19 +205,19 @@ ___finalize(GObject *obj_self)
(* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
#line 89 "mn-imap-mailbox.gob"
if(self->_priv->hostname) { ((*(void (*)(void *))g_free)) (self->_priv->hostname); self->_priv->hostname = NULL; }
-#line 207 "mn-imap-mailbox.c"
+#line 209 "mn-imap-mailbox.c"
#line 91 "mn-imap-mailbox.gob"
if(self->_priv->username) { ((*(void (*)(void *))g_free)) (self->_priv->username); self->_priv->username = NULL; }
-#line 210 "mn-imap-mailbox.c"
+#line 212 "mn-imap-mailbox.c"
#line 92 "mn-imap-mailbox.gob"
if(self->_priv->password) { ((*(void (*)(void *))g_free)) (self->_priv->password); self->_priv->password = NULL; }
-#line 213 "mn-imap-mailbox.c"
+#line 215 "mn-imap-mailbox.c"
#line 93 "mn-imap-mailbox.gob"
if(self->_priv->authmech) { ((*(void (*)(void *))g_free)) (self->_priv->authmech); self->_priv->authmech = NULL; }
-#line 216 "mn-imap-mailbox.c"
+#line 218 "mn-imap-mailbox.c"
#line 94 "mn-imap-mailbox.gob"
if(self->_priv->mailbox) { ((*(void (*)(void *))g_free)) (self->_priv->mailbox); self->_priv->mailbox = NULL; }
-#line 219 "mn-imap-mailbox.c"
+#line 221 "mn-imap-mailbox.c"
g_free (priv);
}
#undef __GOB_FUNCTION__
@@ -230,7 +232,7 @@ mn_imap_mailbox_init (MNIMAPMailbox * o G_GNUC_UNUSED)
#line 97 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_class_init (MNIMAPMailboxClass * class G_GNUC_UNUSED)
-#line 234 "mn-imap-mailbox.c"
+#line 236 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::class_init"
GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) class;
@@ -242,16 +244,16 @@ mn_imap_mailbox_class_init (MNIMAPMailboxClass * class G_GNUC_UNUSED)
g_object_class->constructor = ___2_mn_imap_mailbox_constructor;
#line 133 "mn-imap-mailbox.gob"
mn_mailbox_class->impl_is = ___3_mn_imap_mailbox_impl_is;
-#line 374 "mn-imap-mailbox.gob"
+#line 391 "mn-imap-mailbox.gob"
mn_mailbox_class->impl_threaded_check = ___f_mn_imap_mailbox_impl_threaded_check;
-#line 248 "mn-imap-mailbox.c"
+#line 250 "mn-imap-mailbox.c"
g_object_class->finalize = ___finalize;
{
#line 98 "mn-imap-mailbox.gob"
MN_MAILBOX_CLASS(class)->format = "IMAP";
-#line 255 "mn-imap-mailbox.c"
+#line 257 "mn-imap-mailbox.c"
}
}
#undef __GOB_FUNCTION__
@@ -261,7 +263,7 @@ mn_imap_mailbox_class_init (MNIMAPMailboxClass * class G_GNUC_UNUSED)
#line 102 "mn-imap-mailbox.gob"
static GObject *
___2_mn_imap_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_properties, GObjectConstructParam * construct_params)
-#line 265 "mn-imap-mailbox.c"
+#line 267 "mn-imap-mailbox.c"
#define PARENT_HANDLER(___type,___n_construct_properties,___construct_params) \
((G_OBJECT_CLASS(parent_class)->constructor)? \
(* G_OBJECT_CLASS(parent_class)->constructor)(___type,___n_construct_properties,___construct_params): \
@@ -298,14 +300,14 @@ ___2_mn_imap_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_pr
return object;
}}
-#line 302 "mn-imap-mailbox.c"
+#line 304 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
#line 133 "mn-imap-mailbox.gob"
static gboolean
___3_mn_imap_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, const char * uri)
-#line 309 "mn-imap-mailbox.c"
+#line 311 "mn-imap-mailbox.c"
#define PARENT_HANDLER(___dummy,___uri) \
((MN_MAILBOX_CLASS(parent_class)->impl_is)? \
(* MN_MAILBOX_CLASS(parent_class)->impl_is)(___dummy,___uri): \
@@ -314,7 +316,7 @@ ___3_mn_imap_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, const char * uri)
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::impl_is"
#line 133 "mn-imap-mailbox.gob"
g_return_val_if_fail (uri != NULL, (gboolean )0);
-#line 318 "mn-imap-mailbox.c"
+#line 320 "mn-imap-mailbox.c"
{
#line 135 "mn-imap-mailbox.gob"
@@ -327,14 +329,14 @@ ___3_mn_imap_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, const char * uri)
return is;
}}
-#line 331 "mn-imap-mailbox.c"
+#line 333 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
#line 146 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_greeting_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 338 "mn-imap-mailbox.c"
+#line 340 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_greeting_cb"
#line 146 "mn-imap-mailbox.gob"
@@ -343,7 +345,7 @@ mn_imap_mailbox_handle_greeting_cb (MNClientSession * session, MNClientSessionRe
g_return_val_if_fail (response != NULL, (int )0);
#line 146 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 347 "mn-imap-mailbox.c"
+#line 349 "mn-imap-mailbox.c"
{
#line 150 "mn-imap-mailbox.gob"
@@ -370,32 +372,32 @@ mn_imap_mailbox_handle_greeting_cb (MNClientSession * session, MNClientSessionRe
else
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}}
-#line 374 "mn-imap-mailbox.c"
+#line 376 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 175 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_capability_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 380 "mn-imap-mailbox.c"
+#line 382 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_capability_cb"
#line 175 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
#line 175 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 387 "mn-imap-mailbox.c"
+#line 389 "mn-imap-mailbox.c"
{
#line 178 "mn-imap-mailbox.gob"
return self_session_write(priv, "CAPABILITY");
}}
-#line 393 "mn-imap-mailbox.c"
+#line 395 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 182 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_capability_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 399 "mn-imap-mailbox.c"
+#line 401 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_capability_cb"
#line 182 "mn-imap-mailbox.gob"
@@ -404,7 +406,7 @@ mn_imap_mailbox_handle_capability_cb (MNClientSession * session, MNClientSession
g_return_val_if_fail (response != NULL, (int )0);
#line 182 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 408 "mn-imap-mailbox.c"
+#line 410 "mn-imap-mailbox.c"
{
#line 186 "mn-imap-mailbox.gob"
@@ -432,20 +434,20 @@ mn_imap_mailbox_handle_capability_cb (MNClientSession * session, MNClientSession
return RESULT_DEFAULT_HANDLER;
}}
-#line 436 "mn-imap-mailbox.c"
+#line 438 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 212 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_authenticate_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 442 "mn-imap-mailbox.c"
+#line 444 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_authenticate_cb"
#line 212 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
#line 212 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 449 "mn-imap-mailbox.c"
+#line 451 "mn-imap-mailbox.c"
{
#line 215 "mn-imap-mailbox.gob"
@@ -462,13 +464,13 @@ mn_imap_mailbox_enter_authenticate_cb (MNClientSession * session, MNClientSessio
g_return_val_if_reached(0);
#endif /* WITH_SASL */
}}
-#line 466 "mn-imap-mailbox.c"
+#line 468 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 230 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_authenticate_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 472 "mn-imap-mailbox.c"
+#line 474 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_authenticate_cb"
#line 230 "mn-imap-mailbox.gob"
@@ -477,7 +479,7 @@ mn_imap_mailbox_handle_authenticate_cb (MNClientSession * session, MNClientSessi
g_return_val_if_fail (response != NULL, (int )0);
#line 230 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 481 "mn-imap-mailbox.c"
+#line 483 "mn-imap-mailbox.c"
{
#line 234 "mn-imap-mailbox.gob"
@@ -506,20 +508,20 @@ mn_imap_mailbox_handle_authenticate_cb (MNClientSession * session, MNClientSessi
g_return_val_if_reached(0);
#endif /* WITH_SASL */
}}
-#line 510 "mn-imap-mailbox.c"
+#line 512 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 261 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_login_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 516 "mn-imap-mailbox.c"
+#line 518 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_login_cb"
#line 261 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
#line 261 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 523 "mn-imap-mailbox.c"
+#line 525 "mn-imap-mailbox.c"
{
#line 264 "mn-imap-mailbox.gob"
@@ -530,28 +532,38 @@ mn_imap_mailbox_enter_login_cb (MNClientSession * session, MNClientSessionPrivat
return STATE_LOGOUT;
}
else
- return self_session_write(priv, "LOGIN %s %s",
- priv->mailbox->_priv->username,
- priv->mailbox->_priv->password);
+ {
+ char *quoted_username;
+ char *quoted_password;
+ int result;
+
+ quoted_username = self_quote(priv->mailbox->_priv->username);
+ quoted_password = self_quote(priv->mailbox->_priv->password);
+ result = self_session_write(priv, "LOGIN %s %s", quoted_username, quoted_password);
+ g_free(quoted_username);
+ g_free(quoted_password);
+
+ return result;
+ }
}}
-#line 538 "mn-imap-mailbox.c"
+#line 550 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 277 "mn-imap-mailbox.gob"
+#line 287 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_login_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 544 "mn-imap-mailbox.c"
+#line 556 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_login_cb"
-#line 277 "mn-imap-mailbox.gob"
+#line 287 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 277 "mn-imap-mailbox.gob"
+#line 287 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 277 "mn-imap-mailbox.gob"
+#line 287 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 553 "mn-imap-mailbox.c"
+#line 565 "mn-imap-mailbox.c"
{
-#line 281 "mn-imap-mailbox.gob"
+#line 291 "mn-imap-mailbox.gob"
if (response->tag)
{
@@ -568,43 +580,50 @@ mn_imap_mailbox_handle_login_cb (MNClientSession * session, MNClientSessionRespo
return RESULT_DEFAULT_HANDLER;
}}
-#line 572 "mn-imap-mailbox.c"
+#line 584 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 298 "mn-imap-mailbox.gob"
+#line 308 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_status_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 578 "mn-imap-mailbox.c"
+#line 590 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_status_cb"
-#line 298 "mn-imap-mailbox.gob"
+#line 308 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 298 "mn-imap-mailbox.gob"
+#line 308 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 585 "mn-imap-mailbox.c"
+#line 597 "mn-imap-mailbox.c"
{
-#line 301 "mn-imap-mailbox.gob"
+#line 311 "mn-imap-mailbox.gob"
- return self_session_write(priv, "STATUS \"%s\" (UNSEEN)", priv->mailbox->_priv->mailbox);
+ char *quoted_mailbox;
+ int result;
+
+ quoted_mailbox = self_quote(priv->mailbox->_priv->mailbox);
+ result = self_session_write(priv, "STATUS %s (UNSEEN)", quoted_mailbox);
+ g_free(quoted_mailbox);
+
+ return result;
}}
-#line 591 "mn-imap-mailbox.c"
+#line 610 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 305 "mn-imap-mailbox.gob"
+#line 322 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_status_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 597 "mn-imap-mailbox.c"
+#line 616 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_status_cb"
-#line 305 "mn-imap-mailbox.gob"
+#line 322 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 305 "mn-imap-mailbox.gob"
+#line 322 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 305 "mn-imap-mailbox.gob"
+#line 322 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 606 "mn-imap-mailbox.c"
+#line 625 "mn-imap-mailbox.c"
{
-#line 309 "mn-imap-mailbox.gob"
+#line 326 "mn-imap-mailbox.gob"
if (response->tag)
{
@@ -644,43 +663,43 @@ mn_imap_mailbox_handle_status_cb (MNClientSession * session, MNClientSessionResp
return RESULT_DEFAULT_HANDLER;
}}
-#line 648 "mn-imap-mailbox.c"
+#line 667 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 349 "mn-imap-mailbox.gob"
+#line 366 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_logout_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 654 "mn-imap-mailbox.c"
+#line 673 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_logout_cb"
-#line 349 "mn-imap-mailbox.gob"
+#line 366 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 349 "mn-imap-mailbox.gob"
+#line 366 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 661 "mn-imap-mailbox.c"
+#line 680 "mn-imap-mailbox.c"
{
-#line 352 "mn-imap-mailbox.gob"
+#line 369 "mn-imap-mailbox.gob"
return self_session_write(priv, "LOGOUT");
}}
-#line 667 "mn-imap-mailbox.c"
+#line 686 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 356 "mn-imap-mailbox.gob"
+#line 373 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_logout_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 673 "mn-imap-mailbox.c"
+#line 692 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_logout_cb"
-#line 356 "mn-imap-mailbox.gob"
+#line 373 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 356 "mn-imap-mailbox.gob"
+#line 373 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 356 "mn-imap-mailbox.gob"
+#line 373 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 682 "mn-imap-mailbox.c"
+#line 701 "mn-imap-mailbox.c"
{
-#line 360 "mn-imap-mailbox.gob"
+#line 377 "mn-imap-mailbox.gob"
if (response->tag && HAS_CURRENT_TAG(response, priv))
{
@@ -694,25 +713,25 @@ mn_imap_mailbox_handle_logout_cb (MNClientSession * session, MNClientSessionResp
else
return MN_CLIENT_SESSION_RESULT_CONTINUE;
}}
-#line 698 "mn-imap-mailbox.c"
+#line 717 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 374 "mn-imap-mailbox.gob"
+#line 391 "mn-imap-mailbox.gob"
static void
___f_mn_imap_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
-#line 704 "mn-imap-mailbox.c"
+#line 723 "mn-imap-mailbox.c"
#define PARENT_HANDLER(___mailbox) \
{ if(MN_MAILBOX_CLASS(parent_class)->impl_threaded_check) \
(* MN_MAILBOX_CLASS(parent_class)->impl_threaded_check)(___mailbox); }
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::impl_threaded_check"
-#line 374 "mn-imap-mailbox.gob"
+#line 391 "mn-imap-mailbox.gob"
g_return_if_fail (mailbox != NULL);
-#line 374 "mn-imap-mailbox.gob"
+#line 391 "mn-imap-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 714 "mn-imap-mailbox.c"
+#line 733 "mn-imap-mailbox.c"
{
-#line 376 "mn-imap-mailbox.gob"
+#line 393 "mn-imap-mailbox.gob"
Self *self = SELF(mailbox);
MNClientSessionState states[] = {
@@ -767,46 +786,46 @@ ___f_mn_imap_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
g_strfreev(priv.capabilities);
mn_pointers_free(priv.auth_mechanisms);
}}
-#line 771 "mn-imap-mailbox.c"
+#line 790 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 431 "mn-imap-mailbox.gob"
+#line 448 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_notice_cb (MNClientSession * session, const char * str, MNClientSessionPrivate * priv)
-#line 778 "mn-imap-mailbox.c"
+#line 797 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::notice_cb"
-#line 431 "mn-imap-mailbox.gob"
+#line 448 "mn-imap-mailbox.gob"
g_return_if_fail (session != NULL);
-#line 431 "mn-imap-mailbox.gob"
+#line 448 "mn-imap-mailbox.gob"
g_return_if_fail (str != NULL);
-#line 431 "mn-imap-mailbox.gob"
+#line 448 "mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 787 "mn-imap-mailbox.c"
+#line 806 "mn-imap-mailbox.c"
{
-#line 435 "mn-imap-mailbox.gob"
+#line 452 "mn-imap-mailbox.gob"
mn_mailbox_notice(MN_MAILBOX(priv->mailbox), "%s", str);
}}
-#line 793 "mn-imap-mailbox.c"
+#line 812 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 439 "mn-imap-mailbox.gob"
+#line 456 "mn-imap-mailbox.gob"
static MNClientSessionResponse *
mn_imap_mailbox_response_new_cb (MNClientSession * session, const char * input, MNClientSessionPrivate * priv)
-#line 799 "mn-imap-mailbox.c"
+#line 818 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::response_new_cb"
-#line 439 "mn-imap-mailbox.gob"
+#line 456 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (MNClientSessionResponse * )0);
-#line 439 "mn-imap-mailbox.gob"
+#line 456 "mn-imap-mailbox.gob"
g_return_val_if_fail (input != NULL, (MNClientSessionResponse * )0);
-#line 439 "mn-imap-mailbox.gob"
+#line 456 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (MNClientSessionResponse * )0);
-#line 808 "mn-imap-mailbox.c"
+#line 827 "mn-imap-mailbox.c"
{
-#line 443 "mn-imap-mailbox.gob"
+#line 460 "mn-imap-mailbox.gob"
MNClientSessionResponse *response = NULL;
@@ -853,50 +872,50 @@ mn_imap_mailbox_response_new_cb (MNClientSession * session, const char * input,
return response;
}}
-#line 857 "mn-imap-mailbox.c"
+#line 876 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 490 "mn-imap-mailbox.gob"
+#line 507 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 863 "mn-imap-mailbox.c"
+#line 882 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::response_free_cb"
-#line 490 "mn-imap-mailbox.gob"
+#line 507 "mn-imap-mailbox.gob"
g_return_if_fail (session != NULL);
-#line 490 "mn-imap-mailbox.gob"
+#line 507 "mn-imap-mailbox.gob"
g_return_if_fail (response != NULL);
-#line 490 "mn-imap-mailbox.gob"
+#line 507 "mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 872 "mn-imap-mailbox.c"
+#line 891 "mn-imap-mailbox.c"
{
-#line 494 "mn-imap-mailbox.gob"
+#line 511 "mn-imap-mailbox.gob"
- g_free(response->tag);
g_free(response->continuation);
+ g_free(response->tag);
g_free(response->response);
g_free(response->code);
g_free(response->arguments);
g_free(response);
}}
-#line 883 "mn-imap-mailbox.c"
+#line 902 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 503 "mn-imap-mailbox.gob"
+#line 520 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_custom_handler_cb (MNClientSession * session, MNClientSessionResponse * response, int result, MNClientSessionPrivate * priv)
-#line 889 "mn-imap-mailbox.c"
+#line 908 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::custom_handler_cb"
-#line 503 "mn-imap-mailbox.gob"
+#line 520 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 503 "mn-imap-mailbox.gob"
+#line 520 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 503 "mn-imap-mailbox.gob"
+#line 520 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 898 "mn-imap-mailbox.c"
+#line 917 "mn-imap-mailbox.c"
{
-#line 508 "mn-imap-mailbox.gob"
+#line 525 "mn-imap-mailbox.gob"
switch (result)
{
@@ -918,47 +937,48 @@ mn_imap_mailbox_custom_handler_cb (MNClientSession * session, MNClientSessionRes
g_return_val_if_reached(0);
}
}}
-#line 922 "mn-imap-mailbox.c"
+#line 941 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 530 "mn-imap-mailbox.gob"
+#line 547 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_session_set_error_from_arguments (MNClientSessionPrivate * priv, MNClientSessionResponse * response)
-#line 928 "mn-imap-mailbox.c"
+#line 947 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_set_error_from_arguments"
-#line 530 "mn-imap-mailbox.gob"
+#line 547 "mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 530 "mn-imap-mailbox.gob"
+#line 547 "mn-imap-mailbox.gob"
g_return_if_fail (response != NULL);
-#line 935 "mn-imap-mailbox.c"
+#line 954 "mn-imap-mailbox.c"
{
-#line 533 "mn-imap-mailbox.gob"
+#line 550 "mn-imap-mailbox.gob"
if (response->arguments)
mn_client_session_error(priv->session, "\"%s\"", response->arguments);
else
mn_client_session_error(priv->session, _("unknown server error"));
}}
-#line 944 "mn-imap-mailbox.c"
+#line 963 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 540 "mn-imap-mailbox.gob"
+#line 557 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_write (MNClientSessionPrivate * priv, const char * format, ...)
-#line 950 "mn-imap-mailbox.c"
+#line 969 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_write"
-#line 540 "mn-imap-mailbox.gob"
+#line 557 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 540 "mn-imap-mailbox.gob"
+#line 557 "mn-imap-mailbox.gob"
g_return_val_if_fail (format != NULL, (int )0);
-#line 957 "mn-imap-mailbox.c"
+#line 976 "mn-imap-mailbox.c"
{
-#line 544 "mn-imap-mailbox.gob"
+#line 561 "mn-imap-mailbox.gob"
va_list args;
char *command;
+ int result;
va_start(args, format);
command = g_strdup_vprintf(format, args);
@@ -966,25 +986,29 @@ mn_imap_mailbox_session_write (MNClientSessionPrivate * priv, const char * forma
if (priv->numeric_tag == 1000)
priv->numeric_tag = 0;
+
g_free(priv->tag);
priv->tag = g_strdup_printf("a%03i", priv->numeric_tag++);
- return mn_client_session_write(priv->session, "%s %s", priv->tag, command);
+ result = mn_client_session_write(priv->session, "%s %s", priv->tag, command);
+ g_free(command);
+
+ return result;
}}
-#line 975 "mn-imap-mailbox.c"
+#line 999 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 560 "mn-imap-mailbox.gob"
+#line 582 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_session_parse_capabilities (MNClientSessionPrivate * priv, const char * capabilities)
-#line 981 "mn-imap-mailbox.c"
+#line 1005 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_parse_capabilities"
-#line 560 "mn-imap-mailbox.gob"
+#line 582 "mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 986 "mn-imap-mailbox.c"
+#line 1010 "mn-imap-mailbox.c"
{
-#line 563 "mn-imap-mailbox.gob"
+#line 585 "mn-imap-mailbox.gob"
if (capabilities)
{
@@ -999,22 +1023,22 @@ mn_imap_mailbox_session_parse_capabilities (MNClientSessionPrivate * priv, const
else
priv->capabilities = g_new0(char *, 1);
}}
-#line 1003 "mn-imap-mailbox.c"
+#line 1027 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 578 "mn-imap-mailbox.gob"
+#line 600 "mn-imap-mailbox.gob"
static gboolean
mn_imap_mailbox_session_has_capability (MNClientSessionPrivate * priv, const char * capability)
-#line 1009 "mn-imap-mailbox.c"
+#line 1033 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_has_capability"
-#line 578 "mn-imap-mailbox.gob"
+#line 600 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (gboolean )0);
-#line 578 "mn-imap-mailbox.gob"
+#line 600 "mn-imap-mailbox.gob"
g_return_val_if_fail (capability != NULL, (gboolean )0);
-#line 1016 "mn-imap-mailbox.c"
+#line 1040 "mn-imap-mailbox.c"
{
-#line 581 "mn-imap-mailbox.gob"
+#line 603 "mn-imap-mailbox.gob"
int i;
@@ -1026,20 +1050,20 @@ mn_imap_mailbox_session_has_capability (MNClientSessionPrivate * priv, const cha
return FALSE;
}}
-#line 1030 "mn-imap-mailbox.c"
+#line 1054 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 593 "mn-imap-mailbox.gob"
+#line 615 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_authenticate (MNClientSessionPrivate * priv)
-#line 1036 "mn-imap-mailbox.c"
+#line 1060 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_authenticate"
-#line 593 "mn-imap-mailbox.gob"
+#line 615 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1041 "mn-imap-mailbox.c"
+#line 1065 "mn-imap-mailbox.c"
{
-#line 595 "mn-imap-mailbox.gob"
+#line 617 "mn-imap-mailbox.gob"
if (priv->mailbox->_priv->authmech)
{
@@ -1068,20 +1092,20 @@ mn_imap_mailbox_session_authenticate (MNClientSessionPrivate * priv)
return STATE_LOGIN;
}
}}
-#line 1072 "mn-imap-mailbox.c"
+#line 1096 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 624 "mn-imap-mailbox.gob"
+#line 646 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv)
-#line 1078 "mn-imap-mailbox.c"
+#line 1102 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_authenticate_fallback"
-#line 624 "mn-imap-mailbox.gob"
+#line 646 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1083 "mn-imap-mailbox.c"
+#line 1107 "mn-imap-mailbox.c"
{
-#line 626 "mn-imap-mailbox.gob"
+#line 648 "mn-imap-mailbox.gob"
if (! priv->mailbox->_priv->authmech)
{
@@ -1091,5 +1115,41 @@ mn_imap_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv)
return mn_client_session_error(priv->session, _("authentication failed"));
}}
-#line 1095 "mn-imap-mailbox.c"
+#line 1119 "mn-imap-mailbox.c"
+#undef __GOB_FUNCTION__
+
+/**
+ * mn_imap_mailbox_quote:
+ * @str: the string to quote
+ *
+ * Quotes a string using RFC 3501 BNF rules.
+ *
+ * Return value: the quoted string.
+ **/
+#line 666 "mn-imap-mailbox.gob"
+static char *
+mn_imap_mailbox_quote (const char * str)
+#line 1133 "mn-imap-mailbox.c"
+{
+#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::quote"
+#line 666 "mn-imap-mailbox.gob"
+ g_return_val_if_fail (str != NULL, (char * )0);
+#line 1138 "mn-imap-mailbox.c"
+{
+#line 668 "mn-imap-mailbox.gob"
+
+ GString *quoted;
+ int i;
+
+ quoted = g_string_new("\"");
+ for (i = 0; str[i]; i++)
+ if (str[i] == '"' || str[i] == '\\') /* quoted-specials in BNF */
+ g_string_append_printf(quoted, "\\%c", str[i]);
+ else
+ g_string_append_c(quoted, str[i]);
+ g_string_append_c(quoted, '"');
+
+ return g_string_free(quoted, FALSE);
+ }}
+#line 1155 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-imap-mailbox.gob b/src/mn-imap-mailbox.gob
@@ -269,9 +269,19 @@ class MN:IMAP:Mailbox from MN:Mailbox
return STATE_LOGOUT;
}
else
- return self_session_write(priv, "LOGIN %s %s",
- priv->mailbox->_priv->username,
- priv->mailbox->_priv->password);
+ {
+ char *quoted_username;
+ char *quoted_password;
+ int result;
+
+ quoted_username = self_quote(priv->mailbox->_priv->username);
+ quoted_password = self_quote(priv->mailbox->_priv->password);
+ result = self_session_write(priv, "LOGIN %s %s", quoted_username, quoted_password);
+ g_free(quoted_username);
+ g_free(quoted_password);
+
+ return result;
+ }
}
private int
@@ -299,7 +309,14 @@ class MN:IMAP:Mailbox from MN:Mailbox
enter_status_cb (MNClientSession *session (check null),
MNClientSessionPrivate *priv (check null))
{
- return self_session_write(priv, "STATUS \"%s\" (UNSEEN)", priv->mailbox->_priv->mailbox);
+ char *quoted_mailbox;
+ int result;
+
+ quoted_mailbox = self_quote(priv->mailbox->_priv->mailbox);
+ result = self_session_write(priv, "STATUS %s (UNSEEN)", quoted_mailbox);
+ g_free(quoted_mailbox);
+
+ return result;
}
private int
@@ -492,8 +509,8 @@ class MN:IMAP:Mailbox from MN:Mailbox
MNClientSessionResponse *response (check null),
MNClientSessionPrivate *priv (check null))
{
- g_free(response->tag);
g_free(response->continuation);
+ g_free(response->tag);
g_free(response->response);
g_free(response->code);
g_free(response->arguments);
@@ -544,6 +561,7 @@ class MN:IMAP:Mailbox from MN:Mailbox
{
va_list args;
char *command;
+ int result;
va_start(args, format);
command = g_strdup_vprintf(format, args);
@@ -551,10 +569,14 @@ class MN:IMAP:Mailbox from MN:Mailbox
if (priv->numeric_tag == 1000)
priv->numeric_tag = 0;
+
g_free(priv->tag);
priv->tag = g_strdup_printf("a%03i", priv->numeric_tag++);
- return mn_client_session_write(priv->session, "%s %s", priv->tag, command);
+ result = mn_client_session_write(priv->session, "%s %s", priv->tag, command);
+ g_free(command);
+
+ return result;
}
private void
@@ -632,4 +654,29 @@ class MN:IMAP:Mailbox from MN:Mailbox
return mn_client_session_error(priv->session, _("authentication failed"));
}
+
+ /**
+ * quote:
+ * @str: the string to quote
+ *
+ * Quotes a string using RFC 3501 BNF rules.
+ *
+ * Return value: the quoted string.
+ **/
+ private char *
+ quote (const char *str (check null))
+ {
+ GString *quoted;
+ int i;
+
+ quoted = g_string_new("\"");
+ for (i = 0; str[i]; i++)
+ if (str[i] == '"' || str[i] == '\\') /* quoted-specials in BNF */
+ g_string_append_printf(quoted, "\\%c", str[i]);
+ else
+ g_string_append_c(quoted, str[i]);
+ g_string_append_c(quoted, '"');
+
+ return g_string_free(quoted, FALSE);
+ }
}
diff --git a/src/mn-mail-icon.c b/src/mn-mail-icon.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:53 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-mailbox-view.c b/src/mn-mailbox-view.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:53 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -892,10 +892,10 @@ mn_mailbox_view_update (MNMailboxView * self)
mailbox = l->data;
if (! self_has_mailbox(self, mailbox))
- {
- gtk_list_store_append(GTK_LIST_STORE(model), &iter);
- self_update_iter(self, &iter, mailbox);
- }
+ {
+ gtk_list_store_append(GTK_LIST_STORE(model), &iter);
+ self_update_iter(self, &iter, mailbox);
+ }
}
}}
#line 902 "mn-mailbox-view.c"
diff --git a/src/mn-mailbox-view.gob b/src/mn-mailbox-view.gob
@@ -364,10 +364,10 @@ class MN:Mailbox:View from Gtk:Tree:View
mailbox = l->data;
if (! self_has_mailbox(self, mailbox))
- {
- gtk_list_store_append(GTK_LIST_STORE(model), &iter);
- self_update_iter(self, &iter, mailbox);
- }
+ {
+ gtk_list_store_append(GTK_LIST_STORE(model), &iter);
+ self_update_iter(self, &iter, mailbox);
+ }
}
}
diff --git a/src/mn-mailbox.c b/src/mn-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:53 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -621,11 +621,11 @@ mn_mailbox_new_async_thread (gpointer data)
vfs_uri = gnome_vfs_uri_new(info->uri);
if (vfs_uri) /* the scheme is supported by GnomeVFS, therefore we require that the URI exists */
- {
- if (! mn_vfs_test(info->uri, G_FILE_TEST_EXISTS))
- mailbox = mn_unsupported_mailbox_new(info->uri, _("does not exist"));
- gnome_vfs_uri_unref(vfs_uri);
- }
+ {
+ if (! mn_vfs_test(info->uri, G_FILE_TEST_EXISTS))
+ mailbox = mn_unsupported_mailbox_new(info->uri, _("does not exist"));
+ gnome_vfs_uri_unref(vfs_uri);
+ }
if (! mailbox)
{
diff --git a/src/mn-mailbox.gob b/src/mn-mailbox.gob
@@ -213,11 +213,11 @@ class MN:Mailbox from G:Object
vfs_uri = gnome_vfs_uri_new(info->uri);
if (vfs_uri) /* the scheme is supported by GnomeVFS, therefore we require that the URI exists */
- {
- if (! mn_vfs_test(info->uri, G_FILE_TEST_EXISTS))
- mailbox = mn_unsupported_mailbox_new(info->uri, _("does not exist"));
- gnome_vfs_uri_unref(vfs_uri);
- }
+ {
+ if (! mn_vfs_test(info->uri, G_FILE_TEST_EXISTS))
+ mailbox = mn_unsupported_mailbox_new(info->uri, _("does not exist"));
+ gnome_vfs_uri_unref(vfs_uri);
+ }
if (! mailbox)
{
diff --git a/src/mn-mailboxes.c b/src/mn-mailboxes.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:53 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-maildir-mailbox.c b/src/mn-maildir-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:30 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -222,6 +222,7 @@ ___4_mn_maildir_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
char *new_uri;
GnomeVFSResult result;
+ GnomeVFSResult close_result;
GnomeVFSDirectoryHandle *handle;
GnomeVFSFileInfo *file_info;
gboolean has_new = FALSE;
@@ -253,11 +254,17 @@ ___4_mn_maildir_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
}
}
gnome_vfs_file_info_unref(file_info);
+ close_result = gnome_vfs_directory_close(handle);
GDK_THREADS_ENTER();
if (result == GNOME_VFS_OK || result == GNOME_VFS_ERROR_EOF)
- mn_mailbox_set_has_new(self, has_new);
+ {
+ if (close_result == GNOME_VFS_OK)
+ mn_mailbox_set_has_new(self, has_new);
+ else
+ mn_mailbox_set_error(self, _("unable to close folder \"new\": %s"), gnome_vfs_result_to_string(close_result));
+ }
else
mn_mailbox_set_error(self, _("error while reading folder \"new\": %s"), gnome_vfs_result_to_string(result));
mn_mailbox_end_check(self);
@@ -265,6 +272,6 @@ ___4_mn_maildir_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
gdk_flush();
GDK_THREADS_LEAVE();
}}
-#line 269 "mn-maildir-mailbox.c"
+#line 276 "mn-maildir-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
diff --git a/src/mn-maildir-mailbox.gob b/src/mn-maildir-mailbox.gob
@@ -82,6 +82,7 @@ class MN:Maildir:Mailbox from MN:Mailbox
{
char *new_uri;
GnomeVFSResult result;
+ GnomeVFSResult close_result;
GnomeVFSDirectoryHandle *handle;
GnomeVFSFileInfo *file_info;
gboolean has_new = FALSE;
@@ -113,11 +114,17 @@ class MN:Maildir:Mailbox from MN:Mailbox
}
}
gnome_vfs_file_info_unref(file_info);
+ close_result = gnome_vfs_directory_close(handle);
GDK_THREADS_ENTER();
if (result == GNOME_VFS_OK || result == GNOME_VFS_ERROR_EOF)
- mn_mailbox_set_has_new(self, has_new);
+ {
+ if (close_result == GNOME_VFS_OK)
+ mn_mailbox_set_has_new(self, has_new);
+ else
+ mn_mailbox_set_error(self, _("unable to close folder \"new\": %s"), gnome_vfs_result_to_string(close_result));
+ }
else
mn_mailbox_set_error(self, _("error while reading folder \"new\": %s"), gnome_vfs_result_to_string(result));
mn_mailbox_end_check(self);
diff --git a/src/mn-main.c b/src/mn-main.c
@@ -238,6 +238,10 @@ main (int argc, char **argv)
{
case Bonobo_ACTIVATION_REG_ALREADY_ACTIVE:
case Bonobo_ACTIVATION_REG_SUCCESS:
+ automation = bonobo_activation_activate_from_id(AUTOMATION_IID, 0, NULL, &ev);
+ if (CORBA_Object_is_nil(automation, &ev))
+ mn_fatal_error_dialog(_("Bonobo could not locate the automation object. Please check your Mail Notification installation."));
+
if (result != Bonobo_ACTIVATION_REG_ALREADY_ACTIVE)
{
if (! gnome_vfs_init())
@@ -245,12 +249,15 @@ main (int argc, char **argv)
mn_conf_init();
mn_shell = mn_shell_new();
+
+ if (! eel_gconf_get_boolean(MN_CONF_ALREADY_RUN))
+ {
+ if (! arg_display_properties)
+ mn_shell_run_welcome(mn_shell);
+ eel_gconf_set_boolean(MN_CONF_ALREADY_RUN, TRUE);
+ }
}
- automation = bonobo_activation_activate_from_id(AUTOMATION_IID, 0, NULL, &ev);
- if (CORBA_Object_is_nil(automation, &ev))
- mn_fatal_error_dialog(_("Bonobo could not locate the automation object. Please check your Mail Notification installation."));
-
if (arg_display_properties)
GNOME_MNAutomation_displayProperties(automation, &ev);
if (arg_display_about)
diff --git a/src/mn-mbox-mailbox-private.h b/src/mn-mbox-mailbox-private.h
@@ -12,7 +12,7 @@ extern "C" {
#line 22 "mn-mbox-mailbox.gob"
-#include <time.h>
+#include <libgnomevfs/gnome-vfs.h>
#line 18 "mn-mbox-mailbox-private.h"
struct _MNmboxMailboxPrivate {
diff --git a/src/mn-mbox-mailbox.c b/src/mn-mbox-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:30 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-mbox-mailbox.gob b/src/mn-mbox-mailbox.gob
@@ -20,7 +20,7 @@
#include "mn-mailbox.h"
%}
%privateheader{
-#include <time.h>
+#include <libgnomevfs/gnome-vfs.h>
%}
%{
#include "config.h"
diff --git a/src/mn-mh-mailbox.c b/src/mn-mh-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:30 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-pending-mailbox.c b/src/mn-pending-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:53 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-pi-mailbox-properties.c b/src/mn-pi-mailbox-properties.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-pop3-mailbox-properties.c b/src/mn-pop3-mailbox-properties.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:30 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-pop3-mailbox.c b/src/mn-pop3-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:30 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-shell.c b/src/mn-shell.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:53 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -92,6 +92,7 @@ static GObjectClass *parent_class = NULL;
#define self_update_icon mn_shell_update_icon
#define self_new mn_shell_new
#define self_display_about mn_shell_display_about
+#define self_run_welcome mn_shell_run_welcome
#define self_report mn_shell_report
GType
mn_shell_get_type (void)
@@ -145,7 +146,7 @@ ___dispose (GObject *obj_self)
(* G_OBJECT_CLASS (parent_class)->dispose) (obj_self);
#line 41 "mn-shell.gob"
if(self->mailboxes) { ((*(void (*)(void *))g_object_unref)) (self->mailboxes); self->mailboxes = NULL; }
-#line 149 "mn-shell.c"
+#line 150 "mn-shell.c"
}
#undef __GOB_FUNCTION__
@@ -158,7 +159,7 @@ ___finalize(GObject *obj_self)
gpointer priv = self->_priv;
#line 57 "mn-shell.gob"
___2_mn_shell_finalize(obj_self);
-#line 162 "mn-shell.c"
+#line 163 "mn-shell.c"
g_free (priv);
}
#undef __GOB_FUNCTION__
@@ -173,20 +174,20 @@ mn_shell_class_init (MNShellClass * c G_GNUC_UNUSED)
#line 57 "mn-shell.gob"
g_object_class->finalize = ___finalize;
-#line 177 "mn-shell.c"
+#line 178 "mn-shell.c"
g_object_class->dispose = ___dispose;
}
#undef __GOB_FUNCTION__
#line 45 "mn-shell.gob"
static void
mn_shell_init (MNShell * self G_GNUC_UNUSED)
-#line 184 "mn-shell.c"
+#line 185 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::init"
self->_priv = g_new0 (MNShellPrivate, 1);
#line 41 "mn-shell.gob"
self->mailboxes = mn_mailboxes_new();
-#line 190 "mn-shell.c"
+#line 191 "mn-shell.c"
{
#line 46 "mn-shell.gob"
@@ -199,7 +200,7 @@ mn_shell_init (MNShell * self G_GNUC_UNUSED)
g_signal_connect(G_OBJECT(self->mailboxes), "list-changed", G_CALLBACK(self_mailboxes_list_changed_h), self);
g_signal_connect(G_OBJECT(self->mailboxes), "status-changed", G_CALLBACK(self_mailboxes_status_changed_h), self);
-#line 203 "mn-shell.c"
+#line 204 "mn-shell.c"
}
}
#undef __GOB_FUNCTION__
@@ -209,7 +210,7 @@ mn_shell_init (MNShell * self G_GNUC_UNUSED)
#line 57 "mn-shell.gob"
static void
___2_mn_shell_finalize (GObject * object G_GNUC_UNUSED)
-#line 213 "mn-shell.c"
+#line 214 "mn-shell.c"
#define PARENT_HANDLER(___object) \
{ if(G_OBJECT_CLASS(parent_class)->finalize) \
(* G_OBJECT_CLASS(parent_class)->finalize)(___object); }
@@ -221,14 +222,14 @@ ___2_mn_shell_finalize (GObject * object G_GNUC_UNUSED)
gtk_main_quit();
PARENT_HANDLER(object);
}}
-#line 225 "mn-shell.c"
+#line 226 "mn-shell.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
#line 64 "mn-shell.gob"
static void
mn_shell_mailboxes_list_changed_h (MNMailboxes * mailboxes, gpointer user_data)
-#line 232 "mn-shell.c"
+#line 233 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::mailboxes_list_changed_h"
#line 64 "mn-shell.gob"
@@ -237,7 +238,7 @@ mn_shell_mailboxes_list_changed_h (MNMailboxes * mailboxes, gpointer user_data)
g_return_if_fail (MN_IS_MAILBOXES (mailboxes));
#line 64 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 241 "mn-shell.c"
+#line 242 "mn-shell.c"
{
#line 67 "mn-shell.gob"
@@ -246,13 +247,13 @@ mn_shell_mailboxes_list_changed_h (MNMailboxes * mailboxes, gpointer user_data)
self_update_sensitivity(self);
self_update_icon(self);
}}
-#line 250 "mn-shell.c"
+#line 251 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 74 "mn-shell.gob"
static void
mn_shell_mailboxes_status_changed_h (MNMailboxes * mailboxes, gpointer user_data)
-#line 256 "mn-shell.c"
+#line 257 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::mailboxes_status_changed_h"
#line 74 "mn-shell.gob"
@@ -261,7 +262,7 @@ mn_shell_mailboxes_status_changed_h (MNMailboxes * mailboxes, gpointer user_data
g_return_if_fail (MN_IS_MAILBOXES (mailboxes));
#line 74 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 265 "mn-shell.c"
+#line 266 "mn-shell.c"
{
#line 77 "mn-shell.gob"
@@ -269,20 +270,20 @@ mn_shell_mailboxes_status_changed_h (MNMailboxes * mailboxes, gpointer user_data
self_update_icon(self);
}}
-#line 273 "mn-shell.c"
+#line 274 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 83 "mn-shell.gob"
static void
mn_shell_init_icon (MNShell * self)
-#line 279 "mn-shell.c"
+#line 280 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::init_icon"
#line 83 "mn-shell.gob"
g_return_if_fail (self != NULL);
#line 83 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 286 "mn-shell.c"
+#line 287 "mn-shell.c"
{
#line 85 "mn-shell.gob"
@@ -301,18 +302,18 @@ mn_shell_init_icon (MNShell * self)
self_update_sensitivity(self);
self_update_icon(self);
}}
-#line 305 "mn-shell.c"
+#line 306 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 102 "mn-shell.gob"
static void
mn_shell_notify_double_clicked_command_cb (GConfClient * client, guint cnxn_id, GConfEntry * entry, gpointer user_data)
-#line 311 "mn-shell.c"
+#line 312 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::notify_double_clicked_command_cb"
#line 102 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 316 "mn-shell.c"
+#line 317 "mn-shell.c"
{
#line 107 "mn-shell.gob"
@@ -320,13 +321,13 @@ mn_shell_notify_double_clicked_command_cb (GConfClient * client, guint cnxn_id,
self_update_command(self);
}}
-#line 324 "mn-shell.c"
+#line 325 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 113 "mn-shell.gob"
static void
mn_shell_icon_activate_h (MNMailIcon * icon, gpointer user_data)
-#line 330 "mn-shell.c"
+#line 331 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_h"
#line 113 "mn-shell.gob"
@@ -335,7 +336,7 @@ mn_shell_icon_activate_h (MNMailIcon * icon, gpointer user_data)
g_return_if_fail (MN_IS_MAIL_ICON (icon));
#line 113 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 339 "mn-shell.c"
+#line 340 "mn-shell.c"
{
#line 116 "mn-shell.gob"
@@ -343,13 +344,13 @@ mn_shell_icon_activate_h (MNMailIcon * icon, gpointer user_data)
if (eel_gconf_get_boolean(MN_CONF_COMMANDS_DOUBLE_CLICKED_ENABLED))
self_run_double_clicked_command(self);
}}
-#line 347 "mn-shell.c"
+#line 348 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 122 "mn-shell.gob"
static void
mn_shell_icon_activate_run_h (MNMailIcon * icon, gpointer user_data)
-#line 353 "mn-shell.c"
+#line 354 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_run_h"
#line 122 "mn-shell.gob"
@@ -358,20 +359,20 @@ mn_shell_icon_activate_run_h (MNMailIcon * icon, gpointer user_data)
g_return_if_fail (MN_IS_MAIL_ICON (icon));
#line 122 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 362 "mn-shell.c"
+#line 363 "mn-shell.c"
{
#line 125 "mn-shell.gob"
Self *self = user_data;
self_run_double_clicked_command(self);
}}
-#line 369 "mn-shell.c"
+#line 370 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 130 "mn-shell.gob"
static void
mn_shell_icon_activate_update_h (MNMailIcon * icon, gpointer user_data)
-#line 375 "mn-shell.c"
+#line 376 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_update_h"
#line 130 "mn-shell.gob"
@@ -380,20 +381,20 @@ mn_shell_icon_activate_update_h (MNMailIcon * icon, gpointer user_data)
g_return_if_fail (MN_IS_MAIL_ICON (icon));
#line 130 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 384 "mn-shell.c"
+#line 385 "mn-shell.c"
{
#line 133 "mn-shell.gob"
Self *self = user_data;
mn_mailboxes_check(self->mailboxes);
}}
-#line 391 "mn-shell.c"
+#line 392 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 138 "mn-shell.gob"
static void
mn_shell_icon_activate_properties_h (MNMailIcon * icon, gpointer user_data)
-#line 397 "mn-shell.c"
+#line 398 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_properties_h"
#line 138 "mn-shell.gob"
@@ -402,19 +403,19 @@ mn_shell_icon_activate_properties_h (MNMailIcon * icon, gpointer user_data)
g_return_if_fail (MN_IS_MAIL_ICON (icon));
#line 138 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 406 "mn-shell.c"
+#line 407 "mn-shell.c"
{
#line 141 "mn-shell.gob"
mn_properties_display();
}}
-#line 412 "mn-shell.c"
+#line 413 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 145 "mn-shell.gob"
static void
mn_shell_icon_activate_help_h (MNMailIcon * icon, gpointer user_data)
-#line 418 "mn-shell.c"
+#line 419 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_help_h"
#line 145 "mn-shell.gob"
@@ -423,19 +424,19 @@ mn_shell_icon_activate_help_h (MNMailIcon * icon, gpointer user_data)
g_return_if_fail (MN_IS_MAIL_ICON (icon));
#line 145 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 427 "mn-shell.c"
+#line 428 "mn-shell.c"
{
#line 148 "mn-shell.gob"
mn_display_help(NULL);
}}
-#line 433 "mn-shell.c"
+#line 434 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 152 "mn-shell.gob"
static void
mn_shell_icon_activate_about_h (MNMailIcon * icon, gpointer user_data)
-#line 439 "mn-shell.c"
+#line 440 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_about_h"
#line 152 "mn-shell.gob"
@@ -444,20 +445,20 @@ mn_shell_icon_activate_about_h (MNMailIcon * icon, gpointer user_data)
g_return_if_fail (MN_IS_MAIL_ICON (icon));
#line 152 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 448 "mn-shell.c"
+#line 449 "mn-shell.c"
{
#line 155 "mn-shell.gob"
Self *self = user_data;
self_display_about(self);
}}
-#line 455 "mn-shell.c"
+#line 456 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 160 "mn-shell.gob"
static void
mn_shell_icon_activate_remove_h (MNMailIcon * icon, gpointer user_data)
-#line 461 "mn-shell.c"
+#line 462 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_remove_h"
#line 160 "mn-shell.gob"
@@ -466,20 +467,20 @@ mn_shell_icon_activate_remove_h (MNMailIcon * icon, gpointer user_data)
g_return_if_fail (MN_IS_MAIL_ICON (icon));
#line 160 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 470 "mn-shell.c"
+#line 471 "mn-shell.c"
{
#line 163 "mn-shell.gob"
Self *self = user_data;
g_object_unref(self);
}}
-#line 477 "mn-shell.c"
+#line 478 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 168 "mn-shell.gob"
static void
mn_shell_icon_destroy_h (GtkObject * object, gpointer user_data)
-#line 483 "mn-shell.c"
+#line 484 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_destroy_h"
#line 168 "mn-shell.gob"
@@ -488,7 +489,7 @@ mn_shell_icon_destroy_h (GtkObject * object, gpointer user_data)
g_return_if_fail (GTK_IS_OBJECT (object));
#line 168 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 492 "mn-shell.c"
+#line 493 "mn-shell.c"
{
#line 171 "mn-shell.gob"
@@ -497,20 +498,20 @@ mn_shell_icon_destroy_h (GtkObject * object, gpointer user_data)
/* The Notification Area applet has been terminated. Recreate the icon. */
self_init_icon(self);
}}
-#line 501 "mn-shell.c"
+#line 502 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 178 "mn-shell.gob"
static void
mn_shell_run_double_clicked_command (MNShell * self)
-#line 507 "mn-shell.c"
+#line 508 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::run_double_clicked_command"
#line 178 "mn-shell.gob"
g_return_if_fail (self != NULL);
#line 178 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 514 "mn-shell.c"
+#line 515 "mn-shell.c"
{
#line 180 "mn-shell.gob"
@@ -533,20 +534,20 @@ mn_shell_run_double_clicked_command (MNShell * self)
g_free(command);
}
}}
-#line 537 "mn-shell.c"
+#line 538 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 201 "mn-shell.gob"
static void
mn_shell_update_command (MNShell * self)
-#line 543 "mn-shell.c"
+#line 544 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::update_command"
#line 201 "mn-shell.gob"
g_return_if_fail (self != NULL);
#line 201 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 550 "mn-shell.c"
+#line 551 "mn-shell.c"
{
#line 203 "mn-shell.gob"
@@ -556,20 +557,20 @@ mn_shell_update_command (MNShell * self)
mn_mail_icon_set_command(selfp->icon, command);
g_free(command);
}}
-#line 560 "mn-shell.c"
+#line 561 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 211 "mn-shell.gob"
static void
mn_shell_update_sensitivity (MNShell * self)
-#line 566 "mn-shell.c"
+#line 567 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::update_sensitivity"
#line 211 "mn-shell.gob"
g_return_if_fail (self != NULL);
#line 211 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 573 "mn-shell.c"
+#line 574 "mn-shell.c"
{
#line 213 "mn-shell.gob"
@@ -589,20 +590,20 @@ mn_shell_update_sensitivity (MNShell * self)
gtk_widget_set_sensitive(selfp->icon->update_item, has_manual);
}}
-#line 593 "mn-shell.c"
+#line 594 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 231 "mn-shell.gob"
static void
mn_shell_update_icon (MNShell * self)
-#line 599 "mn-shell.c"
+#line 600 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::update_icon"
#line 231 "mn-shell.gob"
g_return_if_fail (self != NULL);
#line 231 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 606 "mn-shell.c"
+#line 607 "mn-shell.c"
{
#line 233 "mn-shell.gob"
@@ -735,13 +736,13 @@ mn_shell_update_icon (MNShell * self)
if (tooltip)
g_string_free(tooltip, TRUE);
}}
-#line 739 "mn-shell.c"
+#line 740 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 364 "mn-shell.gob"
MNShell *
mn_shell_new (void)
-#line 745 "mn-shell.c"
+#line 746 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::new"
{
@@ -749,20 +750,20 @@ mn_shell_new (void)
return MN_SHELL(GET_NEW);
}}
-#line 753 "mn-shell.c"
+#line 754 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 370 "mn-shell.gob"
void
mn_shell_display_about (MNShell * self)
-#line 759 "mn-shell.c"
+#line 760 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::display_about"
#line 370 "mn-shell.gob"
g_return_if_fail (self != NULL);
#line 370 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 766 "mn-shell.c"
+#line 767 "mn-shell.c"
{
#line 372 "mn-shell.gob"
@@ -776,25 +777,54 @@ mn_shell_display_about (MNShell * self)
g_object_add_weak_pointer(G_OBJECT(selfp->about), (gpointer *) &selfp->about);
gtk_widget_show(GTK_WIDGET(selfp->about));
}}
-#line 780 "mn-shell.c"
+#line 781 "mn-shell.c"
#undef __GOB_FUNCTION__
#line 384 "mn-shell.gob"
void
-mn_shell_report (MNShell * self, char ** report)
-#line 786 "mn-shell.c"
+mn_shell_run_welcome (MNShell * self)
+#line 787 "mn-shell.c"
{
-#define __GOB_FUNCTION__ "MN:Shell::report"
+#define __GOB_FUNCTION__ "MN:Shell::run_welcome"
#line 384 "mn-shell.gob"
g_return_if_fail (self != NULL);
#line 384 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 384 "mn-shell.gob"
- g_return_if_fail (report != NULL);
-#line 795 "mn-shell.c"
+#line 794 "mn-shell.c"
{
#line 386 "mn-shell.gob"
+ GtkWidget *dialog;
+ int response;
+
+ mn_create_interface("welcome", "dialog", &dialog, NULL);
+ gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
+
+ response = gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+
+ if (response == GTK_RESPONSE_OK)
+ mn_properties_display();
+ }}
+#line 810 "mn-shell.c"
+#undef __GOB_FUNCTION__
+
+#line 400 "mn-shell.gob"
+void
+mn_shell_report (MNShell * self, char ** report)
+#line 816 "mn-shell.c"
+{
+#define __GOB_FUNCTION__ "MN:Shell::report"
+#line 400 "mn-shell.gob"
+ g_return_if_fail (self != NULL);
+#line 400 "mn-shell.gob"
+ g_return_if_fail (MN_IS_SHELL (self));
+#line 400 "mn-shell.gob"
+ g_return_if_fail (report != NULL);
+#line 825 "mn-shell.c"
+{
+#line 402 "mn-shell.gob"
+
GString *string;
GSList *l;
@@ -821,5 +851,5 @@ mn_shell_report (MNShell * self, char ** report)
*report = string->str;
g_string_free(string, FALSE);
}}
-#line 825 "mn-shell.c"
+#line 855 "mn-shell.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-shell.gob b/src/mn-shell.gob
@@ -382,6 +382,22 @@ class MN:Shell from G:Object
}
public void
+ run_welcome (self)
+ {
+ GtkWidget *dialog;
+ int response;
+
+ mn_create_interface("welcome", "dialog", &dialog, NULL);
+ gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
+
+ response = gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+
+ if (response == GTK_RESPONSE_OK)
+ mn_properties_display();
+ }
+
+ public void
report (self, char **report (check null))
{
GString *string;
diff --git a/src/mn-shell.h b/src/mn-shell.h
@@ -58,6 +58,7 @@ struct _MNShellClass {
GType mn_shell_get_type (void);
MNShell * mn_shell_new (void);
void mn_shell_display_about (MNShell * self);
+void mn_shell_run_welcome (MNShell * self);
void mn_shell_report (MNShell * self,
char ** report);
diff --git a/src/mn-sylpheed-mailbox.c b/src/mn-sylpheed-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:52 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -210,6 +210,7 @@ ___4_mn_sylpheed_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
#line 71 "mn-sylpheed-mailbox.gob"
GnomeVFSResult result;
+ GnomeVFSResult close_result;
GnomeVFSDirectoryHandle *handle;
GnomeVFSFileInfo *file_info;
int total_count = 0;
@@ -245,11 +246,17 @@ ___4_mn_sylpheed_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
mark_count = (file_info->size - sizeof(int)) / (sizeof(int) * 2);
}
gnome_vfs_file_info_unref(file_info);
+ close_result = gnome_vfs_directory_close(handle);
GDK_THREADS_ENTER();
if (result == GNOME_VFS_ERROR_EOF)
- mn_mailbox_set_has_new(self, total_count != mark_count);
+ {
+ if (close_result == GNOME_VFS_OK)
+ mn_mailbox_set_has_new(self, total_count != mark_count);
+ else
+ mn_mailbox_set_error(self, _("unable to close folder: %s"), gnome_vfs_result_to_string(close_result));
+ }
else
mn_mailbox_set_error(self, _("error while reading folder: %s"), gnome_vfs_result_to_string(result));
mn_mailbox_end_check(self);
@@ -257,6 +264,6 @@ ___4_mn_sylpheed_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
gdk_flush();
GDK_THREADS_LEAVE();
}}
-#line 261 "mn-sylpheed-mailbox.c"
+#line 268 "mn-sylpheed-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
diff --git a/src/mn-sylpheed-mailbox.gob b/src/mn-sylpheed-mailbox.gob
@@ -70,6 +70,7 @@ class MN:Sylpheed:Mailbox from MN:Mailbox
impl_threaded_check (MN:Mailbox *self (check null type))
{
GnomeVFSResult result;
+ GnomeVFSResult close_result;
GnomeVFSDirectoryHandle *handle;
GnomeVFSFileInfo *file_info;
int total_count = 0;
@@ -105,11 +106,17 @@ class MN:Sylpheed:Mailbox from MN:Mailbox
mark_count = (file_info->size - sizeof(int)) / (sizeof(int) * 2);
}
gnome_vfs_file_info_unref(file_info);
+ close_result = gnome_vfs_directory_close(handle);
GDK_THREADS_ENTER();
if (result == GNOME_VFS_ERROR_EOF)
- mn_mailbox_set_has_new(self, total_count != mark_count);
+ {
+ if (close_result == GNOME_VFS_OK)
+ mn_mailbox_set_has_new(self, total_count != mark_count);
+ else
+ mn_mailbox_set_error(self, _("unable to close folder: %s"), gnome_vfs_result_to_string(close_result));
+ }
else
mn_mailbox_set_error(self, _("error while reading folder: %s"), gnome_vfs_result_to_string(result));
mn_mailbox_end_check(self);
diff --git a/src/mn-system-mailbox-properties.c b/src/mn-system-mailbox-properties.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:53 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:31 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-unsupported-mailbox.c b/src/mn-unsupported-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.9) on Mon Aug 16 18:13:53 2004
+/* Generated by GOB (v2.0.9) on Thu Aug 19 00:41:32 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-uri.c b/src/mn-uri.c
@@ -89,27 +89,51 @@ mn_uri_build_generic (const char *scheme,
const char *path)
{
GString *uri;
-
+ char *escaped;
+
g_return_val_if_fail(scheme != NULL, NULL);
- uri = g_string_new(scheme);
+ escaped = gnome_vfs_escape_string(scheme);
+ uri = g_string_new(escaped);
+ g_free(escaped);
+
g_string_append(uri, "://");
if (username)
- g_string_append(uri, username);
+ {
+ escaped = gnome_vfs_escape_string(username);
+ g_string_append(uri, escaped);
+ g_free(escaped);
+ }
if (password)
- g_string_append_printf(uri, ":%s", password);
+ {
+ escaped = gnome_vfs_escape_string(password);
+ g_string_append_printf(uri, ":%s", escaped);
+ g_free(escaped);
+ }
if (authmech)
- g_string_append_printf(uri, ";auth=%s", authmech);
+ {
+ escaped = gnome_vfs_escape_string(authmech);
+ g_string_append_printf(uri, ";AUTH=%s", escaped);
+ g_free(escaped);
+ }
if (hostname)
- g_string_append_printf(uri, mn_uri_is_ipv6_address(hostname) ? "@[%s]" : "@%s", hostname);
+ {
+ escaped = gnome_vfs_escape_host_and_path_string(hostname);
+ g_string_append_printf(uri, mn_uri_is_ipv6_address(hostname) ? "@[%s]" : "@%s", escaped);
+ g_free(escaped);
+ }
if (port >= 0)
{
g_return_val_if_fail(hostname != NULL, NULL);
g_string_append_printf(uri, ":%i", port);
}
if (path)
- g_string_append_printf(uri, "/%s", path);
+ {
+ escaped = gnome_vfs_escape_path_string(path);
+ g_string_append_printf(uri, "/%s", escaped);
+ g_free(escaped);
+ }
return g_string_free(uri, FALSE);
}
@@ -131,7 +155,8 @@ mn_uri_build_generic (const char *scheme,
* WARNING: the parsing is very lax, this function is NOT intended to
* be used on untrusted URIs.
*
- * Return value: TRUE is @uri has at least a scheme, FALSE otherwise.
+ * Return value: TRUE is @uri has at least a scheme, username and
+ * password, FALSE otherwise.
**/
static gboolean
mn_uri_parse_generic (const char *uri,
@@ -143,79 +168,109 @@ mn_uri_parse_generic (const char *uri,
int *port,
char **path)
{
- int n1;
- char scheme_buf[513];
- char auth_buf[513];
- char host_buf[513];
+ int len;
g_return_val_if_fail(uri != NULL, FALSE);
- n1 = sscanf(uri, "%512[^:]://%512[^@]@%512s", scheme_buf, auth_buf, host_buf);
- if (n1 > 0)
- {
- char username_buf[513];
- char password_buf[513];
- char authmech_buf[513];
- char hostname_buf[513];
- int _port;
- char path_buf[513];
- gboolean has_username = FALSE;
- gboolean has_password = FALSE;
- gboolean has_authmech = FALSE;
- gboolean has_hostname = FALSE;
- gboolean has_port = FALSE;
- gboolean has_path = FALSE;
-
- if (n1 > 1)
- {
- int n2;
-
- n2 = sscanf(auth_buf, "%512[^:]:%512[^;];auth=%512s", username_buf, password_buf, authmech_buf);
- has_username = n2 > 0;
- has_password = n2 > 1;
- has_authmech = n2 > 2;
-
- if (n1 > 2)
- {
- int n3;
- char hostport_buf[513];
-
- n3 = sscanf(host_buf, "%512[^/]/%512s", hostport_buf, path_buf);
- has_path = n3 > 1;
-
- if (n3 > 0)
- {
- int n4;
-
- n4 = sscanf(hostport_buf, "[%512[^]]]:%i", hostname_buf, &_port);
- if (n4 == 0)
- n4 = sscanf(hostport_buf, "%512[^:]:%i", hostname_buf, &_port);
-
- has_hostname = n4 > 0;
- has_port = n4 > 1;
- }
- }
- }
-
- if (scheme)
- *scheme = g_strdup(scheme_buf);
- if (username)
- *username = has_username ? g_strdup(username_buf) : NULL;
- if (password)
- *password = has_password ? g_strdup(password_buf) : NULL;
- if (authmech)
- *authmech = has_authmech ? g_strdup(authmech_buf) : NULL;
- if (hostname)
- *hostname = has_hostname ? g_strdup(hostname_buf) : NULL;
- if (port)
- *port = has_port ? _port : -1;
- if (path)
- *path = has_path ? g_strdup(path_buf) : NULL;
-
- return TRUE;
- }
- else
- return FALSE;
+ len = strlen(uri);
+
+ {
+ char *pat;
+ int n;
+ char scheme_buf[len + 1];
+ char username_buf[len + 1];
+ char password_buf[len + 1];
+ char authmech_buf[len + 1];
+ char hostpart_buf[len + 1];
+ char hostname_buf[len + 1];
+ int _port;
+ char path_buf[len + 1];
+ gboolean has_authmech = FALSE;
+ gboolean has_hostpart = FALSE;
+ gboolean has_port = FALSE;
+ gboolean has_path = FALSE;
+
+ /*
+ * For backward compatibility with previous versions of Mail
+ * Notification, we also support ;auth= (in lowercase).
+ */
+
+ pat = g_strdup_printf("%%%i[^:]://%%%i[^:]:%%%i[^;];%%*1[aA]%%*1[uU]%%*1[tT]%%*1[hH]=%%%i[^@]@%%%is", len, len, len, len, len);
+ n = sscanf(uri, pat, scheme_buf, username_buf, password_buf, authmech_buf, hostpart_buf);
+ g_free(pat);
+
+ if (n >= 4)
+ {
+ has_authmech = TRUE;
+ has_hostpart = n > 4;
+ }
+ else
+ {
+ pat = g_strdup_printf("%%%i[^:]://%%%i[^:]:%%%i[^@]@%%%is", len, len, len, len);
+ n = sscanf(uri, pat, scheme_buf, username_buf, password_buf, hostpart_buf);
+ g_free(pat);
+
+ if (n >= 3)
+ has_hostpart = n > 3;
+ else
+ return FALSE;
+ }
+
+ if (has_hostpart)
+ {
+ pat = g_strdup_printf("[%%%i[^]]]:%%u/%%%is", len, len);
+ n = sscanf(hostpart_buf, pat, hostname_buf, &_port, path_buf);
+ g_free(pat);
+
+ if (n < 1)
+ {
+ pat = g_strdup_printf("%%%i[^:]:%%u/%%%is", len, len);
+ n = sscanf(hostpart_buf, pat, hostname_buf, &_port, path_buf);
+ g_free(pat);
+ }
+
+ if (n >= 2)
+ {
+ has_port = TRUE;
+ has_path = n > 2;
+ }
+ else
+ {
+ pat = g_strdup_printf("[%%%i[^]]]/%%%is", len, len);
+ n = sscanf(hostpart_buf, pat, hostname_buf, path_buf);
+ g_free(pat);
+
+ if (n < 1)
+ {
+ pat = g_strdup_printf("%%%i[^/]/%%%is", len, len);
+ n = sscanf(hostpart_buf, pat, hostname_buf, path_buf);
+ g_free(pat);
+ }
+
+ if (n < 1)
+ return FALSE;
+
+ has_path = n > 1;
+ }
+ }
+
+ if (scheme)
+ *scheme = gnome_vfs_unescape_string(scheme_buf, NULL);
+ if (username)
+ *username = gnome_vfs_unescape_string(username_buf, NULL);
+ if (password)
+ *password = gnome_vfs_unescape_string(password_buf, NULL);
+ if (authmech)
+ *authmech = has_authmech ? gnome_vfs_unescape_string(authmech_buf, NULL) : NULL;
+ if (hostname)
+ *hostname = has_hostpart ? gnome_vfs_unescape_string(hostname_buf, NULL) : NULL;
+ if (port)
+ *port = has_port ? _port : -1;
+ if (path)
+ *path = has_path ? gnome_vfs_unescape_string(path_buf, NULL) : NULL;
+
+ return TRUE;
+ }
}
/**
diff --git a/tests/test-uri.c b/tests/test-uri.c
@@ -29,105 +29,105 @@ main (int argc, char **argv)
const char *pop_uri_list[] = {
"pop://invalid",
- "pop://username:password@hostname",
- "pop://username:password@hostname:110",
- "pop://username:password@hostname:555",
+ "pop://usern%40me:password@hostname",
+ "pop://usern%40me:password@hostname:110",
+ "pop://usern%40me:password@hostname:555",
- "pop://username:password@[::1]",
- "pop://username:password@[::1]:110",
- "pop://username:password@[::1]:555",
+ "pop://usern%40me:password@[::1]",
+ "pop://usern%40me:password@[::1]:110",
+ "pop://usern%40me:password@[::1]:555",
- "pop://username:password;auth=MECH@hostname",
- "pop://username:password;auth=MECH@hostname:110",
- "pop://username:password;auth=MECH@hostname:555",
+ "pop://usern%40me:password;auth=MECH@hostname",
+ "pop://usern%40me:password;auth=MECH@hostname:110",
+ "pop://usern%40me:password;auth=MECH@hostname:555",
- "pop://username:password;auth=MECH@[::1]",
- "pop://username:password;auth=MECH@[::1]:110",
- "pop://username:password;auth=MECH@[::1]:555",
+ "pop://usern%40me:password;auth=MECH@[::1]",
+ "pop://usern%40me:password;auth=MECH@[::1]:110",
+ "pop://usern%40me:password;auth=MECH@[::1]:555",
"pops://invalid",
- "pops://username:password@hostname",
- "pops://username:password@hostname:995",
- "pops://username:password@hostname:555",
+ "pops://usern%40me:password@hostname",
+ "pops://usern%40me:password@hostname:995",
+ "pops://usern%40me:password@hostname:555",
- "pops://username:password@[::1]",
- "pops://username:password@[::1]:995",
- "pops://username:password@[::1]:555",
+ "pops://usern%40me:password@[::1]",
+ "pops://usern%40me:password@[::1]:995",
+ "pops://usern%40me:password@[::1]:555",
- "pops://username:password;auth=MECH@hostname",
- "pops://username:password;auth=MECH@hostname:995",
- "pops://username:password;auth=MECH@hostname:555",
+ "pops://usern%40me:password;auth=MECH@hostname",
+ "pops://usern%40me:password;auth=MECH@hostname:995",
+ "pops://usern%40me:password;auth=MECH@hostname:555",
- "pops://username:password;auth=MECH@[::1]",
- "pops://username:password;auth=MECH@[::1]:995",
- "pops://username:password;auth=MECH@[::1]:555",
+ "pops://usern%40me:password;auth=MECH@[::1]",
+ "pops://usern%40me:password;auth=MECH@[::1]:995",
+ "pops://usern%40me:password;auth=MECH@[::1]:555",
};
const char *imap_uri_list[] = {
"imap://invalid",
- "imap://username:password@hostname",
- "imap://username:password@hostname/mailbox",
- "imap://username:password@hostname:143",
- "imap://username:password@hostname:143/mailbox",
- "imap://username:password@hostname:555",
- "imap://username:password@hostname:555/mailbox",
+ "imap://usern%40me:password@hostname",
+ "imap://usern%40me:password@hostname/mailbox",
+ "imap://usern%40me:password@hostname:143",
+ "imap://usern%40me:password@hostname:143/mailbox",
+ "imap://usern%40me:password@hostname:555",
+ "imap://usern%40me:password@hostname:555/mailbox",
- "imap://username:password@[::1]",
- "imap://username:password@[::1]/mailbox",
- "imap://username:password@[::1]:143",
- "imap://username:password@[::1]:143/mailbox",
- "imap://username:password@[::1]:555",
- "imap://username:password@[::1]:555/mailbox",
-
- "imap://username:password;auth=MECH@hostname",
- "imap://username:password;auth=MECH@hostname/mailbox",
- "imap://username:password;auth=MECH@hostname:143",
- "imap://username:password;auth=MECH@hostname:143/mailbox",
- "imap://username:password;auth=MECH@hostname:555",
- "imap://username:password;auth=MECH@hostname:555/mailbox",
+ "imap://usern%40me:password@[::1]",
+ "imap://usern%40me:password@[::1]/mailbox",
+ "imap://usern%40me:password@[::1]:143",
+ "imap://usern%40me:password@[::1]:143/mailbox",
+ "imap://usern%40me:password@[::1]:555",
+ "imap://usern%40me:password@[::1]:555/mailbox",
+
+ "imap://usern%40me:password;auth=MECH@hostname",
+ "imap://usern%40me:password;auth=MECH@hostname/mailbox",
+ "imap://usern%40me:password;auth=MECH@hostname:143",
+ "imap://usern%40me:password;auth=MECH@hostname:143/mailbox",
+ "imap://usern%40me:password;auth=MECH@hostname:555",
+ "imap://usern%40me:password;auth=MECH@hostname:555/mailbox",
- "imap://username:password;auth=MECH@[::1]",
- "imap://username:password;auth=MECH@[::1]/mailbox",
- "imap://username:password;auth=MECH@[::1]:143",
- "imap://username:password;auth=MECH@[::1]:143/mailbox",
- "imap://username:password;auth=MECH@[::1]:555",
- "imap://username:password;auth=MECH@[::1]:555/mailbox",
+ "imap://usern%40me:password;auth=MECH@[::1]",
+ "imap://usern%40me:password;auth=MECH@[::1]/mailbox",
+ "imap://usern%40me:password;auth=MECH@[::1]:143",
+ "imap://usern%40me:password;auth=MECH@[::1]:143/mailbox",
+ "imap://usern%40me:password;auth=MECH@[::1]:555",
+ "imap://usern%40me:password;auth=MECH@[::1]:555/mailbox",
"imaps://invalid",
- "imaps://username:password@hostname",
- "imaps://username:password@hostname/mailbox",
- "imaps://username:password@hostname:993",
- "imaps://username:password@hostname:993/mailbox",
- "imaps://username:password@hostname:555",
- "imaps://username:password@hostname:555/mailbox",
+ "imaps://usern%40me:password@hostname",
+ "imaps://usern%40me:password@hostname/mailbox",
+ "imaps://usern%40me:password@hostname:993",
+ "imaps://usern%40me:password@hostname:993/mailbox",
+ "imaps://usern%40me:password@hostname:555",
+ "imaps://usern%40me:password@hostname:555/mailbox",
- "imaps://username:password@[::1]",
- "imaps://username:password@[::1]/mailbox",
- "imaps://username:password@[::1]:993",
- "imaps://username:password@[::1]:993/mailbox",
- "imaps://username:password@[::1]:555",
- "imaps://username:password@[::1]:555/mailbox",
-
- "imaps://username:password;auth=MECH@hostname",
- "imaps://username:password;auth=MECH@hostname/mailbox",
- "imaps://username:password;auth=MECH@hostname:993",
- "imaps://username:password;auth=MECH@hostname:993/mailbox",
- "imaps://username:password;auth=MECH@hostname:555",
- "imaps://username:password;auth=MECH@hostname:555/mailbox",
+ "imaps://usern%40me:password@[::1]",
+ "imaps://usern%40me:password@[::1]/mailbox",
+ "imaps://usern%40me:password@[::1]:993",
+ "imaps://usern%40me:password@[::1]:993/mailbox",
+ "imaps://usern%40me:password@[::1]:555",
+ "imaps://usern%40me:password@[::1]:555/mailbox",
+
+ "imaps://usern%40me:password;auth=MECH@hostname",
+ "imaps://usern%40me:password;auth=MECH@hostname/mailbox",
+ "imaps://usern%40me:password;auth=MECH@hostname:993",
+ "imaps://usern%40me:password;auth=MECH@hostname:993/mailbox",
+ "imaps://usern%40me:password;auth=MECH@hostname:555",
+ "imaps://usern%40me:password;auth=MECH@hostname:555/mailbox",
- "imaps://username:password;auth=MECH@[::1]",
- "imaps://username:password;auth=MECH@[::1]/mailbox",
- "imaps://username:password;auth=MECH@[::1]:993",
- "imaps://username:password;auth=MECH@[::1]:993/mailbox",
- "imaps://username:password;auth=MECH@[::1]:555",
- "imaps://username:password;auth=MECH@[::1]:555/mailbox",
+ "imaps://usern%40me:password;auth=MECH@[::1]",
+ "imaps://usern%40me:password;auth=MECH@[::1]/mailbox",
+ "imaps://usern%40me:password;auth=MECH@[::1]:993",
+ "imaps://usern%40me:password;auth=MECH@[::1]:993/mailbox",
+ "imaps://usern%40me:password;auth=MECH@[::1]:555",
+ "imaps://usern%40me:password;auth=MECH@[::1]:555/mailbox",
};
const char *gmail_uri_list[] = {
"gmail://invalid",
- "gmail://username:password"
+ "gmail://usern%40me:password"
};
int i;
diff --git a/tests/test-uri.expected b/tests/test-uri.expected
@@ -1,78 +1,78 @@
pop 0: invalid
-pop 1: pop://username:password@hostname
-pop 2: pop://username:password@hostname
-pop 3: pop://username:password@hostname:555
-pop 4: pop://username:password@[::1]
-pop 5: pop://username:password@[::1]
-pop 6: pop://username:password@[::1]:555
-pop 7: pop://username:password;auth=MECH@hostname
-pop 8: pop://username:password;auth=MECH@hostname
-pop 9: pop://username:password;auth=MECH@hostname:555
-pop 10: pop://username:password;auth=MECH@[::1]
-pop 11: pop://username:password;auth=MECH@[::1]
-pop 12: pop://username:password;auth=MECH@[::1]:555
+pop 1: pop://usern%40me:password@hostname
+pop 2: pop://usern%40me:password@hostname
+pop 3: pop://usern%40me:password@hostname:555
+pop 4: pop://usern%40me:password@[::1]
+pop 5: pop://usern%40me:password@[::1]
+pop 6: pop://usern%40me:password@[::1]:555
+pop 7: pop://usern%40me:password;AUTH=MECH@hostname
+pop 8: pop://usern%40me:password;AUTH=MECH@hostname
+pop 9: pop://usern%40me:password;AUTH=MECH@hostname:555
+pop 10: pop://usern%40me:password;AUTH=MECH@[::1]
+pop 11: pop://usern%40me:password;AUTH=MECH@[::1]
+pop 12: pop://usern%40me:password;AUTH=MECH@[::1]:555
pop 13: invalid
-pop 14: pops://username:password@hostname
-pop 15: pops://username:password@hostname
-pop 16: pops://username:password@hostname:555
-pop 17: pops://username:password@[::1]
-pop 18: pops://username:password@[::1]
-pop 19: pops://username:password@[::1]:555
-pop 20: pops://username:password;auth=MECH@hostname
-pop 21: pops://username:password;auth=MECH@hostname
-pop 22: pops://username:password;auth=MECH@hostname:555
-pop 23: pops://username:password;auth=MECH@[::1]
-pop 24: pops://username:password;auth=MECH@[::1]
-pop 25: pops://username:password;auth=MECH@[::1]:555
+pop 14: pops://usern%40me:password@hostname
+pop 15: pops://usern%40me:password@hostname
+pop 16: pops://usern%40me:password@hostname:555
+pop 17: pops://usern%40me:password@[::1]
+pop 18: pops://usern%40me:password@[::1]
+pop 19: pops://usern%40me:password@[::1]:555
+pop 20: pops://usern%40me:password;AUTH=MECH@hostname
+pop 21: pops://usern%40me:password;AUTH=MECH@hostname
+pop 22: pops://usern%40me:password;AUTH=MECH@hostname:555
+pop 23: pops://usern%40me:password;AUTH=MECH@[::1]
+pop 24: pops://usern%40me:password;AUTH=MECH@[::1]
+pop 25: pops://usern%40me:password;AUTH=MECH@[::1]:555
imap 0: invalid
-imap 1: imap://username:password@hostname
-imap 2: imap://username:password@hostname/mailbox
-imap 3: imap://username:password@hostname
-imap 4: imap://username:password@hostname/mailbox
-imap 5: imap://username:password@hostname:555
-imap 6: imap://username:password@hostname:555/mailbox
-imap 7: imap://username:password@[::1]
-imap 8: imap://username:password@[::1]/mailbox
-imap 9: imap://username:password@[::1]
-imap 10: imap://username:password@[::1]/mailbox
-imap 11: imap://username:password@[::1]:555
-imap 12: imap://username:password@[::1]:555/mailbox
-imap 13: imap://username:password;auth=MECH@hostname
-imap 14: imap://username:password;auth=MECH@hostname/mailbox
-imap 15: imap://username:password;auth=MECH@hostname
-imap 16: imap://username:password;auth=MECH@hostname/mailbox
-imap 17: imap://username:password;auth=MECH@hostname:555
-imap 18: imap://username:password;auth=MECH@hostname:555/mailbox
-imap 19: imap://username:password;auth=MECH@[::1]
-imap 20: imap://username:password;auth=MECH@[::1]/mailbox
-imap 21: imap://username:password;auth=MECH@[::1]
-imap 22: imap://username:password;auth=MECH@[::1]/mailbox
-imap 23: imap://username:password;auth=MECH@[::1]:555
-imap 24: imap://username:password;auth=MECH@[::1]:555/mailbox
+imap 1: imap://usern%40me:password@hostname
+imap 2: imap://usern%40me:password@hostname/mailbox
+imap 3: imap://usern%40me:password@hostname
+imap 4: imap://usern%40me:password@hostname/mailbox
+imap 5: imap://usern%40me:password@hostname:555
+imap 6: imap://usern%40me:password@hostname:555/mailbox
+imap 7: imap://usern%40me:password@[::1]
+imap 8: imap://usern%40me:password@[::1]/mailbox
+imap 9: imap://usern%40me:password@[::1]
+imap 10: imap://usern%40me:password@[::1]/mailbox
+imap 11: imap://usern%40me:password@[::1]:555
+imap 12: imap://usern%40me:password@[::1]:555/mailbox
+imap 13: imap://usern%40me:password;AUTH=MECH@hostname
+imap 14: imap://usern%40me:password;AUTH=MECH@hostname/mailbox
+imap 15: imap://usern%40me:password;AUTH=MECH@hostname
+imap 16: imap://usern%40me:password;AUTH=MECH@hostname/mailbox
+imap 17: imap://usern%40me:password;AUTH=MECH@hostname:555
+imap 18: imap://usern%40me:password;AUTH=MECH@hostname:555/mailbox
+imap 19: imap://usern%40me:password;AUTH=MECH@[::1]
+imap 20: imap://usern%40me:password;AUTH=MECH@[::1]/mailbox
+imap 21: imap://usern%40me:password;AUTH=MECH@[::1]
+imap 22: imap://usern%40me:password;AUTH=MECH@[::1]/mailbox
+imap 23: imap://usern%40me:password;AUTH=MECH@[::1]:555
+imap 24: imap://usern%40me:password;AUTH=MECH@[::1]:555/mailbox
imap 25: invalid
-imap 26: imaps://username:password@hostname
-imap 27: imaps://username:password@hostname/mailbox
-imap 28: imaps://username:password@hostname
-imap 29: imaps://username:password@hostname/mailbox
-imap 30: imaps://username:password@hostname:555
-imap 31: imaps://username:password@hostname:555/mailbox
-imap 32: imaps://username:password@[::1]
-imap 33: imaps://username:password@[::1]/mailbox
-imap 34: imaps://username:password@[::1]
-imap 35: imaps://username:password@[::1]/mailbox
-imap 36: imaps://username:password@[::1]:555
-imap 37: imaps://username:password@[::1]:555/mailbox
-imap 38: imaps://username:password;auth=MECH@hostname
-imap 39: imaps://username:password;auth=MECH@hostname/mailbox
-imap 40: imaps://username:password;auth=MECH@hostname
-imap 41: imaps://username:password;auth=MECH@hostname/mailbox
-imap 42: imaps://username:password;auth=MECH@hostname:555
-imap 43: imaps://username:password;auth=MECH@hostname:555/mailbox
-imap 44: imaps://username:password;auth=MECH@[::1]
-imap 45: imaps://username:password;auth=MECH@[::1]/mailbox
-imap 46: imaps://username:password;auth=MECH@[::1]
-imap 47: imaps://username:password;auth=MECH@[::1]/mailbox
-imap 48: imaps://username:password;auth=MECH@[::1]:555
-imap 49: imaps://username:password;auth=MECH@[::1]:555/mailbox
+imap 26: imaps://usern%40me:password@hostname
+imap 27: imaps://usern%40me:password@hostname/mailbox
+imap 28: imaps://usern%40me:password@hostname
+imap 29: imaps://usern%40me:password@hostname/mailbox
+imap 30: imaps://usern%40me:password@hostname:555
+imap 31: imaps://usern%40me:password@hostname:555/mailbox
+imap 32: imaps://usern%40me:password@[::1]
+imap 33: imaps://usern%40me:password@[::1]/mailbox
+imap 34: imaps://usern%40me:password@[::1]
+imap 35: imaps://usern%40me:password@[::1]/mailbox
+imap 36: imaps://usern%40me:password@[::1]:555
+imap 37: imaps://usern%40me:password@[::1]:555/mailbox
+imap 38: imaps://usern%40me:password;AUTH=MECH@hostname
+imap 39: imaps://usern%40me:password;AUTH=MECH@hostname/mailbox
+imap 40: imaps://usern%40me:password;AUTH=MECH@hostname
+imap 41: imaps://usern%40me:password;AUTH=MECH@hostname/mailbox
+imap 42: imaps://usern%40me:password;AUTH=MECH@hostname:555
+imap 43: imaps://usern%40me:password;AUTH=MECH@hostname:555/mailbox
+imap 44: imaps://usern%40me:password;AUTH=MECH@[::1]
+imap 45: imaps://usern%40me:password;AUTH=MECH@[::1]/mailbox
+imap 46: imaps://usern%40me:password;AUTH=MECH@[::1]
+imap 47: imaps://usern%40me:password;AUTH=MECH@[::1]/mailbox
+imap 48: imaps://usern%40me:password;AUTH=MECH@[::1]:555
+imap 49: imaps://usern%40me:password;AUTH=MECH@[::1]:555/mailbox
gmail 0: invalid
-gmail 1: gmail://username:password
+gmail 1: gmail://usern%40me:password
diff --git a/ui/Makefile.am b/ui/Makefile.am
@@ -3,12 +3,14 @@ uidir = $(pkgdatadir)/ui
interfaces = \
dialog.glade \
mailbox-properties.glade \
- properties.glade
+ properties.glade \
+ welcome.glade
projects = \
dialog.gladep \
mailbox-properties.gladep \
- properties.gladep
+ properties.gladep \
+ welcome.gladep
dist_ui_DATA = $(interfaces)
diff --git a/ui/Makefile.in b/ui/Makefile.in
@@ -210,12 +210,14 @@ uidir = $(pkgdatadir)/ui
interfaces = \
dialog.glade \
mailbox-properties.glade \
- properties.glade
+ properties.glade \
+ welcome.glade
projects = \
dialog.gladep \
mailbox-properties.gladep \
- properties.gladep
+ properties.gladep \
+ welcome.gladep
dist_ui_DATA = $(interfaces)
EXTRA_DIST = $(projects)
diff --git a/ui/dialog.glade b/ui/dialog.glade
@@ -12,6 +12,7 @@
<property name="modal">False</property>
<property name="resizable">False</property>
<property name="destroy_with_parent">False</property>
+ <property name="icon">mail-notification.png</property>
<property name="decorated">True</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
diff --git a/ui/properties.glade b/ui/properties.glade
@@ -12,7 +12,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
- <property name="icon">properties-icon.png</property>
+ <property name="icon">mail-notification.png</property>
<property name="decorated">True</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
diff --git a/ui/welcome.glade b/ui/welcome.glade
@@ -0,0 +1,244 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+<requires lib="gnome"/>
+
+<widget class="GtkDialog" id="dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes"></property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_CENTER</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="icon">mail-notification.png</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="has_separator">False</property>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-7</property>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox4">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="stock">gtk-close</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Skip configuration</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button2">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="stock">gtk-properties</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Configure Mail Notification</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox1">
+ <property name="border_width">5</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child>
+ <widget class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="pixbuf">logo.png</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><span weight="bold" size="larger">First startup</span>
+
+Mail Notification has been loaded successfully.
+
+Since this is the first time you run Mail Notification, you might want to configure it.
+
+Note: this message will not be shown anymore. To configure Mail Notification again, choose <span weight="bold">Applications</span> → <span weight="bold">Desktop Preferences</span> → <span weight="bold">Mail Notification</span>.</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+</glade-interface>
diff --git a/ui/welcome.gladep b/ui/welcome.gladep
@@ -0,0 +1,14 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
+
+<glade-project>
+ <name>Mail Notification Welcome</name>
+ <program_name>mail-notification</program_name>
+ <directory>../</directory>
+ <source_directory>../src</source_directory>
+ <pixmaps_directory>../art</pixmaps_directory>
+ <output_main_file>FALSE</output_main_file>
+ <output_support_files>FALSE</output_support_files>
+ <output_build_files>FALSE</output_build_files>
+ <translatable_strings_file>../</translatable_strings_file>
+</glade-project>