commit 26b73fd4d4befee1bf13ad285955000048d42e0d
parent ecf5b066f5f6310f7681946589e50cfe7978424c
Author: Jean-Yves Lefort <jylefort@brutele.be>
Date: Mon, 25 Oct 2004 23:27:03 +1000
mail-notification-0.7.1
* Gmail changes:
* does not crash when a GNOME proxy is set
* handles starred and labelled messages
* ignores non-inbox messages
* messages were considered unseen on each check and
the mail summary was always popped up: fixed
* The POP3/IMAP/Gmail password can now be left blank (in such
case, it will be prompted when needed and not be saved to
permanent storage)
* A command can now be executed when all mail has been read
* The user interface now displays the IMAP folder name (unless
it is inbox)
* The tooltip now displays message counts
* Minor fixes and cleanups
* Updated translations:
* Serbian (Filip Miletic)
* German (Hendrik Brandt)
* Portuguese (Duarte Henriques)
Diffstat:
128 files changed, 7032 insertions(+), 5003 deletions(-)
diff --git a/AUTHORS b/AUTHORS
@@ -1,6 +1,6 @@
--------------------------------------------------------------------------------
- mail-notification credits
--------------------------------------------------------------------------------
+===============================================================================
+ Mail Notification credits
+===============================================================================
Developed by Jean-Yves Lefort <jylefort@brutele.be>.
diff --git a/INSTALL b/INSTALL
@@ -1,6 +1,6 @@
--------------------------------------------------------------------------------
+===============================================================================
Mail Notification installation instructions
--------------------------------------------------------------------------------
+===============================================================================
Index
@@ -11,7 +11,7 @@ Index
0. About this document
- $Id: INSTALL,v 1.12 2004/10/03 15:58:02 jylefort Exp $
+ $Id: INSTALL,v 1.14 2004/10/25 13:03:00 jylefort Exp $
Copyright (c) 2003, 2004 Jean-Yves Lefort.
@@ -47,7 +47,7 @@ Index
* for MIME support:
- GMime (version 2.0 or superior)
+ GMime (version 2.1.0 or superior)
http://spruce.sourceforge.net/gmime/
2. Instructions
diff --git a/Makefile.in b/Makefile.in
@@ -189,6 +189,8 @@ WITH_MIME_FALSE = @WITH_MIME_FALSE@
WITH_MIME_TRUE = @WITH_MIME_TRUE@
WITH_POP3_FALSE = @WITH_POP3_FALSE@
WITH_POP3_OR_IMAP_FALSE = @WITH_POP3_OR_IMAP_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_FALSE = @WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_TRUE = @WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@
WITH_POP3_OR_IMAP_TRUE = @WITH_POP3_OR_IMAP_TRUE@
WITH_POP3_TRUE = @WITH_POP3_TRUE@
WITH_REGRESSION_TESTS_FALSE = @WITH_REGRESSION_TESTS_FALSE@
diff --git a/NEWS b/NEWS
@@ -1,3 +1,26 @@
+0.7.1 25 October 2004
+
+ * Gmail fixes:
+ * does not crash when a GNOME proxy is set
+ * handles starred and labelled messages
+ * ignores non-inbox messages
+ * messages were considered unseen on each check and
+ the mail summary was always popped up: fixed
+
+ * The POP3/IMAP/Gmail password can now be left blank (in such
+ case, it will be prompted when needed and not be saved to
+ permanent storage)
+ * A command can now be executed when all mail has been read
+ * The user interface now displays the IMAP folder name (unless
+ it is inbox)
+ * The tooltip now displays message counts
+ * Minor fixes and cleanups
+
+ * Updated translations:
+ * serbian (Filip Miletic)
+ * german (Hendrik Brandt)
+ * portuguese (Duarte Henriques)
+
0.7.0 06 October 2004
* Binaries compiled with GCC 3.4.x were crashing in various
@@ -13,7 +36,7 @@
superior)
* Double-clicking on the icon now displays the mail summary
(the double-clicked command has been removed)
- * The "new mail" command is now executed everytime a mailbox
+ * The "new mail" command is now executed every time a mailbox
receives one or more new messages
* Tracks the latest Gmail change (reported by Vincent Noel)
* Gmail support now requires libsoup version 2.2 or superior
diff --git a/README b/README
@@ -1,6 +1,6 @@
--------------------------------------------------------------------------------
+===============================================================================
Mail Notification overview
--------------------------------------------------------------------------------
+===============================================================================
Index
@@ -10,7 +10,7 @@ Index
0. About this document
- $Id: README,v 1.22 2004/10/06 17:24:26 jylefort Exp $
+ $Id: README,v 1.23 2004/10/25 13:03:00 jylefort Exp $
Copyright (c) 2003, 2004 Jean-Yves Lefort.
diff --git a/TODO b/TODO
@@ -1,7 +1,19 @@
* Check the SSL certificate's hostname against the hostname we used
(RFC 3501, section 11.1)
-* Add a Gmail "Mailbox" option similar to the IMAP one (or if that is
- not feasible, a checkbutton "Only check inbox").
-* Add a per-mailbox check delay setting (probably GConf only, as that
- feature is seldomly needed)
+
* See if we can add an Evolution data server mailbox backend
+
+* Add an option to display only the mail that is new since the last
+ time the mail summary popup was closed
+
+* Allow to customize the double-click action:
+
+ When double-clicked: (o) Display the Mail Summary
+ ( ) Display the Properties
+ ( ) Run a command: [sylpheed ]
+
+* Allow to monitor multiple IMAP folders per IMAP mailbox
+
+* In the IMAP mailbox properties, add a "Browse" button next to the
+ folder entry (it will connect to the IMAP server and retrieve the
+ list of folders)
diff --git a/art/Makefile.in b/art/Makefile.in
@@ -170,6 +170,8 @@ WITH_MIME_FALSE = @WITH_MIME_FALSE@
WITH_MIME_TRUE = @WITH_MIME_TRUE@
WITH_POP3_FALSE = @WITH_POP3_FALSE@
WITH_POP3_OR_IMAP_FALSE = @WITH_POP3_OR_IMAP_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_FALSE = @WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_TRUE = @WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@
WITH_POP3_OR_IMAP_TRUE = @WITH_POP3_OR_IMAP_TRUE@
WITH_POP3_TRUE = @WITH_POP3_TRUE@
WITH_REGRESSION_TESTS_FALSE = @WITH_REGRESSION_TESTS_FALSE@
diff --git a/config.h.in b/config.h.in
@@ -72,6 +72,9 @@
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+#undef TM_IN_SYS_TIME
+
/* Version number of package */
#undef VERSION
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.7.0.
+# Generated by GNU Autoconf 2.59 for mail-notification 0.7.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.7.0'
-PACKAGE_STRING='mail-notification 0.7.0'
+PACKAGE_VERSION='0.7.1'
+PACKAGE_STRING='mail-notification 0.7.1'
PACKAGE_BUGREPORT='jylefort@brutele.be'
ac_unique_file="src/mn-main.c"
@@ -311,7 +311,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS WARN_CFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GETTEXT_PACKAGE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS INTLTOOL_DESKTOP_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_KEYS_RULE INTLTOOL_PROP_RULE INTLTOOL_OAF_RULE INTLTOOL_PONG_RULE INTLTOOL_SERVER_RULE INTLTOOL_SHEET_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_UI_RULE INTLTOOL_XAM_RULE INTLTOOL_KBD_RULE INTLTOOL_XML_RULE INTLTOOL_CAVES_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_THEME_RULE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE INTLTOOL_PERL PKG_CONFIG GTK_CFLAGS GTK_LIBS GNOME_CFLAGS GNOME_LIBS GCONF_SCHEMA_CONFIG_SOURCE GCONF_SCHEMA_FILE_DIR GCONF_SCHEMAS_INSTALL_TRUE GCONF_SCHEMAS_INSTALL_FALSE GCONFTOOL ORBIT_IDL LIBBONOBO_IDL BONOBO_ACTIVATION_IDL GOB2 OPENSSL_CFLAGS OPENSSL_LIBS SASL_CFLAGS SASL_LIBS SOUP_CFLAGS SOUP_LIBS GMIME_CFLAGS GMIME_LIBS WITH_MBOX_TRUE WITH_MBOX_FALSE WITH_MH_TRUE WITH_MH_FALSE WITH_MAILDIR_TRUE WITH_MAILDIR_FALSE WITH_POP3_TRUE WITH_POP3_FALSE WITH_IMAP_TRUE WITH_IMAP_FALSE WITH_POP3_OR_IMAP_TRUE WITH_POP3_OR_IMAP_FALSE WITH_SSL_TRUE WITH_SSL_FALSE WITH_SASL_TRUE WITH_SASL_FALSE WITH_SYLPHEED_TRUE WITH_SYLPHEED_FALSE WITH_GMAIL_TRUE WITH_GMAIL_FALSE WITH_MIME_TRUE WITH_MIME_FALSE WITH_REGRESSION_TESTS_TRUE WITH_REGRESSION_TESTS_FALSE LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS WARN_CFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GETTEXT_PACKAGE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS INTLTOOL_DESKTOP_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_KEYS_RULE INTLTOOL_PROP_RULE INTLTOOL_OAF_RULE INTLTOOL_PONG_RULE INTLTOOL_SERVER_RULE INTLTOOL_SHEET_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_UI_RULE INTLTOOL_XAM_RULE INTLTOOL_KBD_RULE INTLTOOL_XML_RULE INTLTOOL_CAVES_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_THEME_RULE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE INTLTOOL_PERL PKG_CONFIG GTK_CFLAGS GTK_LIBS GNOME_CFLAGS GNOME_LIBS GCONF_SCHEMA_CONFIG_SOURCE GCONF_SCHEMA_FILE_DIR GCONF_SCHEMAS_INSTALL_TRUE GCONF_SCHEMAS_INSTALL_FALSE GCONFTOOL ORBIT_IDL LIBBONOBO_IDL BONOBO_ACTIVATION_IDL GOB2 OPENSSL_CFLAGS OPENSSL_LIBS SASL_CFLAGS SASL_LIBS SOUP_CFLAGS SOUP_LIBS GMIME_CFLAGS GMIME_LIBS WITH_MBOX_TRUE WITH_MBOX_FALSE WITH_MH_TRUE WITH_MH_FALSE WITH_MAILDIR_TRUE WITH_MAILDIR_FALSE WITH_POP3_TRUE WITH_POP3_FALSE WITH_IMAP_TRUE WITH_IMAP_FALSE WITH_POP3_OR_IMAP_TRUE WITH_POP3_OR_IMAP_FALSE WITH_POP3_OR_IMAP_OR_GMAIL_TRUE WITH_POP3_OR_IMAP_OR_GMAIL_FALSE WITH_SSL_TRUE WITH_SSL_FALSE WITH_SASL_TRUE WITH_SASL_FALSE WITH_SYLPHEED_TRUE WITH_SYLPHEED_FALSE WITH_GMAIL_TRUE WITH_GMAIL_FALSE WITH_MIME_TRUE WITH_MIME_FALSE WITH_REGRESSION_TESTS_TRUE WITH_REGRESSION_TESTS_FALSE LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -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.7.0 to adapt to many kinds of systems.
+\`configure' configures mail-notification 0.7.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.7.0:";;
+ short | recursive ) echo "Configuration of mail-notification 0.7.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.7.0
+mail-notification configure 0.7.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.7.0, which was
+It was created by mail-notification $as_me 0.7.1, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1811,7 +1811,7 @@ fi
# Define the identity of the package.
PACKAGE='mail-notification'
- VERSION='0.7.0'
+ VERSION='0.7.1'
cat >>confdefs.h <<_ACEOF
@@ -6564,6 +6564,71 @@ fi
done
+# see if "struct tm" is defined in sys/time.h
+echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5
+echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6
+if test "${ac_cv_struct_tm+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <time.h>
+
+int
+main ()
+{
+struct tm *tp; tp->tm_sec;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_struct_tm=time.h
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_struct_tm=sys/time.h
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5
+echo "${ECHO_T}$ac_cv_struct_tm" >&6
+if test $ac_cv_struct_tm = sys/time.h; then
+
+cat >>confdefs.h <<\_ACEOF
+#define TM_IN_SYS_TIME 1
+_ACEOF
+
+fi
+
+
### mandatory libraries and programs
# Check whether --enable-gtktest or --disable-gtktest was given.
@@ -7478,23 +7543,23 @@ fi
else
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
- echo "$as_me:$LINENO: checking for gmime-2.0" >&5
-echo $ECHO_N "checking for gmime-2.0... $ECHO_C" >&6
+ echo "$as_me:$LINENO: checking for gmime-2.0 >= 2.1.0" >&5
+echo $ECHO_N "checking for gmime-2.0 >= 2.1.0... $ECHO_C" >&6
- if $PKG_CONFIG --exists "gmime-2.0" ; then
+ if $PKG_CONFIG --exists "gmime-2.0 >= 2.1.0" ; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
succeeded=yes
echo "$as_me:$LINENO: checking GMIME_CFLAGS" >&5
echo $ECHO_N "checking GMIME_CFLAGS... $ECHO_C" >&6
- GMIME_CFLAGS=`$PKG_CONFIG --cflags "gmime-2.0"`
+ GMIME_CFLAGS=`$PKG_CONFIG --cflags "gmime-2.0 >= 2.1.0"`
echo "$as_me:$LINENO: result: $GMIME_CFLAGS" >&5
echo "${ECHO_T}$GMIME_CFLAGS" >&6
echo "$as_me:$LINENO: checking GMIME_LIBS" >&5
echo $ECHO_N "checking GMIME_LIBS... $ECHO_C" >&6
- GMIME_LIBS=`$PKG_CONFIG --libs "gmime-2.0"`
+ GMIME_LIBS=`$PKG_CONFIG --libs "gmime-2.0 >= 2.1.0"`
echo "$as_me:$LINENO: result: $GMIME_LIBS" >&5
echo "${ECHO_T}$GMIME_LIBS" >&6
else
@@ -7502,7 +7567,7 @@ echo "${ECHO_T}$GMIME_LIBS" >&6
GMIME_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
- GMIME_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gmime-2.0"`
+ GMIME_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gmime-2.0 >= 2.1.0"`
fi
@@ -7589,6 +7654,16 @@ fi
+if test $enable_pop3 = yes || test $enable_imap = yes || test $enable_gmail = yes; then
+ WITH_POP3_OR_IMAP_OR_GMAIL_TRUE=
+ WITH_POP3_OR_IMAP_OR_GMAIL_FALSE='#'
+else
+ WITH_POP3_OR_IMAP_OR_GMAIL_TRUE='#'
+ WITH_POP3_OR_IMAP_OR_GMAIL_FALSE=
+fi
+
+
+
if test $enable_ssl = yes; then
WITH_SSL_TRUE=
WITH_SSL_FALSE='#'
@@ -7908,6 +7983,13 @@ echo "$as_me: error: conditional \"WITH_POP3_OR_IMAP\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${WITH_POP3_OR_IMAP_OR_GMAIL_TRUE}" && test -z "${WITH_POP3_OR_IMAP_OR_GMAIL_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"WITH_POP3_OR_IMAP_OR_GMAIL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"WITH_POP3_OR_IMAP_OR_GMAIL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
if test -z "${WITH_SSL_TRUE}" && test -z "${WITH_SSL_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"WITH_SSL\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -8221,7 +8303,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
-This file was extended by mail-notification $as_me 0.7.0, which was
+This file was extended by mail-notification $as_me 0.7.1, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -8284,7 +8366,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-mail-notification config.status 0.7.0
+mail-notification config.status 0.7.1
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
@@ -8607,6 +8689,8 @@ s,@WITH_IMAP_TRUE@,$WITH_IMAP_TRUE,;t t
s,@WITH_IMAP_FALSE@,$WITH_IMAP_FALSE,;t t
s,@WITH_POP3_OR_IMAP_TRUE@,$WITH_POP3_OR_IMAP_TRUE,;t t
s,@WITH_POP3_OR_IMAP_FALSE@,$WITH_POP3_OR_IMAP_FALSE,;t t
+s,@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@,$WITH_POP3_OR_IMAP_OR_GMAIL_TRUE,;t t
+s,@WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@,$WITH_POP3_OR_IMAP_OR_GMAIL_FALSE,;t t
s,@WITH_SSL_TRUE@,$WITH_SSL_TRUE,;t t
s,@WITH_SSL_FALSE@,$WITH_SSL_FALSE,;t t
s,@WITH_SASL_TRUE@,$WITH_SASL_TRUE,;t t
diff --git a/configure.ac b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT(mail-notification, 0.7.0, jylefort@brutele.be)
+AC_INIT(mail-notification, 0.7.1, jylefort@brutele.be)
AC_CONFIG_SRCDIR(src/mn-main.c)
AC_PREREQ(2.59)
@@ -51,6 +51,9 @@ fi
# timegm() is non-standard, define HAVE_TIMEGM if it is present
AC_CHECK_FUNCS(timegm)
+# see if "struct tm" is defined in sys/time.h
+AC_STRUCT_TM
+
### mandatory libraries and programs
AM_PATH_GTK_2_0(2.4.0,, [AC_MSG_ERROR([unable to find the GTK+ library])])
@@ -111,7 +114,7 @@ if MN_FEATURE_ENABLED(mime) &&
fi
if MN_FEATURE_ENABLED(mime); then
- PKG_CHECK_MODULES(GMIME, [gmime-2.0],, [MN_FEATURE_DISABLE(mime, [GMime not found])])
+ PKG_CHECK_MODULES(GMIME, [gmime-2.0 >= 2.1.0],, [MN_FEATURE_DISABLE(mime, [GMime not found])])
fi
### Automake conditionals
@@ -122,6 +125,7 @@ AM_CONDITIONAL(WITH_MAILDIR, [MN_FEATURE_ENABLED(maildir)])
AM_CONDITIONAL(WITH_POP3, [MN_FEATURE_ENABLED(pop3)])
AM_CONDITIONAL(WITH_IMAP, [MN_FEATURE_ENABLED(imap)])
AM_CONDITIONAL(WITH_POP3_OR_IMAP, [MN_FEATURE_ENABLED(pop3) || MN_FEATURE_ENABLED(imap)])
+AM_CONDITIONAL(WITH_POP3_OR_IMAP_OR_GMAIL, [MN_FEATURE_ENABLED(pop3) || MN_FEATURE_ENABLED(imap) || MN_FEATURE_ENABLED(gmail)])
AM_CONDITIONAL(WITH_SSL, [MN_FEATURE_ENABLED(ssl)])
AM_CONDITIONAL(WITH_SASL, [MN_FEATURE_ENABLED(sasl)])
AM_CONDITIONAL(WITH_SYLPHEED, [MN_FEATURE_ENABLED(sylpheed)])
diff --git a/data/Makefile.in b/data/Makefile.in
@@ -173,6 +173,8 @@ WITH_MIME_FALSE = @WITH_MIME_FALSE@
WITH_MIME_TRUE = @WITH_MIME_TRUE@
WITH_POP3_FALSE = @WITH_POP3_FALSE@
WITH_POP3_OR_IMAP_FALSE = @WITH_POP3_OR_IMAP_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_FALSE = @WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_TRUE = @WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@
WITH_POP3_OR_IMAP_TRUE = @WITH_POP3_OR_IMAP_TRUE@
WITH_POP3_TRUE = @WITH_POP3_TRUE@
WITH_REGRESSION_TESTS_FALSE = @WITH_REGRESSION_TESTS_FALSE@
diff --git a/data/mail-notification.schemas.in b/data/mail-notification.schemas.in
@@ -44,6 +44,27 @@
</locale>
</schema>
<schema>
+ <key>/schemas/apps/mail-notification/commands/mail-read/enabled</key>
+ <applyto>/apps/mail-notification/commands/mail-read/enabled</applyto>
+ <owner>mail-notification</owner>
+ <type>bool</type>
+ <default>0</default>
+ <locale name="C">
+ <short>Run a command when all mail is read</short>
+ <long>Whether to run a command when all mail is read or not.</long>
+ </locale>
+ </schema>
+ <schema>
+ <key>/schemas/apps/mail-notification/commands/mail-read/command</key>
+ <applyto>/apps/mail-notification/commands/mail-read/command</applyto>
+ <owner>mail-notification</owner>
+ <type>string</type>
+ <locale name="C">
+ <short>Mail read command</short>
+ <long>The command to run when all mail is read.</long>
+ </locale>
+ </schema>
+ <schema>
<key>/schemas/apps/mail-notification/mailboxes</key>
<applyto>/apps/mail-notification/mailboxes</applyto>
<owner>mail-notification</owner>
diff --git a/help/C/Makefile.in b/help/C/Makefile.in
@@ -227,6 +227,8 @@ WITH_MIME_FALSE = @WITH_MIME_FALSE@
WITH_MIME_TRUE = @WITH_MIME_TRUE@
WITH_POP3_FALSE = @WITH_POP3_FALSE@
WITH_POP3_OR_IMAP_FALSE = @WITH_POP3_OR_IMAP_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_FALSE = @WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_TRUE = @WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@
WITH_POP3_OR_IMAP_TRUE = @WITH_POP3_OR_IMAP_TRUE@
WITH_POP3_TRUE = @WITH_POP3_TRUE@
WITH_REGRESSION_TESTS_FALSE = @WITH_REGRESSION_TESTS_FALSE@
diff --git a/help/C/mail-notification-C.omf b/help/C/mail-notification-C.omf
@@ -14,7 +14,7 @@
<date>
2004-10-06
</date>
- <version identifier="2.5" date="2004-10-06" description="Sixth release"/>
+ <version identifier="2.6" date="2004-10-25" description="Seventh 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.7.0">
- <!ENTITY manrevision "2.5">
- <!ENTITY date "Wednesday, October 6, 2004">
+ <!ENTITY appversion "0.7.1">
+ <!ENTITY manrevision "2.6">
+ <!ENTITY date "Monday, October 25, 2004">
<!ENTITY project "The Mail Notification Project">
@@ -26,7 +26,7 @@
<!ENTITY gnomevfs "<link linkend="gnomevfs">GnomeVFS</link>">
]>
-<!-- $Id: mail-notification.xml,v 1.56 2004/10/06 17:25:39 jylefort Exp $ -->
+<!-- $Id: mail-notification.xml,v 1.66 2004/10/25 13:21:59 jylefort Exp $ -->
<!-- Mail Notification Manual -->
<!-- Copyright (c) 2004 Jean-Yves Lefort -->
@@ -134,6 +134,17 @@
</revdescription>
</revision>
<revision>
+ <revnumber>Mail Notification Manual V2.5</revnumber>
+ <date>Wednesday, October 6, 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.4</revnumber>
<date>Thursday, September 9, 2004</date>
<revdescription>
@@ -273,9 +284,7 @@
<varlistentry>
<term>--enable-info</term>
<listitem>
- <para>
- Enable informational output
- </para>
+ <para>Enable informational output</para>
<warning>
<title>Security</title>
<para>
@@ -319,7 +328,16 @@
<varlistentry>
<term>--report</term>
- <listitem><para>Report the mail status</para></listitem>
+ <listitem>
+ <para>Report the mail status</para>
+ <warning>
+ <title>Security</title>
+ <para>
+ The output of --report may contain mailbox
+ passwords.
+ </para>
+ </warning>
+ </listitem>
</varlistentry>
<varlistentry>
@@ -361,10 +379,31 @@
</screenshot>
</figure>
<para>
- Additionally, if the <link linkend="enable-mail-summary-popup">Enable mail summary popup</link>
- setting is enabled, an overview of new and unread messages is
- displayed.
+ Additionally:
</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ the <guilabel>Mail Notification</guilabel> > <guilabel>New Mail</guilabel>
+ GNOME sound event is emitted (you can configure the sound
+ to be played from the GNOME sound preferences)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ if a command to be executed when new mail arrives is set in
+ the <link linkend="commands">Commands</link> properties,
+ that command is executed
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ if the <link linkend="enable-mail-summary-popup">Enable mail summary popup</link>
+ setting is enabled, an overview of new and unread messages is
+ displayed
+ </para>
+ </listitem>
+ </itemizedlist>
<para>
If an error is detected, the icon blinks (unless the
<link linkend="blink-on-errors">Blink on errors</link> setting is disabled).
@@ -412,30 +451,38 @@
<title>General</title>
<variablelist>
<varlistentry>
- <term><guilabel>Start Mail Notification on GNOME login</guilabel></term>
- <listitem>
- <para>
- If this option is enabled, &app; will be started along
- with your GNOME session.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry id="blink-on-errors">
- <term><guilabel>Blink on errors</guilabel></term>
+ <term><guilabel>General</guilabel></term>
<listitem>
- <para>
- If this option is enabled, &app; will show the status
- icon and make it blink on errors. Disabling this option
- is useful if some of your mailboxes are not permanently
- accessible.
- </para>
+ <variablelist>
+ <varlistentry>
+ <term><guilabel>Start Mail Notification on GNOME login</guilabel></term>
+ <listitem>
+ <para>
+ If this option is enabled, &app; will be started along
+ with your GNOME session.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry id="blink-on-errors">
+ <term><guilabel>Blink on errors</guilabel></term>
+ <listitem>
+ <para>
+ If this option is enabled, &app; will show the status
+ icon and make it blink on errors. Disabling this option
+ is useful if some of your mailboxes are not permanently
+ accessible.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
</listitem>
</varlistentry>
- <varlistentry>
- <term><guilabel>Run a command when new mail arrives:</guilabel></term>
+ <varlistentry id="commands">
+ <term><guilabel>Commands</guilabel></term>
<listitem>
<para>
- This is the command to execute when new mail arrives.
+ You can configure commands to be executed <guilabel>when new mail arrives</guilabel>
+ and <guilabel>when all mail is read</guilabel>.
</para>
</listitem>
</varlistentry>
@@ -510,7 +557,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><guilabel>Automatically close after:</guilabel></term>
+ <term><guilabel>Automatically close after</guilabel></term>
<listitem>
<para>
Whether to automatically close the mail summary
@@ -531,7 +578,7 @@
<listitem>
<variablelist>
<varlistentry>
- <term><guilabel>Position:</guilabel></term>
+ <term><guilabel>Position</guilabel></term>
<listitem>
<para>
The location of the mail summary popup on the
@@ -540,7 +587,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><guilabel>Horizontal offset:</guilabel></term>
+ <term><guilabel>Horizontal offset</guilabel></term>
<listitem>
<para>
The number of pixels to leave between the left or
@@ -550,7 +597,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><guilabel>Vertical offset:</guilabel></term>
+ <term><guilabel>Vertical offset</guilabel></term>
<listitem>
<para>
The number of pixels to leave between the top or
@@ -626,8 +673,8 @@
&imap; server.
<note>
<para>
- Symbolic names aswell as IPv4 and IPv6 addresses
- are supported.
+ Symbolic names as well as IPv4 and IPv6
+ addresses are supported.
</para>
</note>
</para>
@@ -646,12 +693,15 @@
<listitem>
<para>
This is your password on the &pop3; or &imap; server.
+ The password will be stored to disk unless it is
+ left blank (in such case, a password prompt will
+ appear when needed).
</para>
<warning>
<title>Security</title>
<para>
To avoid sending your password over the network in
- clear text, you must eitheir use a SSL/TLS
+ clear text, you must either use a SSL/TLS
connection or select a secure authentication
mechanism. See below for more details.
</para>
@@ -684,7 +734,7 @@
<para>
The security considerations listed below do not
apply if you select <guilabel>SSL/TLS</guilabel>
- (eitheir <guilabel>in-band</guilabel> or
+ (either <guilabel>in-band</guilabel> or
<guilabel>on separate port</guilabel>).
</para>
<!-- simplified on purpose: actually, a weak SSL/TLS -->
@@ -758,6 +808,9 @@
<listitem>
<para>
This is your password on &gmail;.
+ The password will be stored to disk unless it is
+ left blank (in such case, a password prompt will
+ appear when needed).
</para>
</listitem>
</varlistentry>
@@ -1005,7 +1058,7 @@ endif</programlisting>
<glossterm>Maildir</glossterm>
<glossdef>
<para>
- A mailbox format popularized by the <ulink url="http://www.qmail.org" type="http">qmail</ulink> mail transfer agent.
+ A mailbox format popularised by the <ulink url="http://www.qmail.org" type="http">qmail</ulink> mail transfer agent.
Messages are stored in a structure of directories for reliability.
</para>
</glossdef>
@@ -1025,7 +1078,7 @@ endif</programlisting>
<glossterm>MH</glossterm>
<glossdef>
<para>
- A mailbox format popularized by the
+ A mailbox format popularised by the
<ulink url="http://www.ics.uci.edu/~mh" type="http">MH</ulink> mail user agent.
Messages are stored as separate files for flexibility and performance.
</para>
@@ -1125,7 +1178,7 @@ endif</programlisting>
<glossdef>
<para>
A <quote>compact string of characters for identifying an
- abtract or physical resource</quote>, as defined
+ abstract or physical resource</quote>, as defined
by <ulink url="http://www.ietf.org/rfc/rfc2396.txt" type="http">RFC 2396</ulink>.
</para>
</glossdef>
diff --git a/help/Makefile.in b/help/Makefile.in
@@ -173,6 +173,8 @@ WITH_MIME_FALSE = @WITH_MIME_FALSE@
WITH_MIME_TRUE = @WITH_MIME_TRUE@
WITH_POP3_FALSE = @WITH_POP3_FALSE@
WITH_POP3_OR_IMAP_FALSE = @WITH_POP3_OR_IMAP_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_FALSE = @WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_TRUE = @WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@
WITH_POP3_OR_IMAP_TRUE = @WITH_POP3_OR_IMAP_TRUE@
WITH_POP3_TRUE = @WITH_POP3_TRUE@
WITH_REGRESSION_TESTS_FALSE = @WITH_REGRESSION_TESTS_FALSE@
diff --git a/m4/Makefile.in b/m4/Makefile.in
@@ -164,6 +164,8 @@ WITH_MIME_FALSE = @WITH_MIME_FALSE@
WITH_MIME_TRUE = @WITH_MIME_TRUE@
WITH_POP3_FALSE = @WITH_POP3_FALSE@
WITH_POP3_OR_IMAP_FALSE = @WITH_POP3_OR_IMAP_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_FALSE = @WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_TRUE = @WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@
WITH_POP3_OR_IMAP_TRUE = @WITH_POP3_OR_IMAP_TRUE@
WITH_POP3_TRUE = @WITH_POP3_TRUE@
WITH_REGRESSION_TESTS_FALSE = @WITH_REGRESSION_TESTS_FALSE@
diff --git a/po/POTFILES.in b/po/POTFILES.in
@@ -9,6 +9,7 @@ src/eggtrayicon.c
src/eggtrayicon.h
src/mn-about-dialog.gob
src/mn-auth-combo-box.gob
+src/mn-authenticated-mailbox.gob
src/mn-autodetect-mailbox-properties.gob
src/mn-automation.gob
src/mn-blinking-image.gob
@@ -72,6 +73,7 @@ src/mn-util.c
src/mn-util.h
src/mn-vfs.c
src/mn-vfs.h
+ui/authentication.glade
ui/mailbox-properties.glade
ui/properties.glade
ui/summary-dialog.glade
diff --git a/po/bg.gmo b/po/bg.gmo
Binary files differ.
diff --git a/po/bg.po b/po/bg.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome in bulgarian 0.6.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-10-06 19:31+0200\n"
+"POT-Creation-Date: 2004-10-25 15:26+0200\n"
"PO-Revision-Date: 2004-10-05 16:13+0200\n"
"Last-Translator: Vladimir \"Kaladan\" Petkov <vpetkov@i-space.org>\n"
"Language-Team: Bulgarian <bg@li.org>\n"
@@ -34,7 +34,7 @@ msgstr "Настройване на известяването за поща"
#: data/mail-notification-properties.desktop.in.h:2
#: data/mail-notification.desktop.in.h:2
#: data/mail-notification.soundlist.in.h:1 src/mn-about-dialog.gob:40
-#: src/mn-mail-icon.gob:163 src/mn-main.c:272
+#: src/mn-mail-icon.gob:163 src/mn-main.c:271
msgid "Mail Notification"
msgstr "Известяване за поща"
@@ -84,155 +84,175 @@ msgid "Height of properties dialog"
msgstr "Височина на диалоговия прозорец за настройките"
#: data/mail-notification.schemas.in.h:11
+#, fuzzy
+msgid "Mail read command"
+msgstr "Нова команда за поща"
+
+#: data/mail-notification.schemas.in.h:12
msgid "Mail summary popup horizontal offset"
msgstr ""
-#: data/mail-notification.schemas.in.h:12
+#: data/mail-notification.schemas.in.h:13
msgid "Mail summary popup position"
msgstr ""
-#: data/mail-notification.schemas.in.h:13
+#: data/mail-notification.schemas.in.h:14
msgid "Mail summary popup vertical offset"
msgstr ""
-#: data/mail-notification.schemas.in.h:14
+#: data/mail-notification.schemas.in.h:15
#, fuzzy
msgid "Mailbox list"
msgstr "Списък на пощенските кутии"
-#: data/mail-notification.schemas.in.h:15
+#: data/mail-notification.schemas.in.h:16
msgid "Minutes between mail checks"
msgstr "Минути между проверките"
-#: data/mail-notification.schemas.in.h:16
+#: data/mail-notification.schemas.in.h:17
msgid "Minutes to wait before closing the mail summary popup"
msgstr ""
-#: data/mail-notification.schemas.in.h:17
+#: data/mail-notification.schemas.in.h:18
msgid "New mail command"
msgstr "Нова команда за поща"
-#: data/mail-notification.schemas.in.h:18
+#: data/mail-notification.schemas.in.h:19
+#, fuzzy
+msgid "Run a command when all mail is read"
+msgstr "Стартиране на команда при пристигането на нова поща"
+
+#: data/mail-notification.schemas.in.h:20
msgid "Run a command when new mail arrives"
msgstr "Стартиране на команда при пристигането на нова поща"
-#: data/mail-notification.schemas.in.h:19
+#: data/mail-notification.schemas.in.h:21
msgid "Seconds between mail checks"
msgstr "Секунди между проверките за поща"
-#: data/mail-notification.schemas.in.h:20
+#: data/mail-notification.schemas.in.h:22
msgid "Seconds to wait before closing the mail summary popup"
msgstr ""
-#: data/mail-notification.schemas.in.h:21
+#: data/mail-notification.schemas.in.h:23
#, fuzzy
msgid ""
"The amount of time to wait before closing the mail summary popup (minutes "
"part)."
msgstr "Времевият интервал за изчакване между проверките за нова поща"
-#: data/mail-notification.schemas.in.h:22
+#: data/mail-notification.schemas.in.h:24
#, fuzzy
msgid ""
"The amount of time to wait before closing the mail summary popup (seconds "
"part)."
msgstr "Времевият интервал за изчакване между проверките за нова поща"
-#: data/mail-notification.schemas.in.h:23
+#: data/mail-notification.schemas.in.h:25
+#, fuzzy
+msgid "The command to run when all mail is read."
+msgstr "Командата, която да се стартира при пристигането на нова поща."
+
+#: data/mail-notification.schemas.in.h:26
msgid "The command to run when new mail arrives."
msgstr "Командата, която да се стартира при пристигането на нова поща."
-#: data/mail-notification.schemas.in.h:24
+#: data/mail-notification.schemas.in.h:27
#, fuzzy
msgid "The height of the mail summary dialog in pixels."
msgstr "Височината в пиксели на диалоговия прозорец за настройките."
-#: data/mail-notification.schemas.in.h:25
+#: data/mail-notification.schemas.in.h:28
msgid "The height of the properties dialog in pixels."
msgstr "Височината в пиксели на диалоговия прозорец за настройките."
-#: data/mail-notification.schemas.in.h:26
+#: data/mail-notification.schemas.in.h:29
msgid "The list of mailboxes to monitor."
msgstr "Списъкът на пощенските кутии за следене."
-#: data/mail-notification.schemas.in.h:27
+#: data/mail-notification.schemas.in.h:30
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
msgstr ""
-#: data/mail-notification.schemas.in.h:28
+#: data/mail-notification.schemas.in.h:31
msgid ""
"The list of trusted X509 certificates, represented by their MD5 fingerprint."
msgstr ""
"Списъкът на проверените сертификати тип X509, представени от техните "
"пръстови отпечатъци в MD5 формат."
-#: data/mail-notification.schemas.in.h:29
+#: data/mail-notification.schemas.in.h:32
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup."
msgstr ""
-#: data/mail-notification.schemas.in.h:30
+#: data/mail-notification.schemas.in.h:33
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup."
msgstr ""
-#: data/mail-notification.schemas.in.h:31
+#: data/mail-notification.schemas.in.h:34
msgid ""
"The position of the mail summary popup. Must be \"top-left\", \"top-right\", "
"\"bottom-left\" or \"bottom-right\"."
msgstr ""
-#: data/mail-notification.schemas.in.h:32
+#: data/mail-notification.schemas.in.h:35
#, fuzzy
msgid "The width of the mail summary dialog in pixels."
msgstr "Ширината на диалоговия прозорец за настройките в пиксели."
-#: data/mail-notification.schemas.in.h:33
+#: data/mail-notification.schemas.in.h:36
msgid "The width of the properties dialog in pixels."
msgstr "Ширината на диалоговия прозорец за настройките в пиксели."
-#: data/mail-notification.schemas.in.h:34
+#: data/mail-notification.schemas.in.h:37
msgid "Trusted servers list"
msgstr "Списък на проверените сървъри"
-#: data/mail-notification.schemas.in.h:35
+#: data/mail-notification.schemas.in.h:38
msgid "Whether Mail Notification has already been run or not."
msgstr "Дали известяването за поща вече е стартирано или не."
-#: data/mail-notification.schemas.in.h:36
+#: data/mail-notification.schemas.in.h:39
msgid "Whether the status icon should blink on errors or not."
msgstr "Дали иконата за състоянието да мига при грешки или не"
-#: data/mail-notification.schemas.in.h:37
+#: data/mail-notification.schemas.in.h:40
#, fuzzy
msgid "Whether to automatically close the mail summary popup or not."
msgstr "Дали да се стартира команда при пристигането на нова поща или не"
-#: data/mail-notification.schemas.in.h:38
+#: data/mail-notification.schemas.in.h:41
#, fuzzy
msgid "Whether to display the mail summary popup when new mail arrives or not."
msgstr "Дали да се стартира команда при пристигането на нова поща или не"
-#: data/mail-notification.schemas.in.h:39
+#: data/mail-notification.schemas.in.h:42
msgid ""
"Whether to prevent the immediate notification error dialog from being "
"displayed or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:40
+#: data/mail-notification.schemas.in.h:43
+#, fuzzy
+msgid "Whether to run a command when all mail is read or not."
+msgstr "Дали да се стартира команда при пристигането на нова поща или не"
+
+#: data/mail-notification.schemas.in.h:44
msgid "Whether to run a command when new mail arrives or not."
msgstr "Дали да се стартира команда при пристигането на нова поща или не"
-#: data/mail-notification.schemas.in.h:41
+#: data/mail-notification.schemas.in.h:45
#, fuzzy
msgid "Width of mail summary dialog"
msgstr "Ширина на диалоговия прозорец за настройките"
-#: data/mail-notification.schemas.in.h:42
+#: data/mail-notification.schemas.in.h:46
msgid "Width of properties dialog"
msgstr "Ширина на диалоговия прозорец за настройките"
@@ -261,6 +281,31 @@ msgstr "Vladimir Petkov <vpetkov@i-space.org>"
msgid "<span style=\"italic\">autodetect</span>"
msgstr "<span style=\"italic\">автоматично засичане</span>"
+#. translator: example output: Enter your password for POP3 mailbox jylefort@localhost.
+#: src/mn-authenticated-mailbox.gob:77
+#, c-format
+msgid "Enter your password for %s mailbox %s."
+msgstr ""
+
+#. translator: example output: ... into POP3 mailbox jylefort@localhost ...
+#: src/mn-authenticated-mailbox.gob:98
+#, c-format
+msgid ""
+"Mail Notification was unable to log into %s mailbox %s, possibly because the "
+"password you have entered is invalid.\n"
+"\n"
+"Please re-enter your password."
+msgstr ""
+
+#: src/mn-authenticated-mailbox.gob:164
+#, c-format
+msgid ""
+"<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</"
+"span>\n"
+"\n"
+"%s"
+msgstr ""
+
#: src/mn-autodetect-mailbox-properties.gob:68
msgid "_Location:"
msgstr "_Местоположение:"
@@ -513,52 +558,43 @@ msgstr "синхронизиране на базата данни на GConf"
msgid "completed"
msgstr "завършено"
-#: src/mn-gmail-mailbox-properties.gob:79
+#: src/mn-gmail-mailbox-properties.gob:77
msgid "Your Gmail username"
msgstr "Вашето Gmail потребителско име"
-#: src/mn-gmail-mailbox-properties.gob:80
-msgid "Your Gmail password"
-msgstr "Вашата парола в Gmail"
+#: src/mn-gmail-mailbox-properties.gob:78
+msgid ""
+"Your Gmail password (if left blank, you will be prompted for the password "
+"when needed)"
+msgstr ""
-#: src/mn-gmail-mailbox.gob:65
+#: src/mn-gmail-mailbox.gob:63
msgid "libsoup has not been compiled with SSL/TLS support"
msgstr ""
-#: src/mn-gmail-mailbox.gob:110 src/mn-gmail-mailbox.gob:331
+#: src/mn-gmail-mailbox.gob:105
#, fuzzy, c-format
msgid "unable to parse URI \"%s\""
msgstr "неуспех при преглед на отговор \"%s\""
-#: src/mn-gmail-mailbox.gob:257
+#: src/mn-gmail-mailbox.gob:159
+#, c-format
+msgid "unable to transfer data: %s"
+msgstr "неуспех при пренасянето на данни: %s"
+
+#: src/mn-gmail-mailbox.gob:280
msgid "logging in"
msgstr "влизане"
-#: src/mn-gmail-mailbox.gob:271 src/mn-gmail-mailbox.gob:342
-#: src/mn-gmail-mailbox.gob:380 src/mn-gmail-mailbox.gob:415
+#: src/mn-gmail-mailbox.gob:358
msgid "login failed"
msgstr "влизането е неуспешно"
-#: src/mn-gmail-mailbox.gob:283 src/mn-gmail-mailbox.gob:356
-#: src/mn-gmail-mailbox.gob:394 src/mn-gmail-mailbox.gob:503
-#, c-format
-msgid "unable to transfer data: %s"
-msgstr "неуспех при пренасянето на данни: %s"
-
-#: src/mn-gmail-mailbox.gob:409
-msgid "successfully logged in"
-msgstr "успешно влязъл в"
-
-#: src/mn-gmail-mailbox.gob:487
+#: src/mn-gmail-mailbox.gob:433
msgid "searching for unread mail"
msgstr "търсене за непрочетена поща"
-#: src/mn-gmail-mailbox.gob:491
-#, fuzzy
-msgid "unable to search for unread mail"
-msgstr "търсене за непрочетена поща"
-
-#: src/mn-gmail-mailbox.gob:604
+#: src/mn-gmail-mailbox.gob:529
msgid "unable to parse Gmail data"
msgstr "неуспех при прегледа на данни от Gmail"
@@ -587,92 +623,94 @@ msgstr "неуспех при следенето %s: %s"
msgid "unable to close %s: %s"
msgstr "неуспех при затварянето на папката: %s"
-#: src/mn-imap-mailbox-properties.gob:94
+#: src/mn-imap-mailbox-properties.gob:93
msgid "Mailbox:"
msgstr "Пощенска кутия:"
-#: src/mn-imap-mailbox-properties.gob:98
+#: src/mn-imap-mailbox-properties.gob:97
msgid "in_box"
msgstr "ку_тия"
-#: src/mn-imap-mailbox-properties.gob:109
+#: src/mn-imap-mailbox-properties.gob:108
msgid "oth_er:"
msgstr "др_уги"
-#: src/mn-imap-mailbox-properties.gob:124
+#: src/mn-imap-mailbox-properties.gob:123
msgid "The hostname or IP address of the IMAP server"
msgstr "Хостът или IP адресът на IMAP сървъра"
-#: src/mn-imap-mailbox-properties.gob:125
+#: src/mn-imap-mailbox-properties.gob:124
msgid "Your username on the IMAP server"
msgstr "Потребителското ви име за IMAP сървъра"
-#: src/mn-imap-mailbox-properties.gob:126
-msgid "Your password on the IMAP server"
-msgstr "Паролата ви за IMAP сървъра"
+#: src/mn-imap-mailbox-properties.gob:125
+msgid ""
+"Your password on the IMAP server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+#: src/mn-imap-mailbox-properties.gob:126
#: src/mn-imap-mailbox-properties.gob:127
-#: src/mn-imap-mailbox-properties.gob:128
msgid "The port number of the IMAP server"
msgstr "Номера на порта на IMAP сървъра"
-#: src/mn-imap-mailbox-properties.gob:129
+#: src/mn-imap-mailbox-properties.gob:128
msgid "The mailbox name"
msgstr "Име на пощенската кутия"
-#: src/mn-imap-mailbox.gob:132 src/mn-pop3-mailbox.gob:141
+#: src/mn-imap-mailbox.gob:133 src/mn-pop3-mailbox.gob:142
msgid "SSL/TLS support has not been compiled in"
msgstr ""
-#: src/mn-imap-mailbox.gob:203
+#: src/mn-imap-mailbox.gob:204
msgid "server did not send capabilities"
msgstr ""
-#: src/mn-imap-mailbox.gob:318
+#: src/mn-imap-mailbox.gob:319
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
msgstr ""
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:320
msgid "unable to login"
msgstr "неуспех при влизането"
#. compliance error
-#: src/mn-imap-mailbox.gob:447
+#: src/mn-imap-mailbox.gob:451
#, fuzzy
msgid "server did not send search results"
msgstr "сървърът не изпраща състоянието"
#. compliance error
-#: src/mn-imap-mailbox.gob:523
+#: src/mn-imap-mailbox.gob:527
#, fuzzy
msgid "server did not send all the messages we requested"
msgstr "сървърът не изпраща състоянието"
-#: src/mn-imap-mailbox.gob:570
+#: src/mn-imap-mailbox.gob:574
#, fuzzy
msgid "unable to fetch message"
msgstr "неуспех при свързването: %s"
#. compliance error
-#: src/mn-imap-mailbox.gob:617
+#: src/mn-imap-mailbox.gob:621
msgid "server did not send status"
msgstr "сървърът не изпраща състоянието"
-#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:903
+#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:913
msgid "unknown server error"
msgstr "неизвестна грешка в сървъра"
-#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:225
+#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:226
msgid "server does not support in-band SSL/TLS"
msgstr ""
-#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:823
+#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:832
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
msgstr ""
-#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:835
+#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:844
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr "неизвестен механизъм за идентификация \"%s\""
@@ -681,7 +719,7 @@ msgstr "неизвестен механизъм за идентификация
msgid "falling back to IMAP LOGIN authentication"
msgstr ""
-#: src/mn-imap-mailbox.gob:976 src/mn-pop3-mailbox.gob:869
+#: src/mn-imap-mailbox.gob:977 src/mn-pop3-mailbox.gob:879
msgid "authentication failed"
msgstr "неуспешна идентификация"
@@ -702,11 +740,11 @@ msgstr "Добавяне на пощенска кутия"
msgid "%s Properties"
msgstr "%s Настройки"
-#: src/mn-mailbox-properties-util.c:77
+#: src/mn-mailbox-properties-util.c:77 ui/authentication.glade.h:4
msgid "_Username:"
msgstr "_Име:"
-#: src/mn-mailbox-properties-util.c:87
+#: src/mn-mailbox-properties-util.c:87 ui/authentication.glade.h:3
msgid "_Password:"
msgstr "_Парола:"
@@ -763,46 +801,46 @@ msgstr "Неуспех при добавянето на пощенската к
msgid "The mailbox is already in the list."
msgstr "Пощенската кутия е вече в списъка."
-#: src/mn-mailbox.gob:133
+#: src/mn-mailbox.gob:130
msgid "The mailbox URI"
msgstr "Адресът на пощенската кутия"
-#: src/mn-mailbox.gob:144
+#: src/mn-mailbox.gob:141
msgid "The mailbox human-readable name"
msgstr "Името на пощенската кутия във формат разбираем от хора"
-#: src/mn-mailbox.gob:148
+#: src/mn-mailbox.gob:145
msgid "Whether the mailbox has to be manually checked or not"
msgstr ""
-#: src/mn-mailbox.gob:153
+#: src/mn-mailbox.gob:150
msgid "Whether the mailbox has new mail or not"
msgstr ""
-#: src/mn-mailbox.gob:158
+#: src/mn-mailbox.gob:155
msgid "The list of new and unread MNMessage objects"
msgstr ""
-#: src/mn-mailbox.gob:212
+#: src/mn-mailbox.gob:209
msgid "The mailbox error, if any"
msgstr "Грешката в пощенската кутия, ако има"
-#: src/mn-mailbox.gob:310
+#: src/mn-mailbox.gob:308
msgid "does not exist"
msgstr "не съществува"
-#: src/mn-mailbox.gob:342
+#: src/mn-mailbox.gob:340
msgid "unknown format"
msgstr "непознат формат"
-#: src/mn-mailbox.gob:408
+#: src/mn-mailbox.gob:406
#, fuzzy, c-format
msgid "unable to enable immediate notification for %s: %s"
msgstr ""
"Известяването за поща не можа да разреши моменталното известяване за една "
"или повече пощенски кутии. %s"
-#: src/mn-mailbox.gob:426
+#: src/mn-mailbox.gob:424
#, c-format
msgid ""
"As a fallback, they will be checked every %i second (this delay is "
@@ -813,7 +851,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/mn-mailbox.gob:437
+#: src/mn-mailbox.gob:435
#, c-format
msgid ""
"As a fallback, they will be checked every %i minute (this delay is "
@@ -824,7 +862,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/mn-mailbox.gob:448
+#: src/mn-mailbox.gob:446
#, c-format
msgid ""
"As a fallback, they will be checked approximately every %i minute (this "
@@ -835,11 +873,11 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/mn-mailbox.gob:464
+#: src/mn-mailbox.gob:462
msgid "A monitoring error has occurred"
msgstr "Получи се грешка при наблюдението"
-#: src/mn-mailbox.gob:465
+#: src/mn-mailbox.gob:463
#, c-format
msgid ""
"Mail Notification was unable to enable immediate notification for one or "
@@ -848,26 +886,26 @@ msgstr ""
"Известяването за поща не можа да разреши моменталното известяване за една "
"или повече пощенски кутии. %s"
-#: src/mn-mailboxes.gob:133
+#: src/mn-mailboxes.gob:143
msgid "Whether one or more of the mailboxes has to be polled"
msgstr ""
-#: src/mn-mailboxes.gob:266
+#: src/mn-mailboxes.gob:276
#, c-format
msgid "%s is unsupported: %s"
msgstr "%s е неподдържан: %s"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has new mail"
msgstr "%s има поща"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has no new mail"
msgstr "%s няма нова поща"
-#: src/mn-mailboxes.gob:323
+#: src/mn-mailboxes.gob:333
#, c-format
msgid "%s reported an error: %s"
msgstr "%s докладва за грешка: %s"
@@ -887,50 +925,50 @@ msgstr "неуспех при отварянето на папка \"нови\":
msgid "error while reading folder \"new\": %s"
msgstr "грешка при четенето на папката \"нови\": %s"
-#: src/mn-main.c:97
+#: src/mn-main.c:96
#, c-format
msgid "Compiled-in mailbox backends: %s\n"
msgstr ""
-#: src/mn-main.c:114
+#: src/mn-main.c:113
#, c-format
msgid "Compiled-in features: %s\n"
msgstr "Компилирани възможности: %s\n"
-#: src/mn-main.c:166
+#: src/mn-main.c:165
msgid "Enable informational output"
msgstr "Разрешаване на информационния изход"
-#: src/mn-main.c:175
+#: src/mn-main.c:174
msgid "List compiled-in features and exit"
msgstr "Изписване на компилираните възможности и излизане"
-#: src/mn-main.c:184
+#: src/mn-main.c:183
#, fuzzy
msgid "Display the mail summary dialog"
msgstr "Изобразяване на диалоговия прозорец с информацията"
-#: src/mn-main.c:193
+#: src/mn-main.c:192
msgid "Display the properties dialog"
msgstr "Показване на диалоговия прозорец с настройките"
-#: src/mn-main.c:202
+#: src/mn-main.c:201
msgid "Display the about dialog"
msgstr "Изобразяване на диалоговия прозорец с информацията"
-#: src/mn-main.c:211
+#: src/mn-main.c:210
msgid "Close the mail summary popup"
msgstr ""
-#: src/mn-main.c:220
+#: src/mn-main.c:219
msgid "Update the mail status"
msgstr "Актуализиране състоянието на пощата"
-#: src/mn-main.c:229
+#: src/mn-main.c:228
msgid "Report the mail status"
msgstr "Докладване за състоянието на пощата"
-#: src/mn-main.c:238
+#: src/mn-main.c:237
msgid "Unset obsolete GConf configuration and exit"
msgstr "Премахване на остарелите настройки в GConf и излизане"
@@ -938,35 +976,35 @@ msgstr "Премахване на остарелите настройки в GCo
#. * We can't use mn_error_dialog() because gtk_init() has not been
#. * called yet.
#.
-#: src/mn-main.c:264
+#: src/mn-main.c:263
msgid "multi-threading is not available"
msgstr "много-нишки не е налично"
-#: src/mn-main.c:309
+#: src/mn-main.c:310
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
msgstr ""
-#: src/mn-main.c:314
+#: src/mn-main.c:315
msgid "Unable to initialize the GnomeVFS library."
msgstr "Неуспех при инициализирането на библиотеката GnomeVFS."
-#: src/mn-main.c:350
+#: src/mn-main.c:351
msgid "updating the mail status"
msgstr "актуализиране състоянието на пощата"
-#: src/mn-main.c:368
+#: src/mn-main.c:369
msgid "Mail Notification is already running"
msgstr "Известяването за поща вече е стартирано"
-#: src/mn-main.c:375
+#: src/mn-main.c:376
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
msgstr ""
-#: src/mn-main.c:379
+#: src/mn-main.c:380
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -1028,12 +1066,19 @@ msgid_plural "%i days ago"
msgstr[0] ""
msgstr[1] ""
+#: src/mn-message-label.gob:170
+#, c-format
+msgid "%i week ago"
+msgid_plural "%i weeks ago"
+msgstr[0] ""
+msgstr[1] ""
+
#: src/mn-message-mime.c:105
#, fuzzy
msgid "unable to parse MIME message"
msgstr "неуспех при преглед на отговор \"%s\""
-#: src/mn-message.gob:82
+#: src/mn-message.gob:101
msgid "Unknown"
msgstr ""
@@ -1071,116 +1116,123 @@ msgstr "_in-band SSL/TLS"
msgid "SSL/TLS on sepa_rate port"
msgstr "SSL/TLS на отделен по_рт"
-#: src/mn-pop3-mailbox-properties.gob:86
+#: src/mn-pop3-mailbox-properties.gob:85
msgid "The hostname or IP address of the POP3 server"
msgstr "Хостът или IP адресът на POP3 сървъра"
-#: src/mn-pop3-mailbox-properties.gob:87
+#: src/mn-pop3-mailbox-properties.gob:86
msgid "Your username on the POP3 server"
msgstr "Потребителското име в POP3 сървъра"
-#: src/mn-pop3-mailbox-properties.gob:88
-msgid "Your password on the POP3 server"
-msgstr "Паролата ви в POP3 сървъра"
+#: src/mn-pop3-mailbox-properties.gob:87
+msgid ""
+"Your password on the POP3 server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
-#: src/mn-pop3-mailbox-properties.gob:89 src/mn-pop3-mailbox-properties.gob:90
+#: src/mn-pop3-mailbox-properties.gob:88 src/mn-pop3-mailbox-properties.gob:89
msgid "The port number of the POP3 server"
msgstr "Номера на порта на POP3 сървъра"
-#: src/mn-pop3-mailbox.gob:271
+#: src/mn-pop3-mailbox.gob:272
msgid "invalid arguments for the LOGIN-DELAY capability"
msgstr ""
-#: src/mn-pop3-mailbox.gob:536
+#: src/mn-pop3-mailbox.gob:549
#, fuzzy
msgid "unknown error"
msgstr "неизвестна грешка в сървъра"
-#: src/mn-pop3-mailbox.gob:666
+#: src/mn-pop3-mailbox.gob:681
#, c-format
msgid "honouring LOGIN-DELAY, sleeping for %i second"
msgid_plural "honouring LOGIN-DELAY, sleeping for %i seconds"
msgstr[0] ""
msgstr[1] ""
-#: src/mn-pop3-mailbox.gob:831
+#: src/mn-pop3-mailbox.gob:840
msgid "server does not support APOP authentication"
msgstr "Сървърът не поддържа идентификация тип APOP"
-#: src/mn-pop3-mailbox.gob:859
+#: src/mn-pop3-mailbox.gob:868
msgid "falling back to APOP authentication"
msgstr ""
-#: src/mn-pop3-mailbox.gob:864
+#: src/mn-pop3-mailbox.gob:873
msgid "falling back to USER/PASS authentication"
msgstr ""
-#: src/mn-properties.c:161
+#: src/mn-properties.c:170
#, fuzzy
msgid "top left"
msgstr "Завършено"
-#: src/mn-properties.c:162
+#: src/mn-properties.c:171
msgid "top right"
msgstr ""
-#: src/mn-properties.c:163
+#: src/mn-properties.c:172
msgid "bottom left"
msgstr ""
-#: src/mn-properties.c:164
+#: src/mn-properties.c:173
msgid "bottom right"
msgstr ""
-#: src/mn-properties.c:240
+#: src/mn-properties.c:251
msgid "No mailbox selected."
msgstr "Няма избрана кутия."
-#: src/mn-properties.c:245
+#: src/mn-properties.c:256
#, fuzzy, c-format
msgid "%i mailbox selected."
msgid_plural "%i mailboxes selected."
msgstr[0] "%i избрана кутия."
msgstr[1] "%i избрана кутия."
-#: src/mn-shell.gob:84
+#: src/mn-shell.gob:86
msgid "You have new mail."
msgstr "Имате поща."
-#: src/mn-shell.gob:96
-msgid "A command error has occurred in Mail Notification"
-msgstr "Грешка с командите се получи в известяването за поща"
-
-#: src/mn-shell.gob:97
-#, c-format
-msgid "Unable to execute new mail command: %s."
-msgstr "Неуспех при стартирането на нова пощенска команда: %s."
-
-#: src/mn-shell.gob:270
+#: src/mn-shell.gob:263
#, fuzzy
msgid "The following mailbox has new mail:\n"
msgid_plural "The following mailboxes have new mail:\n"
msgstr[0] "Следната пощенска кутия има нова поща:\n"
msgstr[1] "Следната пощенска кутия има нова поща:\n"
-#: src/mn-shell.gob:274
+#: src/mn-shell.gob:267
msgid "You have no new mail."
msgstr "Нямата нова поща."
-#: src/mn-shell.gob:277
+#: src/mn-shell.gob:270
#, fuzzy
msgid "The following mailbox reported an error:\n"
msgid_plural "The following mailboxes reported an error:\n"
msgstr[0] "Следната пощенска кутия докладва за грешка:\n"
msgstr[1] "Следната пощенска кутия докладва за грешка:\n"
-#: src/mn-shell.gob:282
+#: src/mn-shell.gob:275
#, fuzzy
msgid "The following mailbox is unsupported:\n"
msgid_plural "The following mailboxes are unsupported:\n"
msgstr[0] "Следните пощенски кутии не се поддържат:\n"
msgstr[1] "Следните пощенски кутии не се поддържат:\n"
+#: src/mn-shell.gob:320
+msgid "A command error has occurred in Mail Notification"
+msgstr "Грешка с командите се получи в известяването за поща"
+
+#: src/mn-shell.gob:321
+#, fuzzy, c-format
+msgid "Unable to execute \"%s\": %s."
+msgstr "неуспех при намирането на %s: %s"
+
+#: src/mn-soup.c:140
+#, fuzzy, c-format
+msgid "unable to parse proxy URI \"%s\""
+msgstr "неуспех при преглед на отговор \"%s\""
+
#: src/mn-ssl.c:79
msgid "unknown SSL/TLS error"
msgstr "неизвестна SSL/TLS грешка"
@@ -1208,7 +1260,7 @@ msgstr "неуспех при затварянето на папката: %s"
msgid "error while reading folder: %s"
msgstr "грешка при четенето на папката: %s"
-#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:393
+#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:411
msgid "System Mailbox"
msgstr "Системна кутия"
@@ -1280,6 +1332,15 @@ msgstr "неуспех при свързването с %s"
msgid "invalid signal specification \"%s\""
msgstr ""
+#: ui/authentication.glade.h:1 ui/properties.glade.h:2
+msgid "*"
+msgstr "*"
+
+#: ui/authentication.glade.h:2
+#, fuzzy
+msgid "_Authenticate"
+msgstr "Механизъм за _идентификация:"
+
#: ui/mailbox-properties.glade.h:1
msgid "_Mailbox type:"
msgstr "_Тип на пощенската кутия:"
@@ -1288,138 +1349,152 @@ msgstr "_Тип на пощенската кутия:"
msgid " "
msgstr " "
-#: ui/properties.glade.h:2
-msgid "*"
-msgstr "*"
-
#: ui/properties.glade.h:3
+msgid "<span weight=\"bold\">Commands</span>"
+msgstr "<span weight=\"bold\">Команди</span>"
+
+#: ui/properties.glade.h:4
msgid "<span weight=\"bold\">General</span>"
msgstr "<span weight=\"bold\">Основни</span>"
-#: ui/properties.glade.h:4
+#: ui/properties.glade.h:5
#, fuzzy
msgid "<span weight=\"bold\">Mailbox List</span>"
msgstr "<span weight=\"bold\">Пощенски кутии</span>"
-#: ui/properties.glade.h:5
+#: ui/properties.glade.h:6
#, fuzzy
msgid "<span weight=\"bold\">Position</span>"
msgstr "<span weight=\"bold\">Команди</span>"
-#: ui/properties.glade.h:6
+#: ui/properties.glade.h:7
msgid "General"
msgstr ""
-#: ui/properties.glade.h:7
+#: ui/properties.glade.h:8
msgid "Hori_zontal offset:"
msgstr ""
-#: ui/properties.glade.h:8
+#: ui/properties.glade.h:9
msgid "Mail Notification Properties"
msgstr "Настройки на известяването за поща"
-#: ui/properties.glade.h:9
+#: ui/properties.glade.h:10
msgid "Mail Summary Popup"
msgstr ""
-#: ui/properties.glade.h:10
+#: ui/properties.glade.h:11
#, fuzzy
msgid "Mailboxes"
msgstr "Пощенска кутия"
-#: ui/properties.glade.h:11
+#: ui/properties.glade.h:12
#, fuzzy
msgid "P_osition:"
msgstr "_Местоположение:"
-#: ui/properties.glade.h:12
+#: ui/properties.glade.h:13
#, fuzzy
msgid "The amount of time to wait before closing the mail summary popup"
msgstr "Времевият интервал за изчакване между проверките за нова поща"
-#: ui/properties.glade.h:13
+#: ui/properties.glade.h:14
msgid "The amount of time to wait between mail checks"
msgstr "Времевият интервал за изчакване между проверките за нова поща"
-#: ui/properties.glade.h:14
+#: ui/properties.glade.h:15
+#, fuzzy
+msgid "The command to run when all mail is read"
+msgstr "Командата, която да се изпълни при пристигането на нова поща"
+
+#: ui/properties.glade.h:16
msgid "The command to run when new mail arrives"
msgstr "Командата, която да се изпълни при пристигането на нова поща"
-#: ui/properties.glade.h:15
+#: ui/properties.glade.h:17
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup"
msgstr ""
-#: ui/properties.glade.h:16
+#: ui/properties.glade.h:18
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup"
msgstr ""
-#: ui/properties.glade.h:17
+#: ui/properties.glade.h:19
+#, fuzzy
+msgid "When _all mail is read:"
+msgstr "При пристигане на _нова поща:"
+
+#: ui/properties.glade.h:20
+msgid "When _new mail arrives:"
+msgstr "При пристигане на _нова поща:"
+
+#: ui/properties.glade.h:21
msgid "Whether the status icon should blink on errors or not"
msgstr "Дали иконата за състоянието да започне да мига при грешки или не"
-#: ui/properties.glade.h:18
+#: ui/properties.glade.h:22
#, fuzzy
msgid "Whether to automatically close the mail summary popup or not"
msgstr "Дали да се стартира команда при пристигането на нова поща или не"
-#: ui/properties.glade.h:19
+#: ui/properties.glade.h:23
#, fuzzy
msgid "Whether to display the mail summary popup when new mail arrives or not"
msgstr "Дали да се стартира команда при пристигането на нова поща или не"
-#: ui/properties.glade.h:20
+#: ui/properties.glade.h:24
+#, fuzzy
+msgid "Whether to run a command when all mail is read or not"
+msgstr "Дали да се стартира команда при пристигането на нова поща или не"
+
+#: ui/properties.glade.h:25
msgid "Whether to run a command when new mail arrives or not"
msgstr "Дали да се стартира команда при пристигането на нова поща или не"
-#: ui/properties.glade.h:21
+#: ui/properties.glade.h:26
msgid ""
"Whether to start Mail Notification when you log into your GNOME session or "
"not"
msgstr ""
"Дали да се стартира известяването за поща, когато влизате в GNOME или не"
-#: ui/properties.glade.h:22
+#: ui/properties.glade.h:27
msgid "_Automatically close after:"
msgstr ""
-#: ui/properties.glade.h:23
+#: ui/properties.glade.h:28
msgid "_Blink on errors"
msgstr "_Мигане при грешки"
-#: ui/properties.glade.h:24
+#: ui/properties.glade.h:29
msgid "_Delay between mail checks:"
msgstr "_Време между проверките за поща:"
-#: ui/properties.glade.h:25
+#: ui/properties.glade.h:30
msgid "_Enable mail summary popup"
msgstr ""
-#: ui/properties.glade.h:26
-#, fuzzy
-msgid "_Run a command when new mail arrives:"
-msgstr "Стартиране на команда при пристигането на нова поща"
-
-#: ui/properties.glade.h:27
+#: ui/properties.glade.h:31
msgid "_Start Mail Notification on GNOME login"
msgstr "_Стартиране на известяването за поща при влизане в GNOME"
-#: ui/properties.glade.h:28
+#: ui/properties.glade.h:32
msgid "_Vertical offset:"
msgstr ""
-#: ui/properties.glade.h:29
+#: ui/properties.glade.h:33
msgid "minutes"
msgstr "минути"
-#: ui/properties.glade.h:30
+#: ui/properties.glade.h:34
msgid "pixels"
msgstr ""
-#: ui/properties.glade.h:31
+#: ui/properties.glade.h:35
msgid "seconds"
msgstr "секунди"
@@ -1482,25 +1557,37 @@ msgstr "_Пропускане на настройването"
#~ msgid "Whether to run a command when the icon is double-clicked or not."
#~ msgstr "Дали да се стартира команда при натискането на иконата-писмо или не"
+#~ msgid "Your Gmail password"
+#~ msgstr "Вашата парола в Gmail"
+
+#~ msgid "successfully logged in"
+#~ msgstr "успешно влязъл в"
+
+#~ msgid "Your password on the IMAP server"
+#~ msgstr "Паролата ви за IMAP сървъра"
+
#~ msgid "_Run %s"
#~ msgstr "_Стартиране %s"
#~ msgid "_Run Default Action"
#~ msgstr "_Стартиране на стандартното действие"
+#~ msgid "Your password on the POP3 server"
+#~ msgstr "Паролата ви в POP3 сървъра"
+
#~ msgid "A command error has occurred"
#~ msgstr "След изпълнението на командата се получи грешка"
#~ msgid "Unable to execute double-clicked command: %s."
#~ msgstr "Неуспех при стартирането на командата: %s."
+#~ msgid "Unable to execute new mail command: %s."
+#~ msgstr "Неуспех при стартирането на нова пощенска команда: %s."
+
#~ msgid "The command to run when the icon is double-clicked"
#~ msgstr ""
#~ "Командата, която да се стартира когато иконата-писмо се натисне два пъти"
-#~ msgid "When _new mail arrives:"
-#~ msgstr "При пристигане на _нова поща:"
-
#~ msgid "When double-click_ed:"
#~ msgstr "При _двойно натискане:"
diff --git a/po/de.gmo b/po/de.gmo
Binary files differ.
diff --git a/po/de.po b/po/de.po
@@ -8,16 +8,16 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: mail-notification 0.6.1\n"
+"Project-Id-Version: mail-notification 0.7.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-10-06 19:31+0200\n"
-"PO-Revision-Date: 2004-09-10 00:51+0200\n"
+"POT-Creation-Date: 2004-10-25 15:26+0200\n"
+"PO-Revision-Date: 2004-10-24 10:59+0200\n"
"Last-Translator: Hendrik Brandt <eru@gmx.li>\n"
"Language-Team: German <gnome-de@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+"Plural-Forms: nplurals=2; plural=n>1;\n"
#: data/GNOME_MailNotification_Automation.server.in.in.h:1
msgid "Mail Notification automation"
@@ -34,7 +34,7 @@ msgstr "Die E-Mail-Eingangsüberwachung einstellen"
#: data/mail-notification-properties.desktop.in.h:2
#: data/mail-notification.desktop.in.h:2
#: data/mail-notification.soundlist.in.h:1 src/mn-about-dialog.gob:40
-#: src/mn-mail-icon.gob:163 src/mn-main.c:272
+#: src/mn-mail-icon.gob:163 src/mn-main.c:271
msgid "Mail Notification"
msgstr "E-Mail-Eingangsüberwachung"
@@ -44,7 +44,7 @@ msgstr "Informiert Sie wenn eine neue Nachricht eintrifft"
#: data/mail-notification.schemas.in.h:1
msgid "Automatically close the mail summary popup"
-msgstr ""
+msgstr "Nachrichtenübersicht automatisch schließen"
#: data/mail-notification.schemas.in.h:2
msgid "Blink on errors"
@@ -60,11 +60,11 @@ msgstr "Abstand zwischen Eingangsüberprüfung (Sekundenteil)."
#: data/mail-notification.schemas.in.h:5
msgid "Do not show the immediate notification error dialog"
-msgstr ""
+msgstr "Den Fehlerdialog der Sofortbenachrichtigung nicht sofort anzeigen"
#: data/mail-notification.schemas.in.h:6
msgid "Enable mail summary popup"
-msgstr ""
+msgstr "Nachrichtenübersicht aktivieren"
#: data/mail-notification.schemas.in.h:7
msgid "Fingerprints of trusted X509 certificates"
@@ -75,87 +75,96 @@ msgid "Has already been run"
msgstr "Wurde schon einmal gestartet"
#: data/mail-notification.schemas.in.h:9
-#, fuzzy
msgid "Height of mail summary dialog"
-msgstr "Höhe des Einstellungen-Dialogs"
+msgstr "Höhe der Nachrichtenübersicht"
#: data/mail-notification.schemas.in.h:10
msgid "Height of properties dialog"
msgstr "Höhe des Einstellungen-Dialogs"
#: data/mail-notification.schemas.in.h:11
-msgid "Mail summary popup horizontal offset"
-msgstr ""
+msgid "Mail read command"
+msgstr "Befehl zum Lesen einer Nachricht"
#: data/mail-notification.schemas.in.h:12
-msgid "Mail summary popup position"
-msgstr ""
+msgid "Mail summary popup horizontal offset"
+msgstr "Horizontaler Abstand der Nachrichtenübersicht"
#: data/mail-notification.schemas.in.h:13
-msgid "Mail summary popup vertical offset"
-msgstr ""
+msgid "Mail summary popup position"
+msgstr "Position der Nachrichtenübersicht"
#: data/mail-notification.schemas.in.h:14
-#, fuzzy
+msgid "Mail summary popup vertical offset"
+msgstr "Vertikaler"
+
+#: data/mail-notification.schemas.in.h:15
msgid "Mailbox list"
msgstr "Liste der Postfächer"
-#: data/mail-notification.schemas.in.h:15
+#: data/mail-notification.schemas.in.h:16
msgid "Minutes between mail checks"
msgstr "Minuten zwischen den Aktualisierungen"
-#: data/mail-notification.schemas.in.h:16
+#: data/mail-notification.schemas.in.h:17
msgid "Minutes to wait before closing the mail summary popup"
-msgstr ""
+msgstr "Wartezeit bis zum Schließen der Nachrichtenübersicht"
-#: data/mail-notification.schemas.in.h:17
+#: data/mail-notification.schemas.in.h:18
msgid "New mail command"
msgstr "Befehl bei neuer Nachricht"
-#: data/mail-notification.schemas.in.h:18
+#: data/mail-notification.schemas.in.h:19
+msgid "Run a command when all mail is read"
+msgstr "Einen Befehl ausführen, wenn alle Nachrichten gelesen sind"
+
+#: data/mail-notification.schemas.in.h:20
msgid "Run a command when new mail arrives"
msgstr "Einen Befehl ausführen, wenn eine neue Nachricht eintrifft"
-#: data/mail-notification.schemas.in.h:19
+#: data/mail-notification.schemas.in.h:21
msgid "Seconds between mail checks"
msgstr "Sekunden zwischen den Aktualisierungen"
-#: data/mail-notification.schemas.in.h:20
+#: data/mail-notification.schemas.in.h:22
msgid "Seconds to wait before closing the mail summary popup"
-msgstr ""
+msgstr "Wartezeit in Sekunden bis zum Schließen der Nachrichtenübersicht"
-#: data/mail-notification.schemas.in.h:21
-#, fuzzy
+#: data/mail-notification.schemas.in.h:23
msgid ""
"The amount of time to wait before closing the mail summary popup (minutes "
"part)."
-msgstr "Die Zeit die zwischen zwei Überprüfungen auf neue Nachrichten vergeht"
+msgstr ""
+"Die Zeitspanne bis zum Schließen der Nachrichtenübersicht (Minutenteil)."
-#: data/mail-notification.schemas.in.h:22
-#, fuzzy
+#: data/mail-notification.schemas.in.h:24
msgid ""
"The amount of time to wait before closing the mail summary popup (seconds "
"part)."
-msgstr "Die Zeit die zwischen zwei Überprüfungen auf neue Nachrichten vergeht"
+msgstr ""
+"Die Zeitspanne bis zum Schließen der Nachrichtenübersicht (Sekundenteil)."
-#: data/mail-notification.schemas.in.h:23
+#: data/mail-notification.schemas.in.h:25
+msgid "The command to run when all mail is read."
+msgstr "Der Befehl der ausgeführt wird, wenn alle Nachrichten gelesen wurden"
+
+#: data/mail-notification.schemas.in.h:26
msgid "The command to run when new mail arrives."
msgstr "Der Befehl der ausgeführt wird, wenn eine neue Nachricht eintrifft."
-#: data/mail-notification.schemas.in.h:24
-#, fuzzy
+#: data/mail-notification.schemas.in.h:27
msgid "The height of the mail summary dialog in pixels."
-msgstr "Die Höhe des Einstellungsdialogs in Pixel."
+msgstr "Die Höhe der Nachrichtenübersicht in Pixel."
-#: data/mail-notification.schemas.in.h:25
+#: data/mail-notification.schemas.in.h:28
msgid "The height of the properties dialog in pixels."
msgstr "Die Höhe des Einstellungsdialogs in Pixel."
-#: data/mail-notification.schemas.in.h:26
+#: data/mail-notification.schemas.in.h:29
msgid "The list of mailboxes to monitor."
msgstr "Die Liste der zu überwachenden Postfächer."
-#: data/mail-notification.schemas.in.h:27
+#: data/mail-notification.schemas.in.h:30
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
@@ -163,83 +172,93 @@ msgstr ""
"Die Liste vertrauensvoller SSL/TLS-Server (Host-Name:Port) ohne X509-"
"Zertifikat."
-#: data/mail-notification.schemas.in.h:28
+#: data/mail-notification.schemas.in.h:31
msgid ""
"The list of trusted X509 certificates, represented by their MD5 fingerprint."
msgstr ""
"Die Liste vertrauensvoller X509-Zertifikate, repräsentiert durch ihre MD5-"
"Fingerabdrücke."
-#: data/mail-notification.schemas.in.h:29
+#: data/mail-notification.schemas.in.h:32
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup."
msgstr ""
+"Die Anzahl an Pixeln die zwischen dem linken oder rechten Bildschirmrand und "
+"der Nachrichtenübersicht."
-#: data/mail-notification.schemas.in.h:30
+#: data/mail-notification.schemas.in.h:33
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup."
msgstr ""
+"Die Anzahl an Pixeln die zwischen dem oberen oder runteren Bildschirmrand "
+"und der Nachrichtenübersicht."
-#: data/mail-notification.schemas.in.h:31
+#: data/mail-notification.schemas.in.h:34
msgid ""
"The position of the mail summary popup. Must be \"top-left\", \"top-right\", "
"\"bottom-left\" or \"bottom-right\"."
msgstr ""
+"Die Position der Nachrichtenübersicht. Der Wert muss »oben-links«, »oben-"
+"rechts«, »unten-links« oder »unten-rechts« sein."
-#: data/mail-notification.schemas.in.h:32
-#, fuzzy
+#: data/mail-notification.schemas.in.h:35
msgid "The width of the mail summary dialog in pixels."
-msgstr "Die Breite des Einstellungen-Dialogs in Pixel."
+msgstr "Die Breite der Nachrichtenübersicht in Pixel."
-#: data/mail-notification.schemas.in.h:33
+#: data/mail-notification.schemas.in.h:36
msgid "The width of the properties dialog in pixels."
msgstr "Die Breite des Einstellungen-Dialogs in Pixel."
-#: data/mail-notification.schemas.in.h:34
+#: data/mail-notification.schemas.in.h:37
msgid "Trusted servers list"
msgstr "Liste vertrauensvoller Server"
-#: data/mail-notification.schemas.in.h:35
+#: data/mail-notification.schemas.in.h:38
msgid "Whether Mail Notification has already been run or not."
msgstr ""
"Legt fest, ob die E-Mail-Eingangsüberwachnung schon einmal gestartet wurde."
-#: data/mail-notification.schemas.in.h:36
+#: data/mail-notification.schemas.in.h:39
msgid "Whether the status icon should blink on errors or not."
msgstr ""
"Legt fest, ob das Nachrichtensymbol bei Auftreten eines Fehlers blinkt."
-#: data/mail-notification.schemas.in.h:37
-#, fuzzy
+#: data/mail-notification.schemas.in.h:40
msgid "Whether to automatically close the mail summary popup or not."
msgstr ""
"Legt fest, ob ein Befehl ausgeführt wird, wenn eine neue Nachricht eintrifft."
-#: data/mail-notification.schemas.in.h:38
-#, fuzzy
+#: data/mail-notification.schemas.in.h:41
msgid "Whether to display the mail summary popup when new mail arrives or not."
msgstr ""
-"Legt fest, ob ein Befehl ausgeführt wird, wenn eine neue Nachricht eintrifft."
+"Legt fest, ob die Nachrichtenübersicht angezeigt wird, wenn eine neue "
+"Nachricht eintrifft."
-#: data/mail-notification.schemas.in.h:39
+#: data/mail-notification.schemas.in.h:42
msgid ""
"Whether to prevent the immediate notification error dialog from being "
"displayed or not."
msgstr ""
+"Legt fest, ob der Fehlerdialog der Sofortbenachrichtigung angezeigt wird."
-#: data/mail-notification.schemas.in.h:40
+#: data/mail-notification.schemas.in.h:43
+msgid "Whether to run a command when all mail is read or not."
+msgstr ""
+"Legt fest, ob ein Befehl ausgeführt wird, wenn alle Nachrichten gelesen "
+"wurden."
+
+#: data/mail-notification.schemas.in.h:44
msgid "Whether to run a command when new mail arrives or not."
msgstr ""
"Legt fest, ob ein Befehl ausgeführt wird, wenn eine neue Nachricht eintrifft."
-#: data/mail-notification.schemas.in.h:41
-#, fuzzy
+#: data/mail-notification.schemas.in.h:45
msgid "Width of mail summary dialog"
-msgstr "Breite des Einstellungen-Dialogs"
+msgstr "Breite der Nachrichtenübersicht"
-#: data/mail-notification.schemas.in.h:42
+#: data/mail-notification.schemas.in.h:46
msgid "Width of properties dialog"
msgstr "Breite des Einstellungen-Dialogs"
@@ -270,6 +289,40 @@ msgstr "Hendrik Brandt <eru@gmx.li>"
msgid "<span style=\"italic\">autodetect</span>"
msgstr "<span style=\"italic\">automatisch erkennen</span>"
+#. translator: example output: Enter your password for POP3 mailbox jylefort@localhost.
+#: src/mn-authenticated-mailbox.gob:77
+#, c-format
+msgid "Enter your password for %s mailbox %s."
+msgstr "Bitte geben Sie das Passwort für %s-Postfach »%s«."
+
+#. translator: example output: ... into POP3 mailbox jylefort@localhost ...
+#: src/mn-authenticated-mailbox.gob:98
+#, c-format
+msgid ""
+"Mail Notification was unable to log into %s mailbox %s, possibly because the "
+"password you have entered is invalid.\n"
+"\n"
+"Please re-enter your password."
+msgstr ""
+"Die E-Mail-Eingangsüberwachnung konnte sich nicht an dem %s-Postfach »%s« "
+"anmelden. Eine mögliche Ursache wäre, dass Sie das Passwort falsch "
+"eingegeben haben. \n"
+"\n"
+"Bitte geben Sie das Passwort für dieses Postfach ein."
+
+#: src/mn-authenticated-mailbox.gob:164
+#, c-format
+msgid ""
+"<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</"
+"span>\n"
+"\n"
+"%s"
+msgstr ""
+"<span weight=\"bold\" size=\"larger\">Die E-Mail-Eingangsüberwachung "
+"benötigt ein Passwort</span>\n"
+"\n"
+"%s"
+
#: src/mn-autodetect-mailbox-properties.gob:68
msgid "_Location:"
msgstr "_Ort:"
@@ -499,12 +552,16 @@ msgid ""
"the server sent a SASL challenge, but there was a pending initial SASL "
"client response"
msgstr ""
+"Der Server hat während einer beginnenden SASL-Client-Antwort einen Fehler "
+"gesendet"
#: src/mn-client-session.c:1089
msgid ""
"the server did not send a SASL challenge, but there was no pending initial "
"SASL client response"
msgstr ""
+"Der Server hat kein SASL-Problem gesendet, während noch eine Client-seitige "
+"SASL-Reaktion begonnen wurde"
#: src/mn-client-session.c:1112
#, c-format
@@ -535,164 +592,158 @@ msgstr "Synchronisiere mit der GConf-Datenbank"
msgid "completed"
msgstr "Abgeschlossen"
-#: src/mn-gmail-mailbox-properties.gob:79
+#: src/mn-gmail-mailbox-properties.gob:77
msgid "Your Gmail username"
msgstr "Ihr Gmail-Benutzername"
-#: src/mn-gmail-mailbox-properties.gob:80
-msgid "Your Gmail password"
-msgstr "Ihr Gmail-Passwort"
+#: src/mn-gmail-mailbox-properties.gob:78
+msgid ""
+"Your Gmail password (if left blank, you will be prompted for the password "
+"when needed)"
+msgstr ""
+"Ihr Gmail-Passwort (falls Sie nichts eingeben, werden Sie jedesmal wenn es "
+"notwendig ist nach dem Passwort gefragt)"
-#: src/mn-gmail-mailbox.gob:65
+#: src/mn-gmail-mailbox.gob:63
msgid "libsoup has not been compiled with SSL/TLS support"
-msgstr ""
+msgstr "»libsoup« wurde nicht mit SSL/TLS-Unterstützung erstellt"
-#: src/mn-gmail-mailbox.gob:110 src/mn-gmail-mailbox.gob:331
-#, fuzzy, c-format
+#: src/mn-gmail-mailbox.gob:105
+#, c-format
msgid "unable to parse URI \"%s\""
-msgstr "Die Antwort »%s« konnte nicht analysiert werden"
+msgstr "Die Adresse »%s« konnte nicht analysiert werden"
-#: src/mn-gmail-mailbox.gob:257
+#: src/mn-gmail-mailbox.gob:159
+#, c-format
+msgid "unable to transfer data: %s"
+msgstr "Daten konnten nicht übertragen werden: %s"
+
+#: src/mn-gmail-mailbox.gob:280
msgid "logging in"
msgstr "Anmelden bei"
-#: src/mn-gmail-mailbox.gob:271 src/mn-gmail-mailbox.gob:342
-#: src/mn-gmail-mailbox.gob:380 src/mn-gmail-mailbox.gob:415
+#: src/mn-gmail-mailbox.gob:358
msgid "login failed"
msgstr "Anmeldung fehlgeschlagen"
-#: src/mn-gmail-mailbox.gob:283 src/mn-gmail-mailbox.gob:356
-#: src/mn-gmail-mailbox.gob:394 src/mn-gmail-mailbox.gob:503
-#, c-format
-msgid "unable to transfer data: %s"
-msgstr "Daten konnten nicht übertragen werden: %s"
-
-#: src/mn-gmail-mailbox.gob:409
-msgid "successfully logged in"
-msgstr "Anmeldung war erfolgreich"
-
-#: src/mn-gmail-mailbox.gob:487
+#: src/mn-gmail-mailbox.gob:433
msgid "searching for unread mail"
msgstr "Es wird nach ungelesenen Nachrichten gesucht"
-#: src/mn-gmail-mailbox.gob:491
-#, fuzzy
-msgid "unable to search for unread mail"
-msgstr "Es wird nach ungelesenen Nachrichten gesucht"
-
-#: src/mn-gmail-mailbox.gob:604
+#: src/mn-gmail-mailbox.gob:529
msgid "unable to parse Gmail data"
msgstr "Die Gmail-Daten konnte nicht analysiert werden"
#: src/mn-gmime-stream-vfs.gob:49
-#, fuzzy, c-format
+#, c-format
msgid "unable to read %s: %s"
-msgstr "%s konnte nicht kontaktiert werden: %s"
+msgstr "%s konnte nicht gelesen werden: %s"
#: src/mn-gmime-stream-vfs.gob:51
-#, fuzzy, c-format
+#, c-format
msgid "unable to write to %s: %s"
-msgstr "Es konnte nicht auf den Server geschrieben werden: %s"
+msgstr "Es konnte nicht nach %s geschrieben werden: %s"
#: src/mn-gmime-stream-vfs.gob:53
-#, fuzzy, c-format
+#, c-format
msgid "unable to seek in %s: %s"
-msgstr "%s konnte nicht kontaktiert werden: %s"
+msgstr "Es konnte nicht in %s gesucht werden: %s"
#: src/mn-gmime-stream-vfs.gob:55
-#, fuzzy, c-format
+#, c-format
msgid "unable to tell position of %s: %s"
-msgstr "%s konnte nicht überwacht werden: %s"
+msgstr "Die Position von %s konnte nicht ermittelt werden: %s"
#: src/mn-gmime-stream-vfs.gob:57
-#, fuzzy, c-format
+#, c-format
msgid "unable to close %s: %s"
-msgstr "Ordner konnte nicht geschlossen werden: %s"
+msgstr "%s konnte nicht geschlossen werden: %s"
-#: src/mn-imap-mailbox-properties.gob:94
+#: src/mn-imap-mailbox-properties.gob:93
msgid "Mailbox:"
msgstr "Postfach:"
-#: src/mn-imap-mailbox-properties.gob:98
+#: src/mn-imap-mailbox-properties.gob:97
msgid "in_box"
msgstr "In_box"
-#: src/mn-imap-mailbox-properties.gob:109
+#: src/mn-imap-mailbox-properties.gob:108
msgid "oth_er:"
msgstr "_Anderer:"
-#: src/mn-imap-mailbox-properties.gob:124
+#: src/mn-imap-mailbox-properties.gob:123
msgid "The hostname or IP address of the IMAP server"
msgstr "Der Name oder die IP-Adresse des IMAP-Servers"
-#: src/mn-imap-mailbox-properties.gob:125
+#: src/mn-imap-mailbox-properties.gob:124
msgid "Your username on the IMAP server"
msgstr "Ihr Benutzername auf dem IMAP-Server"
-#: src/mn-imap-mailbox-properties.gob:126
-msgid "Your password on the IMAP server"
-msgstr "Ihr Passwort auf dem IMAP-Server"
+#: src/mn-imap-mailbox-properties.gob:125
+msgid ""
+"Your password on the IMAP server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"Ihr Passwort für diesen IMAP-Server (falls Sie nichts eingeben, werden Sie "
+"jedesmal wenn es notwendig ist nach dem Passwort gefragt)"
+#: src/mn-imap-mailbox-properties.gob:126
#: src/mn-imap-mailbox-properties.gob:127
-#: src/mn-imap-mailbox-properties.gob:128
msgid "The port number of the IMAP server"
msgstr "Die Port-Nummer auf dem IMAP-Server"
-#: src/mn-imap-mailbox-properties.gob:129
+#: src/mn-imap-mailbox-properties.gob:128
msgid "The mailbox name"
msgstr "Der Postfachname"
-#: src/mn-imap-mailbox.gob:132 src/mn-pop3-mailbox.gob:141
+#: src/mn-imap-mailbox.gob:133 src/mn-pop3-mailbox.gob:142
msgid "SSL/TLS support has not been compiled in"
msgstr ""
"Die Unterstützung für SSL/TLS wurde beim Erstellen des Programms nicht "
"eingebaut"
-#: src/mn-imap-mailbox.gob:203
+#: src/mn-imap-mailbox.gob:204
msgid "server did not send capabilities"
msgstr "Der Server hat seine Fähigkeiten nicht bekannt gegeben"
-#: src/mn-imap-mailbox.gob:318
+#: src/mn-imap-mailbox.gob:319
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
msgstr ""
"Der Server gibt LOGINDISABLED zurück, LOGIN-Authentifizierung wird nicht "
"verwendet"
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:320
msgid "unable to login"
msgstr "Anmeldung fehlgeschlagen"
#. compliance error
-#: src/mn-imap-mailbox.gob:447
-#, fuzzy
+#: src/mn-imap-mailbox.gob:451
msgid "server did not send search results"
-msgstr "Der Server hat seinen Status nicht bekannt gegeben"
+msgstr "Der Server hat keine Suchergebnisse gesendet"
#. compliance error
-#: src/mn-imap-mailbox.gob:523
-#, fuzzy
+#: src/mn-imap-mailbox.gob:527
msgid "server did not send all the messages we requested"
-msgstr "Der Server hat seinen Status nicht bekannt gegeben"
+msgstr "Der Server hat nicht alle angeforderten Nachrichten gesendet"
-#: src/mn-imap-mailbox.gob:570
-#, fuzzy
+#: src/mn-imap-mailbox.gob:574
msgid "unable to fetch message"
-msgstr "Es konnte nicht verbunden werden: %s"
+msgstr "Nachrichten konnten nicht abgerufen werden"
#. compliance error
-#: src/mn-imap-mailbox.gob:617
+#: src/mn-imap-mailbox.gob:621
msgid "server did not send status"
msgstr "Der Server hat seinen Status nicht bekannt gegeben"
-#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:903
+#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:913
msgid "unknown server error"
msgstr "Unbekannter Server-Fehler"
-#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:225
+#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:226
msgid "server does not support in-band SSL/TLS"
msgstr "Der Server unterstütz kein band-internes SSL/TLS"
-#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:823
+#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:832
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
@@ -700,7 +751,7 @@ msgstr ""
"Sie haben eine Authentifizierung mit SASL ausgewählt, jedoch wurde die "
"Unterstützung für SASL beim Erstellen des Programms nicht eingebaut"
-#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:835
+#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:844
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr "Unbekannte Authentifizierungsmethode »%s«"
@@ -709,7 +760,7 @@ msgstr "Unbekannte Authentifizierungsmethode »%s«"
msgid "falling back to IMAP LOGIN authentication"
msgstr "Es wird auf die Authentifizierung per IMAP LOGIN zurückgegriffen"
-#: src/mn-imap-mailbox.gob:976 src/mn-pop3-mailbox.gob:869
+#: src/mn-imap-mailbox.gob:977 src/mn-pop3-mailbox.gob:879
msgid "authentication failed"
msgstr "Authentifizierung fehlgeschlagen"
@@ -730,11 +781,11 @@ msgstr "Ein Postfach hinzufügen"
msgid "%s Properties"
msgstr "%s Eigenschaften"
-#: src/mn-mailbox-properties-util.c:77
+#: src/mn-mailbox-properties-util.c:77 ui/authentication.glade.h:4
msgid "_Username:"
msgstr "Ben_utzername:"
-#: src/mn-mailbox-properties-util.c:87
+#: src/mn-mailbox-properties-util.c:87 ui/authentication.glade.h:3
msgid "_Password:"
msgstr "_Passwort:"
@@ -791,46 +842,44 @@ msgstr "Postfach konnte nicht hinzugefügt werden"
msgid "The mailbox is already in the list."
msgstr "Dieses Postfach exisitiert bereits in Ihrer Liste."
-#: src/mn-mailbox.gob:133
+#: src/mn-mailbox.gob:130
msgid "The mailbox URI"
msgstr "Die Postfachadresse"
-#: src/mn-mailbox.gob:144
+#: src/mn-mailbox.gob:141
msgid "The mailbox human-readable name"
msgstr "Der lesbare Postfachname"
-#: src/mn-mailbox.gob:148
+#: src/mn-mailbox.gob:145
msgid "Whether the mailbox has to be manually checked or not"
msgstr "Legt fest, ob das Postfach manuell überprüft werden soll"
-#: src/mn-mailbox.gob:153
+#: src/mn-mailbox.gob:150
msgid "Whether the mailbox has new mail or not"
msgstr "Legt fest, ob das Postfach neue Nachrichten enthält"
-#: src/mn-mailbox.gob:158
+#: src/mn-mailbox.gob:155
msgid "The list of new and unread MNMessage objects"
-msgstr ""
+msgstr "Die Liste neuer und ungelesener MNMessage-Objekte"
-#: src/mn-mailbox.gob:212
+#: src/mn-mailbox.gob:209
msgid "The mailbox error, if any"
msgstr "Der Postfachfehler, falls vorhanden"
-#: src/mn-mailbox.gob:310
+#: src/mn-mailbox.gob:308
msgid "does not exist"
msgstr "existiert nicht"
-#: src/mn-mailbox.gob:342
+#: src/mn-mailbox.gob:340
msgid "unknown format"
msgstr "unbekanntes Format"
-#: src/mn-mailbox.gob:408
-#, fuzzy, c-format
+#: src/mn-mailbox.gob:406
+#, c-format
msgid "unable to enable immediate notification for %s: %s"
-msgstr ""
-"Die E-Mail-Eingangsüberwachung konnte die umgehende Benachrichtigung für ein "
-"oder mehrere Postfächer nicht aktivieren: %s"
+msgstr "Die Sofortbenachrichtigung konnte für %s nicht aktiviert werden: %s"
-#: src/mn-mailbox.gob:426
+#: src/mn-mailbox.gob:424
#, fuzzy, c-format
msgid ""
"As a fallback, they will be checked every %i second (this delay is "
@@ -840,16 +889,16 @@ msgid_plural ""
"configurable from the Properties Dialog)."
msgstr[0] ""
"Als Rücksicherung werden diese jede %i Sekunde überprüft (Dieser Wert kann "
-"über den Einstellungen-Dialog angepasst werden).Als Rücksicherung werden "
-"diese alle %i Sekunden überprüft (Dieser Wert kann über den Einstellungen-"
-"Dialog angepasst werden)."
+"über den Einstellungsdialog angepasst werden).Als Rücksicherung werden diese "
+"alle %i Sekunden überprüft (Dieser Wert kann über den Einstellungsdialog "
+"angepasst werden)."
msgstr[1] ""
"Als Rücksicherung werden diese jede %i Sekunde überprüft (Dieser Wert kann "
-"über den Einstellungen-Dialog angepasst werden).Als Rücksicherung werden "
-"diese alle %i Sekunden überprüft (Dieser Wert kann über den Einstellungen-"
-"Dialog angepasst werden)."
+"über den Einstellungsdialog angepasst werden).Als Rücksicherung werden diese "
+"alle %i Sekunden überprüft (Dieser Wert kann über den Einstellungsdialog "
+"angepasst werden)."
-#: src/mn-mailbox.gob:437
+#: src/mn-mailbox.gob:435
#, fuzzy, c-format
msgid ""
"As a fallback, they will be checked every %i minute (this delay is "
@@ -859,16 +908,16 @@ msgid_plural ""
"configurable from the Properties Dialog)."
msgstr[0] ""
"Als Rücksicherung werden diese jede %i Minute überprüft (Dieser Wert kann "
-"über den Einstellungen-Dialog angepasst werden).Als Rücksicherung werden "
-"diese alle %i Minuten überprüft (Dieser Wert kann über den Einstellungen-"
-"Dialog angepasst werden)."
+"über den Einstellungsdialog angepasst werden).Als Rücksicherung werden diese "
+"alle %i Minuten überprüft (Dieser Wert kann über den Einstellungsdialog "
+"angepasst werden)."
msgstr[1] ""
"Als Rücksicherung werden diese jede %i Minute überprüft (Dieser Wert kann "
-"über den Einstellungen-Dialog angepasst werden).Als Rücksicherung werden "
-"diese alle %i Minuten überprüft (Dieser Wert kann über den Einstellungen-"
-"Dialog angepasst werden)."
+"über den Einstellungsdialog angepasst werden).Als Rücksicherung werden diese "
+"alle %i Minuten überprüft (Dieser Wert kann über den Einstellungsdialog "
+"angepasst werden)."
-#: src/mn-mailbox.gob:448
+#: src/mn-mailbox.gob:446
#, fuzzy, c-format
msgid ""
"As a fallback, they will be checked approximately every %i minute (this "
@@ -878,49 +927,48 @@ msgid_plural ""
"delay is configurable from the Properties Dialog)."
msgstr[0] ""
"Als Rücksicherung werden diese jede %i Minute überprüft (Dieser Wert kann "
-"über den Einstellungen-Dialog angepasst werden).Als Rücksicherung werden "
-"diese alle %i Minuten überprüft (Dieser Wert kann über den Einstellungen-"
-"Dialog angepasst werden)."
+"über den Einstellungsdialog angepasst werden).Als Rücksicherung werden diese "
+"alle %i Minuten überprüft (Dieser Wert kann über den Einstellungsdialog "
+"angepasst werden)."
msgstr[1] ""
"Als Rücksicherung werden diese jede %i Minute überprüft (Dieser Wert kann "
-"über den Einstellungen-Dialog angepasst werden).Als Rücksicherung werden "
-"diese alle %i Minuten überprüft (Dieser Wert kann über den Einstellungen-"
-"Dialog angepasst werden)."
+"über den Einstellungsdialog angepasst werden).Als Rücksicherung werden diese "
+"alle %i Minuten überprüft (Dieser Wert kann über den Einstellungsdialog "
+"angepasst werden)."
-#: src/mn-mailbox.gob:464
+#: src/mn-mailbox.gob:462
msgid "A monitoring error has occurred"
msgstr "Bei der Überwachung ist ein Fehler aufgetreten"
-#: src/mn-mailbox.gob:465
+#: src/mn-mailbox.gob:463
#, c-format
msgid ""
"Mail Notification was unable to enable immediate notification for one or "
"more mailboxes. %s"
msgstr ""
-"Die E-Mail-Eingangsüberwachung konnte die umgehende Benachrichtigung für ein "
+"Die E-Mail-Eingangsüberwachung konnte die Sofortbenachrichtigung für ein "
"oder mehrere Postfächer nicht aktivieren: %s"
-#: src/mn-mailboxes.gob:133
-#, fuzzy
+#: src/mn-mailboxes.gob:143
msgid "Whether one or more of the mailboxes has to be polled"
-msgstr "Legt fest, ob das Postfach manuell überprüft werden soll"
+msgstr "Legt fest, ob ein oder mehrere Postfächer befragt werden sollen"
-#: src/mn-mailboxes.gob:266
+#: src/mn-mailboxes.gob:276
#, c-format
msgid "%s is unsupported: %s"
msgstr "%s wird nicht unterstützt: %s"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has new mail"
msgstr "%s hat neue Nachrichten"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has no new mail"
msgstr "%s hat keine neuen Nachrichten"
-#: src/mn-mailboxes.gob:323
+#: src/mn-mailboxes.gob:333
#, c-format
msgid "%s reported an error: %s"
msgstr "%s hat einen Fehler erzeugt: %s"
@@ -940,50 +988,49 @@ msgstr "Der Ordner »new« konnte nicht geschlossen werden: %s"
msgid "error while reading folder \"new\": %s"
msgstr "Fehler beim Lesen des Ordners »new«: %s"
-#: src/mn-main.c:97
+#: src/mn-main.c:96
#, c-format
msgid "Compiled-in mailbox backends: %s\n"
msgstr "Eingebaute Postfacharten: %s\n"
-#: src/mn-main.c:114
+#: src/mn-main.c:113
#, c-format
msgid "Compiled-in features: %s\n"
msgstr "Eingebaute Programmfähigkeiten: %s\n"
-#: src/mn-main.c:166
+#: src/mn-main.c:165
msgid "Enable informational output"
msgstr "Ausgabe von Informationen aktivieren"
-#: src/mn-main.c:175
+#: src/mn-main.c:174
msgid "List compiled-in features and exit"
msgstr "Eingebaute Programmfähigkeiten anzeigen und beenden"
-#: src/mn-main.c:184
-#, fuzzy
+#: src/mn-main.c:183
msgid "Display the mail summary dialog"
-msgstr "Den Info-Dialog anzeigen"
+msgstr "Die Nachrichtenübersicht anzeigen"
-#: src/mn-main.c:193
+#: src/mn-main.c:192
msgid "Display the properties dialog"
msgstr "Den Dialog zum Einstellen der E-Mail-Eingangsüberwachung anzeigen"
-#: src/mn-main.c:202
+#: src/mn-main.c:201
msgid "Display the about dialog"
msgstr "Den Info-Dialog anzeigen"
-#: src/mn-main.c:211
+#: src/mn-main.c:210
msgid "Close the mail summary popup"
-msgstr ""
+msgstr "Die Nachrichtenübersicht schließen"
-#: src/mn-main.c:220
+#: src/mn-main.c:219
msgid "Update the mail status"
msgstr "Nach neuen Nachrichten sehen"
-#: src/mn-main.c:229
+#: src/mn-main.c:228
msgid "Report the mail status"
msgstr "Den aktuellen Nachrichten anzeigen"
-#: src/mn-main.c:238
+#: src/mn-main.c:237
msgid "Unset obsolete GConf configuration and exit"
msgstr "Veraltete GConf-Konfiguration zurücksetzen und beenden"
@@ -991,11 +1038,11 @@ msgstr "Veraltete GConf-Konfiguration zurücksetzen und beenden"
#. * We can't use mn_error_dialog() because gtk_init() has not been
#. * called yet.
#.
-#: src/mn-main.c:264
+#: src/mn-main.c:263
msgid "multi-threading is not available"
msgstr "Multi-Threading steht nicht zur Verfügung"
-#: src/mn-main.c:309
+#: src/mn-main.c:310
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
@@ -1003,19 +1050,19 @@ msgstr ""
"Bonobo konnte das Automatisierungsobjekt nicht finden. Bitte überprüfen Sie "
"Ihre Installation der E-Mail-Eingangsüberwachung."
-#: src/mn-main.c:314
+#: src/mn-main.c:315
msgid "Unable to initialize the GnomeVFS library."
msgstr "Die GnomeVFS-Bibliothek konnte nicht initializiert werden."
-#: src/mn-main.c:350
+#: src/mn-main.c:351
msgid "updating the mail status"
msgstr "Nachrichtenstatus wird aktualisiert"
-#: src/mn-main.c:368
+#: src/mn-main.c:369
msgid "Mail Notification is already running"
msgstr "Die E-Mail-Eingangsüberwachung ist bereits aktiv"
-#: src/mn-main.c:375
+#: src/mn-main.c:376
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
@@ -1024,7 +1071,7 @@ msgstr ""
"finden. Bitte überprüfen Sie Ihre Installation der E-Mail-"
"Eingangsüberwachung."
-#: src/mn-main.c:379
+#: src/mn-main.c:380
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -1044,56 +1091,58 @@ msgstr "Postfach konnte nicht geöffnet werden: %s"
#: src/mn-message-label.gob:77
msgid "Unreadable message"
-msgstr ""
+msgstr "Nichtlesbare Nachricht"
#: src/mn-message-label.gob:97
msgid "From"
-msgstr ""
+msgstr "Von"
#: src/mn-message-label.gob:98
msgid "Subject"
-msgstr ""
+msgstr "Betreff"
#: src/mn-message-label.gob:102
msgid "Sent"
-msgstr ""
+msgstr "Gesendet"
#: src/mn-message-label.gob:151
#, c-format
msgid "%i second ago"
msgid_plural "%i seconds ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Vor %i Sekunde"
#: src/mn-message-label.gob:155
#, c-format
msgid "%i minute ago"
msgid_plural "%i minutes ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Vor %i Minute"
#: src/mn-message-label.gob:160
#, c-format
msgid "%i hour ago"
msgid_plural "%i hours ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Vor %i Stunde"
#: src/mn-message-label.gob:165
#, c-format
msgid "%i day ago"
msgid_plural "%i days ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Vor %i Tag"
+
+#: src/mn-message-label.gob:170
+#, c-format
+msgid "%i week ago"
+msgid_plural "%i weeks ago"
+msgstr[0] "Vor %i Woche"
+msgstr[1] "Vor %i Wochen"
#: src/mn-message-mime.c:105
-#, fuzzy
msgid "unable to parse MIME message"
-msgstr "Die Antwort »%s« konnte nicht analysiert werden"
+msgstr "Die MIME-Nachricht konnte nicht analysiert werden"
-#: src/mn-message.gob:82
+#: src/mn-message.gob:101
msgid "Unknown"
-msgstr ""
+msgstr "Inactive"
#: src/mn-mh-mailbox.gob:184
#, c-format
@@ -1129,32 +1178,35 @@ msgstr "_band-internes SSL/TLS"
msgid "SSL/TLS on sepa_rate port"
msgstr "SSL/TLS über e_xtra Port"
-#: src/mn-pop3-mailbox-properties.gob:86
+#: src/mn-pop3-mailbox-properties.gob:85
msgid "The hostname or IP address of the POP3 server"
msgstr "Der Name oder die IP-Adresse des POP3-Servers"
-#: src/mn-pop3-mailbox-properties.gob:87
+#: src/mn-pop3-mailbox-properties.gob:86
msgid "Your username on the POP3 server"
msgstr "Ihr Benutzername für diesen POP3-Server"
-#: src/mn-pop3-mailbox-properties.gob:88
-msgid "Your password on the POP3 server"
-msgstr "Ihr Passwort für diesen POP3-Server"
+#: src/mn-pop3-mailbox-properties.gob:87
+msgid ""
+"Your password on the POP3 server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"Ihr Passwort für diesen POP3-Server (falls Sie nichts eingeben, werden Sie "
+"jedesmal wenn es notwendig ist nach dem Passwort gefragt)"
-#: src/mn-pop3-mailbox-properties.gob:89 src/mn-pop3-mailbox-properties.gob:90
+#: src/mn-pop3-mailbox-properties.gob:88 src/mn-pop3-mailbox-properties.gob:89
msgid "The port number of the POP3 server"
msgstr "Die Port-Nummer des POP3-Servers"
-#: src/mn-pop3-mailbox.gob:271
+#: src/mn-pop3-mailbox.gob:272
msgid "invalid arguments for the LOGIN-DELAY capability"
msgstr "Ungültige Argumente für die Anmeldeverzögerung"
-#: src/mn-pop3-mailbox.gob:536
-#, fuzzy
+#: src/mn-pop3-mailbox.gob:549
msgid "unknown error"
-msgstr "Unbekannter Server-Fehler"
+msgstr "Unbekannter Fehler"
-#: src/mn-pop3-mailbox.gob:666
+#: src/mn-pop3-mailbox.gob:681
#, c-format
msgid "honouring LOGIN-DELAY, sleeping for %i second"
msgid_plural "honouring LOGIN-DELAY, sleeping for %i seconds"
@@ -1163,84 +1215,88 @@ msgstr[0] ""
"gewartetAnmeldeverzögerung wird berücksichtigt, es wird für %i Sekunden "
"gewartet"
-#: src/mn-pop3-mailbox.gob:831
+#: src/mn-pop3-mailbox.gob:840
msgid "server does not support APOP authentication"
msgstr "Der Server unterstütz eine Authentifizierung per APOP nicht."
-#: src/mn-pop3-mailbox.gob:859
+#: src/mn-pop3-mailbox.gob:868
msgid "falling back to APOP authentication"
msgstr "Es wird auf Authentifizierung mit APOP zurück gegriffen."
-#: src/mn-pop3-mailbox.gob:864
+#: src/mn-pop3-mailbox.gob:873
msgid "falling back to USER/PASS authentication"
msgstr ""
"Es wird auf Authentifizierung per Nutzername und Passwort zurück gegriffen."
-#: src/mn-properties.c:161
-#, fuzzy
+#: src/mn-properties.c:170
msgid "top left"
-msgstr "Vollständig"
+msgstr "oben links"
-#: src/mn-properties.c:162
+#: src/mn-properties.c:171
msgid "top right"
-msgstr ""
+msgstr "oben rechts"
-#: src/mn-properties.c:163
+#: src/mn-properties.c:172
msgid "bottom left"
-msgstr ""
+msgstr "unten links"
-#: src/mn-properties.c:164
+#: src/mn-properties.c:173
msgid "bottom right"
-msgstr ""
+msgstr "unten rechts"
-#: src/mn-properties.c:240
+#: src/mn-properties.c:251
msgid "No mailbox selected."
msgstr "Kein Postfach ausgewählt."
-#: src/mn-properties.c:245
+#: src/mn-properties.c:256
#, c-format
msgid "%i mailbox selected."
msgid_plural "%i mailboxes selected."
msgstr[0] "Ein Posfach ausgewählt."
msgstr[1] "%i Postfächer ausgewählt."
-#: src/mn-shell.gob:84
+#: src/mn-shell.gob:86
msgid "You have new mail."
msgstr "Sie haben neue Nachrichten."
-#: src/mn-shell.gob:96
-msgid "A command error has occurred in Mail Notification"
-msgstr ""
-"Es ist ein Fehler beim Ausführen eines Befehls in der E-Mail-"
-"Eingangsüberwachung aufgetreten."
-
-#: src/mn-shell.gob:97
-#, c-format
-msgid "Unable to execute new mail command: %s."
-msgstr "Der Befehl für neue E-Mails konnte nicht ausgeführt werden: %s."
-
-#: src/mn-shell.gob:270
+#: src/mn-shell.gob:263
msgid "The following mailbox has new mail:\n"
msgid_plural "The following mailboxes have new mail:\n"
msgstr[0] "Dieses Postfach hat neue Nachrichten:\n"
msgstr[1] "Diese Postfächer haben neue Nachrichten:\n"
-#: src/mn-shell.gob:274
+#: src/mn-shell.gob:267
msgid "You have no new mail."
msgstr "Sie haben keine neuen Nachrichten."
-#: src/mn-shell.gob:277
+#: src/mn-shell.gob:270
msgid "The following mailbox reported an error:\n"
msgid_plural "The following mailboxes reported an error:\n"
msgstr[0] "Das folgende Postfach hat einen Fehler ausgegeben:\n"
msgstr[1] "Die folgenden Postfächer haben einen Fehler ausgegeben:\n"
-#: src/mn-shell.gob:282
+#: src/mn-shell.gob:275
msgid "The following mailbox is unsupported:\n"
msgid_plural "The following mailboxes are unsupported:\n"
msgstr[0] "Das folgende Postfach wird nicht unterstützt:\n"
msgstr[1] "Die folgenden Postfächer werden nicht unterstützt:\n"
+#: src/mn-shell.gob:320
+msgid "A command error has occurred in Mail Notification"
+msgstr ""
+"Es ist ein Fehler beim Ausführen eines Befehls in der E-Mail-"
+"Eingangsüberwachung aufgetreten."
+
+#: src/mn-shell.gob:321
+#, c-format
+msgid "Unable to execute \"%s\": %s."
+msgstr "»%s« konnte nicht ausgeführt werden: %s."
+
+#: src/mn-soup.c:140
+#, c-format
+msgid "unable to parse proxy URI \"%s\""
+msgstr "Die Proxy-Adresse »%s« konnte nicht analysiert werden"
+
#: src/mn-ssl.c:79
msgid "unknown SSL/TLS error"
msgstr "Unbekannter SSL/TLS-Fehler"
@@ -1251,7 +1307,7 @@ msgstr "_Alles auswählen"
#: src/mn-stock.c:29
msgid "_Mail Summary"
-msgstr ""
+msgstr "_Nachrichtenübersicht"
#: src/mn-sylpheed-mailbox.gob:122
#, c-format
@@ -1268,7 +1324,7 @@ msgstr "Ordner konnte nicht geschlossen werden: %s"
msgid "error while reading folder: %s"
msgstr "Fehler beim Lesen von Ordner: %s"
-#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:393
+#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:411
msgid "System Mailbox"
msgstr "Systempostfach"
@@ -1300,9 +1356,9 @@ msgid "error loading image: %s"
msgstr "Bild konnte nicht geladen werden: %s"
#: src/mn-util.c:271
-#, fuzzy, c-format
+#, c-format
msgid "widget \"%s\" not found in interface \"%s\""
-msgstr "Widget %s konnte nicht in Interface %s gefunden werden"
+msgstr "Widget »%s« konnte nicht in Interface »%s« gefunden werden"
#: src/mn-util.c:385
msgid "received an invalid URI list"
@@ -1323,7 +1379,7 @@ msgstr "Es konnte kein Thread erzeugt werden: %s."
#: src/mn-util.c:705
msgid "_Do not show this message again"
-msgstr ""
+msgstr "_Diese Meldung nicht erneut anzeigen"
#: src/mn-util.c:789
msgid "A fatal error has occurred in Mail Notification"
@@ -1332,14 +1388,22 @@ msgstr ""
"aufgetreten"
#: src/mn-util.c:804
-#, fuzzy, c-format
+#, c-format
msgid "unable to get current time: %s"
-msgstr "Es konnte keine Verbindung mit %s hergestellt werden"
+msgstr "Die aktuelle Zeit konnte nicht ermittelt werden: %s"
#: src/mn-util.c:887
#, c-format
msgid "invalid signal specification \"%s\""
-msgstr ""
+msgstr "Ungültige Signalspezifikation »%s«"
+
+#: ui/authentication.glade.h:1 ui/properties.glade.h:2
+msgid "*"
+msgstr "*"
+
+#: ui/authentication.glade.h:2
+msgid "_Authenticate"
+msgstr "_Authentifizieren:"
#: ui/mailbox-properties.glade.h:1
msgid "_Mailbox type:"
@@ -1349,102 +1413,116 @@ msgstr "_Art des Postfachs:"
msgid " "
msgstr " "
-#: ui/properties.glade.h:2
-msgid "*"
-msgstr "*"
-
#: ui/properties.glade.h:3
+msgid "<span weight=\"bold\">Commands</span>"
+msgstr "<span weight=\"bold\">Befehle</span>"
+
+#: ui/properties.glade.h:4
msgid "<span weight=\"bold\">General</span>"
msgstr "<span weight=\"bold\">Allgemein</span>"
-#: ui/properties.glade.h:4
-#, fuzzy
+#: ui/properties.glade.h:5
msgid "<span weight=\"bold\">Mailbox List</span>"
msgstr "<span weight=\"bold\">Postfächer</span>"
-#: ui/properties.glade.h:5
-#, fuzzy
+#: ui/properties.glade.h:6
msgid "<span weight=\"bold\">Position</span>"
-msgstr "<span weight=\"bold\">Befehle</span>"
+msgstr "<span weight=\"bold\">Position</span>"
-#: ui/properties.glade.h:6
+#: ui/properties.glade.h:7
msgid "General"
-msgstr ""
+msgstr "Allgemein"
-#: ui/properties.glade.h:7
+#: ui/properties.glade.h:8
msgid "Hori_zontal offset:"
-msgstr ""
+msgstr "_Horizontaler Abstand:"
-#: ui/properties.glade.h:8
+#: ui/properties.glade.h:9
msgid "Mail Notification Properties"
msgstr "Einstellung der E-Mail-Eingangsüberwachung"
-#: ui/properties.glade.h:9
+#: ui/properties.glade.h:10
msgid "Mail Summary Popup"
-msgstr ""
+msgstr "Aufklappende Nachrichtenübersicht"
-#: ui/properties.glade.h:10
-#, fuzzy
+#: ui/properties.glade.h:11
msgid "Mailboxes"
-msgstr "Postfach"
+msgstr "Postfächer"
-#: ui/properties.glade.h:11
-#, fuzzy
+#: ui/properties.glade.h:12
msgid "P_osition:"
-msgstr "_Ort:"
+msgstr "P_osition:"
-#: ui/properties.glade.h:12
-#, fuzzy
+#: ui/properties.glade.h:13
msgid "The amount of time to wait before closing the mail summary popup"
-msgstr "Die Zeit die zwischen zwei Überprüfungen auf neue Nachrichten vergeht"
+msgstr "Die Wartedauer ehe die Nachrichtenübersicht geschlossen wurde"
-#: ui/properties.glade.h:13
+#: ui/properties.glade.h:14
msgid "The amount of time to wait between mail checks"
msgstr "Die Zeit die zwischen zwei Überprüfungen auf neue Nachrichten vergeht"
-#: ui/properties.glade.h:14
+#: ui/properties.glade.h:15
+msgid "The command to run when all mail is read"
+msgstr "Der auszuführende Befehl wenn alle Nachrichten gelesen wurden"
+
+#: ui/properties.glade.h:16
msgid "The command to run when new mail arrives"
msgstr ""
"Geben Sie hier den Befehl ein, der ausgeführt wird sobald eine neue "
"Nachricht eintrifft."
-#: ui/properties.glade.h:15
+#: ui/properties.glade.h:17
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup"
msgstr ""
+"Die Anzahl an Pixeln die zwischen dem linken oder rechten Bildschirmrand und "
+"der Nachrichtenübersicht."
-#: ui/properties.glade.h:16
+#: ui/properties.glade.h:18
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup"
msgstr ""
+"Die Anzahl an Pixel zwischen dem oberen oder unteren Bildschirmrand und der "
+"Nachrichtenübersicht."
-#: ui/properties.glade.h:17
+#: ui/properties.glade.h:19
+msgid "When _all mail is read:"
+msgstr "Wenn alle Nachricht _gelesen wurden:"
+
+#: ui/properties.glade.h:20
+msgid "When _new mail arrives:"
+msgstr "Wenn neue Nachricht _eintrifft:"
+
+#: ui/properties.glade.h:21
msgid "Whether the status icon should blink on errors or not"
msgstr ""
"Wenn diese Option gewählt ist, blinkt das Nachrichtensymbol bei Auftreten "
"eines Fehlers."
-#: ui/properties.glade.h:18
-#, fuzzy
+#: ui/properties.glade.h:22
msgid "Whether to automatically close the mail summary popup or not"
-msgstr "Legt fest, ob das Postfach neue Nachrichten enthält"
+msgstr "Legt fest, ob die Nachrichtenübersicht automatisch geschlossen wird"
-#: ui/properties.glade.h:19
-#, fuzzy
+#: ui/properties.glade.h:23
msgid "Whether to display the mail summary popup when new mail arrives or not"
msgstr ""
-"Wenn diese Option ausgewählt ist, können Sie einen Befehl angeben der "
-"ausgeführt wird, sobald eine neue Nachricht eintrifft."
+"Legt fest, ob die Nachrichtenübersicht aufklappt wenn eine neue Nachricht "
+"eintrifft"
-#: ui/properties.glade.h:20
+#: ui/properties.glade.h:24
+msgid "Whether to run a command when all mail is read or not"
+msgstr ""
+"Legt fest, ob ein Befehl ausgeführt wird wenn alle Nachrichten gelesen wurden"
+
+#: ui/properties.glade.h:25
msgid "Whether to run a command when new mail arrives or not"
msgstr ""
"Wenn diese Option ausgewählt ist, können Sie einen Befehl angeben der "
"ausgeführt wird, sobald eine neue Nachricht eintrifft."
-#: ui/properties.glade.h:21
+#: ui/properties.glade.h:26
msgid ""
"Whether to start Mail Notification when you log into your GNOME session or "
"not"
@@ -1452,55 +1530,49 @@ msgstr ""
"Wenn diese Option ausgewählt ist, wird die E-Mail-Eingangsüberwachnung beim "
"Starten von GNOME ebenfalls gestartet."
-#: ui/properties.glade.h:22
+#: ui/properties.glade.h:27
msgid "_Automatically close after:"
-msgstr ""
+msgstr "_Automatisch schließen nach:"
-#: ui/properties.glade.h:23
+#: ui/properties.glade.h:28
msgid "_Blink on errors"
msgstr "_Bei Fehler blinken"
-#: ui/properties.glade.h:24
+#: ui/properties.glade.h:29
msgid "_Delay between mail checks:"
msgstr "_Nach neuen Nachrichten sehen alle:"
-#: ui/properties.glade.h:25
+#: ui/properties.glade.h:30
msgid "_Enable mail summary popup"
-msgstr ""
-
-#: ui/properties.glade.h:26
-#, fuzzy
-msgid "_Run a command when new mail arrives:"
-msgstr "Einen Befehl ausführen, wenn eine neue Nachricht eintrifft"
+msgstr "_Aufklappende Nachrichtenübersicht aktivieren"
-#: ui/properties.glade.h:27
+#: ui/properties.glade.h:31
msgid "_Start Mail Notification on GNOME login"
msgstr "_Laden beim Starten von GNOME"
-#: ui/properties.glade.h:28
+#: ui/properties.glade.h:32
msgid "_Vertical offset:"
-msgstr ""
+msgstr "_Vertikaler Abstand:"
-#: ui/properties.glade.h:29
+#: ui/properties.glade.h:33
msgid "minutes"
msgstr "Minuten"
-#: ui/properties.glade.h:30
+#: ui/properties.glade.h:34
msgid "pixels"
-msgstr ""
+msgstr "Pixel"
-#: ui/properties.glade.h:31
+#: ui/properties.glade.h:35
msgid "seconds"
msgstr "Sekunden"
#: ui/summary-dialog.glade.h:1
msgid "Mail Summary"
-msgstr ""
+msgstr "Nachrichtenübersicht"
#: ui/summary-popup.glade.h:1
-#, fuzzy
msgid "<span size=\"larger\" weight=\"bold\">Mail Summary</span>"
-msgstr "<span weight=\"bold\">Postfächer</span>"
+msgstr "<span size=\"larger\" weight=\"bold\">Nachrichtenübersicht</span>"
#: ui/welcome.glade.h:1
msgid ""
@@ -1540,60 +1612,13 @@ msgstr "Die E-Mail-Eingangsüberwachung anpassen"
msgid "_Skip configuration"
msgstr "Konfiguration über_springen"
-#~ msgid "Double-clicked command"
-#~ msgstr "Auszuführender Befehl bei Doppelklick"
-
-#~ msgid "Run a command when the icon is double-clicked"
-#~ msgstr ""
-#~ "Einen Befehl ausführen, wenn das Nachrichtensymbol doppelt angeklickt wird"
-
-#~ msgid "The command to run when the icon is double-clicked."
-#~ msgstr ""
-#~ "Der Befehl der ausgeführt wird, wenn das Nachrichtensymbol doppelt "
-#~ "angeklickt wird."
-
-#~ msgid "Whether to run a command when the icon is double-clicked or not."
-#~ msgstr ""
-#~ "Legt fest, ob ein Befehl ausgeführt wird, wenn das Nachrichtensymbol "
-#~ "doppelt angeklickt wird."
-
-#~ msgid "_Run %s"
-#~ msgstr "%s a_usführen"
-
-#~ msgid "_Run Default Action"
-#~ msgstr "_Standard Aktion ausführen"
-
#~ msgid ""
#~ "As a fallback, they will be checked approximately every %i minute (this "
#~ "delay is configurable from the Properties Dialog).As a fallback, they "
#~ "will be checked approximately every %i minutes (this delay is "
#~ "configurable from the Properties Dialog)."
#~ msgstr ""
-#~ "Als Rücksicherung werden diese in etwa jede %i Minute überprüft (Dieser "
-#~ "Wert kann über den Einstellungen-Dialog angepasst werden).Als "
-#~ "Rücksicherung werden diese in etwa alle %i Minuten überprüft (Dieser Wert "
-#~ "kann über den Einstellungen-Dialog angepasst werden)."
-
-#~ msgid "A command error has occurred"
-#~ msgstr "Es ist ein Fehler beim Ausführen des Befehls aufgetreten"
-
-#~ msgid "Unable to execute double-clicked command: %s."
-#~ msgstr ""
-#~ "Der Befehl für einen Symboldoppelklick konnte nicht ausgeführt werden: %s."
-
-#~ msgid "The command to run when the icon is double-clicked"
-#~ msgstr ""
-#~ "Geben Sie hier den Befehl ein, der ausgeführt wird sobald das "
-#~ "Benachrichtigungssymbol doppelt angeklickt wird."
-
-#~ msgid "When _new mail arrives:"
-#~ msgstr "Wenn neue Nachricht _eintrifft:"
-
-#~ msgid "When double-click_ed:"
-#~ msgstr "Wenn _doppelt angeklickt:"
-
-#~ msgid "Whether to run a command when the icon is double-clicked or not"
-#~ msgstr ""
-#~ "Wenn diese Option ausgewählt ist, können Sie einen Befehl angeben der "
-#~ "ausgeführt wird, sobald das Benachrichtigungssymbol doppelt angeklickt "
-#~ "wird."
+#~ "Als Rücksicherung werden diese jede %i Minute überprüft (Dieser Wert kann "
+#~ "über den Einstellungsdialog angepasst werden).Als Rücksicherung werden "
+#~ "diese alle %i Minuten überprüft (Dieser Wert kann über den "
+#~ "Einstellungsdialog angepasst werden)."
diff --git a/po/fr.gmo b/po/fr.gmo
Binary files differ.
diff --git a/po/fr.po b/po/fr.po
@@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: mail-notification 0.7.0\n"
+"Project-Id-Version: mail-notification 0.7.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-10-06 19:31+0200\n"
-"PO-Revision-Date: 2004-10-06 19:26+0200\n"
+"POT-Creation-Date: 2004-10-25 15:26+0200\n"
+"PO-Revision-Date: 2004-10-25 15:22+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"
@@ -34,7 +34,7 @@ msgstr "Configurer la Notification de Courrier"
#: data/mail-notification-properties.desktop.in.h:2
#: data/mail-notification.desktop.in.h:2
#: data/mail-notification.soundlist.in.h:1 src/mn-about-dialog.gob:40
-#: src/mn-mail-icon.gob:163 src/mn-main.c:272
+#: src/mn-mail-icon.gob:163 src/mn-main.c:271
msgid "Mail Notification"
msgstr "Notification de Courrier"
@@ -85,46 +85,54 @@ msgid "Height of properties dialog"
msgstr "Hauteur de la boîte de dialogue contenant les propriétés"
#: data/mail-notification.schemas.in.h:11
+msgid "Mail read command"
+msgstr "Commande de courrier lu"
+
+#: data/mail-notification.schemas.in.h:12
msgid "Mail summary popup horizontal offset"
msgstr "Décalage horizontal du popup d'aperçu du courrier"
-#: data/mail-notification.schemas.in.h:12
+#: data/mail-notification.schemas.in.h:13
msgid "Mail summary popup position"
msgstr "Position du popup d'aperçu du courrier"
-#: data/mail-notification.schemas.in.h:13
+#: data/mail-notification.schemas.in.h:14
msgid "Mail summary popup vertical offset"
msgstr "Décalage vertical du popup d'aperçu du courrier"
-#: data/mail-notification.schemas.in.h:14
+#: data/mail-notification.schemas.in.h:15
msgid "Mailbox list"
msgstr "Liste des boîtes aux lettres"
-#: data/mail-notification.schemas.in.h:15
+#: data/mail-notification.schemas.in.h:16
msgid "Minutes between mail checks"
msgstr "Minutes entre les vérifications de courrier"
-#: data/mail-notification.schemas.in.h:16
+#: data/mail-notification.schemas.in.h:17
msgid "Minutes to wait before closing the mail summary popup"
msgstr "Minutes à attendre avant de fermer le popup d'aperçu du courrier"
-#: data/mail-notification.schemas.in.h:17
+#: data/mail-notification.schemas.in.h:18
msgid "New mail command"
msgstr "Commande de nouveau message"
-#: data/mail-notification.schemas.in.h:18
+#: data/mail-notification.schemas.in.h:19
+msgid "Run a command when all mail is read"
+msgstr "Exécuter une commande lorsque tout le courrier est lu"
+
+#: data/mail-notification.schemas.in.h:20
msgid "Run a command when new mail arrives"
msgstr "Exécuter une commande lorsque du nouveau courrier arrive"
-#: data/mail-notification.schemas.in.h:19
+#: data/mail-notification.schemas.in.h:21
msgid "Seconds between mail checks"
msgstr "Secondes entre les vérifications de courrier"
-#: data/mail-notification.schemas.in.h:20
+#: data/mail-notification.schemas.in.h:22
msgid "Seconds to wait before closing the mail summary popup"
msgstr "Secondes à attendre avant de fermer le popup d'aperçu du courrier"
-#: data/mail-notification.schemas.in.h:21
+#: data/mail-notification.schemas.in.h:23
msgid ""
"The amount of time to wait before closing the mail summary popup (minutes "
"part)."
@@ -132,7 +140,7 @@ msgstr ""
"La quantité de temps à attendre avant de fermer le popup d'aperçu du "
"courrier (partie minutes)."
-#: data/mail-notification.schemas.in.h:22
+#: data/mail-notification.schemas.in.h:24
msgid ""
"The amount of time to wait before closing the mail summary popup (seconds "
"part)."
@@ -140,24 +148,28 @@ msgstr ""
"La quantité de temps à attendre avant de fermer le popup d'aperçu du "
"courrier (partie secondes)."
-#: data/mail-notification.schemas.in.h:23
+#: data/mail-notification.schemas.in.h:25
+msgid "The command to run when all mail is read."
+msgstr "La commande à exécuter lorsque tout le courrier est lu"
+
+#: data/mail-notification.schemas.in.h:26
msgid "The command to run when new mail arrives."
msgstr "La commande à exécuter lorsque du nouveau courrier arrive."
-#: data/mail-notification.schemas.in.h:24
+#: data/mail-notification.schemas.in.h:27
msgid "The height of the mail summary dialog in pixels."
msgstr ""
"La hauteur de la boîte de dialogue contenant l'aperçu du courrier en pixels."
-#: data/mail-notification.schemas.in.h:25
+#: data/mail-notification.schemas.in.h:28
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."
-#: data/mail-notification.schemas.in.h:26
+#: data/mail-notification.schemas.in.h:29
msgid "The list of mailboxes to monitor."
msgstr "La liste des boîtes aux lettres à surveiller."
-#: data/mail-notification.schemas.in.h:27
+#: data/mail-notification.schemas.in.h:30
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
@@ -165,14 +177,14 @@ msgstr ""
"La liste des serveurs SSL/TLS (hôte:port) de confiance auxquels il manque un "
"certificat X509."
-#: data/mail-notification.schemas.in.h:28
+#: data/mail-notification.schemas.in.h:31
msgid ""
"The list of trusted X509 certificates, represented by their MD5 fingerprint."
msgstr ""
"La liste des certificats X509 de confiance, représentés par leur empreinte "
"digitale."
-#: data/mail-notification.schemas.in.h:29
+#: data/mail-notification.schemas.in.h:32
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup."
@@ -180,7 +192,7 @@ msgstr ""
"Le nombre de pixels à laisser entre la gauche ou la droite de l'écran et le "
"popup d'aperçu du courrier."
-#: data/mail-notification.schemas.in.h:30
+#: data/mail-notification.schemas.in.h:33
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup."
@@ -188,7 +200,7 @@ msgstr ""
"Le nombre de pixels à laisser entre le haut ou le bas de l'écran et le popup "
"d'aperçu du courrier."
-#: data/mail-notification.schemas.in.h:31
+#: data/mail-notification.schemas.in.h:34
msgid ""
"The position of the mail summary popup. Must be \"top-left\", \"top-right\", "
"\"bottom-left\" or \"bottom-right\"."
@@ -196,39 +208,39 @@ msgstr ""
"La position du popup d'aperçu du courrier. Doit etre \"top-left\", \"top-"
"right\", \"bottom-left\" or \"bottom-right\"."
-#: data/mail-notification.schemas.in.h:32
+#: data/mail-notification.schemas.in.h:35
msgid "The width of the mail summary dialog in pixels."
msgstr ""
"La largeur de la boîte de dialogue contenant l'aperçu du courrier en pixels."
-#: data/mail-notification.schemas.in.h:33
+#: data/mail-notification.schemas.in.h:36
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."
-#: data/mail-notification.schemas.in.h:34
+#: data/mail-notification.schemas.in.h:37
msgid "Trusted servers list"
msgstr "Liste des serveurs de confiance"
-#: data/mail-notification.schemas.in.h:35
+#: data/mail-notification.schemas.in.h:38
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:36
+#: data/mail-notification.schemas.in.h:39
msgid "Whether the status icon should blink on errors or not."
-msgstr "Si l'icône de status doit clignoter lors d'erreurs ou pas."
+msgstr "Si l'icône de statut doit clignoter lors d'erreurs ou pas."
-#: data/mail-notification.schemas.in.h:37
+#: data/mail-notification.schemas.in.h:40
msgid "Whether to automatically close the mail summary popup or not."
msgstr ""
"Si le popup d'aperçu du courrier doit être automatiquement fermé ou pas."
-#: data/mail-notification.schemas.in.h:38
+#: data/mail-notification.schemas.in.h:41
msgid "Whether to display the mail summary popup when new mail arrives or not."
msgstr ""
"Si le popup d'aperçu du courrier doit être affiché lorsque du nouveau "
"courrier arrive ou pas."
-#: data/mail-notification.schemas.in.h:39
+#: data/mail-notification.schemas.in.h:42
msgid ""
"Whether to prevent the immediate notification error dialog from being "
"displayed or not."
@@ -236,16 +248,21 @@ msgstr ""
"Si il faut empêcher la boîte de dialogue contenant l'erreur de notification "
"immédiate de s'afficher ou pas."
-#: data/mail-notification.schemas.in.h:40
+#: data/mail-notification.schemas.in.h:43
+msgid "Whether to run a command when all mail is read or not."
+msgstr ""
+"Si une commande doit être exécutée lorsque tout le courrier est lu ou pas."
+
+#: data/mail-notification.schemas.in.h:44
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."
-#: data/mail-notification.schemas.in.h:41
+#: data/mail-notification.schemas.in.h:45
msgid "Width of mail summary dialog"
msgstr "Largeur de la boîte de dialogue contenant l'aperçu du courrier"
-#: data/mail-notification.schemas.in.h:42
+#: data/mail-notification.schemas.in.h:46
msgid "Width of properties dialog"
msgstr "Largeur de la boîte de dialogue contenant les propriétés"
@@ -274,6 +291,40 @@ msgstr "Jean-Yves Lefort <jylefort@brutele.be>"
msgid "<span style=\"italic\">autodetect</span>"
msgstr "<span style=\"italic\">autodétecter</span>"
+#. translator: example output: Enter your password for POP3 mailbox jylefort@localhost.
+#: src/mn-authenticated-mailbox.gob:77
+#, c-format
+msgid "Enter your password for %s mailbox %s."
+msgstr "Entrez votre mot de passe pour la boîte aux lettres %s %s."
+
+#. translator: example output: ... into POP3 mailbox jylefort@localhost ...
+#: src/mn-authenticated-mailbox.gob:98
+#, c-format
+msgid ""
+"Mail Notification was unable to log into %s mailbox %s, possibly because the "
+"password you have entered is invalid.\n"
+"\n"
+"Please re-enter your password."
+msgstr ""
+"La Notification de Courrier n'a pas été en mesure d'ouvrir une session dans "
+"la boîte aux lettres %s %s, peut-être parce que le mot de passe que vous "
+"avez saisi est invalide.\n"
+"\n"
+"Veuillez à nouveau saisir votre mot de passe."
+
+#: src/mn-authenticated-mailbox.gob:164
+#, c-format
+msgid ""
+"<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</"
+"span>\n"
+"\n"
+"%s"
+msgstr ""
+"<span weight=\"bold\" size=\"larger\">La Notification de Courrier nécessite "
+"un mot de passe</span>\n"
+"\n"
+"%s"
+
#: src/mn-autodetect-mailbox-properties.gob:68
msgid "_Location:"
msgstr "_Emplacement:"
@@ -312,7 +363,7 @@ msgstr "%s: famille d'adresse non prise en charge"
#: src/mn-client-session.c:283
#, 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 socket: %s"
#: src/mn-client-session.c:287
#, c-format
@@ -352,7 +403,7 @@ msgstr "impossible de spécifier le descripteur de fichier SSL/TLS: %s"
#: src/mn-client-session.c:337
#, c-format
msgid "unable to perform the SSL/TLS handshake: %s"
-msgstr "impossible d'accomplir la négotiation SSL/TLS: %s"
+msgstr "impossible d'accomplir la négociation SSL/TLS: %s"
#: src/mn-client-session.c:343
msgid "untrusted server"
@@ -450,12 +501,12 @@ msgstr "impossible d'initialiser la bibliothèque SASL: %s"
#: src/mn-client-session.c:926
#, c-format
msgid "unable to retrieve local address of socket: %s"
-msgstr "impossible d'obtenir l'adresse locale du soquet: %s"
+msgstr "impossible d'obtenir l'adresse locale du socket: %s"
#: src/mn-client-session.c:932
#, c-format
msgid "unable to retrieve remote address of socket: %s"
-msgstr "impossible d'obtenir l'adresse distante du soquet: %s"
+msgstr "impossible d'obtenir l'adresse distante du socket: %s"
#: src/mn-client-session.c:966
#, c-format
@@ -543,51 +594,45 @@ msgstr "en train de synchroniser la base de données GConf"
msgid "completed"
msgstr "terminé"
-#: src/mn-gmail-mailbox-properties.gob:79
+#: src/mn-gmail-mailbox-properties.gob:77
msgid "Your Gmail username"
msgstr "Votre nom d'utilisateur Gmail"
-#: src/mn-gmail-mailbox-properties.gob:80
-msgid "Your Gmail password"
-msgstr "Votre mot de passe Gmail"
+#: src/mn-gmail-mailbox-properties.gob:78
+msgid ""
+"Your Gmail password (if left blank, you will be prompted for the password "
+"when needed)"
+msgstr ""
+"Votre mot de passe Gmail (si laissé vide, le mot de passe vous sera demandé "
+"en temps utile)"
-#: src/mn-gmail-mailbox.gob:65
+#: src/mn-gmail-mailbox.gob:63
msgid "libsoup has not been compiled with SSL/TLS support"
msgstr "libsoup n'a pas été compilé avec le support SSL/TLS"
-#: src/mn-gmail-mailbox.gob:110 src/mn-gmail-mailbox.gob:331
+#: src/mn-gmail-mailbox.gob:105
#, c-format
msgid "unable to parse URI \"%s\""
msgstr "impossible d'interpréter l'URI \"%s\""
-#: src/mn-gmail-mailbox.gob:257
+#: src/mn-gmail-mailbox.gob:159
+#, c-format
+msgid "unable to transfer data: %s"
+msgstr "impossible de transférer des données: %s"
+
+#: src/mn-gmail-mailbox.gob:280
msgid "logging in"
msgstr "ouverture de session en cours"
-#: src/mn-gmail-mailbox.gob:271 src/mn-gmail-mailbox.gob:342
-#: src/mn-gmail-mailbox.gob:380 src/mn-gmail-mailbox.gob:415
+#: src/mn-gmail-mailbox.gob:358
msgid "login failed"
msgstr "l'ouverture de session a échoué"
-#: src/mn-gmail-mailbox.gob:283 src/mn-gmail-mailbox.gob:356
-#: src/mn-gmail-mailbox.gob:394 src/mn-gmail-mailbox.gob:503
-#, c-format
-msgid "unable to transfer data: %s"
-msgstr "impossible de transférer des données: %s"
-
-#: src/mn-gmail-mailbox.gob:409
-msgid "successfully logged in"
-msgstr "ouverture de session effectuée avec succès"
-
-#: src/mn-gmail-mailbox.gob:487
+#: src/mn-gmail-mailbox.gob:433
msgid "searching for unread mail"
msgstr "recherche du courrier non lu"
-#: src/mn-gmail-mailbox.gob:491
-msgid "unable to search for unread mail"
-msgstr "impossible de rechercher le courrier non lu"
-
-#: src/mn-gmail-mailbox.gob:604
+#: src/mn-gmail-mailbox.gob:529
msgid "unable to parse Gmail data"
msgstr "impossible d'interpréter les données Gmail"
@@ -616,85 +661,89 @@ msgstr "impossible de dire la position de %s: %s"
msgid "unable to close %s: %s"
msgstr "impossible de fermer %s: %s"
-#: src/mn-imap-mailbox-properties.gob:94
+#: src/mn-imap-mailbox-properties.gob:93
msgid "Mailbox:"
msgstr "Boîte aux lettres:"
-#: src/mn-imap-mailbox-properties.gob:98
+#: src/mn-imap-mailbox-properties.gob:97
msgid "in_box"
msgstr "_boîte de réception"
-#: src/mn-imap-mailbox-properties.gob:109
+#: src/mn-imap-mailbox-properties.gob:108
msgid "oth_er:"
msgstr "autr_e:"
-#: src/mn-imap-mailbox-properties.gob:124
+#: src/mn-imap-mailbox-properties.gob:123
msgid "The hostname or IP address of the IMAP server"
msgstr "Le nom d'hôte ou adresse IP du serveur IMAP"
-#: src/mn-imap-mailbox-properties.gob:125
+#: src/mn-imap-mailbox-properties.gob:124
msgid "Your username on the IMAP server"
msgstr "Votre nom d'utilisateur sur le serveur IMAP"
-#: src/mn-imap-mailbox-properties.gob:126
-msgid "Your password on the IMAP server"
-msgstr "Votre mot de passe sur le serveur IMAP"
+#: src/mn-imap-mailbox-properties.gob:125
+msgid ""
+"Your password on the IMAP server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"Votre mot de passe sur le serveur IMAP (si laissé vide, le mot de passe vous "
+"sera demandé en temps utile)"
+#: src/mn-imap-mailbox-properties.gob:126
#: src/mn-imap-mailbox-properties.gob:127
-#: src/mn-imap-mailbox-properties.gob:128
msgid "The port number of the IMAP server"
msgstr "Le numéro de port du serveur IMAP"
-#: src/mn-imap-mailbox-properties.gob:129
+#: src/mn-imap-mailbox-properties.gob:128
msgid "The mailbox name"
msgstr "Le nom de la boîte aux lettres"
-#: src/mn-imap-mailbox.gob:132 src/mn-pop3-mailbox.gob:141
+#: src/mn-imap-mailbox.gob:133 src/mn-pop3-mailbox.gob:142
msgid "SSL/TLS support has not been compiled in"
msgstr "le support SSL/TLS n'a pas été inclus lors de la compilation"
-#: src/mn-imap-mailbox.gob:203
+#: src/mn-imap-mailbox.gob:204
msgid "server did not send capabilities"
msgstr "le serveur n'a pas envoyé ses possibilités"
-#: src/mn-imap-mailbox.gob:318
+#: src/mn-imap-mailbox.gob:319
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
msgstr ""
"le serveur a annoncé LOGINDISABLED, pas d'utilisation de l'authentification "
"LOGIN"
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:320
msgid "unable to login"
msgstr "impossible d'ouvrir la session"
#. compliance error
-#: src/mn-imap-mailbox.gob:447
+#: src/mn-imap-mailbox.gob:451
msgid "server did not send search results"
msgstr "le serveur n'a pas envoyé les résultats de la recherche"
#. compliance error
-#: src/mn-imap-mailbox.gob:523
+#: src/mn-imap-mailbox.gob:527
msgid "server did not send all the messages we requested"
msgstr "le serveur n'a pas envoyé tous les messages que nous avons demandé"
-#: src/mn-imap-mailbox.gob:570
+#: src/mn-imap-mailbox.gob:574
msgid "unable to fetch message"
msgstr "impossible d'obtenir le message"
#. compliance error
-#: src/mn-imap-mailbox.gob:617
+#: src/mn-imap-mailbox.gob:621
msgid "server did not send status"
-msgstr "le serveur n'a pas envoyé de status"
+msgstr "le serveur n'a pas envoyé de statut"
-#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:903
+#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:913
msgid "unknown server error"
msgstr "erreur serveur inconnue"
-#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:225
+#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:226
msgid "server does not support in-band SSL/TLS"
msgstr "le serveur ne supporte pas le mode SSL/TLS interne"
-#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:823
+#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:832
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
@@ -702,7 +751,7 @@ msgstr ""
"un mécanisme 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:954 src/mn-pop3-mailbox.gob:835
+#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:844
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr "mécanisme d'authentification inconnu \"%s\""
@@ -711,7 +760,7 @@ msgstr "mécanisme d'authentification inconnu \"%s\""
msgid "falling back to IMAP LOGIN authentication"
msgstr "rétrogradation vers l'authentification IMAP LOGIN"
-#: src/mn-imap-mailbox.gob:976 src/mn-pop3-mailbox.gob:869
+#: src/mn-imap-mailbox.gob:977 src/mn-pop3-mailbox.gob:879
msgid "authentication failed"
msgstr "l'authentification a échoué"
@@ -732,11 +781,11 @@ msgstr "Ajouter une Boîte aux Lettres"
msgid "%s Properties"
msgstr "Propriétés de %s"
-#: src/mn-mailbox-properties-util.c:77
+#: src/mn-mailbox-properties-util.c:77 ui/authentication.glade.h:4
msgid "_Username:"
msgstr "_Nom d'utilisateur:"
-#: src/mn-mailbox-properties-util.c:87
+#: src/mn-mailbox-properties-util.c:87 ui/authentication.glade.h:3
msgid "_Password:"
msgstr "_Mot de passe:"
@@ -793,44 +842,44 @@ msgstr "Impossible d'ajouter la boîte aux lettres"
msgid "The mailbox is already in the list."
msgstr "La boîte aux lettres est déjà dans la liste."
-#: src/mn-mailbox.gob:133
+#: src/mn-mailbox.gob:130
msgid "The mailbox URI"
msgstr "L'URI de la boîte aux lettres"
-#: src/mn-mailbox.gob:144
+#: src/mn-mailbox.gob:141
msgid "The mailbox human-readable name"
msgstr "Le nom, lisible par un humain, de la boîte aux lettres"
-#: src/mn-mailbox.gob:148
+#: src/mn-mailbox.gob:145
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"
-#: src/mn-mailbox.gob:153
+#: src/mn-mailbox.gob:150
msgid "Whether the mailbox has new mail or not"
msgstr "Si la boîte aux lettres a du nouveau courrier ou pas"
-#: src/mn-mailbox.gob:158
+#: src/mn-mailbox.gob:155
msgid "The list of new and unread MNMessage objects"
msgstr "La liste des objets MNMessage neufs et non lus"
-#: src/mn-mailbox.gob:212
+#: src/mn-mailbox.gob:209
msgid "The mailbox error, if any"
msgstr "L'erreur de la boîte aux lettres si il y en a une"
-#: src/mn-mailbox.gob:310
+#: src/mn-mailbox.gob:308
msgid "does not exist"
msgstr "n'existe pas"
-#: src/mn-mailbox.gob:342
+#: src/mn-mailbox.gob:340
msgid "unknown format"
msgstr "format inconnu"
-#: src/mn-mailbox.gob:408
+#: src/mn-mailbox.gob:406
#, c-format
msgid "unable to enable immediate notification for %s: %s"
msgstr "impossible d'activer la notification immédiate pour %s: %s"
-#: src/mn-mailbox.gob:426
+#: src/mn-mailbox.gob:424
#, c-format
msgid ""
"As a fallback, they will be checked every %i second (this delay is "
@@ -845,7 +894,7 @@ 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)."
-#: src/mn-mailbox.gob:437
+#: src/mn-mailbox.gob:435
#, c-format
msgid ""
"As a fallback, they will be checked every %i minute (this delay is "
@@ -860,7 +909,7 @@ 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)."
-#: src/mn-mailbox.gob:448
+#: src/mn-mailbox.gob:446
#, c-format
msgid ""
"As a fallback, they will be checked approximately every %i minute (this "
@@ -875,11 +924,11 @@ 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)."
-#: src/mn-mailbox.gob:464
+#: src/mn-mailbox.gob:462
msgid "A monitoring error has occurred"
msgstr "Une erreur de surveillance s'est produite"
-#: src/mn-mailbox.gob:465
+#: src/mn-mailbox.gob:463
#, c-format
msgid ""
"Mail Notification was unable to enable immediate notification for one or "
@@ -888,27 +937,27 @@ msgstr ""
"La Notification de Courrier n'a pas été en mesure d'activer la notification "
"immédiate pour une ou plusieures boîtes aux lettres. %s"
-#: src/mn-mailboxes.gob:133
+#: src/mn-mailboxes.gob:143
msgid "Whether one or more of the mailboxes has to be polled"
msgstr ""
"Si une ou plusieurs boîtes aux lettres doivent être vérifiées explicitement"
-#: src/mn-mailboxes.gob:266
+#: src/mn-mailboxes.gob:276
#, c-format
msgid "%s is unsupported: %s"
msgstr "%s n'est pas pris en charge: %s"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has new mail"
msgstr "%s a du nouveau courrier"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has no new mail"
msgstr "%s n'a pas de nouveau courrier"
-#: src/mn-mailboxes.gob:323
+#: src/mn-mailboxes.gob:333
#, c-format
msgid "%s reported an error: %s"
msgstr "%s a indiqué une erreur: %s"
@@ -928,49 +977,49 @@ msgstr "impossible de fermer le dossier \"new\": %s"
msgid "error while reading folder \"new\": %s"
msgstr "erreur lors de la lecture du dossier \"new\": %s"
-#: src/mn-main.c:97
+#: src/mn-main.c:96
#, c-format
msgid "Compiled-in mailbox backends: %s\n"
msgstr "Prises en charge de boîtes aux lettres disponibles: %s\n"
-#: src/mn-main.c:114
+#: src/mn-main.c:113
#, c-format
msgid "Compiled-in features: %s\n"
msgstr "Fonctionnalités disponibles: %s\n"
-#: src/mn-main.c:166
+#: src/mn-main.c:165
msgid "Enable informational output"
-msgstr "Activer la sortie informationelle"
+msgstr "Activer la sortie informationnelle"
-#: src/mn-main.c:175
+#: src/mn-main.c:174
msgid "List compiled-in features and exit"
msgstr "Afficher les fonctionnalités disponibles et quitter"
-#: src/mn-main.c:184
+#: src/mn-main.c:183
msgid "Display the mail summary dialog"
msgstr "Afficher la boîte de dialogue contenant l'aperçu du courrier"
-#: src/mn-main.c:193
+#: src/mn-main.c:192
msgid "Display the properties dialog"
msgstr "Afficher la boîte de dialogue contenant les propriétés"
-#: src/mn-main.c:202
+#: src/mn-main.c:201
msgid "Display the about dialog"
msgstr "Afficher la boîte de dialogue \"à propos\""
-#: src/mn-main.c:211
+#: src/mn-main.c:210
msgid "Close the mail summary popup"
msgstr "Fermer le popup d'aperçu du courrier"
-#: src/mn-main.c:220
+#: src/mn-main.c:219
msgid "Update the mail status"
-msgstr "Mettre à jour le status du courrier"
+msgstr "Mettre à jour le statut du courrier"
-#: src/mn-main.c:229
+#: src/mn-main.c:228
msgid "Report the mail status"
-msgstr "Rapporter le status du courrier"
+msgstr "Rapporter le statut du courrier"
-#: src/mn-main.c:238
+#: src/mn-main.c:237
msgid "Unset obsolete GConf configuration and exit"
msgstr "Supprimer la configuration GConf obsolète et quitter"
@@ -978,11 +1027,11 @@ msgstr "Supprimer la configuration GConf obsolète et quitter"
#. * We can't use mn_error_dialog() because gtk_init() has not been
#. * called yet.
#.
-#: src/mn-main.c:264
+#: src/mn-main.c:263
msgid "multi-threading is not available"
msgstr "le multi-threading n'est pas disponible"
-#: src/mn-main.c:309
+#: src/mn-main.c:310
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
@@ -990,19 +1039,19 @@ msgstr ""
"Bonobo n'a pas pu localiser l'objet automation. Veuillez vérifier votre "
"installation de la Notification de Courrier."
-#: src/mn-main.c:314
+#: src/mn-main.c:315
msgid "Unable to initialize the GnomeVFS library."
msgstr "Impossible d'initialiser la bibliothèque GnomeVFS."
-#: src/mn-main.c:350
+#: src/mn-main.c:351
msgid "updating the mail status"
-msgstr "mise à jour du status du courrier"
+msgstr "mise à jour du statut du courrier"
-#: src/mn-main.c:368
+#: src/mn-main.c:369
msgid "Mail Notification is already running"
msgstr "La Notification de Courrier est déjà en cours d'exécution"
-#: src/mn-main.c:375
+#: src/mn-main.c:376
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
@@ -1010,7 +1059,7 @@ msgstr ""
"Bonobo n'a pas pu localiser le fichier GNOME_MailNotification_Automation."
"server. Veuillez vérifier votre installation de la Notification de Courrier."
-#: src/mn-main.c:379
+#: src/mn-main.c:380
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -1072,11 +1121,18 @@ msgid_plural "%i days ago"
msgstr[0] "il y a %i jour"
msgstr[1] "il y a %i jours"
+#: src/mn-message-label.gob:170
+#, c-format
+msgid "%i week ago"
+msgid_plural "%i weeks ago"
+msgstr[0] "il y a %i semaine"
+msgstr[1] "il y a %i semaines"
+
#: src/mn-message-mime.c:105
msgid "unable to parse MIME message"
msgstr "impossible d'interpréter le message MIME"
-#: src/mn-message.gob:82
+#: src/mn-message.gob:101
msgid "Unknown"
msgstr "Inconnu"
@@ -1114,113 +1170,120 @@ msgstr "SSL/TLS _interne"
msgid "SSL/TLS on sepa_rate port"
msgstr "SSL/TLS sur port sépa_ré"
-#: src/mn-pop3-mailbox-properties.gob:86
+#: src/mn-pop3-mailbox-properties.gob:85
msgid "The hostname or IP address of the POP3 server"
msgstr "Le nom d'hôte ou adresse IP du serveur POP3"
-#: src/mn-pop3-mailbox-properties.gob:87
+#: src/mn-pop3-mailbox-properties.gob:86
msgid "Your username on the POP3 server"
msgstr "Votre nom d'utilisateur sur le serveur POP3"
-#: src/mn-pop3-mailbox-properties.gob:88
-msgid "Your password on the POP3 server"
-msgstr "Votre mot de passe sur le serveur POP3"
+#: src/mn-pop3-mailbox-properties.gob:87
+msgid ""
+"Your password on the POP3 server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"Votre mot de passe sur le serveur POP3 (si laissé vide, le mot de passe vous "
+"sera demandé en temps utile)"
-#: src/mn-pop3-mailbox-properties.gob:89 src/mn-pop3-mailbox-properties.gob:90
+#: src/mn-pop3-mailbox-properties.gob:88 src/mn-pop3-mailbox-properties.gob:89
msgid "The port number of the POP3 server"
msgstr "Le numéro de port du serveur POP3"
-#: src/mn-pop3-mailbox.gob:271
+#: src/mn-pop3-mailbox.gob:272
msgid "invalid arguments for the LOGIN-DELAY capability"
msgstr "arguments invalides pour la possibilité LOGIN-DELAY"
-#: src/mn-pop3-mailbox.gob:536
+#: src/mn-pop3-mailbox.gob:549
msgid "unknown error"
msgstr "erreur inconnue"
-#: src/mn-pop3-mailbox.gob:666
+#: src/mn-pop3-mailbox.gob:681
#, c-format
msgid "honouring LOGIN-DELAY, sleeping for %i second"
msgid_plural "honouring LOGIN-DELAY, sleeping for %i seconds"
msgstr[0] "attente de %i seconde afin d'obéir à LOGIN-DELAY"
msgstr[1] "attente de %i secondes afin d'obéir à LOGIN-DELAY"
-#: src/mn-pop3-mailbox.gob:831
+#: src/mn-pop3-mailbox.gob:840
msgid "server does not support APOP authentication"
msgstr "le serveur ne supporte pas l'authentification APOP"
-#: src/mn-pop3-mailbox.gob:859
+#: src/mn-pop3-mailbox.gob:868
msgid "falling back to APOP authentication"
msgstr "rétrogradation vers l'authentification APOP"
-#: src/mn-pop3-mailbox.gob:864
+#: src/mn-pop3-mailbox.gob:873
msgid "falling back to USER/PASS authentication"
msgstr "rétrogradation vers l'authentification USER/PASS"
-#: src/mn-properties.c:161
+#: src/mn-properties.c:170
msgid "top left"
msgstr "en haut à gauche"
-#: src/mn-properties.c:162
+#: src/mn-properties.c:171
msgid "top right"
msgstr "en haut à droite"
-#: src/mn-properties.c:163
+#: src/mn-properties.c:172
msgid "bottom left"
msgstr "en bas à gauche"
-#: src/mn-properties.c:164
+#: src/mn-properties.c:173
msgid "bottom right"
msgstr "en bas à droite"
-#: src/mn-properties.c:240
+#: src/mn-properties.c:251
msgid "No mailbox selected."
msgstr "Pas de boîte aux lettres sélectionnée."
-#: src/mn-properties.c:245
+#: src/mn-properties.c:256
#, 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"
-#: src/mn-shell.gob:84
+#: src/mn-shell.gob:86
msgid "You have new mail."
msgstr "Vous avez du nouveau courrier."
-#: src/mn-shell.gob:96
-msgid "A command error has occurred in Mail Notification"
-msgstr "Une erreur de commande s'est produite dans la Notification de Courrier"
-
-#: src/mn-shell.gob:97
-#, 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: %"
-"s"
-
-#: src/mn-shell.gob:270
+#: src/mn-shell.gob:263
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"
-#: src/mn-shell.gob:274
+#: src/mn-shell.gob:267
msgid "You have no new mail."
msgstr "Vous n'avez pas de nouveau courrier."
-#: src/mn-shell.gob:277
+#: src/mn-shell.gob:270
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"
-#: src/mn-shell.gob:282
+#: src/mn-shell.gob:275
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"
+#: src/mn-shell.gob:320
+msgid "A command error has occurred in Mail Notification"
+msgstr "Une erreur de commande s'est produite dans la Notification de Courrier"
+
+#: src/mn-shell.gob:321
+#, c-format
+msgid "Unable to execute \"%s\": %s."
+msgstr "Impossible d'exécuter \"%s\": %s"
+
+#: src/mn-soup.c:140
+#, c-format
+msgid "unable to parse proxy URI \"%s\""
+msgstr "impossible d'interpréter l'URI de proxy \"%s\""
+
#: src/mn-ssl.c:79
msgid "unknown SSL/TLS error"
msgstr "erreur SSL/TLS inconnue"
@@ -1248,7 +1311,7 @@ msgstr "impossible de fermer le dossier: %s"
msgid "error while reading folder: %s"
msgstr "erreur lors de la lecture du dossier: %s"
-#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:393
+#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:411
msgid "System Mailbox"
msgstr "Boîte aux Lettres Système"
@@ -1320,6 +1383,14 @@ msgstr "impossible d'obtenir l'heure courante: %s"
msgid "invalid signal specification \"%s\""
msgstr "spécification de signal \"%s\" invalide"
+#: ui/authentication.glade.h:1 ui/properties.glade.h:2
+msgid "*"
+msgstr "*"
+
+#: ui/authentication.glade.h:2
+msgid "_Authenticate"
+msgstr "S'_Authentifier"
+
#: ui/mailbox-properties.glade.h:1
msgid "_Mailbox type:"
msgstr "_Type de boîte aux lettres:"
@@ -1328,60 +1399,64 @@ msgstr "_Type de boîte aux lettres:"
msgid " "
msgstr " "
-#: ui/properties.glade.h:2
-msgid "*"
-msgstr "*"
-
#: ui/properties.glade.h:3
+msgid "<span weight=\"bold\">Commands</span>"
+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>"
-#: ui/properties.glade.h:4
+#: ui/properties.glade.h:5
msgid "<span weight=\"bold\">Mailbox List</span>"
msgstr "<span weight=\"bold\">Liste des Boîtes aux Lettres</span>"
-#: ui/properties.glade.h:5
+#: ui/properties.glade.h:6
msgid "<span weight=\"bold\">Position</span>"
msgstr "<span weight=\"bold\">Position</span>"
-#: ui/properties.glade.h:6
+#: ui/properties.glade.h:7
msgid "General"
msgstr "Général"
-#: ui/properties.glade.h:7
+#: ui/properties.glade.h:8
msgid "Hori_zontal offset:"
msgstr "Décalage hori_zontal:"
-#: ui/properties.glade.h:8
+#: ui/properties.glade.h:9
msgid "Mail Notification Properties"
msgstr "Propriétés de la Notification de Courrier"
-#: ui/properties.glade.h:9
+#: ui/properties.glade.h:10
msgid "Mail Summary Popup"
msgstr "Popup d'Aperçu du Courrier"
-#: ui/properties.glade.h:10
+#: ui/properties.glade.h:11
msgid "Mailboxes"
msgstr "Boîtes aux Lettres"
-#: ui/properties.glade.h:11
+#: ui/properties.glade.h:12
msgid "P_osition:"
msgstr "P_osition:"
-#: ui/properties.glade.h:12
+#: ui/properties.glade.h:13
msgid "The amount of time to wait before closing the mail summary popup"
msgstr ""
"La quantité de temps à attendre avant de fermer le popup d'aperçu du courrier"
-#: ui/properties.glade.h:13
+#: ui/properties.glade.h:14
msgid "The amount of time to wait between mail checks"
msgstr "La quantité de temps à attendre entre les vérifications de courrier"
-#: ui/properties.glade.h:14
+#: ui/properties.glade.h:15
+msgid "The command to run when all mail is read"
+msgstr "La commande à exécuter lorsque tout le courrier est lu"
+
+#: ui/properties.glade.h:16
msgid "The command to run when new mail arrives"
msgstr "La commande à exécuter lorsque du nouveau courrier arrive"
-#: ui/properties.glade.h:15
+#: ui/properties.glade.h:17
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup"
@@ -1389,7 +1464,7 @@ msgstr ""
"Le nombre de pixels à laisser entre la gauche ou la droite de l'écran et le "
"popup d'aperçu du courrier"
-#: ui/properties.glade.h:16
+#: ui/properties.glade.h:18
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup"
@@ -1397,27 +1472,40 @@ msgstr ""
"Le nombre de pixels à laisser entre le haut ou le bas de l'écran et le popup "
"d'aperçu du courrier"
-#: ui/properties.glade.h:17
+#: ui/properties.glade.h:19
+msgid "When _all mail is read:"
+msgstr "Quand _tout le courrier est lu:"
+
+#: ui/properties.glade.h:20
+msgid "When _new mail arrives:"
+msgstr "Quand du _nouveau courrier arrive:"
+
+#: ui/properties.glade.h:21
msgid "Whether the status icon should blink on errors or not"
-msgstr "Si l'icône de status doit clignoter lors d'erreurs ou pas"
+msgstr "Si l'icône de statut doit clignoter lors d'erreurs ou pas"
-#: ui/properties.glade.h:18
+#: ui/properties.glade.h:22
msgid "Whether to automatically close the mail summary popup or not"
msgstr ""
"Si le popup d'aperçu du courrier doit être automatiquement fermé ou pas"
-#: ui/properties.glade.h:19
+#: ui/properties.glade.h:23
msgid "Whether to display the mail summary popup when new mail arrives or not"
msgstr ""
"Si le popup d'aperçu du courrier doit être affiché lorsque du nouveau "
"courrier arrive ou pas"
-#: ui/properties.glade.h:20
+#: ui/properties.glade.h:24
+msgid "Whether to run a command when all mail is read or not"
+msgstr ""
+"Si une commande doit être exécutée lorsque tout le courrier est lu ou pas"
+
+#: ui/properties.glade.h:25
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"
-#: ui/properties.glade.h:21
+#: ui/properties.glade.h:26
msgid ""
"Whether to start Mail Notification when you log into your GNOME session or "
"not"
@@ -1425,44 +1513,40 @@ msgstr ""
"Si la Notification de Courrier doit être démarrée lorsque vous ouvrez votre "
"session GNOME ou pas"
-#: ui/properties.glade.h:22
+#: ui/properties.glade.h:27
msgid "_Automatically close after:"
msgstr "_Fermer automatiquement après:"
-#: ui/properties.glade.h:23
+#: ui/properties.glade.h:28
msgid "_Blink on errors"
msgstr "_Clignoter lors d'erreurs"
-#: ui/properties.glade.h:24
+#: ui/properties.glade.h:29
msgid "_Delay between mail checks:"
msgstr "_Délai entre les vérifications de courrier:"
-#: ui/properties.glade.h:25
+#: ui/properties.glade.h:30
msgid "_Enable mail summary popup"
msgstr "_Activer le popup d'aperçu du courrier"
-#: ui/properties.glade.h:26
-msgid "_Run a command when new mail arrives:"
-msgstr "_Exécuter une commande lorsque du nouveau courrier arrive:"
-
-#: ui/properties.glade.h:27
+#: ui/properties.glade.h:31
msgid "_Start Mail Notification on GNOME login"
msgstr ""
"_Démarrer la Notification de Courrier lors de l'ouverture de session GNOME"
-#: ui/properties.glade.h:28
+#: ui/properties.glade.h:32
msgid "_Vertical offset:"
msgstr "Décalage _vertical:"
-#: ui/properties.glade.h:29
+#: ui/properties.glade.h:33
msgid "minutes"
msgstr "minutes"
-#: ui/properties.glade.h:30
+#: ui/properties.glade.h:34
msgid "pixels"
msgstr "pixels"
-#: ui/properties.glade.h:31
+#: ui/properties.glade.h:35
msgid "seconds"
msgstr "secondes"
diff --git a/po/mail-notification.pot b/po/mail-notification.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-10-06 19:31+0200\n"
+"POT-Creation-Date: 2004-10-25 15:26+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"
@@ -32,7 +32,7 @@ msgstr ""
#: data/mail-notification-properties.desktop.in.h:2
#: data/mail-notification.desktop.in.h:2
#: data/mail-notification.soundlist.in.h:1 src/mn-about-dialog.gob:40
-#: src/mn-mail-icon.gob:163 src/mn-main.c:272
+#: src/mn-mail-icon.gob:163 src/mn-main.c:271
msgid "Mail Notification"
msgstr ""
@@ -81,145 +81,161 @@ msgid "Height of properties dialog"
msgstr ""
#: data/mail-notification.schemas.in.h:11
-msgid "Mail summary popup horizontal offset"
+msgid "Mail read command"
msgstr ""
#: data/mail-notification.schemas.in.h:12
-msgid "Mail summary popup position"
+msgid "Mail summary popup horizontal offset"
msgstr ""
#: data/mail-notification.schemas.in.h:13
-msgid "Mail summary popup vertical offset"
+msgid "Mail summary popup position"
msgstr ""
#: data/mail-notification.schemas.in.h:14
-msgid "Mailbox list"
+msgid "Mail summary popup vertical offset"
msgstr ""
#: data/mail-notification.schemas.in.h:15
-msgid "Minutes between mail checks"
+msgid "Mailbox list"
msgstr ""
#: data/mail-notification.schemas.in.h:16
-msgid "Minutes to wait before closing the mail summary popup"
+msgid "Minutes between mail checks"
msgstr ""
#: data/mail-notification.schemas.in.h:17
-msgid "New mail command"
+msgid "Minutes to wait before closing the mail summary popup"
msgstr ""
#: data/mail-notification.schemas.in.h:18
-msgid "Run a command when new mail arrives"
+msgid "New mail command"
msgstr ""
#: data/mail-notification.schemas.in.h:19
-msgid "Seconds between mail checks"
+msgid "Run a command when all mail is read"
msgstr ""
#: data/mail-notification.schemas.in.h:20
-msgid "Seconds to wait before closing the mail summary popup"
+msgid "Run a command when new mail arrives"
msgstr ""
#: data/mail-notification.schemas.in.h:21
+msgid "Seconds between mail checks"
+msgstr ""
+
+#: data/mail-notification.schemas.in.h:22
+msgid "Seconds to wait before closing the mail summary popup"
+msgstr ""
+
+#: data/mail-notification.schemas.in.h:23
msgid ""
"The amount of time to wait before closing the mail summary popup (minutes "
"part)."
msgstr ""
-#: data/mail-notification.schemas.in.h:22
+#: data/mail-notification.schemas.in.h:24
msgid ""
"The amount of time to wait before closing the mail summary popup (seconds "
"part)."
msgstr ""
-#: data/mail-notification.schemas.in.h:23
+#: data/mail-notification.schemas.in.h:25
+msgid "The command to run when all mail is read."
+msgstr ""
+
+#: data/mail-notification.schemas.in.h:26
msgid "The command to run when new mail arrives."
msgstr ""
-#: data/mail-notification.schemas.in.h:24
+#: data/mail-notification.schemas.in.h:27
msgid "The height of the mail summary dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:25
+#: data/mail-notification.schemas.in.h:28
msgid "The height of the properties dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:26
+#: data/mail-notification.schemas.in.h:29
msgid "The list of mailboxes to monitor."
msgstr ""
-#: data/mail-notification.schemas.in.h:27
+#: data/mail-notification.schemas.in.h:30
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
msgstr ""
-#: data/mail-notification.schemas.in.h:28
+#: data/mail-notification.schemas.in.h:31
msgid ""
"The list of trusted X509 certificates, represented by their MD5 fingerprint."
msgstr ""
-#: data/mail-notification.schemas.in.h:29
+#: data/mail-notification.schemas.in.h:32
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup."
msgstr ""
-#: data/mail-notification.schemas.in.h:30
+#: data/mail-notification.schemas.in.h:33
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup."
msgstr ""
-#: data/mail-notification.schemas.in.h:31
+#: data/mail-notification.schemas.in.h:34
msgid ""
"The position of the mail summary popup. Must be \"top-left\", \"top-right\", "
"\"bottom-left\" or \"bottom-right\"."
msgstr ""
-#: data/mail-notification.schemas.in.h:32
+#: data/mail-notification.schemas.in.h:35
msgid "The width of the mail summary dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:33
+#: data/mail-notification.schemas.in.h:36
msgid "The width of the properties dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:34
+#: data/mail-notification.schemas.in.h:37
msgid "Trusted servers list"
msgstr ""
-#: data/mail-notification.schemas.in.h:35
+#: data/mail-notification.schemas.in.h:38
msgid "Whether Mail Notification has already been run or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:36
+#: data/mail-notification.schemas.in.h:39
msgid "Whether the status icon should blink on errors or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:37
+#: data/mail-notification.schemas.in.h:40
msgid "Whether to automatically close the mail summary popup or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:38
+#: data/mail-notification.schemas.in.h:41
msgid "Whether to display the mail summary popup when new mail arrives or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:39
+#: data/mail-notification.schemas.in.h:42
msgid ""
"Whether to prevent the immediate notification error dialog from being "
"displayed or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:40
+#: data/mail-notification.schemas.in.h:43
+msgid "Whether to run a command when all mail is read or not."
+msgstr ""
+
+#: data/mail-notification.schemas.in.h:44
msgid "Whether to run a command when new mail arrives or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:41
+#: data/mail-notification.schemas.in.h:45
msgid "Width of mail summary dialog"
msgstr ""
-#: data/mail-notification.schemas.in.h:42
+#: data/mail-notification.schemas.in.h:46
msgid "Width of properties dialog"
msgstr ""
@@ -248,6 +264,31 @@ msgstr ""
msgid "<span style=\"italic\">autodetect</span>"
msgstr ""
+#. translator: example output: Enter your password for POP3 mailbox jylefort@localhost.
+#: src/mn-authenticated-mailbox.gob:77
+#, c-format
+msgid "Enter your password for %s mailbox %s."
+msgstr ""
+
+#. translator: example output: ... into POP3 mailbox jylefort@localhost ...
+#: src/mn-authenticated-mailbox.gob:98
+#, c-format
+msgid ""
+"Mail Notification was unable to log into %s mailbox %s, possibly because the "
+"password you have entered is invalid.\n"
+"\n"
+"Please re-enter your password."
+msgstr ""
+
+#: src/mn-authenticated-mailbox.gob:164
+#, c-format
+msgid ""
+"<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</"
+"span>\n"
+"\n"
+"%s"
+msgstr ""
+
#: src/mn-autodetect-mailbox-properties.gob:68
msgid "_Location:"
msgstr ""
@@ -500,51 +541,43 @@ msgstr ""
msgid "completed"
msgstr ""
-#: src/mn-gmail-mailbox-properties.gob:79
+#: src/mn-gmail-mailbox-properties.gob:77
msgid "Your Gmail username"
msgstr ""
-#: src/mn-gmail-mailbox-properties.gob:80
-msgid "Your Gmail password"
+#: src/mn-gmail-mailbox-properties.gob:78
+msgid ""
+"Your Gmail password (if left blank, you will be prompted for the password "
+"when needed)"
msgstr ""
-#: src/mn-gmail-mailbox.gob:65
+#: src/mn-gmail-mailbox.gob:63
msgid "libsoup has not been compiled with SSL/TLS support"
msgstr ""
-#: src/mn-gmail-mailbox.gob:110 src/mn-gmail-mailbox.gob:331
+#: src/mn-gmail-mailbox.gob:105
#, c-format
msgid "unable to parse URI \"%s\""
msgstr ""
-#: src/mn-gmail-mailbox.gob:257
-msgid "logging in"
-msgstr ""
-
-#: src/mn-gmail-mailbox.gob:271 src/mn-gmail-mailbox.gob:342
-#: src/mn-gmail-mailbox.gob:380 src/mn-gmail-mailbox.gob:415
-msgid "login failed"
-msgstr ""
-
-#: src/mn-gmail-mailbox.gob:283 src/mn-gmail-mailbox.gob:356
-#: src/mn-gmail-mailbox.gob:394 src/mn-gmail-mailbox.gob:503
+#: src/mn-gmail-mailbox.gob:159
#, c-format
msgid "unable to transfer data: %s"
msgstr ""
-#: src/mn-gmail-mailbox.gob:409
-msgid "successfully logged in"
+#: src/mn-gmail-mailbox.gob:280
+msgid "logging in"
msgstr ""
-#: src/mn-gmail-mailbox.gob:487
-msgid "searching for unread mail"
+#: src/mn-gmail-mailbox.gob:358
+msgid "login failed"
msgstr ""
-#: src/mn-gmail-mailbox.gob:491
-msgid "unable to search for unread mail"
+#: src/mn-gmail-mailbox.gob:433
+msgid "searching for unread mail"
msgstr ""
-#: src/mn-gmail-mailbox.gob:604
+#: src/mn-gmail-mailbox.gob:529
msgid "unable to parse Gmail data"
msgstr ""
@@ -573,89 +606,91 @@ msgstr ""
msgid "unable to close %s: %s"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:94
+#: src/mn-imap-mailbox-properties.gob:93
msgid "Mailbox:"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:98
+#: src/mn-imap-mailbox-properties.gob:97
msgid "in_box"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:109
+#: src/mn-imap-mailbox-properties.gob:108
msgid "oth_er:"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:124
+#: src/mn-imap-mailbox-properties.gob:123
msgid "The hostname or IP address of the IMAP server"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:125
+#: src/mn-imap-mailbox-properties.gob:124
msgid "Your username on the IMAP server"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:126
-msgid "Your password on the IMAP server"
+#: src/mn-imap-mailbox-properties.gob:125
+msgid ""
+"Your password on the IMAP server (if left blank, you will be prompted for "
+"the password when needed)"
msgstr ""
+#: src/mn-imap-mailbox-properties.gob:126
#: src/mn-imap-mailbox-properties.gob:127
-#: src/mn-imap-mailbox-properties.gob:128
msgid "The port number of the IMAP server"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:129
+#: src/mn-imap-mailbox-properties.gob:128
msgid "The mailbox name"
msgstr ""
-#: src/mn-imap-mailbox.gob:132 src/mn-pop3-mailbox.gob:141
+#: src/mn-imap-mailbox.gob:133 src/mn-pop3-mailbox.gob:142
msgid "SSL/TLS support has not been compiled in"
msgstr ""
-#: src/mn-imap-mailbox.gob:203
+#: src/mn-imap-mailbox.gob:204
msgid "server did not send capabilities"
msgstr ""
-#: src/mn-imap-mailbox.gob:318
+#: src/mn-imap-mailbox.gob:319
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
msgstr ""
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:320
msgid "unable to login"
msgstr ""
#. compliance error
-#: src/mn-imap-mailbox.gob:447
+#: src/mn-imap-mailbox.gob:451
msgid "server did not send search results"
msgstr ""
#. compliance error
-#: src/mn-imap-mailbox.gob:523
+#: src/mn-imap-mailbox.gob:527
msgid "server did not send all the messages we requested"
msgstr ""
-#: src/mn-imap-mailbox.gob:570
+#: src/mn-imap-mailbox.gob:574
msgid "unable to fetch message"
msgstr ""
#. compliance error
-#: src/mn-imap-mailbox.gob:617
+#: src/mn-imap-mailbox.gob:621
msgid "server did not send status"
msgstr ""
-#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:903
+#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:913
msgid "unknown server error"
msgstr ""
-#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:225
+#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:226
msgid "server does not support in-band SSL/TLS"
msgstr ""
-#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:823
+#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:832
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
msgstr ""
-#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:835
+#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:844
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr ""
@@ -664,7 +699,7 @@ msgstr ""
msgid "falling back to IMAP LOGIN authentication"
msgstr ""
-#: src/mn-imap-mailbox.gob:976 src/mn-pop3-mailbox.gob:869
+#: src/mn-imap-mailbox.gob:977 src/mn-pop3-mailbox.gob:879
msgid "authentication failed"
msgstr ""
@@ -685,11 +720,11 @@ msgstr ""
msgid "%s Properties"
msgstr ""
-#: src/mn-mailbox-properties-util.c:77
+#: src/mn-mailbox-properties-util.c:77 ui/authentication.glade.h:4
msgid "_Username:"
msgstr ""
-#: src/mn-mailbox-properties-util.c:87
+#: src/mn-mailbox-properties-util.c:87 ui/authentication.glade.h:3
msgid "_Password:"
msgstr ""
@@ -746,44 +781,44 @@ msgstr ""
msgid "The mailbox is already in the list."
msgstr ""
-#: src/mn-mailbox.gob:133
+#: src/mn-mailbox.gob:130
msgid "The mailbox URI"
msgstr ""
-#: src/mn-mailbox.gob:144
+#: src/mn-mailbox.gob:141
msgid "The mailbox human-readable name"
msgstr ""
-#: src/mn-mailbox.gob:148
+#: src/mn-mailbox.gob:145
msgid "Whether the mailbox has to be manually checked or not"
msgstr ""
-#: src/mn-mailbox.gob:153
+#: src/mn-mailbox.gob:150
msgid "Whether the mailbox has new mail or not"
msgstr ""
-#: src/mn-mailbox.gob:158
+#: src/mn-mailbox.gob:155
msgid "The list of new and unread MNMessage objects"
msgstr ""
-#: src/mn-mailbox.gob:212
+#: src/mn-mailbox.gob:209
msgid "The mailbox error, if any"
msgstr ""
-#: src/mn-mailbox.gob:310
+#: src/mn-mailbox.gob:308
msgid "does not exist"
msgstr ""
-#: src/mn-mailbox.gob:342
+#: src/mn-mailbox.gob:340
msgid "unknown format"
msgstr ""
-#: src/mn-mailbox.gob:408
+#: src/mn-mailbox.gob:406
#, c-format
msgid "unable to enable immediate notification for %s: %s"
msgstr ""
-#: src/mn-mailbox.gob:426
+#: src/mn-mailbox.gob:424
#, c-format
msgid ""
"As a fallback, they will be checked every %i second (this delay is "
@@ -794,7 +829,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/mn-mailbox.gob:437
+#: src/mn-mailbox.gob:435
#, c-format
msgid ""
"As a fallback, they will be checked every %i minute (this delay is "
@@ -805,7 +840,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/mn-mailbox.gob:448
+#: src/mn-mailbox.gob:446
#, c-format
msgid ""
"As a fallback, they will be checked approximately every %i minute (this "
@@ -816,37 +851,37 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/mn-mailbox.gob:464
+#: src/mn-mailbox.gob:462
msgid "A monitoring error has occurred"
msgstr ""
-#: src/mn-mailbox.gob:465
+#: src/mn-mailbox.gob:463
#, c-format
msgid ""
"Mail Notification was unable to enable immediate notification for one or "
"more mailboxes. %s"
msgstr ""
-#: src/mn-mailboxes.gob:133
+#: src/mn-mailboxes.gob:143
msgid "Whether one or more of the mailboxes has to be polled"
msgstr ""
-#: src/mn-mailboxes.gob:266
+#: src/mn-mailboxes.gob:276
#, c-format
msgid "%s is unsupported: %s"
msgstr ""
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has new mail"
msgstr ""
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has no new mail"
msgstr ""
-#: src/mn-mailboxes.gob:323
+#: src/mn-mailboxes.gob:333
#, c-format
msgid "%s reported an error: %s"
msgstr ""
@@ -866,49 +901,49 @@ msgstr ""
msgid "error while reading folder \"new\": %s"
msgstr ""
-#: src/mn-main.c:97
+#: src/mn-main.c:96
#, c-format
msgid "Compiled-in mailbox backends: %s\n"
msgstr ""
-#: src/mn-main.c:114
+#: src/mn-main.c:113
#, c-format
msgid "Compiled-in features: %s\n"
msgstr ""
-#: src/mn-main.c:166
+#: src/mn-main.c:165
msgid "Enable informational output"
msgstr ""
-#: src/mn-main.c:175
+#: src/mn-main.c:174
msgid "List compiled-in features and exit"
msgstr ""
-#: src/mn-main.c:184
+#: src/mn-main.c:183
msgid "Display the mail summary dialog"
msgstr ""
-#: src/mn-main.c:193
+#: src/mn-main.c:192
msgid "Display the properties dialog"
msgstr ""
-#: src/mn-main.c:202
+#: src/mn-main.c:201
msgid "Display the about dialog"
msgstr ""
-#: src/mn-main.c:211
+#: src/mn-main.c:210
msgid "Close the mail summary popup"
msgstr ""
-#: src/mn-main.c:220
+#: src/mn-main.c:219
msgid "Update the mail status"
msgstr ""
-#: src/mn-main.c:229
+#: src/mn-main.c:228
msgid "Report the mail status"
msgstr ""
-#: src/mn-main.c:238
+#: src/mn-main.c:237
msgid "Unset obsolete GConf configuration and exit"
msgstr ""
@@ -916,35 +951,35 @@ msgstr ""
#. * We can't use mn_error_dialog() because gtk_init() has not been
#. * called yet.
#.
-#: src/mn-main.c:264
+#: src/mn-main.c:263
msgid "multi-threading is not available"
msgstr ""
-#: src/mn-main.c:309
+#: src/mn-main.c:310
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
msgstr ""
-#: src/mn-main.c:314
+#: src/mn-main.c:315
msgid "Unable to initialize the GnomeVFS library."
msgstr ""
-#: src/mn-main.c:350
+#: src/mn-main.c:351
msgid "updating the mail status"
msgstr ""
-#: src/mn-main.c:368
+#: src/mn-main.c:369
msgid "Mail Notification is already running"
msgstr ""
-#: src/mn-main.c:375
+#: src/mn-main.c:376
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
msgstr ""
-#: src/mn-main.c:379
+#: src/mn-main.c:380
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -1004,11 +1039,18 @@ msgid_plural "%i days ago"
msgstr[0] ""
msgstr[1] ""
+#: src/mn-message-label.gob:170
+#, c-format
+msgid "%i week ago"
+msgid_plural "%i weeks ago"
+msgstr[0] ""
+msgstr[1] ""
+
#: src/mn-message-mime.c:105
msgid "unable to parse MIME message"
msgstr ""
-#: src/mn-message.gob:82
+#: src/mn-message.gob:101
msgid "Unknown"
msgstr ""
@@ -1046,111 +1088,118 @@ msgstr ""
msgid "SSL/TLS on sepa_rate port"
msgstr ""
-#: src/mn-pop3-mailbox-properties.gob:86
+#: src/mn-pop3-mailbox-properties.gob:85
msgid "The hostname or IP address of the POP3 server"
msgstr ""
-#: src/mn-pop3-mailbox-properties.gob:87
+#: src/mn-pop3-mailbox-properties.gob:86
msgid "Your username on the POP3 server"
msgstr ""
-#: src/mn-pop3-mailbox-properties.gob:88
-msgid "Your password on the POP3 server"
+#: src/mn-pop3-mailbox-properties.gob:87
+msgid ""
+"Your password on the POP3 server (if left blank, you will be prompted for "
+"the password when needed)"
msgstr ""
-#: src/mn-pop3-mailbox-properties.gob:89 src/mn-pop3-mailbox-properties.gob:90
+#: src/mn-pop3-mailbox-properties.gob:88 src/mn-pop3-mailbox-properties.gob:89
msgid "The port number of the POP3 server"
msgstr ""
-#: src/mn-pop3-mailbox.gob:271
+#: src/mn-pop3-mailbox.gob:272
msgid "invalid arguments for the LOGIN-DELAY capability"
msgstr ""
-#: src/mn-pop3-mailbox.gob:536
+#: src/mn-pop3-mailbox.gob:549
msgid "unknown error"
msgstr ""
-#: src/mn-pop3-mailbox.gob:666
+#: src/mn-pop3-mailbox.gob:681
#, c-format
msgid "honouring LOGIN-DELAY, sleeping for %i second"
msgid_plural "honouring LOGIN-DELAY, sleeping for %i seconds"
msgstr[0] ""
msgstr[1] ""
-#: src/mn-pop3-mailbox.gob:831
+#: src/mn-pop3-mailbox.gob:840
msgid "server does not support APOP authentication"
msgstr ""
-#: src/mn-pop3-mailbox.gob:859
+#: src/mn-pop3-mailbox.gob:868
msgid "falling back to APOP authentication"
msgstr ""
-#: src/mn-pop3-mailbox.gob:864
+#: src/mn-pop3-mailbox.gob:873
msgid "falling back to USER/PASS authentication"
msgstr ""
-#: src/mn-properties.c:161
+#: src/mn-properties.c:170
msgid "top left"
msgstr ""
-#: src/mn-properties.c:162
+#: src/mn-properties.c:171
msgid "top right"
msgstr ""
-#: src/mn-properties.c:163
+#: src/mn-properties.c:172
msgid "bottom left"
msgstr ""
-#: src/mn-properties.c:164
+#: src/mn-properties.c:173
msgid "bottom right"
msgstr ""
-#: src/mn-properties.c:240
+#: src/mn-properties.c:251
msgid "No mailbox selected."
msgstr ""
-#: src/mn-properties.c:245
+#: src/mn-properties.c:256
#, c-format
msgid "%i mailbox selected."
msgid_plural "%i mailboxes selected."
msgstr[0] ""
msgstr[1] ""
-#: src/mn-shell.gob:84
+#: src/mn-shell.gob:86
msgid "You have new mail."
msgstr ""
-#: src/mn-shell.gob:96
-msgid "A command error has occurred in Mail Notification"
-msgstr ""
-
-#: src/mn-shell.gob:97
-#, c-format
-msgid "Unable to execute new mail command: %s."
-msgstr ""
-
-#: src/mn-shell.gob:270
+#: src/mn-shell.gob:263
msgid "The following mailbox has new mail:\n"
msgid_plural "The following mailboxes have new mail:\n"
msgstr[0] ""
msgstr[1] ""
-#: src/mn-shell.gob:274
+#: src/mn-shell.gob:267
msgid "You have no new mail."
msgstr ""
-#: src/mn-shell.gob:277
+#: src/mn-shell.gob:270
msgid "The following mailbox reported an error:\n"
msgid_plural "The following mailboxes reported an error:\n"
msgstr[0] ""
msgstr[1] ""
-#: src/mn-shell.gob:282
+#: src/mn-shell.gob:275
msgid "The following mailbox is unsupported:\n"
msgid_plural "The following mailboxes are unsupported:\n"
msgstr[0] ""
msgstr[1] ""
+#: src/mn-shell.gob:320
+msgid "A command error has occurred in Mail Notification"
+msgstr ""
+
+#: src/mn-shell.gob:321
+#, c-format
+msgid "Unable to execute \"%s\": %s."
+msgstr ""
+
+#: src/mn-soup.c:140
+#, c-format
+msgid "unable to parse proxy URI \"%s\""
+msgstr ""
+
#: src/mn-ssl.c:79
msgid "unknown SSL/TLS error"
msgstr ""
@@ -1178,7 +1227,7 @@ msgstr ""
msgid "error while reading folder: %s"
msgstr ""
-#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:393
+#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:411
msgid "System Mailbox"
msgstr ""
@@ -1246,6 +1295,14 @@ msgstr ""
msgid "invalid signal specification \"%s\""
msgstr ""
+#: ui/authentication.glade.h:1 ui/properties.glade.h:2
+msgid "*"
+msgstr ""
+
+#: ui/authentication.glade.h:2
+msgid "_Authenticate"
+msgstr ""
+
#: ui/mailbox-properties.glade.h:1
msgid "_Mailbox type:"
msgstr ""
@@ -1254,129 +1311,141 @@ msgstr ""
msgid " "
msgstr ""
-#: ui/properties.glade.h:2
-msgid "*"
+#: ui/properties.glade.h:3
+msgid "<span weight=\"bold\">Commands</span>"
msgstr ""
-#: ui/properties.glade.h:3
+#: ui/properties.glade.h:4
msgid "<span weight=\"bold\">General</span>"
msgstr ""
-#: ui/properties.glade.h:4
+#: ui/properties.glade.h:5
msgid "<span weight=\"bold\">Mailbox List</span>"
msgstr ""
-#: ui/properties.glade.h:5
+#: ui/properties.glade.h:6
msgid "<span weight=\"bold\">Position</span>"
msgstr ""
-#: ui/properties.glade.h:6
+#: ui/properties.glade.h:7
msgid "General"
msgstr ""
-#: ui/properties.glade.h:7
+#: ui/properties.glade.h:8
msgid "Hori_zontal offset:"
msgstr ""
-#: ui/properties.glade.h:8
+#: ui/properties.glade.h:9
msgid "Mail Notification Properties"
msgstr ""
-#: ui/properties.glade.h:9
+#: ui/properties.glade.h:10
msgid "Mail Summary Popup"
msgstr ""
-#: ui/properties.glade.h:10
+#: ui/properties.glade.h:11
msgid "Mailboxes"
msgstr ""
-#: ui/properties.glade.h:11
+#: ui/properties.glade.h:12
msgid "P_osition:"
msgstr ""
-#: ui/properties.glade.h:12
+#: ui/properties.glade.h:13
msgid "The amount of time to wait before closing the mail summary popup"
msgstr ""
-#: ui/properties.glade.h:13
+#: ui/properties.glade.h:14
msgid "The amount of time to wait between mail checks"
msgstr ""
-#: ui/properties.glade.h:14
+#: ui/properties.glade.h:15
+msgid "The command to run when all mail is read"
+msgstr ""
+
+#: ui/properties.glade.h:16
msgid "The command to run when new mail arrives"
msgstr ""
-#: ui/properties.glade.h:15
+#: ui/properties.glade.h:17
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup"
msgstr ""
-#: ui/properties.glade.h:16
+#: ui/properties.glade.h:18
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup"
msgstr ""
-#: ui/properties.glade.h:17
+#: ui/properties.glade.h:19
+msgid "When _all mail is read:"
+msgstr ""
+
+#: ui/properties.glade.h:20
+msgid "When _new mail arrives:"
+msgstr ""
+
+#: ui/properties.glade.h:21
msgid "Whether the status icon should blink on errors or not"
msgstr ""
-#: ui/properties.glade.h:18
+#: ui/properties.glade.h:22
msgid "Whether to automatically close the mail summary popup or not"
msgstr ""
-#: ui/properties.glade.h:19
+#: ui/properties.glade.h:23
msgid "Whether to display the mail summary popup when new mail arrives or not"
msgstr ""
-#: ui/properties.glade.h:20
+#: ui/properties.glade.h:24
+msgid "Whether to run a command when all mail is read or not"
+msgstr ""
+
+#: ui/properties.glade.h:25
msgid "Whether to run a command when new mail arrives or not"
msgstr ""
-#: ui/properties.glade.h:21
+#: ui/properties.glade.h:26
msgid ""
"Whether to start Mail Notification when you log into your GNOME session or "
"not"
msgstr ""
-#: ui/properties.glade.h:22
+#: ui/properties.glade.h:27
msgid "_Automatically close after:"
msgstr ""
-#: ui/properties.glade.h:23
+#: ui/properties.glade.h:28
msgid "_Blink on errors"
msgstr ""
-#: ui/properties.glade.h:24
+#: ui/properties.glade.h:29
msgid "_Delay between mail checks:"
msgstr ""
-#: ui/properties.glade.h:25
+#: ui/properties.glade.h:30
msgid "_Enable mail summary popup"
msgstr ""
-#: ui/properties.glade.h:26
-msgid "_Run a command when new mail arrives:"
-msgstr ""
-
-#: ui/properties.glade.h:27
+#: ui/properties.glade.h:31
msgid "_Start Mail Notification on GNOME login"
msgstr ""
-#: ui/properties.glade.h:28
+#: ui/properties.glade.h:32
msgid "_Vertical offset:"
msgstr ""
-#: ui/properties.glade.h:29
+#: ui/properties.glade.h:33
msgid "minutes"
msgstr ""
-#: ui/properties.glade.h:30
+#: ui/properties.glade.h:34
msgid "pixels"
msgstr ""
-#: ui/properties.glade.h:31
+#: ui/properties.glade.h:35
msgid "seconds"
msgstr ""
diff --git a/po/pt.gmo b/po/pt.gmo
Binary files differ.
diff --git a/po/pt.po b/po/pt.po
@@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: mail-notification 0.6.1\n"
+"Project-Id-Version: mail-notification 0.7.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-10-06 19:31+0200\n"
-"PO-Revision-Date: 2004-09-07 00:04+0200\n"
+"POT-Creation-Date: 2004-10-25 15:26+0200\n"
+"PO-Revision-Date: 2004-10-24 11:06+0200\n"
"Last-Translator: Duarte Henriques <duarte_henriques@myrealbox.com>\n"
"Language-Team: Duarte Henriques <duarte_henriques@myrealbox.com>\n"
"MIME-Version: 1.0\n"
@@ -34,7 +34,7 @@ msgstr "Configurar Notificação de Correio"
#: data/mail-notification-properties.desktop.in.h:2
#: data/mail-notification.desktop.in.h:2
#: data/mail-notification.soundlist.in.h:1 src/mn-about-dialog.gob:40
-#: src/mn-mail-icon.gob:163 src/mn-main.c:272
+#: src/mn-mail-icon.gob:163 src/mn-main.c:271
msgid "Mail Notification"
msgstr "Notificação de Correio"
@@ -44,11 +44,11 @@ msgstr "Notificar quando chega novo correio"
#: data/mail-notification.schemas.in.h:1
msgid "Automatically close the mail summary popup"
-msgstr ""
+msgstr "Fechar o popup de resumo de correio automaticamente"
#: data/mail-notification.schemas.in.h:2
msgid "Blink on errors"
-msgstr ""
+msgstr "Piscar em erros"
#: data/mail-notification.schemas.in.h:3
msgid "Delay between mail checks (minutes part)."
@@ -60,178 +60,203 @@ msgstr "Intervalo entre verificações de correio (segundos)."
#: data/mail-notification.schemas.in.h:5
msgid "Do not show the immediate notification error dialog"
-msgstr ""
+msgstr "Não mostrar o diálogo de erro de notificação imediata"
#: data/mail-notification.schemas.in.h:6
msgid "Enable mail summary popup"
-msgstr ""
+msgstr "Activar popup de resumo de correio"
#: data/mail-notification.schemas.in.h:7
msgid "Fingerprints of trusted X509 certificates"
-msgstr ""
+msgstr "Impressões digitais de certificados x509 confiados"
#: data/mail-notification.schemas.in.h:8
msgid "Has already been run"
msgstr "Já foi executado"
#: data/mail-notification.schemas.in.h:9
-#, fuzzy
msgid "Height of mail summary dialog"
-msgstr "Altura do diálogo de propriedades"
+msgstr "Altura do diálogo de resumo de correio"
#: data/mail-notification.schemas.in.h:10
msgid "Height of properties dialog"
msgstr "Altura do diálogo de propriedades"
#: data/mail-notification.schemas.in.h:11
-msgid "Mail summary popup horizontal offset"
-msgstr ""
+msgid "Mail read command"
+msgstr "Comando de leitura de correio"
#: data/mail-notification.schemas.in.h:12
-msgid "Mail summary popup position"
-msgstr ""
+msgid "Mail summary popup horizontal offset"
+msgstr "Intervalo horizontal do popup de resumo de correio"
#: data/mail-notification.schemas.in.h:13
-msgid "Mail summary popup vertical offset"
-msgstr ""
+msgid "Mail summary popup position"
+msgstr "Posição do popup de resumo de correio"
#: data/mail-notification.schemas.in.h:14
-#, fuzzy
-msgid "Mailbox list"
-msgstr "Lista de caixas de correio"
+msgid "Mail summary popup vertical offset"
+msgstr "Intervalo vertical do popup de resumo de correio"
#: data/mail-notification.schemas.in.h:15
+msgid "Mailbox list"
+msgstr "Lista de Caixas de Correio"
+
+#: data/mail-notification.schemas.in.h:16
msgid "Minutes between mail checks"
msgstr "Minutos entre verificações de correio"
-#: data/mail-notification.schemas.in.h:16
+#: data/mail-notification.schemas.in.h:17
msgid "Minutes to wait before closing the mail summary popup"
-msgstr ""
+msgstr "Minutos a esperar antes de fechar o popup de resumo de correio"
-#: data/mail-notification.schemas.in.h:17
+#: data/mail-notification.schemas.in.h:18
msgid "New mail command"
msgstr "Novo comando de correio"
-#: data/mail-notification.schemas.in.h:18
+#: data/mail-notification.schemas.in.h:19
+msgid "Run a command when all mail is read"
+msgstr "Executar um comando quando todo o correio está lido"
+
+#: data/mail-notification.schemas.in.h:20
msgid "Run a command when new mail arrives"
msgstr "Executar um comando quando chega novo correio"
-#: data/mail-notification.schemas.in.h:19
+#: data/mail-notification.schemas.in.h:21
msgid "Seconds between mail checks"
msgstr "Segundos entre verificações de correio"
-#: data/mail-notification.schemas.in.h:20
+#: data/mail-notification.schemas.in.h:22
msgid "Seconds to wait before closing the mail summary popup"
-msgstr ""
+msgstr "Segundos a esperar antes de fechar o popup de resumo de correio"
-#: data/mail-notification.schemas.in.h:21
-#, fuzzy
+#: data/mail-notification.schemas.in.h:23
msgid ""
"The amount of time to wait before closing the mail summary popup (minutes "
"part)."
-msgstr "A quantidade de tempo a esperar entre verificações de correio"
+msgstr ""
+"A quantidade de tempo a esperar antes de fechar o popup de resumo de correio "
+"(parte dos minutos)."
-#: data/mail-notification.schemas.in.h:22
-#, fuzzy
+#: data/mail-notification.schemas.in.h:24
msgid ""
"The amount of time to wait before closing the mail summary popup (seconds "
"part)."
-msgstr "A quantidade de tempo a esperar entre verificações de correio"
+msgstr ""
+"A quantidade de tempo a esperar antes de fechar o popup de resumo de correio "
+"(parte dos segundos)."
-#: data/mail-notification.schemas.in.h:23
+#: data/mail-notification.schemas.in.h:25
+msgid "The command to run when all mail is read."
+msgstr "O comando a executar quando todo o correio está lido."
+
+#: data/mail-notification.schemas.in.h:26
msgid "The command to run when new mail arrives."
msgstr "O comando a executar quando chega novo correio."
-#: data/mail-notification.schemas.in.h:24
-#, fuzzy
+#: data/mail-notification.schemas.in.h:27
msgid "The height of the mail summary dialog in pixels."
-msgstr "A altura em pixeis do diálogo de propriedades."
+msgstr "A altura em pixeis do diálogo de resumo de correio."
-#: data/mail-notification.schemas.in.h:25
+#: data/mail-notification.schemas.in.h:28
msgid "The height of the properties dialog in pixels."
msgstr "A altura em pixeis do diálogo de propriedades."
-#: data/mail-notification.schemas.in.h:26
+#: data/mail-notification.schemas.in.h:29
msgid "The list of mailboxes to monitor."
msgstr "A lista de caixas de correio a monitorizar."
-#: data/mail-notification.schemas.in.h:27
+#: data/mail-notification.schemas.in.h:30
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
msgstr ""
+"A lista de servidores SSL/TLS confiados (hostname:port) se faltar um "
+"certificado x509."
-#: data/mail-notification.schemas.in.h:28
+#: data/mail-notification.schemas.in.h:31
msgid ""
"The list of trusted X509 certificates, represented by their MD5 fingerprint."
msgstr ""
+"A lista de certificados x509 confiados, representados pela sua fingerprint "
+"MD5."
-#: data/mail-notification.schemas.in.h:29
+#: data/mail-notification.schemas.in.h:32
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup."
msgstr ""
+"O número de pixeis a deixar entre o extremo esquerdo ou direito do ecran e o "
+"popup de resumo de correio."
-#: data/mail-notification.schemas.in.h:30
+#: data/mail-notification.schemas.in.h:33
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup."
msgstr ""
+"O número de pixeis a deixar entre o topo ou fundo do ecran e o popup de "
+"resumo de correio."
-#: data/mail-notification.schemas.in.h:31
+#: data/mail-notification.schemas.in.h:34
msgid ""
"The position of the mail summary popup. Must be \"top-left\", \"top-right\", "
"\"bottom-left\" or \"bottom-right\"."
msgstr ""
+"A posição do popup de resumo de correio. Tem de ser \"top-left\", \"top-right"
+"\", \"bottom-left\" ou \"bottom-right\"."
-#: data/mail-notification.schemas.in.h:32
-#, fuzzy
+#: data/mail-notification.schemas.in.h:35
msgid "The width of the mail summary dialog in pixels."
-msgstr "A largura em pixeis do diálogo de propriedades."
+msgstr "A largura em pixeis do diálogo de resumo de correio."
-#: data/mail-notification.schemas.in.h:33
+#: data/mail-notification.schemas.in.h:36
msgid "The width of the properties dialog in pixels."
msgstr "A largura em pixeis do diálogo de propriedades."
-#: data/mail-notification.schemas.in.h:34
+#: data/mail-notification.schemas.in.h:37
msgid "Trusted servers list"
-msgstr ""
+msgstr "Lista de servidores confiados"
-#: data/mail-notification.schemas.in.h:35
+#: data/mail-notification.schemas.in.h:38
msgid "Whether Mail Notification has already been run or not."
msgstr "Se a Notificação de Correio já foi executada ou não."
-#: data/mail-notification.schemas.in.h:36
-#, fuzzy
+#: data/mail-notification.schemas.in.h:39
msgid "Whether the status icon should blink on errors or not."
-msgstr "Se a imagem pisca ou não"
+msgstr "Se o ícone de estado deve piscar em erros ou não."
-#: data/mail-notification.schemas.in.h:37
-#, fuzzy
+#: data/mail-notification.schemas.in.h:40
msgid "Whether to automatically close the mail summary popup or not."
-msgstr "Se um comando deverá ser executado quando chega novo correio."
+msgstr ""
+"Se o popup de resumo de correio deve ser automaticamente fechado ou não."
-#: data/mail-notification.schemas.in.h:38
-#, fuzzy
+#: data/mail-notification.schemas.in.h:41
msgid "Whether to display the mail summary popup when new mail arrives or not."
-msgstr "Se um comando deverá ser executado quando chega novo correio."
+msgstr ""
+"Se o popup de resumo de correio deve ser mostrado quando chega correio ou "
+"não."
-#: data/mail-notification.schemas.in.h:39
+#: data/mail-notification.schemas.in.h:42
msgid ""
"Whether to prevent the immediate notification error dialog from being "
"displayed or not."
msgstr ""
+"Se se evita o diálogo de erro de notificação imediata de ser mostrado ou não."
-#: data/mail-notification.schemas.in.h:40
+#: data/mail-notification.schemas.in.h:43
+msgid "Whether to run a command when all mail is read or not."
+msgstr ""
+"Se um comando deverá ser executado quando todo o correio é lido ou não."
+
+#: data/mail-notification.schemas.in.h:44
msgid "Whether to run a command when new mail arrives or not."
msgstr "Se um comando deverá ser executado quando chega novo correio."
-#: data/mail-notification.schemas.in.h:41
-#, fuzzy
+#: data/mail-notification.schemas.in.h:45
msgid "Width of mail summary dialog"
-msgstr "Largura do diálogo de propriedades"
+msgstr "Largura do diálogo de resumo de correio"
-#: data/mail-notification.schemas.in.h:42
+#: data/mail-notification.schemas.in.h:46
msgid "Width of properties dialog"
msgstr "Largura do diálogo de propriedades"
@@ -260,6 +285,39 @@ msgstr "Duarte Henriques <duarte_henriques@myrealbox.com>"
msgid "<span style=\"italic\">autodetect</span>"
msgstr "<span style=\"italic\">autodetectar</span>"
+#. translator: example output: Enter your password for POP3 mailbox jylefort@localhost.
+#: src/mn-authenticated-mailbox.gob:77
+#, c-format
+msgid "Enter your password for %s mailbox %s."
+msgstr "Digite a senha para a caixa de correio %s, utilizador %s."
+
+#. translator: example output: ... into POP3 mailbox jylefort@localhost ...
+#: src/mn-authenticated-mailbox.gob:98
+#, c-format
+msgid ""
+"Mail Notification was unable to log into %s mailbox %s, possibly because the "
+"password you have entered is invalid.\n"
+"\n"
+"Please re-enter your password."
+msgstr ""
+"Notificação de correio foi incapaz de o ligar à caixa de correio %s, "
+"utilizador %s, possivelmente porque a senha que introduziu é inválida.\n"
+"\n"
+"Por favor re-insira a senha."
+
+#: src/mn-authenticated-mailbox.gob:164
+#, c-format
+msgid ""
+"<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</"
+"span>\n"
+"\n"
+"%s"
+msgstr ""
+"<span weight=\"bold\" size=\"larger\">Notificação de Correio precisa de uma "
+"senha</span>\n"
+"\n"
+"%s"
+
#: src/mn-autodetect-mailbox-properties.gob:68
msgid "_Location:"
msgstr "_Localização:"
@@ -326,37 +384,37 @@ msgid "unable to initialize the OpenSSL library: %s"
msgstr "incapaz de inicializar a biblioteca OpenSSL: %s"
#: src/mn-client-session.c:325
-#, fuzzy, c-format
+#, c-format
msgid "unable to create a SSL/TLS object: %s"
-msgstr "incapaz de criar um objecto SSL: %s"
+msgstr "incapaz de criar um objecto SSL/TLS: %s"
#: src/mn-client-session.c:331
-#, fuzzy, c-format
+#, c-format
msgid "unable to set the SSL/TLS file descriptor: %s"
-msgstr "incapaz de definir o descritor de ficheiro SSL: %s"
+msgstr "incapaz de definir o descritor de ficheiro SSL/TLS: %s"
#: src/mn-client-session.c:337
-#, fuzzy, c-format
+#, c-format
msgid "unable to perform the SSL/TLS handshake: %s"
-msgstr "incapaz de definir o descritor de ficheiro SSL: %s"
+msgstr "incapaz de efectuar o handshake SSL/TLS: %s"
#: src/mn-client-session.c:343
msgid "untrusted server"
-msgstr ""
+msgstr "servidor não é confiado"
#: src/mn-client-session.c:347
#, c-format
msgid "a SSL/TLS layer is now active (%s, %s %i-bit)"
-msgstr ""
+msgstr "está agora activa uma camada SSL/TLS (%s, %s %i-bit)"
#: src/mn-client-session.c:394
#, c-format
msgid "%s, fingerprint: %s"
-msgstr ""
+msgstr "%s, impressão digital: %s"
#: src/mn-client-session.c:423
msgid "missing certificate"
-msgstr ""
+msgstr "falta o certificado"
#: src/mn-client-session.c:449
#, c-format
@@ -369,14 +427,20 @@ msgid ""
"to \"%s\". If you choose to connect to the server, this message will not be "
"shown again."
msgstr ""
+"Notificação de correio foi incapaz de confiar em \"%s\" (%s). É possível que "
+"alguém esteja a interceptar a comunicação para obter a sua informação "
+"confidencial.\n"
+"\n"
+"Deve apenas ligar-se ao servidor se tem a certeza que está ligado a \"%s\". "
+"Se escolher ligar-se ao servidor, esta mensagem não voltará a aparecer."
#: src/mn-client-session.c:466
msgid "Connect to untrusted server?"
-msgstr ""
+msgstr "Ligar-se a servidor não confiado?"
#: src/mn-client-session.c:471
msgid "Co_nnect"
-msgstr ""
+msgstr "_Ligar"
#: src/mn-client-session.c:527
#, c-format
@@ -507,174 +571,164 @@ msgstr "aviso: incapaz de obter a propriedade SASL_SSF: %s"
#: src/mn-conf.c:123
#, c-format
msgid "recursively unsetting %s"
-msgstr ""
+msgstr "apagando recursivamente %s"
#: src/mn-conf.c:127
msgid "syncing the GConf database"
-msgstr ""
+msgstr "sincronizando a base de dados GConf"
#: src/mn-conf.c:130
-#, fuzzy
msgid "completed"
-msgstr "Completo"
+msgstr "completo"
-#: src/mn-gmail-mailbox-properties.gob:79
+#: src/mn-gmail-mailbox-properties.gob:77
msgid "Your Gmail username"
msgstr "O seu nome de utilizador Gmail"
-#: src/mn-gmail-mailbox-properties.gob:80
-msgid "Your Gmail password"
-msgstr "A sua senha Gmail"
+#: src/mn-gmail-mailbox-properties.gob:78
+msgid ""
+"Your Gmail password (if left blank, you will be prompted for the password "
+"when needed)"
+msgstr ""
+"A sua senha Gmail (se deixar em branco, a senha será pedida quando "
+"necessária)"
-#: src/mn-gmail-mailbox.gob:65
-#, fuzzy
+#: src/mn-gmail-mailbox.gob:63
msgid "libsoup has not been compiled with SSL/TLS support"
-msgstr "suporte SSL não foi compilado"
+msgstr "libsoup não foi compilada com suporte SSL/TLS"
-#: src/mn-gmail-mailbox.gob:110 src/mn-gmail-mailbox.gob:331
-#, fuzzy, c-format
+#: src/mn-gmail-mailbox.gob:105
+#, c-format
msgid "unable to parse URI \"%s\""
-msgstr "incapaz de processar resposta \"%s\""
+msgstr "incapaz de processar URI \"%s\""
+
+#: src/mn-gmail-mailbox.gob:159
+#, c-format
+msgid "unable to transfer data: %s"
+msgstr "incapaz de transferir dados: %s"
-#: src/mn-gmail-mailbox.gob:257
+#: src/mn-gmail-mailbox.gob:280
msgid "logging in"
msgstr "ligando-se"
-#: src/mn-gmail-mailbox.gob:271 src/mn-gmail-mailbox.gob:342
-#: src/mn-gmail-mailbox.gob:380 src/mn-gmail-mailbox.gob:415
+#: src/mn-gmail-mailbox.gob:358
msgid "login failed"
msgstr "login falhou"
-#: src/mn-gmail-mailbox.gob:283 src/mn-gmail-mailbox.gob:356
-#: src/mn-gmail-mailbox.gob:394 src/mn-gmail-mailbox.gob:503
-#, c-format
-msgid "unable to transfer data: %s"
-msgstr "incapaz de transferir dados: %s"
-
-#: src/mn-gmail-mailbox.gob:409
-msgid "successfully logged in"
-msgstr "ligado com sucesso"
-
-#: src/mn-gmail-mailbox.gob:487
+#: src/mn-gmail-mailbox.gob:433
msgid "searching for unread mail"
msgstr "a procurar correio não lido"
-#: src/mn-gmail-mailbox.gob:491
-#, fuzzy
-msgid "unable to search for unread mail"
-msgstr "a procurar correio não lido"
-
-#: src/mn-gmail-mailbox.gob:604
+#: src/mn-gmail-mailbox.gob:529
msgid "unable to parse Gmail data"
msgstr "incapaz de processar dados Gmail"
#: src/mn-gmime-stream-vfs.gob:49
-#, fuzzy, c-format
+#, c-format
msgid "unable to read %s: %s"
-msgstr "incapaz de resolver %s: %s"
+msgstr "incapaz de ler %s: %s"
#: src/mn-gmime-stream-vfs.gob:51
-#, fuzzy, c-format
+#, c-format
msgid "unable to write to %s: %s"
-msgstr "incapaz de escrever para o servidor: %s"
+msgstr "incapaz de escrever para %s: %s"
#: src/mn-gmime-stream-vfs.gob:53
-#, fuzzy, c-format
+#, c-format
msgid "unable to seek in %s: %s"
-msgstr "incapaz de resolver %s: %s"
+msgstr "incapaz de procurar em %s: %s"
#: src/mn-gmime-stream-vfs.gob:55
-#, fuzzy, c-format
+#, c-format
msgid "unable to tell position of %s: %s"
-msgstr "incapaz de monitorizar %s: %s"
+msgstr "incapaz de dizer a posição em %s: %s"
#: src/mn-gmime-stream-vfs.gob:57
-#, fuzzy, c-format
+#, c-format
msgid "unable to close %s: %s"
-msgstr "incapaz de fechar pasta: %s"
+msgstr "incapaz de fechar %s: %s"
-#: src/mn-imap-mailbox-properties.gob:94
+#: src/mn-imap-mailbox-properties.gob:93
msgid "Mailbox:"
msgstr "Caixa de Correio:"
-#: src/mn-imap-mailbox-properties.gob:98
+#: src/mn-imap-mailbox-properties.gob:97
msgid "in_box"
msgstr "caixa de _entrada"
-#: src/mn-imap-mailbox-properties.gob:109
+#: src/mn-imap-mailbox-properties.gob:108
msgid "oth_er:"
msgstr "_outros"
-#: src/mn-imap-mailbox-properties.gob:124
+#: src/mn-imap-mailbox-properties.gob:123
msgid "The hostname or IP address of the IMAP server"
msgstr "O hostname ou endereço IP do servidor IMAP"
-#: src/mn-imap-mailbox-properties.gob:125
+#: src/mn-imap-mailbox-properties.gob:124
msgid "Your username on the IMAP server"
msgstr "O seu nome de utilizador no servidor IMAP"
-#: src/mn-imap-mailbox-properties.gob:126
-msgid "Your password on the IMAP server"
-msgstr "A sua senha no servidor IMAP"
+#: src/mn-imap-mailbox-properties.gob:125
+msgid ""
+"Your password on the IMAP server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"A sua senha no servidor IMAP (se deixar em branco, a senha será pedida "
+"quando necessária)"
+#: src/mn-imap-mailbox-properties.gob:126
#: src/mn-imap-mailbox-properties.gob:127
-#: src/mn-imap-mailbox-properties.gob:128
msgid "The port number of the IMAP server"
msgstr "O número do porto do servidor IMAP"
-#: src/mn-imap-mailbox-properties.gob:129
+#: src/mn-imap-mailbox-properties.gob:128
msgid "The mailbox name"
msgstr "O nome da caixa de correio"
-#: src/mn-imap-mailbox.gob:132 src/mn-pop3-mailbox.gob:141
-#, fuzzy
+#: src/mn-imap-mailbox.gob:133 src/mn-pop3-mailbox.gob:142
msgid "SSL/TLS support has not been compiled in"
-msgstr "suporte SSL não foi compilado"
+msgstr "suporte SSL/TLS não foi compilado"
-#: src/mn-imap-mailbox.gob:203
+#: src/mn-imap-mailbox.gob:204
msgid "server did not send capabilities"
msgstr "servidor não enviou habilidades"
-#: src/mn-imap-mailbox.gob:318
+#: src/mn-imap-mailbox.gob:319
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
msgstr "servidor anunciou LOGINDISABLED, não usando a autenticação LOGIN"
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:320
msgid "unable to login"
msgstr "incapaz de ligar"
#. compliance error
-#: src/mn-imap-mailbox.gob:447
-#, fuzzy
+#: src/mn-imap-mailbox.gob:451
msgid "server did not send search results"
-msgstr "servidor não enviou estado"
+msgstr "servidor não enviou resultados da procura"
#. compliance error
-#: src/mn-imap-mailbox.gob:523
-#, fuzzy
+#: src/mn-imap-mailbox.gob:527
msgid "server did not send all the messages we requested"
-msgstr "servidor não enviou estado"
+msgstr "servidor não enviou todas as mensagens pedidas"
-#: src/mn-imap-mailbox.gob:570
-#, fuzzy
+#: src/mn-imap-mailbox.gob:574
msgid "unable to fetch message"
-msgstr "incapaz de ligar: %s"
+msgstr "incapaz de obter mensagem"
#. compliance error
-#: src/mn-imap-mailbox.gob:617
+#: src/mn-imap-mailbox.gob:621
msgid "server did not send status"
msgstr "servidor não enviou estado"
-#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:903
+#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:913
msgid "unknown server error"
msgstr "erro de servidor desconhecido"
-#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:225
-#, fuzzy
+#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:226
msgid "server does not support in-band SSL/TLS"
-msgstr "servidor não suporta autenticação APOP"
+msgstr "servidor não suporta SSL/TLS in-band"
-#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:823
+#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:832
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
@@ -682,7 +736,7 @@ msgstr ""
"foi escolhido um mecanismo de autenticação SASL, mas o suporte SASL não foi "
"compilado"
-#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:835
+#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:844
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr "mecanismo de autenticação desconhecido \"%s\""
@@ -691,7 +745,7 @@ msgstr "mecanismo de autenticação desconhecido \"%s\""
msgid "falling back to IMAP LOGIN authentication"
msgstr "recorrendo à autenticação IMAP LOGIN"
-#: src/mn-imap-mailbox.gob:976 src/mn-pop3-mailbox.gob:869
+#: src/mn-imap-mailbox.gob:977 src/mn-pop3-mailbox.gob:879
msgid "authentication failed"
msgstr "autenticação falhou"
@@ -712,11 +766,11 @@ msgstr "Acrescentar uma Caixa de Correio"
msgid "%s Properties"
msgstr "Propriedades de %s"
-#: src/mn-mailbox-properties-util.c:77
+#: src/mn-mailbox-properties-util.c:77 ui/authentication.glade.h:4
msgid "_Username:"
msgstr "Nome de _Utilizador:"
-#: src/mn-mailbox-properties-util.c:87
+#: src/mn-mailbox-properties-util.c:87 ui/authentication.glade.h:3
msgid "_Password:"
msgstr "_Senha:"
@@ -773,44 +827,44 @@ msgstr "Incapaz de adicionar caixa de correio"
msgid "The mailbox is already in the list."
msgstr "A caixa de correio já está na lista."
-#: src/mn-mailbox.gob:133
+#: src/mn-mailbox.gob:130
msgid "The mailbox URI"
msgstr "O URI da caixa de correio"
-#: src/mn-mailbox.gob:144
+#: src/mn-mailbox.gob:141
msgid "The mailbox human-readable name"
msgstr "O nome legível da caixa de correio"
-#: src/mn-mailbox.gob:148
+#: src/mn-mailbox.gob:145
msgid "Whether the mailbox has to be manually checked or not"
msgstr "Se a caixa de correio tem de ser manualmente verificada"
-#: src/mn-mailbox.gob:153
+#: src/mn-mailbox.gob:150
msgid "Whether the mailbox has new mail or not"
msgstr "Se a caixa de correio tem novo correio"
-#: src/mn-mailbox.gob:158
+#: src/mn-mailbox.gob:155
msgid "The list of new and unread MNMessage objects"
-msgstr ""
+msgstr "A lista de objectos MNMessage novos e não lidos"
-#: src/mn-mailbox.gob:212
+#: src/mn-mailbox.gob:209
msgid "The mailbox error, if any"
msgstr "O erro da caixa de correio, se houver"
-#: src/mn-mailbox.gob:310
+#: src/mn-mailbox.gob:308
msgid "does not exist"
msgstr "não existe"
-#: src/mn-mailbox.gob:342
+#: src/mn-mailbox.gob:340
msgid "unknown format"
msgstr "formato desconhecido"
-#: src/mn-mailbox.gob:408
-#, fuzzy, c-format
+#: src/mn-mailbox.gob:406
+#, c-format
msgid "unable to enable immediate notification for %s: %s"
-msgstr "incapaz de iniciar autenticação SASL: %s"
+msgstr "incapaz de activar notificação imediata para %s: %s"
-#: src/mn-mailbox.gob:426
+#: src/mn-mailbox.gob:424
#, c-format
msgid ""
"As a fallback, they will be checked every %i second (this delay is "
@@ -825,7 +879,7 @@ msgstr[1] ""
"Como medida de recurso, serão verificadas a cada %i segundos (este atraso é "
"configurável no Diálogo de Propriedades)."
-#: src/mn-mailbox.gob:437
+#: src/mn-mailbox.gob:435
#, c-format
msgid ""
"As a fallback, they will be checked every %i minute (this delay is "
@@ -840,7 +894,7 @@ msgstr[1] ""
"Como medida de recurso, serão verificadas a cada %i minutos (este atraso é "
"configurável no Diálogo de Propriedades)."
-#: src/mn-mailbox.gob:448
+#: src/mn-mailbox.gob:446
#, c-format
msgid ""
"As a fallback, they will be checked approximately every %i minute (this "
@@ -855,40 +909,39 @@ msgstr[1] ""
"Como medida de recurso, serão verificadas aproximadamente cada %i minutos "
"(este atraso é configurável no Diálogo de Propriedades)."
-#: src/mn-mailbox.gob:464
+#: src/mn-mailbox.gob:462
msgid "A monitoring error has occurred"
msgstr "Ocorreu um erro de monitorização"
-#: src/mn-mailbox.gob:465
-#, fuzzy, c-format
+#: src/mn-mailbox.gob:463
+#, c-format
msgid ""
"Mail Notification was unable to enable immediate notification for one or "
"more mailboxes. %s"
msgstr ""
-"A Notificação de Correio foi incapaz de activar notificação automática para "
+"A Notificação de Correio foi incapaz de activar notificação imediata para "
"uma ou mais caixas de correio. %s"
-#: src/mn-mailboxes.gob:133
-#, fuzzy
+#: src/mn-mailboxes.gob:143
msgid "Whether one or more of the mailboxes has to be polled"
-msgstr "Se a caixa de correio tem de ser manualmente verificada"
+msgstr "Se uma ou mais caixas de correio têm de ser manualmente verificadas"
-#: src/mn-mailboxes.gob:266
+#: src/mn-mailboxes.gob:276
#, c-format
msgid "%s is unsupported: %s"
msgstr "%s não é suportado: %s"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has new mail"
msgstr "%s tem correio novo"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has no new mail"
msgstr "%s não tem correio novo"
-#: src/mn-mailboxes.gob:323
+#: src/mn-mailboxes.gob:333
#, c-format
msgid "%s reported an error: %s"
msgstr "%s relatou um erro: %s"
@@ -908,62 +961,61 @@ msgstr "incapaz de fechar pasta \"new\": %s"
msgid "error while reading folder \"new\": %s"
msgstr "erro ao ler pasta \"new\": %s"
-#: src/mn-main.c:97
+#: src/mn-main.c:96
#, c-format
msgid "Compiled-in mailbox backends: %s\n"
msgstr "Backends mailbox compilados: %s\n"
-#: src/mn-main.c:114
+#: src/mn-main.c:113
#, c-format
msgid "Compiled-in features: %s\n"
msgstr "Características compiladas: %s\n"
-#: src/mn-main.c:166
+#: src/mn-main.c:165
msgid "Enable informational output"
msgstr "Activar output informacional"
-#: src/mn-main.c:175
+#: src/mn-main.c:174
msgid "List compiled-in features and exit"
msgstr "Listar características compiladas e sair"
-#: src/mn-main.c:184
-#, fuzzy
+#: src/mn-main.c:183
msgid "Display the mail summary dialog"
-msgstr "Mostrar o diálogo Sobre"
+msgstr "Mostrar o diálogo de resumo de correio"
-#: src/mn-main.c:193
+#: src/mn-main.c:192
msgid "Display the properties dialog"
msgstr "Mostrar o diálogo de propriedades"
-#: src/mn-main.c:202
+#: src/mn-main.c:201
msgid "Display the about dialog"
msgstr "Mostrar o diálogo Sobre"
-#: src/mn-main.c:211
+#: src/mn-main.c:210
msgid "Close the mail summary popup"
-msgstr ""
+msgstr "Fechar o popup de resumo de correio"
-#: src/mn-main.c:220
+#: src/mn-main.c:219
msgid "Update the mail status"
msgstr "Actualizar o estado do correio"
-#: src/mn-main.c:229
+#: src/mn-main.c:228
msgid "Report the mail status"
msgstr "Relatar o estado do correio"
-#: src/mn-main.c:238
+#: src/mn-main.c:237
msgid "Unset obsolete GConf configuration and exit"
-msgstr ""
+msgstr "Apagar configurações GConf obsoletas e sair"
#.
#. * We can't use mn_error_dialog() because gtk_init() has not been
#. * called yet.
#.
-#: src/mn-main.c:264
+#: src/mn-main.c:263
msgid "multi-threading is not available"
msgstr "multi-threading não está disponível"
-#: src/mn-main.c:309
+#: src/mn-main.c:310
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
@@ -971,19 +1023,19 @@ msgstr ""
"Bonobo não conseguiu encontrar o objecto de automação. Por favor verifique a "
"sua instalação de Notificação de Correio."
-#: src/mn-main.c:314
+#: src/mn-main.c:315
msgid "Unable to initialize the GnomeVFS library."
msgstr "Incapaz de inicializar a biblioteca GnomeVFS."
-#: src/mn-main.c:350
+#: src/mn-main.c:351
msgid "updating the mail status"
msgstr "actualizando o estado do correio"
-#: src/mn-main.c:368
+#: src/mn-main.c:369
msgid "Mail Notification is already running"
msgstr "Notificação de Correio já está a ser executado"
-#: src/mn-main.c:375
+#: src/mn-main.c:376
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
@@ -991,7 +1043,7 @@ msgstr ""
"Bonobo não conseguiu encontrar o ficheiro GNOME_MailNotification_Automation."
"server. Por favor verifique a sua instalação da Notificação de Correio."
-#: src/mn-main.c:379
+#: src/mn-main.c:380
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -1011,56 +1063,62 @@ msgstr "erro ao abrir a caixa de correio: %s"
#: src/mn-message-label.gob:77
msgid "Unreadable message"
-msgstr ""
+msgstr "Mensagem ilegível"
#: src/mn-message-label.gob:97
msgid "From"
-msgstr ""
+msgstr "De"
#: src/mn-message-label.gob:98
msgid "Subject"
-msgstr ""
+msgstr "Assunto"
#: src/mn-message-label.gob:102
msgid "Sent"
-msgstr ""
+msgstr "Enviado"
#: src/mn-message-label.gob:151
#, c-format
msgid "%i second ago"
msgid_plural "%i seconds ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%i segundo atrás"
+msgstr[1] "%i segundos atrás"
#: src/mn-message-label.gob:155
#, c-format
msgid "%i minute ago"
msgid_plural "%i minutes ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%i minuto atrás"
+msgstr[1] "%i minutos atrás"
#: src/mn-message-label.gob:160
#, c-format
msgid "%i hour ago"
msgid_plural "%i hours ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%i hora atrás"
+msgstr[1] "%i horas atrás"
#: src/mn-message-label.gob:165
#, c-format
msgid "%i day ago"
msgid_plural "%i days ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%i dia atrás"
+msgstr[1] "%i dias atrás"
+
+#: src/mn-message-label.gob:170
+#, c-format
+msgid "%i week ago"
+msgid_plural "%i weeks ago"
+msgstr[0] "%i semana atrás"
+msgstr[1] "%i semanas atrás"
#: src/mn-message-mime.c:105
-#, fuzzy
msgid "unable to parse MIME message"
-msgstr "incapaz de processar URI IMAP"
+msgstr "incapaz de processar mensagem MIME"
-#: src/mn-message.gob:82
+#: src/mn-message.gob:101
msgid "Unknown"
-msgstr ""
+msgstr "Desconhecido"
#: src/mn-mh-mailbox.gob:184
#, c-format
@@ -1090,123 +1148,129 @@ msgstr "sta_ndard"
#: src/mn-pi-mailbox-properties.gob:116
msgid "_in-band SSL/TLS"
-msgstr ""
+msgstr "SSL/TLS _in-band"
#: src/mn-pi-mailbox-properties.gob:126
msgid "SSL/TLS on sepa_rate port"
-msgstr ""
+msgstr "SSL/TLS num porto sepa_rado"
-#: src/mn-pop3-mailbox-properties.gob:86
+#: src/mn-pop3-mailbox-properties.gob:85
msgid "The hostname or IP address of the POP3 server"
msgstr "O hostname ou endereço IP do servidor POP3"
-#: src/mn-pop3-mailbox-properties.gob:87
+#: src/mn-pop3-mailbox-properties.gob:86
msgid "Your username on the POP3 server"
msgstr "O seu nome de utilizador no servidor POP3"
-#: src/mn-pop3-mailbox-properties.gob:88
-msgid "Your password on the POP3 server"
-msgstr "A sua senha no servidor POP3"
+#: src/mn-pop3-mailbox-properties.gob:87
+msgid ""
+"Your password on the POP3 server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"A sua senha no servidor POP3 (se deixar em branco, a senha será pedida "
+"quando necessária)"
-#: src/mn-pop3-mailbox-properties.gob:89 src/mn-pop3-mailbox-properties.gob:90
+#: src/mn-pop3-mailbox-properties.gob:88 src/mn-pop3-mailbox-properties.gob:89
msgid "The port number of the POP3 server"
msgstr "O número do porto do servidor POP3"
-#: src/mn-pop3-mailbox.gob:271
+#: src/mn-pop3-mailbox.gob:272
msgid "invalid arguments for the LOGIN-DELAY capability"
msgstr "argumentos inválidos para a habilidade LOGIN-DELAY"
-#: src/mn-pop3-mailbox.gob:536
-#, fuzzy
+#: src/mn-pop3-mailbox.gob:549
msgid "unknown error"
-msgstr "erro de servidor desconhecido"
+msgstr "erro desconhecido"
-#: src/mn-pop3-mailbox.gob:666
+#: src/mn-pop3-mailbox.gob:681
#, c-format
msgid "honouring LOGIN-DELAY, sleeping for %i second"
msgid_plural "honouring LOGIN-DELAY, sleeping for %i seconds"
msgstr[0] "honrando LOGIN-DELAY, dormindo por %i segundo"
msgstr[1] "honrando LOGIN-DELAY, dormindo por %i segundos"
-#: src/mn-pop3-mailbox.gob:831
+#: src/mn-pop3-mailbox.gob:840
msgid "server does not support APOP authentication"
msgstr "servidor não suporta autenticação APOP"
-#: src/mn-pop3-mailbox.gob:859
+#: src/mn-pop3-mailbox.gob:868
msgid "falling back to APOP authentication"
msgstr "recorrendo a autenticação APOP"
-#: src/mn-pop3-mailbox.gob:864
+#: src/mn-pop3-mailbox.gob:873
msgid "falling back to USER/PASS authentication"
msgstr "recorrendo a autenticação USER/PASS"
-#: src/mn-properties.c:161
-#, fuzzy
+#: src/mn-properties.c:170
msgid "top left"
-msgstr "Completo"
+msgstr "topo esquerdo"
-#: src/mn-properties.c:162
+#: src/mn-properties.c:171
msgid "top right"
-msgstr ""
+msgstr "topo direito"
-#: src/mn-properties.c:163
+#: src/mn-properties.c:172
msgid "bottom left"
-msgstr ""
+msgstr "fundo esquerdo"
-#: src/mn-properties.c:164
+#: src/mn-properties.c:173
msgid "bottom right"
-msgstr ""
+msgstr "fundo direito"
-#: src/mn-properties.c:240
+#: src/mn-properties.c:251
msgid "No mailbox selected."
msgstr "Nenhuma caixa de correio seleccionada."
-#: src/mn-properties.c:245
+#: src/mn-properties.c:256
#, c-format
msgid "%i mailbox selected."
msgid_plural "%i mailboxes selected."
msgstr[0] "%i caixa de correio seleccionada."
msgstr[1] "%i caixas de correio seleccionadas."
-#: src/mn-shell.gob:84
+#: src/mn-shell.gob:86
msgid "You have new mail."
msgstr "Tem novo correio."
-#: src/mn-shell.gob:96
-msgid "A command error has occurred in Mail Notification"
-msgstr "Ocorreu um erro de comando na Notificação de Correio"
-
-#: src/mn-shell.gob:97
-#, c-format
-msgid "Unable to execute new mail command: %s."
-msgstr "Incapaz de executar o novo comando de correio: %s."
-
-#: src/mn-shell.gob:270
+#: src/mn-shell.gob:263
msgid "The following mailbox has new mail:\n"
msgid_plural "The following mailboxes have new mail:\n"
msgstr[0] "A seguinte caixa de correio tem novo correio:\n"
msgstr[1] "As seguintes caixas de correio têm novo correio:\n"
-#: src/mn-shell.gob:274
+#: src/mn-shell.gob:267
msgid "You have no new mail."
msgstr "Não tem correio novo."
-#: src/mn-shell.gob:277
+#: src/mn-shell.gob:270
msgid "The following mailbox reported an error:\n"
msgid_plural "The following mailboxes reported an error:\n"
msgstr[0] "A seguinte caixa de correio relatou um erro:\n"
msgstr[1] "As seguintes caixas de correios relataram um erro:\n"
-#: src/mn-shell.gob:282
+#: src/mn-shell.gob:275
msgid "The following mailbox is unsupported:\n"
msgid_plural "The following mailboxes are unsupported:\n"
msgstr[0] "A seguinte caixa de correio não é suportada:\n"
msgstr[1] "As seguintes caixas de correio não são suportadas:\n"
+#: src/mn-shell.gob:320
+msgid "A command error has occurred in Mail Notification"
+msgstr "Ocorreu um erro de comando na Notificação de Correio"
+
+#: src/mn-shell.gob:321
+#, c-format
+msgid "Unable to execute \"%s\": %s."
+msgstr "incapaz de executar \"%s\": %s."
+
+#: src/mn-soup.c:140
+#, c-format
+msgid "unable to parse proxy URI \"%s\""
+msgstr "incapaz de processar URI de proxy \"%s\""
+
#: src/mn-ssl.c:79
-#, fuzzy
msgid "unknown SSL/TLS error"
-msgstr "erro de servidor desconhecido"
+msgstr "erro SSL/TLS desconhecido"
#: src/mn-stock.c:28
msgid "Select _All"
@@ -1214,7 +1278,7 @@ msgstr "Seleccionar _Todas"
#: src/mn-stock.c:29
msgid "_Mail Summary"
-msgstr ""
+msgstr "_Resumo de Correio"
#: src/mn-sylpheed-mailbox.gob:122
#, c-format
@@ -1231,7 +1295,7 @@ msgstr "incapaz de fechar pasta: %s"
msgid "error while reading folder: %s"
msgstr "erro ao ler pasta: %s"
-#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:393
+#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:411
msgid "System Mailbox"
msgstr "Caixa de Correio de Sistema"
@@ -1264,9 +1328,9 @@ msgid "error loading image: %s"
msgstr "erro ao carregar imagem: %s"
#: src/mn-util.c:271
-#, fuzzy, c-format
+#, c-format
msgid "widget \"%s\" not found in interface \"%s\""
-msgstr "widget %s não foi encontrada na interface %s"
+msgstr "widget \"%s\" não foi encontrada na interface \"%s\""
#: src/mn-util.c:385
msgid "received an invalid URI list"
@@ -1287,21 +1351,29 @@ msgstr "Incapaz de criar uma thread: %s."
#: src/mn-util.c:705
msgid "_Do not show this message again"
-msgstr ""
+msgstr "_Não mostrar esta mensagem de novo"
#: src/mn-util.c:789
msgid "A fatal error has occurred in Mail Notification"
msgstr "Ocorreu um erro fatal na Notificação de Correio"
#: src/mn-util.c:804
-#, fuzzy, c-format
+#, c-format
msgid "unable to get current time: %s"
-msgstr "incapaz de ligar a %s"
+msgstr "incapaz de obter tempo actual: %s"
#: src/mn-util.c:887
#, c-format
msgid "invalid signal specification \"%s\""
-msgstr ""
+msgstr "especificação de sinal inválida \"%s\""
+
+#: ui/authentication.glade.h:1 ui/properties.glade.h:2
+msgid "*"
+msgstr "*"
+
+#: ui/authentication.glade.h:2
+msgid "_Authenticate"
+msgstr "_Autenticar"
#: ui/mailbox-properties.glade.h:1
msgid "_Mailbox type:"
@@ -1311,154 +1383,162 @@ msgstr "_Tipo de caixa de correio:"
msgid " "
msgstr " "
-#: ui/properties.glade.h:2
-msgid "*"
-msgstr "*"
-
#: ui/properties.glade.h:3
+msgid "<span weight=\"bold\">Commands</span>"
+msgstr "<span weight=\"bold\">Comandos</span>"
+
+#: ui/properties.glade.h:4
msgid "<span weight=\"bold\">General</span>"
msgstr "<span weight=\"bold\">Geral</span>"
-#: ui/properties.glade.h:4
-#, fuzzy
+#: ui/properties.glade.h:5
msgid "<span weight=\"bold\">Mailbox List</span>"
-msgstr "<span weight=\"bold\">Caixas de Correio</span>"
+msgstr "<span weight=\"bold\">Lista de Caixas de Correio</span>"
-#: ui/properties.glade.h:5
-#, fuzzy
+#: ui/properties.glade.h:6
msgid "<span weight=\"bold\">Position</span>"
-msgstr "<span weight=\"bold\">Comandos</span>"
+msgstr "<span weight=\"bold\">Posição</span>"
-#: ui/properties.glade.h:6
+#: ui/properties.glade.h:7
msgid "General"
-msgstr ""
+msgstr "Geral"
-#: ui/properties.glade.h:7
+#: ui/properties.glade.h:8
msgid "Hori_zontal offset:"
-msgstr ""
+msgstr "Intervalo Hori_zontal:"
-#: ui/properties.glade.h:8
+#: ui/properties.glade.h:9
msgid "Mail Notification Properties"
msgstr "Propriedades de Notificação de Correio"
-#: ui/properties.glade.h:9
+#: ui/properties.glade.h:10
msgid "Mail Summary Popup"
-msgstr ""
+msgstr "Popup de Resumo de Correio"
-#: ui/properties.glade.h:10
-#, fuzzy
+#: ui/properties.glade.h:11
msgid "Mailboxes"
-msgstr "Caixa de Correio"
+msgstr "Caixas de Correio"
-#: ui/properties.glade.h:11
-#, fuzzy
+#: ui/properties.glade.h:12
msgid "P_osition:"
-msgstr "_Localização:"
+msgstr "_Posição:"
-#: ui/properties.glade.h:12
-#, fuzzy
+#: ui/properties.glade.h:13
msgid "The amount of time to wait before closing the mail summary popup"
-msgstr "A quantidade de tempo a esperar entre verificações de correio"
+msgstr ""
+"A quantidade de tempo a esperar antes de fechar o popup de resumo de correio"
-#: ui/properties.glade.h:13
+#: ui/properties.glade.h:14
msgid "The amount of time to wait between mail checks"
msgstr "A quantidade de tempo a esperar entre verificações de correio"
-#: ui/properties.glade.h:14
+#: ui/properties.glade.h:15
+msgid "The command to run when all mail is read"
+msgstr "O comando a executar quando todo o correio está lido"
+
+#: ui/properties.glade.h:16
msgid "The command to run when new mail arrives"
msgstr "O comando a executar quando chega novo correio"
-#: ui/properties.glade.h:15
+#: ui/properties.glade.h:17
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup"
msgstr ""
+"O número de pixeis a deixar entre o extremo esquerdo ou direito do ecran e o "
+"popup de resumo de correio"
-#: ui/properties.glade.h:16
+#: ui/properties.glade.h:18
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup"
msgstr ""
+"O número de pixeis a deixar entre o topo ou fundo do ecran e o popup de "
+"resumo de correio"
-#: ui/properties.glade.h:17
-#, fuzzy
+#: ui/properties.glade.h:19
+msgid "When _all mail is read:"
+msgstr "Quando _todo o correio está lido:"
+
+#: ui/properties.glade.h:20
+msgid "When _new mail arrives:"
+msgstr "Quando chega _novo correio:"
+
+#: ui/properties.glade.h:21
msgid "Whether the status icon should blink on errors or not"
-msgstr "Se a imagem pisca ou não"
+msgstr "Se o ícone de estado deve piscar em erros ou não"
-#: ui/properties.glade.h:18
-#, fuzzy
+#: ui/properties.glade.h:22
msgid "Whether to automatically close the mail summary popup or not"
-msgstr "Se a caixa de correio tem novo correio"
+msgstr ""
+"Se o popup de resumo de correio deve ser automaticamente fechado ou não"
-#: ui/properties.glade.h:19
-#, fuzzy
+#: ui/properties.glade.h:23
msgid "Whether to display the mail summary popup when new mail arrives or not"
-msgstr "Se deve ser executado um comando quando chega novo correio"
+msgstr ""
+"Se o popup de resumo de correio deve ser mostrado quando chega correio ou não"
-#: ui/properties.glade.h:20
+#: ui/properties.glade.h:24
+msgid "Whether to run a command when all mail is read or not"
+msgstr "Se deve ser executado um comando quando todo o correio está lido"
+
+#: ui/properties.glade.h:25
msgid "Whether to run a command when new mail arrives or not"
msgstr "Se deve ser executado um comando quando chega novo correio"
-#: ui/properties.glade.h:21
-#, fuzzy
+#: ui/properties.glade.h:26
msgid ""
"Whether to start Mail Notification when you log into your GNOME session or "
"not"
-msgstr "Se a Notificação de Correio já foi executada ou não."
+msgstr ""
+"Se a Notificação de Correio deve ser iniciada quando faz se liga à sessão "
+"GNOME ou não"
-#: ui/properties.glade.h:22
+#: ui/properties.glade.h:27
msgid "_Automatically close after:"
-msgstr ""
+msgstr "Fechar _Automáticamente após:"
-#: ui/properties.glade.h:23
+#: ui/properties.glade.h:28
msgid "_Blink on errors"
-msgstr ""
+msgstr "_Piscar em erros"
-#: ui/properties.glade.h:24
+#: ui/properties.glade.h:29
msgid "_Delay between mail checks:"
msgstr "_Intervalo entre verificações de correio:"
-#: ui/properties.glade.h:25
+#: ui/properties.glade.h:30
msgid "_Enable mail summary popup"
-msgstr ""
+msgstr "_Activar popup de resumo de correio"
-#: ui/properties.glade.h:26
-#, fuzzy
-msgid "_Run a command when new mail arrives:"
-msgstr "Executar um comando quando chega novo correio"
-
-#: ui/properties.glade.h:27
-#, fuzzy
+#: ui/properties.glade.h:31
msgid "_Start Mail Notification on GNOME login"
-msgstr "Um Ícone de Notificação de Correio"
+msgstr "_Iniciar Notificação de Correio no login GNOME"
-#: ui/properties.glade.h:28
+#: ui/properties.glade.h:32
msgid "_Vertical offset:"
-msgstr ""
+msgstr "Intervalo _vertical:"
-#: ui/properties.glade.h:29
+#: ui/properties.glade.h:33
msgid "minutes"
msgstr "minutos"
-#: ui/properties.glade.h:30
+#: ui/properties.glade.h:34
msgid "pixels"
-msgstr ""
+msgstr "pixeis"
-#: ui/properties.glade.h:31
+#: ui/properties.glade.h:35
msgid "seconds"
msgstr "segundos"
#: ui/summary-dialog.glade.h:1
msgid "Mail Summary"
-msgstr ""
+msgstr "Resumo de Correio"
#: ui/summary-popup.glade.h:1
-#, fuzzy
msgid "<span size=\"larger\" weight=\"bold\">Mail Summary</span>"
-msgstr "<span weight=\"bold\">Caixas de Correio</span>"
+msgstr "<span size=\"larger\" weight=\"bold\">Resumo de Correio</span>"
#: ui/welcome.glade.h:1
-#, fuzzy
msgid ""
"<span weight=\"bold\" size=\"larger\">First startup</span>\n"
"\n"
@@ -1481,9 +1561,11 @@ msgstr ""
"queira configurá-la.\n"
"\n"
"Nota: esta mensagem não será mostrada de novo. Para configurar a Notificação "
-"de Correio outra vez, escolha <span weight=\"bold\">Aplicações</span> <span "
-"weight=\"bold\">Preferências do Ambiente</span> <span weight=\"bold"
-"\">Notificação de Correio</span>."
+"de Correio outra vez, escolha <span weight=\"bold\">Aplicações</span> → "
+"<span weight=\"bold\">Preferências do Ambiente de Trabalho</span> → <span "
+"weight=\"bold\">Notificação de Correio</span> (ou em alguns sistemas <span "
+"weight=\"bold\">Aplicações → Preferências → Mais Preferências → Notificação "
+"de Correio</span>)."
#: ui/welcome.glade.h:8
msgid "_Configure Mail Notification"
@@ -1506,9 +1588,18 @@ msgstr "_Saltar configuração"
#~ msgstr ""
#~ "Se um comando deverá ser executado quando fizer duplo-clique no ícone."
+#~ msgid "Your Gmail password"
+#~ msgstr "A sua senha Gmail"
+
#~ msgid "unable to parse Gmail URI"
#~ msgstr "incapaz de processar URI Gmail"
+#~ msgid "successfully logged in"
+#~ msgstr "ligado com sucesso"
+
+#~ msgid "Your password on the IMAP server"
+#~ msgstr "A sua senha no servidor IMAP"
+
#~ msgid "_Run %s"
#~ msgstr "_Executar %s"
@@ -1518,6 +1609,9 @@ msgstr "_Saltar configuração"
#~ msgid "_SSL"
#~ msgstr "_SSL"
+#~ msgid "Your password on the POP3 server"
+#~ msgstr "A sua senha no servidor POP3"
+
#~ msgid "unable to parse POP3 URI"
#~ msgstr "incapaz de processar URI POP3"
@@ -1527,12 +1621,12 @@ msgstr "_Saltar configuração"
#~ msgid "Unable to execute double-clicked command: %s."
#~ msgstr "Incapaz de executar comando de duplo-clique: %s."
+#~ msgid "Unable to execute new mail command: %s."
+#~ msgstr "Incapaz de executar o novo comando de correio: %s."
+
#~ msgid "The command to run when the icon is double-clicked"
#~ msgstr "O comando a executar quando fizer duplo-clique no ícone"
-#~ msgid "When _new mail arrives:"
-#~ msgstr "Quando chega _novo correio:"
-
#~ msgid "When double-click_ed:"
#~ msgstr "Quando há um duplo-clique:"
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-10-06 19:31+0200\n"
+"POT-Creation-Date: 2004-10-25 15:26+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"
@@ -38,7 +38,7 @@ msgstr "Иконка входящих сообщений"
#: data/mail-notification-properties.desktop.in.h:2
#: data/mail-notification.desktop.in.h:2
#: data/mail-notification.soundlist.in.h:1 src/mn-about-dialog.gob:40
-#: src/mn-mail-icon.gob:163 src/mn-main.c:272
+#: src/mn-mail-icon.gob:163 src/mn-main.c:271
msgid "Mail Notification"
msgstr "Иконка входящих сообщений"
@@ -88,155 +88,177 @@ msgid "Height of properties dialog"
msgstr ""
#: data/mail-notification.schemas.in.h:11
-msgid "Mail summary popup horizontal offset"
+msgid "Mail read command"
msgstr ""
#: data/mail-notification.schemas.in.h:12
-msgid "Mail summary popup position"
+msgid "Mail summary popup horizontal offset"
msgstr ""
#: data/mail-notification.schemas.in.h:13
-msgid "Mail summary popup vertical offset"
+msgid "Mail summary popup position"
msgstr ""
#: data/mail-notification.schemas.in.h:14
-msgid "Mailbox list"
+msgid "Mail summary popup vertical offset"
msgstr ""
#: data/mail-notification.schemas.in.h:15
-msgid "Minutes between mail checks"
+msgid "Mailbox list"
msgstr ""
#: data/mail-notification.schemas.in.h:16
-msgid "Minutes to wait before closing the mail summary popup"
+msgid "Minutes between mail checks"
msgstr ""
#: data/mail-notification.schemas.in.h:17
-msgid "New mail command"
+msgid "Minutes to wait before closing the mail summary popup"
msgstr ""
#: data/mail-notification.schemas.in.h:18
+msgid "New mail command"
+msgstr ""
+
+#: data/mail-notification.schemas.in.h:19
+#, fuzzy
+msgid "Run a command when all mail is read"
+msgstr ""
+"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
+
+#: data/mail-notification.schemas.in.h:20
#, fuzzy
msgid "Run a command when new mail arrives"
msgstr ""
"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
-#: data/mail-notification.schemas.in.h:19
+#: data/mail-notification.schemas.in.h:21
msgid "Seconds between mail checks"
msgstr ""
-#: data/mail-notification.schemas.in.h:20
+#: data/mail-notification.schemas.in.h:22
msgid "Seconds to wait before closing the mail summary popup"
msgstr ""
-#: data/mail-notification.schemas.in.h:21
+#: data/mail-notification.schemas.in.h:23
msgid ""
"The amount of time to wait before closing the mail summary popup (minutes "
"part)."
msgstr ""
-#: data/mail-notification.schemas.in.h:22
+#: data/mail-notification.schemas.in.h:24
msgid ""
"The amount of time to wait before closing the mail summary popup (seconds "
"part)."
msgstr ""
-#: data/mail-notification.schemas.in.h:23
+#: data/mail-notification.schemas.in.h:25
+#, fuzzy
+msgid "The command to run when all mail is read."
+msgstr ""
+"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
+
+#: data/mail-notification.schemas.in.h:26
#, fuzzy
msgid "The command to run when new mail arrives."
msgstr ""
"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
-#: data/mail-notification.schemas.in.h:24
+#: data/mail-notification.schemas.in.h:27
msgid "The height of the mail summary dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:25
+#: data/mail-notification.schemas.in.h:28
msgid "The height of the properties dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:26
+#: data/mail-notification.schemas.in.h:29
msgid "The list of mailboxes to monitor."
msgstr ""
-#: data/mail-notification.schemas.in.h:27
+#: data/mail-notification.schemas.in.h:30
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
msgstr ""
-#: data/mail-notification.schemas.in.h:28
+#: data/mail-notification.schemas.in.h:31
msgid ""
"The list of trusted X509 certificates, represented by their MD5 fingerprint."
msgstr ""
-#: data/mail-notification.schemas.in.h:29
+#: data/mail-notification.schemas.in.h:32
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup."
msgstr ""
-#: data/mail-notification.schemas.in.h:30
+#: data/mail-notification.schemas.in.h:33
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup."
msgstr ""
-#: data/mail-notification.schemas.in.h:31
+#: data/mail-notification.schemas.in.h:34
msgid ""
"The position of the mail summary popup. Must be \"top-left\", \"top-right\", "
"\"bottom-left\" or \"bottom-right\"."
msgstr ""
-#: data/mail-notification.schemas.in.h:32
+#: data/mail-notification.schemas.in.h:35
msgid "The width of the mail summary dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:33
+#: data/mail-notification.schemas.in.h:36
msgid "The width of the properties dialog in pixels."
msgstr ""
-#: data/mail-notification.schemas.in.h:34
+#: data/mail-notification.schemas.in.h:37
msgid "Trusted servers list"
msgstr ""
-#: data/mail-notification.schemas.in.h:35
+#: data/mail-notification.schemas.in.h:38
msgid "Whether Mail Notification has already been run or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:36
+#: data/mail-notification.schemas.in.h:39
msgid "Whether the status icon should blink on errors or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:37
+#: data/mail-notification.schemas.in.h:40
#, fuzzy
msgid "Whether to automatically close the mail summary popup or not."
msgstr ""
"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
-#: data/mail-notification.schemas.in.h:38
+#: data/mail-notification.schemas.in.h:41
#, fuzzy
msgid "Whether to display the mail summary popup when new mail arrives or not."
msgstr ""
"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
-#: data/mail-notification.schemas.in.h:39
+#: data/mail-notification.schemas.in.h:42
msgid ""
"Whether to prevent the immediate notification error dialog from being "
"displayed or not."
msgstr ""
-#: data/mail-notification.schemas.in.h:40
+#: data/mail-notification.schemas.in.h:43
+#, fuzzy
+msgid "Whether to run a command when all mail is read or not."
+msgstr ""
+"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
+
+#: data/mail-notification.schemas.in.h:44
#, fuzzy
msgid "Whether to run a command when new mail arrives or not."
msgstr ""
"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
-#: data/mail-notification.schemas.in.h:41
+#: data/mail-notification.schemas.in.h:45
msgid "Width of mail summary dialog"
msgstr ""
-#: data/mail-notification.schemas.in.h:42
+#: data/mail-notification.schemas.in.h:46
msgid "Width of properties dialog"
msgstr ""
@@ -265,6 +287,31 @@ msgstr "Dan Korostelev <dan@ats.energo.ru>"
msgid "<span style=\"italic\">autodetect</span>"
msgstr ""
+#. translator: example output: Enter your password for POP3 mailbox jylefort@localhost.
+#: src/mn-authenticated-mailbox.gob:77
+#, c-format
+msgid "Enter your password for %s mailbox %s."
+msgstr ""
+
+#. translator: example output: ... into POP3 mailbox jylefort@localhost ...
+#: src/mn-authenticated-mailbox.gob:98
+#, c-format
+msgid ""
+"Mail Notification was unable to log into %s mailbox %s, possibly because the "
+"password you have entered is invalid.\n"
+"\n"
+"Please re-enter your password."
+msgstr ""
+
+#: src/mn-authenticated-mailbox.gob:164
+#, c-format
+msgid ""
+"<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</"
+"span>\n"
+"\n"
+"%s"
+msgstr ""
+
#: src/mn-autodetect-mailbox-properties.gob:68
msgid "_Location:"
msgstr ""
@@ -517,51 +564,43 @@ msgstr ""
msgid "completed"
msgstr ""
-#: src/mn-gmail-mailbox-properties.gob:79
+#: src/mn-gmail-mailbox-properties.gob:77
msgid "Your Gmail username"
msgstr ""
-#: src/mn-gmail-mailbox-properties.gob:80
-msgid "Your Gmail password"
+#: src/mn-gmail-mailbox-properties.gob:78
+msgid ""
+"Your Gmail password (if left blank, you will be prompted for the password "
+"when needed)"
msgstr ""
-#: src/mn-gmail-mailbox.gob:65
+#: src/mn-gmail-mailbox.gob:63
msgid "libsoup has not been compiled with SSL/TLS support"
msgstr ""
-#: src/mn-gmail-mailbox.gob:110 src/mn-gmail-mailbox.gob:331
+#: src/mn-gmail-mailbox.gob:105
#, c-format
msgid "unable to parse URI \"%s\""
msgstr ""
-#: src/mn-gmail-mailbox.gob:257
-msgid "logging in"
-msgstr ""
-
-#: src/mn-gmail-mailbox.gob:271 src/mn-gmail-mailbox.gob:342
-#: src/mn-gmail-mailbox.gob:380 src/mn-gmail-mailbox.gob:415
-msgid "login failed"
-msgstr ""
-
-#: src/mn-gmail-mailbox.gob:283 src/mn-gmail-mailbox.gob:356
-#: src/mn-gmail-mailbox.gob:394 src/mn-gmail-mailbox.gob:503
+#: src/mn-gmail-mailbox.gob:159
#, c-format
msgid "unable to transfer data: %s"
msgstr ""
-#: src/mn-gmail-mailbox.gob:409
-msgid "successfully logged in"
+#: src/mn-gmail-mailbox.gob:280
+msgid "logging in"
msgstr ""
-#: src/mn-gmail-mailbox.gob:487
-msgid "searching for unread mail"
+#: src/mn-gmail-mailbox.gob:358
+msgid "login failed"
msgstr ""
-#: src/mn-gmail-mailbox.gob:491
-msgid "unable to search for unread mail"
+#: src/mn-gmail-mailbox.gob:433
+msgid "searching for unread mail"
msgstr ""
-#: src/mn-gmail-mailbox.gob:604
+#: src/mn-gmail-mailbox.gob:529
msgid "unable to parse Gmail data"
msgstr ""
@@ -590,89 +629,91 @@ msgstr ""
msgid "unable to close %s: %s"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:94
+#: src/mn-imap-mailbox-properties.gob:93
msgid "Mailbox:"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:98
+#: src/mn-imap-mailbox-properties.gob:97
msgid "in_box"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:109
+#: src/mn-imap-mailbox-properties.gob:108
msgid "oth_er:"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:124
+#: src/mn-imap-mailbox-properties.gob:123
msgid "The hostname or IP address of the IMAP server"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:125
+#: src/mn-imap-mailbox-properties.gob:124
msgid "Your username on the IMAP server"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:126
-msgid "Your password on the IMAP server"
+#: src/mn-imap-mailbox-properties.gob:125
+msgid ""
+"Your password on the IMAP server (if left blank, you will be prompted for "
+"the password when needed)"
msgstr ""
+#: src/mn-imap-mailbox-properties.gob:126
#: src/mn-imap-mailbox-properties.gob:127
-#: src/mn-imap-mailbox-properties.gob:128
msgid "The port number of the IMAP server"
msgstr ""
-#: src/mn-imap-mailbox-properties.gob:129
+#: src/mn-imap-mailbox-properties.gob:128
msgid "The mailbox name"
msgstr ""
-#: src/mn-imap-mailbox.gob:132 src/mn-pop3-mailbox.gob:141
+#: src/mn-imap-mailbox.gob:133 src/mn-pop3-mailbox.gob:142
msgid "SSL/TLS support has not been compiled in"
msgstr ""
-#: src/mn-imap-mailbox.gob:203
+#: src/mn-imap-mailbox.gob:204
msgid "server did not send capabilities"
msgstr ""
-#: src/mn-imap-mailbox.gob:318
+#: src/mn-imap-mailbox.gob:319
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
msgstr ""
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:320
msgid "unable to login"
msgstr ""
#. compliance error
-#: src/mn-imap-mailbox.gob:447
+#: src/mn-imap-mailbox.gob:451
msgid "server did not send search results"
msgstr ""
#. compliance error
-#: src/mn-imap-mailbox.gob:523
+#: src/mn-imap-mailbox.gob:527
msgid "server did not send all the messages we requested"
msgstr ""
-#: src/mn-imap-mailbox.gob:570
+#: src/mn-imap-mailbox.gob:574
msgid "unable to fetch message"
msgstr ""
#. compliance error
-#: src/mn-imap-mailbox.gob:617
+#: src/mn-imap-mailbox.gob:621
msgid "server did not send status"
msgstr ""
-#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:903
+#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:913
msgid "unknown server error"
msgstr ""
-#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:225
+#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:226
msgid "server does not support in-band SSL/TLS"
msgstr ""
-#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:823
+#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:832
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
msgstr ""
-#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:835
+#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:844
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr ""
@@ -681,7 +722,7 @@ msgstr ""
msgid "falling back to IMAP LOGIN authentication"
msgstr ""
-#: src/mn-imap-mailbox.gob:976 src/mn-pop3-mailbox.gob:869
+#: src/mn-imap-mailbox.gob:977 src/mn-pop3-mailbox.gob:879
msgid "authentication failed"
msgstr ""
@@ -702,11 +743,11 @@ msgstr ""
msgid "%s Properties"
msgstr ""
-#: src/mn-mailbox-properties-util.c:77
+#: src/mn-mailbox-properties-util.c:77 ui/authentication.glade.h:4
msgid "_Username:"
msgstr ""
-#: src/mn-mailbox-properties-util.c:87
+#: src/mn-mailbox-properties-util.c:87 ui/authentication.glade.h:3
msgid "_Password:"
msgstr ""
@@ -763,44 +804,44 @@ msgstr ""
msgid "The mailbox is already in the list."
msgstr ""
-#: src/mn-mailbox.gob:133
+#: src/mn-mailbox.gob:130
msgid "The mailbox URI"
msgstr ""
-#: src/mn-mailbox.gob:144
+#: src/mn-mailbox.gob:141
msgid "The mailbox human-readable name"
msgstr ""
-#: src/mn-mailbox.gob:148
+#: src/mn-mailbox.gob:145
msgid "Whether the mailbox has to be manually checked or not"
msgstr ""
-#: src/mn-mailbox.gob:153
+#: src/mn-mailbox.gob:150
msgid "Whether the mailbox has new mail or not"
msgstr ""
-#: src/mn-mailbox.gob:158
+#: src/mn-mailbox.gob:155
msgid "The list of new and unread MNMessage objects"
msgstr ""
-#: src/mn-mailbox.gob:212
+#: src/mn-mailbox.gob:209
msgid "The mailbox error, if any"
msgstr ""
-#: src/mn-mailbox.gob:310
+#: src/mn-mailbox.gob:308
msgid "does not exist"
msgstr ""
-#: src/mn-mailbox.gob:342
+#: src/mn-mailbox.gob:340
msgid "unknown format"
msgstr ""
-#: src/mn-mailbox.gob:408
+#: src/mn-mailbox.gob:406
#, c-format
msgid "unable to enable immediate notification for %s: %s"
msgstr ""
-#: src/mn-mailbox.gob:426
+#: src/mn-mailbox.gob:424
#, c-format
msgid ""
"As a fallback, they will be checked every %i second (this delay is "
@@ -811,7 +852,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/mn-mailbox.gob:437
+#: src/mn-mailbox.gob:435
#, c-format
msgid ""
"As a fallback, they will be checked every %i minute (this delay is "
@@ -822,7 +863,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/mn-mailbox.gob:448
+#: src/mn-mailbox.gob:446
#, c-format
msgid ""
"As a fallback, they will be checked approximately every %i minute (this "
@@ -833,37 +874,37 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/mn-mailbox.gob:464
+#: src/mn-mailbox.gob:462
msgid "A monitoring error has occurred"
msgstr ""
-#: src/mn-mailbox.gob:465
+#: src/mn-mailbox.gob:463
#, c-format
msgid ""
"Mail Notification was unable to enable immediate notification for one or "
"more mailboxes. %s"
msgstr ""
-#: src/mn-mailboxes.gob:133
+#: src/mn-mailboxes.gob:143
msgid "Whether one or more of the mailboxes has to be polled"
msgstr ""
-#: src/mn-mailboxes.gob:266
+#: src/mn-mailboxes.gob:276
#, c-format
msgid "%s is unsupported: %s"
msgstr ""
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has new mail"
msgstr ""
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has no new mail"
msgstr ""
-#: src/mn-mailboxes.gob:323
+#: src/mn-mailboxes.gob:333
#, c-format
msgid "%s reported an error: %s"
msgstr ""
@@ -883,49 +924,49 @@ msgstr ""
msgid "error while reading folder \"new\": %s"
msgstr ""
-#: src/mn-main.c:97
+#: src/mn-main.c:96
#, c-format
msgid "Compiled-in mailbox backends: %s\n"
msgstr ""
-#: src/mn-main.c:114
+#: src/mn-main.c:113
#, c-format
msgid "Compiled-in features: %s\n"
msgstr ""
-#: src/mn-main.c:166
+#: src/mn-main.c:165
msgid "Enable informational output"
msgstr ""
-#: src/mn-main.c:175
+#: src/mn-main.c:174
msgid "List compiled-in features and exit"
msgstr ""
-#: src/mn-main.c:184
+#: src/mn-main.c:183
msgid "Display the mail summary dialog"
msgstr ""
-#: src/mn-main.c:193
+#: src/mn-main.c:192
msgid "Display the properties dialog"
msgstr ""
-#: src/mn-main.c:202
+#: src/mn-main.c:201
msgid "Display the about dialog"
msgstr ""
-#: src/mn-main.c:211
+#: src/mn-main.c:210
msgid "Close the mail summary popup"
msgstr ""
-#: src/mn-main.c:220
+#: src/mn-main.c:219
msgid "Update the mail status"
msgstr ""
-#: src/mn-main.c:229
+#: src/mn-main.c:228
msgid "Report the mail status"
msgstr ""
-#: src/mn-main.c:238
+#: src/mn-main.c:237
msgid "Unset obsolete GConf configuration and exit"
msgstr ""
@@ -933,36 +974,36 @@ msgstr ""
#. * We can't use mn_error_dialog() because gtk_init() has not been
#. * called yet.
#.
-#: src/mn-main.c:264
+#: src/mn-main.c:263
msgid "multi-threading is not available"
msgstr ""
-#: src/mn-main.c:309
+#: src/mn-main.c:310
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
msgstr ""
-#: src/mn-main.c:314
+#: src/mn-main.c:315
msgid "Unable to initialize the GnomeVFS library."
msgstr ""
-#: src/mn-main.c:350
+#: src/mn-main.c:351
msgid "updating the mail status"
msgstr ""
-#: src/mn-main.c:368
+#: src/mn-main.c:369
#, fuzzy
msgid "Mail Notification is already running"
msgstr "Иконка входящих сообщений"
-#: src/mn-main.c:375
+#: src/mn-main.c:376
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
msgstr ""
-#: src/mn-main.c:379
+#: src/mn-main.c:380
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -1022,11 +1063,18 @@ msgid_plural "%i days ago"
msgstr[0] ""
msgstr[1] ""
+#: src/mn-message-label.gob:170
+#, c-format
+msgid "%i week ago"
+msgid_plural "%i weeks ago"
+msgstr[0] ""
+msgstr[1] ""
+
#: src/mn-message-mime.c:105
msgid "unable to parse MIME message"
msgstr ""
-#: src/mn-message.gob:82
+#: src/mn-message.gob:101
msgid "Unknown"
msgstr ""
@@ -1064,111 +1112,118 @@ msgstr ""
msgid "SSL/TLS on sepa_rate port"
msgstr ""
-#: src/mn-pop3-mailbox-properties.gob:86
+#: src/mn-pop3-mailbox-properties.gob:85
msgid "The hostname or IP address of the POP3 server"
msgstr ""
-#: src/mn-pop3-mailbox-properties.gob:87
+#: src/mn-pop3-mailbox-properties.gob:86
msgid "Your username on the POP3 server"
msgstr ""
-#: src/mn-pop3-mailbox-properties.gob:88
-msgid "Your password on the POP3 server"
+#: src/mn-pop3-mailbox-properties.gob:87
+msgid ""
+"Your password on the POP3 server (if left blank, you will be prompted for "
+"the password when needed)"
msgstr ""
-#: src/mn-pop3-mailbox-properties.gob:89 src/mn-pop3-mailbox-properties.gob:90
+#: src/mn-pop3-mailbox-properties.gob:88 src/mn-pop3-mailbox-properties.gob:89
msgid "The port number of the POP3 server"
msgstr ""
-#: src/mn-pop3-mailbox.gob:271
+#: src/mn-pop3-mailbox.gob:272
msgid "invalid arguments for the LOGIN-DELAY capability"
msgstr ""
-#: src/mn-pop3-mailbox.gob:536
+#: src/mn-pop3-mailbox.gob:549
msgid "unknown error"
msgstr ""
-#: src/mn-pop3-mailbox.gob:666
+#: src/mn-pop3-mailbox.gob:681
#, c-format
msgid "honouring LOGIN-DELAY, sleeping for %i second"
msgid_plural "honouring LOGIN-DELAY, sleeping for %i seconds"
msgstr[0] ""
msgstr[1] ""
-#: src/mn-pop3-mailbox.gob:831
+#: src/mn-pop3-mailbox.gob:840
msgid "server does not support APOP authentication"
msgstr ""
-#: src/mn-pop3-mailbox.gob:859
+#: src/mn-pop3-mailbox.gob:868
msgid "falling back to APOP authentication"
msgstr ""
-#: src/mn-pop3-mailbox.gob:864
+#: src/mn-pop3-mailbox.gob:873
msgid "falling back to USER/PASS authentication"
msgstr ""
-#: src/mn-properties.c:161
+#: src/mn-properties.c:170
msgid "top left"
msgstr ""
-#: src/mn-properties.c:162
+#: src/mn-properties.c:171
msgid "top right"
msgstr ""
-#: src/mn-properties.c:163
+#: src/mn-properties.c:172
msgid "bottom left"
msgstr ""
-#: src/mn-properties.c:164
+#: src/mn-properties.c:173
msgid "bottom right"
msgstr ""
-#: src/mn-properties.c:240
+#: src/mn-properties.c:251
msgid "No mailbox selected."
msgstr ""
-#: src/mn-properties.c:245
+#: src/mn-properties.c:256
#, c-format
msgid "%i mailbox selected."
msgid_plural "%i mailboxes selected."
msgstr[0] ""
msgstr[1] ""
-#: src/mn-shell.gob:84
+#: src/mn-shell.gob:86
msgid "You have new mail."
msgstr ""
-#: src/mn-shell.gob:96
-msgid "A command error has occurred in Mail Notification"
-msgstr ""
-
-#: src/mn-shell.gob:97
-#, c-format
-msgid "Unable to execute new mail command: %s."
-msgstr ""
-
-#: src/mn-shell.gob:270
+#: src/mn-shell.gob:263
msgid "The following mailbox has new mail:\n"
msgid_plural "The following mailboxes have new mail:\n"
msgstr[0] ""
msgstr[1] ""
-#: src/mn-shell.gob:274
+#: src/mn-shell.gob:267
msgid "You have no new mail."
msgstr ""
-#: src/mn-shell.gob:277
+#: src/mn-shell.gob:270
msgid "The following mailbox reported an error:\n"
msgid_plural "The following mailboxes reported an error:\n"
msgstr[0] ""
msgstr[1] ""
-#: src/mn-shell.gob:282
+#: src/mn-shell.gob:275
msgid "The following mailbox is unsupported:\n"
msgid_plural "The following mailboxes are unsupported:\n"
msgstr[0] ""
msgstr[1] ""
+#: src/mn-shell.gob:320
+msgid "A command error has occurred in Mail Notification"
+msgstr ""
+
+#: src/mn-shell.gob:321
+#, c-format
+msgid "Unable to execute \"%s\": %s."
+msgstr ""
+
+#: src/mn-soup.c:140
+#, c-format
+msgid "unable to parse proxy URI \"%s\""
+msgstr ""
+
#: src/mn-ssl.c:79
msgid "unknown SSL/TLS error"
msgstr ""
@@ -1196,7 +1251,7 @@ msgstr ""
msgid "error while reading folder: %s"
msgstr ""
-#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:393
+#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:411
msgid "System Mailbox"
msgstr ""
@@ -1264,6 +1319,14 @@ msgstr ""
msgid "invalid signal specification \"%s\""
msgstr ""
+#: ui/authentication.glade.h:1 ui/properties.glade.h:2
+msgid "*"
+msgstr ""
+
+#: ui/authentication.glade.h:2
+msgid "_Authenticate"
+msgstr ""
+
#: ui/mailbox-properties.glade.h:1
msgid "_Mailbox type:"
msgstr ""
@@ -1272,135 +1335,149 @@ msgstr ""
msgid " "
msgstr ""
-#: ui/properties.glade.h:2
-msgid "*"
+#: ui/properties.glade.h:3
+msgid "<span weight=\"bold\">Commands</span>"
msgstr ""
-#: ui/properties.glade.h:3
+#: ui/properties.glade.h:4
msgid "<span weight=\"bold\">General</span>"
msgstr ""
-#: ui/properties.glade.h:4
+#: ui/properties.glade.h:5
msgid "<span weight=\"bold\">Mailbox List</span>"
msgstr ""
-#: ui/properties.glade.h:5
+#: ui/properties.glade.h:6
msgid "<span weight=\"bold\">Position</span>"
msgstr ""
-#: ui/properties.glade.h:6
+#: ui/properties.glade.h:7
msgid "General"
msgstr ""
-#: ui/properties.glade.h:7
+#: ui/properties.glade.h:8
msgid "Hori_zontal offset:"
msgstr ""
-#: ui/properties.glade.h:8
+#: ui/properties.glade.h:9
#, fuzzy
msgid "Mail Notification Properties"
msgstr "Иконка входящих сообщений"
-#: ui/properties.glade.h:9
+#: ui/properties.glade.h:10
msgid "Mail Summary Popup"
msgstr ""
-#: ui/properties.glade.h:10
+#: ui/properties.glade.h:11
msgid "Mailboxes"
msgstr ""
-#: ui/properties.glade.h:11
+#: ui/properties.glade.h:12
msgid "P_osition:"
msgstr ""
-#: ui/properties.glade.h:12
+#: ui/properties.glade.h:13
msgid "The amount of time to wait before closing the mail summary popup"
msgstr ""
-#: ui/properties.glade.h:13
+#: ui/properties.glade.h:14
msgid "The amount of time to wait between mail checks"
msgstr ""
-#: ui/properties.glade.h:14
+#: ui/properties.glade.h:15
+#, fuzzy
+msgid "The command to run when all mail is read"
+msgstr ""
+"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
+
+#: ui/properties.glade.h:16
msgid "The command to run when new mail arrives"
msgstr ""
-#: ui/properties.glade.h:15
+#: ui/properties.glade.h:17
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup"
msgstr ""
-#: ui/properties.glade.h:16
+#: ui/properties.glade.h:18
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup"
msgstr ""
-#: ui/properties.glade.h:17
+#: ui/properties.glade.h:19
+msgid "When _all mail is read:"
+msgstr ""
+
+#: ui/properties.glade.h:20
+msgid "When _new mail arrives:"
+msgstr ""
+
+#: ui/properties.glade.h:21
msgid "Whether the status icon should blink on errors or not"
msgstr ""
-#: ui/properties.glade.h:18
+#: ui/properties.glade.h:22
msgid "Whether to automatically close the mail summary popup or not"
msgstr ""
-#: ui/properties.glade.h:19
+#: ui/properties.glade.h:23
#, fuzzy
msgid "Whether to display the mail summary popup when new mail arrives or not"
msgstr ""
"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
-#: ui/properties.glade.h:20
+#: ui/properties.glade.h:24
+#, fuzzy
+msgid "Whether to run a command when all mail is read or not"
+msgstr ""
+"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
+
+#: ui/properties.glade.h:25
msgid "Whether to run a command when new mail arrives or not"
msgstr ""
-#: ui/properties.glade.h:21
+#: ui/properties.glade.h:26
msgid ""
"Whether to start Mail Notification when you log into your GNOME session or "
"not"
msgstr ""
-#: ui/properties.glade.h:22
+#: ui/properties.glade.h:27
msgid "_Automatically close after:"
msgstr ""
-#: ui/properties.glade.h:23
+#: ui/properties.glade.h:28
msgid "_Blink on errors"
msgstr ""
-#: ui/properties.glade.h:24
+#: ui/properties.glade.h:29
msgid "_Delay between mail checks:"
msgstr ""
-#: ui/properties.glade.h:25
+#: ui/properties.glade.h:30
msgid "_Enable mail summary popup"
msgstr ""
-#: ui/properties.glade.h:26
-#, fuzzy
-msgid "_Run a command when new mail arrives:"
-msgstr ""
-"Иконка в области уведомления панели, уведомляющая о приходе новой почты."
-
-#: ui/properties.glade.h:27
+#: ui/properties.glade.h:31
#, fuzzy
msgid "_Start Mail Notification on GNOME login"
msgstr "Иконка входящих сообщений"
-#: ui/properties.glade.h:28
+#: ui/properties.glade.h:32
msgid "_Vertical offset:"
msgstr ""
-#: ui/properties.glade.h:29
+#: ui/properties.glade.h:33
msgid "minutes"
msgstr ""
-#: ui/properties.glade.h:30
+#: ui/properties.glade.h:34
msgid "pixels"
msgstr ""
-#: ui/properties.glade.h:31
+#: ui/properties.glade.h:35
msgid "seconds"
msgstr ""
diff --git a/po/sr.gmo b/po/sr.gmo
Binary files differ.
diff --git a/po/sr.po b/po/sr.po
@@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: mail-notification 0.6.2\n"
+"Project-Id-Version: mail-notification 0.7.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-10-06 19:31+0200\n"
-"PO-Revision-Date: 2004-09-30 02:54+0200\n"
+"POT-Creation-Date: 2004-10-25 15:26+0200\n"
+"PO-Revision-Date: 2004-10-18 20:04+0100\n"
"Last-Translator: Филип Милетић <filmil@gmail.com>\n"
"Language-Team: Serbian (sr) <gnu@prevod.org>\n"
"MIME-Version: 1.0\n"
@@ -30,12 +30,12 @@ msgstr "Фабрика ѕа дојаву приспећа поште"
#: data/mail-notification-properties.desktop.in.h:1
msgid "Configure Mail Notification"
-msgstr "Подеси дојаву поште"
+msgstr "Подеси дојаву приспећа поште"
#: data/mail-notification-properties.desktop.in.h:2
#: data/mail-notification.desktop.in.h:2
#: data/mail-notification.soundlist.in.h:1 src/mn-about-dialog.gob:40
-#: src/mn-mail-icon.gob:163 src/mn-main.c:272
+#: src/mn-mail-icon.gob:163 src/mn-main.c:271
msgid "Mail Notification"
msgstr "Дојава поште"
@@ -45,7 +45,7 @@ msgstr "Обавести када стигне нова пошта"
#: data/mail-notification.schemas.in.h:1
msgid "Automatically close the mail summary popup"
-msgstr ""
+msgstr "Аутоматски затвори прозор са сажетком порука"
#: data/mail-notification.schemas.in.h:2
msgid "Blink on errors"
@@ -61,11 +61,11 @@ msgstr "Размак између две провере (секунде)."
#: data/mail-notification.schemas.in.h:5
msgid "Do not show the immediate notification error dialog"
-msgstr ""
+msgstr "Не показуј прозор са обавештењем о грешкама"
#: data/mail-notification.schemas.in.h:6
msgid "Enable mail summary popup"
-msgstr ""
+msgstr "Дозволи приказ сажетка порука"
#: data/mail-notification.schemas.in.h:7
msgid "Fingerprints of trusted X509 certificates"
@@ -76,163 +76,179 @@ msgid "Has already been run"
msgstr "Већ је покренут"
#: data/mail-notification.schemas.in.h:9
-#, fuzzy
msgid "Height of mail summary dialog"
-msgstr "Висина прозора са поставкама"
+msgstr "Висина прозора са сажетком порука"
#: data/mail-notification.schemas.in.h:10
msgid "Height of properties dialog"
msgstr "Висина прозора са поставкама"
#: data/mail-notification.schemas.in.h:11
-msgid "Mail summary popup horizontal offset"
-msgstr ""
+msgid "Mail read command"
+msgstr "Команда за читање поште"
#: data/mail-notification.schemas.in.h:12
-msgid "Mail summary popup position"
-msgstr ""
+msgid "Mail summary popup horizontal offset"
+msgstr "Померај хоризонталних тачака за прозор са сажетком порука"
#: data/mail-notification.schemas.in.h:13
-msgid "Mail summary popup vertical offset"
-msgstr ""
+msgid "Mail summary popup position"
+msgstr "Број хоризонталних тачака за прозор са сажетком порука"
#: data/mail-notification.schemas.in.h:14
-#, fuzzy
+msgid "Mail summary popup vertical offset"
+msgstr "Померај вертикалних тачака ѕа прозор са сажетком порука"
+
+#: data/mail-notification.schemas.in.h:15
msgid "Mailbox list"
msgstr "Списак сандучића"
-#: data/mail-notification.schemas.in.h:15
+#: data/mail-notification.schemas.in.h:16
msgid "Minutes between mail checks"
msgstr "Минута између две провере"
-#: data/mail-notification.schemas.in.h:16
+#: data/mail-notification.schemas.in.h:17
msgid "Minutes to wait before closing the mail summary popup"
msgstr ""
+"Број минута који треба да протекне пре затварања прозора са сажетком порука"
-#: data/mail-notification.schemas.in.h:17
+#: data/mail-notification.schemas.in.h:18
msgid "New mail command"
msgstr "Изврши када пошта стигне"
-#: data/mail-notification.schemas.in.h:18
+#: data/mail-notification.schemas.in.h:19
+msgid "Run a command when all mail is read"
+msgstr "Покрени команду када је сва пошта прочитана"
+
+#: data/mail-notification.schemas.in.h:20
msgid "Run a command when new mail arrives"
msgstr "Покрени команду када стигне нова пошта"
-#: data/mail-notification.schemas.in.h:19
+#: data/mail-notification.schemas.in.h:21
msgid "Seconds between mail checks"
msgstr "Секунди између две провере"
-#: data/mail-notification.schemas.in.h:20
+#: data/mail-notification.schemas.in.h:22
msgid "Seconds to wait before closing the mail summary popup"
-msgstr ""
+msgstr "Број секунди који треба да протекне пре затварања сажетка порука"
-#: data/mail-notification.schemas.in.h:21
-#, fuzzy
+#: data/mail-notification.schemas.in.h:23
msgid ""
"The amount of time to wait before closing the mail summary popup (minutes "
"part)."
-msgstr "Пауза између две узастопне провере"
+msgstr "Пауза пре затварања прозора са сажетком порука (минути)."
-#: data/mail-notification.schemas.in.h:22
-#, fuzzy
+#: data/mail-notification.schemas.in.h:24
msgid ""
"The amount of time to wait before closing the mail summary popup (seconds "
"part)."
-msgstr "Пауза између две узастопне провере"
+msgstr "Пауза пре затварања прозора са сажетком порука (секунде)."
-#: data/mail-notification.schemas.in.h:23
+#: data/mail-notification.schemas.in.h:25
+msgid "The command to run when all mail is read."
+msgstr "Команда коју треба покренути када је сва пошта прочитана."
+
+#: data/mail-notification.schemas.in.h:26
msgid "The command to run when new mail arrives."
msgstr "Покрени ову команду када стигне нова пошта."
-#: data/mail-notification.schemas.in.h:24
-#, fuzzy
+#: data/mail-notification.schemas.in.h:27
msgid "The height of the mail summary dialog in pixels."
-msgstr "Висина прозора са поставкама изражена у тачкама."
+msgstr "Висина прозора са сажетком порука изражена у тачкама."
-#: data/mail-notification.schemas.in.h:25
+#: data/mail-notification.schemas.in.h:28
msgid "The height of the properties dialog in pixels."
msgstr "Висина прозора са поставкама изражена у тачкама."
-#: data/mail-notification.schemas.in.h:26
+#: data/mail-notification.schemas.in.h:29
msgid "The list of mailboxes to monitor."
msgstr "Списак сандучића који се прате."
-#: data/mail-notification.schemas.in.h:27
+#: data/mail-notification.schemas.in.h:30
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
msgstr ""
"Списак проверених SSL/TLS сервера (рачунар:порт) који немају X509 сертификат."
-#: data/mail-notification.schemas.in.h:28
+#: data/mail-notification.schemas.in.h:31
msgid ""
"The list of trusted X509 certificates, represented by their MD5 fingerprint."
msgstr "Списак проверених X509 сертификата, представљених MD5 отиском."
-#: data/mail-notification.schemas.in.h:29
+#: data/mail-notification.schemas.in.h:32
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup."
msgstr ""
+"Број тачака које треба оставити између леве, одн. десне стране екрана и "
+"прозора са сажетком порука."
-#: data/mail-notification.schemas.in.h:30
+#: data/mail-notification.schemas.in.h:33
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup."
msgstr ""
+"Број тачака које треба оставити између врха, одн. дна екрана и прозора са "
+"сажетком порука."
-#: data/mail-notification.schemas.in.h:31
+#: data/mail-notification.schemas.in.h:34
msgid ""
"The position of the mail summary popup. Must be \"top-left\", \"top-right\", "
"\"bottom-left\" or \"bottom-right\"."
msgstr ""
+"Положај прозора са сажетком порука. Може бити: „горе-лево‟, „горе-десно‟, "
+"„доле-лево‟ или „доле-десно‟."
-#: data/mail-notification.schemas.in.h:32
-#, fuzzy
+#: data/mail-notification.schemas.in.h:35
msgid "The width of the mail summary dialog in pixels."
-msgstr "Ширина прозора са поставкама изражена у тачкама."
+msgstr "Ширина прозора са сажетком порука изражена у тачкама."
-#: data/mail-notification.schemas.in.h:33
+#: data/mail-notification.schemas.in.h:36
msgid "The width of the properties dialog in pixels."
msgstr "Ширина прозора са поставкама изражена у тачкама."
-#: data/mail-notification.schemas.in.h:34
+#: data/mail-notification.schemas.in.h:37
msgid "Trusted servers list"
msgstr "Списак проверених сервера"
-#: data/mail-notification.schemas.in.h:35
+#: data/mail-notification.schemas.in.h:38
msgid "Whether Mail Notification has already been run or not."
msgstr "Да ли је програм покретан пре или није."
-#: data/mail-notification.schemas.in.h:36
+#: data/mail-notification.schemas.in.h:39
msgid "Whether the status icon should blink on errors or not."
msgstr "Да ли сличица треба да трепери ако дође до грешке или не."
-#: data/mail-notification.schemas.in.h:37
-#, fuzzy
+#: data/mail-notification.schemas.in.h:40
msgid "Whether to automatically close the mail summary popup or not."
-msgstr "Да ли треба покренути неку команду када стигне нова пошта."
+msgstr ""
+"Да ли треба или не треба аутоматски затворити прозор са сажетком поште."
-#: data/mail-notification.schemas.in.h:38
-#, fuzzy
+#: data/mail-notification.schemas.in.h:41
msgid "Whether to display the mail summary popup when new mail arrives or not."
-msgstr "Да ли треба покренути неку команду када стигне нова пошта."
+msgstr "Да ли треба приказати сажетак порука када стигне нова пошта."
-#: data/mail-notification.schemas.in.h:39
+#: data/mail-notification.schemas.in.h:42
msgid ""
"Whether to prevent the immediate notification error dialog from being "
"displayed or not."
+msgstr "Да ли треба или не треба спречити појаву прозора са описом грешака."
+
+#: data/mail-notification.schemas.in.h:43
+msgid "Whether to run a command when all mail is read or not."
msgstr ""
+"Да ли треба или не треба покренути неку команду када је сва пошта прочитана."
-#: data/mail-notification.schemas.in.h:40
+#: data/mail-notification.schemas.in.h:44
msgid "Whether to run a command when new mail arrives or not."
msgstr "Да ли треба покренути неку команду када стигне нова пошта."
-#: data/mail-notification.schemas.in.h:41
-#, fuzzy
+#: data/mail-notification.schemas.in.h:45
msgid "Width of mail summary dialog"
-msgstr "Ширина прозора са поставкама"
+msgstr "Ширина прозора са сажетком порука"
-#: data/mail-notification.schemas.in.h:42
+#: data/mail-notification.schemas.in.h:46
msgid "Width of properties dialog"
msgstr "Ширина прозора са поставкама"
@@ -262,6 +278,39 @@ msgstr "Филип Милетић <filmil@gmail.com>"
msgid "<span style=\"italic\">autodetect</span>"
msgstr "<span style=\"italic\">сам пронађи</span>"
+#. translator: example output: Enter your password for POP3 mailbox jylefort@localhost.
+#: src/mn-authenticated-mailbox.gob:77
+#, c-format
+msgid "Enter your password for %s mailbox %s."
+msgstr "Унесите лозинку за %s сандуче %s."
+
+#. translator: example output: ... into POP3 mailbox jylefort@localhost ...
+#: src/mn-authenticated-mailbox.gob:98
+#, c-format
+msgid ""
+"Mail Notification was unable to log into %s mailbox %s, possibly because the "
+"password you have entered is invalid.\n"
+"\n"
+"Please re-enter your password."
+msgstr ""
+"Није могуће пријавити се за читање %s сандучета %s, највероватније зато што "
+"унета лозинка није исправна.\n"
+"\n"
+"Молим унесите поново лозинку."
+
+#: src/mn-authenticated-mailbox.gob:164
+#, c-format
+msgid ""
+"<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</"
+"span>\n"
+"\n"
+"%s"
+msgstr ""
+"<span weight=\"bold\" size=\"larger\">Дојава поште захтева да упишете "
+"лозинку</span>\n"
+"\n"
+"%s"
+
#: src/mn-autodetect-mailbox-properties.gob:68
msgid "_Location:"
msgstr "_Место:"
@@ -523,160 +572,154 @@ msgstr "усклађујем GConf базу података"
msgid "completed"
msgstr "урађено"
-#: src/mn-gmail-mailbox-properties.gob:79
+#: src/mn-gmail-mailbox-properties.gob:77
msgid "Your Gmail username"
-msgstr "Ваше име на сервису Gmail"
+msgstr "Ваш налог на сервису Gmail"
-#: src/mn-gmail-mailbox-properties.gob:80
-msgid "Your Gmail password"
-msgstr "Ваша лозинка на сервису Gmail"
+#: src/mn-gmail-mailbox-properties.gob:78
+msgid ""
+"Your Gmail password (if left blank, you will be prompted for the password "
+"when needed)"
+msgstr ""
+"Ваша лозинка на сервису Gmail (ако не упишете лозинку, програм ће Вас "
+"замолити да је унесете када то буде потребно)"
-#: src/mn-gmail-mailbox.gob:65
+#: src/mn-gmail-mailbox.gob:63
msgid "libsoup has not been compiled with SSL/TLS support"
-msgstr ""
+msgstr "libsoup није изграђен са подршком за SSL/TLS"
-#: src/mn-gmail-mailbox.gob:110 src/mn-gmail-mailbox.gob:331
-#, fuzzy, c-format
+#: src/mn-gmail-mailbox.gob:105
+#, c-format
msgid "unable to parse URI \"%s\""
-msgstr "није могуће обрадити одговор \"%s\""
+msgstr "није могуће обрадити URI \"%s\""
+
+#: src/mn-gmail-mailbox.gob:159
+#, c-format
+msgid "unable to transfer data: %s"
+msgstr "не могу да преузмем податке: %s"
-#: src/mn-gmail-mailbox.gob:257
+#: src/mn-gmail-mailbox.gob:280
msgid "logging in"
msgstr "пријава у току"
-#: src/mn-gmail-mailbox.gob:271 src/mn-gmail-mailbox.gob:342
-#: src/mn-gmail-mailbox.gob:380 src/mn-gmail-mailbox.gob:415
+#: src/mn-gmail-mailbox.gob:358
msgid "login failed"
msgstr "пријава није успела"
-#: src/mn-gmail-mailbox.gob:283 src/mn-gmail-mailbox.gob:356
-#: src/mn-gmail-mailbox.gob:394 src/mn-gmail-mailbox.gob:503
-#, c-format
-msgid "unable to transfer data: %s"
-msgstr "не могу да преузмем податке: %s"
-
-#: src/mn-gmail-mailbox.gob:409
-msgid "successfully logged in"
-msgstr "пријава је успела"
-
-#: src/mn-gmail-mailbox.gob:487
+#: src/mn-gmail-mailbox.gob:433
msgid "searching for unread mail"
msgstr "тражим нову пошту"
-#: src/mn-gmail-mailbox.gob:491
-#, fuzzy
-msgid "unable to search for unread mail"
-msgstr "тражим нову пошту"
-
-#: src/mn-gmail-mailbox.gob:604
+#: src/mn-gmail-mailbox.gob:529
msgid "unable to parse Gmail data"
-msgstr "не могу да обрадим податке са Gmail-a"
+msgstr "не могу да обрадим податке са сервиса Gmail"
#: src/mn-gmime-stream-vfs.gob:49
-#, fuzzy, c-format
+#, c-format
msgid "unable to read %s: %s"
-msgstr "Није могуће пронаћи %s: %s"
+msgstr "Није могуће прочитати %s: %s"
#: src/mn-gmime-stream-vfs.gob:51
-#, fuzzy, c-format
+#, c-format
msgid "unable to write to %s: %s"
-msgstr "није могућ упис на сервер: %s"
+msgstr "није могућ упис на %s: %s"
#: src/mn-gmime-stream-vfs.gob:53
-#, fuzzy, c-format
+#, c-format
msgid "unable to seek in %s: %s"
-msgstr "Није могуће пронаћи %s: %s"
+msgstr "Није могуће пронаћи у %s: %s"
#: src/mn-gmime-stream-vfs.gob:55
-#, fuzzy, c-format
+#, c-format
msgid "unable to tell position of %s: %s"
-msgstr "није могуће мотрити на %s: %s"
+msgstr "није могуће сазнати положај за %s: %s"
#: src/mn-gmime-stream-vfs.gob:57
-#, fuzzy, c-format
+#, c-format
msgid "unable to close %s: %s"
-msgstr "није могуће затворити директоријум: %s"
+msgstr "није могуће затворити %s: %s"
-#: src/mn-imap-mailbox-properties.gob:94
+#: src/mn-imap-mailbox-properties.gob:93
msgid "Mailbox:"
msgstr "Сандуче:"
-#: src/mn-imap-mailbox-properties.gob:98
+#: src/mn-imap-mailbox-properties.gob:97
msgid "in_box"
msgstr "in_box"
-#: src/mn-imap-mailbox-properties.gob:109
+#: src/mn-imap-mailbox-properties.gob:108
msgid "oth_er:"
msgstr "_друго:"
-#: src/mn-imap-mailbox-properties.gob:124
+#: src/mn-imap-mailbox-properties.gob:123
msgid "The hostname or IP address of the IMAP server"
msgstr "Име или IP број IMAP сервера"
-#: src/mn-imap-mailbox-properties.gob:125
+#: src/mn-imap-mailbox-properties.gob:124
msgid "Your username on the IMAP server"
msgstr "Ваше име на IMAP серверу"
-#: src/mn-imap-mailbox-properties.gob:126
-msgid "Your password on the IMAP server"
-msgstr "Ваша лозинка на IMAP серверу"
+#: src/mn-imap-mailbox-properties.gob:125
+msgid ""
+"Your password on the IMAP server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"Ваша лозинка на IMAP серверу (ако не упишете лозинку, програм ће Вас "
+"замолити да је унесете када то буде потребно)"
+#: src/mn-imap-mailbox-properties.gob:126
#: src/mn-imap-mailbox-properties.gob:127
-#: src/mn-imap-mailbox-properties.gob:128
msgid "The port number of the IMAP server"
msgstr "Број порта на IMAP серверу"
-#: src/mn-imap-mailbox-properties.gob:129
+#: src/mn-imap-mailbox-properties.gob:128
msgid "The mailbox name"
msgstr "Име сандучета"
-#: src/mn-imap-mailbox.gob:132 src/mn-pop3-mailbox.gob:141
+#: src/mn-imap-mailbox.gob:133 src/mn-pop3-mailbox.gob:142
msgid "SSL/TLS support has not been compiled in"
msgstr "Подршка за SSL/TLS није уграђена"
-#: src/mn-imap-mailbox.gob:203
+#: src/mn-imap-mailbox.gob:204
msgid "server did not send capabilities"
msgstr "сервер није обавестио о својим могућностима"
-#: src/mn-imap-mailbox.gob:318
+#: src/mn-imap-mailbox.gob:319
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
-msgstr "сервер је рекао LOGINDISABLED, не користим LOGIN пријаву"
+msgstr "сервер је дојавио LOGINDISABLED, LOGIN пријавa неће бити коришћена"
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:320
msgid "unable to login"
msgstr "пријава није могућа"
#. compliance error
-#: src/mn-imap-mailbox.gob:447
-#, fuzzy
+#: src/mn-imap-mailbox.gob:451
msgid "server did not send search results"
-msgstr "сервер није послао статус"
+msgstr "сервер није послао резултате претраге"
#. compliance error
-#: src/mn-imap-mailbox.gob:523
-#, fuzzy
+#: src/mn-imap-mailbox.gob:527
msgid "server did not send all the messages we requested"
-msgstr "сервер није послао статус"
+msgstr "сервер није послао све тражене поруке"
-#: src/mn-imap-mailbox.gob:570
-#, fuzzy
+#: src/mn-imap-mailbox.gob:574
msgid "unable to fetch message"
-msgstr "није могуће повезати се са: %s"
+msgstr "није могуће добавити поруку"
#. compliance error
-#: src/mn-imap-mailbox.gob:617
+#: src/mn-imap-mailbox.gob:621
msgid "server did not send status"
msgstr "сервер није послао статус"
-#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:903
+#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:913
msgid "unknown server error"
msgstr "непозната грешка на серверу"
-#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:225
+#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:226
msgid "server does not support in-band SSL/TLS"
msgstr "сервер не подржава заштиту путем SSL/TLS"
-#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:823
+#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:832
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
@@ -684,7 +727,7 @@ msgstr ""
"изабран је механизам за пријаву који користи SASL али подршка за SASL није "
"уграђена у програм"
-#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:835
+#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:844
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr "непознат механизам за пријаву \"%s\""
@@ -693,7 +736,7 @@ msgstr "непознат механизам за пријаву \"%s\""
msgid "falling back to IMAP LOGIN authentication"
msgstr "повратак на IMAP LOGIN пријаву"
-#: src/mn-imap-mailbox.gob:976 src/mn-pop3-mailbox.gob:869
+#: src/mn-imap-mailbox.gob:977 src/mn-pop3-mailbox.gob:879
msgid "authentication failed"
msgstr "пријава није успела"
@@ -714,11 +757,11 @@ msgstr "Додај сандуче"
msgid "%s Properties"
msgstr "Поставке за %s"
-#: src/mn-mailbox-properties-util.c:77
+#: src/mn-mailbox-properties-util.c:77 ui/authentication.glade.h:4
msgid "_Username:"
msgstr "_Кор.име:"
-#: src/mn-mailbox-properties-util.c:87
+#: src/mn-mailbox-properties-util.c:87 ui/authentication.glade.h:3
msgid "_Password:"
msgstr "_Лозинка:"
@@ -775,46 +818,44 @@ msgstr "Није могуће додати сандуче"
msgid "The mailbox is already in the list."
msgstr "Сандуче је већ у списку."
-#: src/mn-mailbox.gob:133
+#: src/mn-mailbox.gob:130
msgid "The mailbox URI"
msgstr "URI ознака за сандуче"
-#: src/mn-mailbox.gob:144
+#: src/mn-mailbox.gob:141
msgid "The mailbox human-readable name"
msgstr "Име сандучета"
-#: src/mn-mailbox.gob:148
+#: src/mn-mailbox.gob:145
msgid "Whether the mailbox has to be manually checked or not"
msgstr "Да ли се ово сандуче ручно проверава или не"
-#: src/mn-mailbox.gob:153
+#: src/mn-mailbox.gob:150
msgid "Whether the mailbox has new mail or not"
msgstr "Да ли у сандучету стоји нова пошта или не"
-#: src/mn-mailbox.gob:158
+#: src/mn-mailbox.gob:155
msgid "The list of new and unread MNMessage objects"
-msgstr ""
+msgstr "Списак нових и непрочитаних MNMessage објеката"
-#: src/mn-mailbox.gob:212
+#: src/mn-mailbox.gob:209
msgid "The mailbox error, if any"
msgstr "Грешка у приступу сандучету, ако постоји"
-#: src/mn-mailbox.gob:310
+#: src/mn-mailbox.gob:308
msgid "does not exist"
msgstr "не постоји"
-#: src/mn-mailbox.gob:342
+#: src/mn-mailbox.gob:340
msgid "unknown format"
msgstr "непознат формат"
-#: src/mn-mailbox.gob:408
-#, fuzzy, c-format
+#: src/mn-mailbox.gob:406
+#, c-format
msgid "unable to enable immediate notification for %s: %s"
-msgstr ""
-"Није могуће наместити непосредну дојаву нове поште за један или више "
-"сандучића. %s"
+msgstr "Није могуће наместити непосредну дојаву нове поште за %s: %s"
-#: src/mn-mailbox.gob:426
+#: src/mn-mailbox.gob:424
#, c-format
msgid ""
"As a fallback, they will be checked every %i second (this delay is "
@@ -823,9 +864,16 @@ msgid_plural ""
"As a fallback, they will be checked every %i seconds (this delay is "
"configurable from the Properties Dialog)."
msgstr[0] ""
+"Пошто нема друге могућности, биће проверавани сваку %i секунду (ово кашњење "
+"се може променити из прозора са поставкама)"
msgstr[1] ""
+"Пошто нема друге могућности, биће проверавани сваке %i секунде (ово кашњење "
+"се може променити из прозора са поставкама)"
+msgstr[2] ""
+"Пошто нема друге могућности, биће проверавани сваких %i секунди (ово кашњење "
+"се може променити из прозора са поставкама)"
-#: src/mn-mailbox.gob:437
+#: src/mn-mailbox.gob:435
#, c-format
msgid ""
"As a fallback, they will be checked every %i minute (this delay is "
@@ -843,7 +891,7 @@ msgstr[2] ""
"Пошто нема друге могућности, биће проверавани сваких %i минута (ово кашњење "
"се може променити из прозора са поставкама)"
-#: src/mn-mailbox.gob:448
+#: src/mn-mailbox.gob:446
#, c-format
msgid ""
"As a fallback, they will be checked approximately every %i minute (this "
@@ -861,11 +909,11 @@ msgstr[2] ""
"Пошто нема друге могућности, биће проверавани на око %i минута (ово кашњење "
"се може променити из прозора са поставкама)"
-#: src/mn-mailbox.gob:464
+#: src/mn-mailbox.gob:462
msgid "A monitoring error has occurred"
msgstr "Дошло је до грешке при мотрењу"
-#: src/mn-mailbox.gob:465
+#: src/mn-mailbox.gob:463
#, c-format
msgid ""
"Mail Notification was unable to enable immediate notification for one or "
@@ -874,27 +922,27 @@ msgstr ""
"Није могуће наместити непосредну дојаву нове поште за један или више "
"сандучића. %s"
-#: src/mn-mailboxes.gob:133
-#, fuzzy
+#: src/mn-mailboxes.gob:143
msgid "Whether one or more of the mailboxes has to be polled"
-msgstr "Да ли се ово сандуче ручно проверава или не"
+msgstr ""
+"Показује да ли постоји бар једно сандуче које мора да се учестало проверава"
-#: src/mn-mailboxes.gob:266
+#: src/mn-mailboxes.gob:276
#, c-format
msgid "%s is unsupported: %s"
msgstr "%s није подржан: %s"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has new mail"
msgstr "Сандуче %s има нову пошту"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has no new mail"
msgstr "Сандуче %s нема нову пошту"
-#: src/mn-mailboxes.gob:323
+#: src/mn-mailboxes.gob:333
#, c-format
msgid "%s reported an error: %s"
msgstr "%s је дојавио грешку: %s"
@@ -914,50 +962,49 @@ msgstr "није могуће затворити директоријум \"new\
msgid "error while reading folder \"new\": %s"
msgstr "грешка при читању директоријума \"new\": %s"
-#: src/mn-main.c:97
+#: src/mn-main.c:96
#, c-format
msgid "Compiled-in mailbox backends: %s\n"
msgstr "Програм уме да чита сандучиће у форматима: %s\n"
-#: src/mn-main.c:114
+#: src/mn-main.c:113
#, c-format
msgid "Compiled-in features: %s\n"
msgstr "Уграђене могућности: %s\n"
-#: src/mn-main.c:166
+#: src/mn-main.c:165
msgid "Enable informational output"
msgstr "Дозволи речитији излаз"
-#: src/mn-main.c:175
+#: src/mn-main.c:174
msgid "List compiled-in features and exit"
msgstr "Испиши уграђене могућности и изађи"
-#: src/mn-main.c:184
-#, fuzzy
+#: src/mn-main.c:183
msgid "Display the mail summary dialog"
-msgstr "Прикажи податке о програму"
+msgstr "Прикажи прозор са сажетком порука"
-#: src/mn-main.c:193
+#: src/mn-main.c:192
msgid "Display the properties dialog"
msgstr "Прикажи прозор са поставкама"
-#: src/mn-main.c:202
+#: src/mn-main.c:201
msgid "Display the about dialog"
msgstr "Прикажи податке о програму"
-#: src/mn-main.c:211
+#: src/mn-main.c:210
msgid "Close the mail summary popup"
-msgstr ""
+msgstr "Затвори прозор са сажетком порука"
-#: src/mn-main.c:220
+#: src/mn-main.c:219
msgid "Update the mail status"
msgstr "Освежи податке о пошти"
-#: src/mn-main.c:229
+#: src/mn-main.c:228
msgid "Report the mail status"
msgstr "Провери пошту"
-#: src/mn-main.c:238
+#: src/mn-main.c:237
msgid "Unset obsolete GConf configuration and exit"
msgstr "Поништи застарела GConf подешавања и изађи"
@@ -965,11 +1012,11 @@ msgstr "Поништи застарела GConf подешавања и изађ
#. * We can't use mn_error_dialog() because gtk_init() has not been
#. * called yet.
#.
-#: src/mn-main.c:264
+#: src/mn-main.c:263
msgid "multi-threading is not available"
msgstr "вишенитни рад није подржан"
-#: src/mn-main.c:309
+#: src/mn-main.c:310
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
@@ -979,19 +1026,19 @@ msgstr ""
"Бонобо у Гному 2.6, када инсталирате програм за обавештења, треба да се "
"одјавите и поново пријавите на систем да би све почело да ради)"
-#: src/mn-main.c:314
+#: src/mn-main.c:315
msgid "Unable to initialize the GnomeVFS library."
msgstr "Није могуће покренути библиотеку GnomeVFS."
-#: src/mn-main.c:350
+#: src/mn-main.c:351
msgid "updating the mail status"
msgstr "Проверавам пошту"
-#: src/mn-main.c:368
+#: src/mn-main.c:369
msgid "Mail Notification is already running"
msgstr "Програм за дојаву поште је већ покренут."
-#: src/mn-main.c:375
+#: src/mn-main.c:376
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
@@ -1001,7 +1048,7 @@ msgstr ""
"Бонобо у Гному 2.6, када инсталирате програм за обавештења, треба да се "
"одјавите и поново пријавите на систем да би све почело да ради)"
-#: src/mn-main.c:379
+#: src/mn-main.c:380
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -1023,56 +1070,67 @@ msgstr "није могуће отворити сандуче: %s"
#: src/mn-message-label.gob:77
msgid "Unreadable message"
-msgstr ""
+msgstr "Нечитљива порука"
#: src/mn-message-label.gob:97
msgid "From"
-msgstr ""
+msgstr "Од"
#: src/mn-message-label.gob:98
msgid "Subject"
-msgstr ""
+msgstr "Тема"
#: src/mn-message-label.gob:102
msgid "Sent"
-msgstr ""
+msgstr "Послато"
#: src/mn-message-label.gob:151
#, c-format
msgid "%i second ago"
msgid_plural "%i seconds ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "пре %i секунду"
+msgstr[1] "пре %i секунде"
+msgstr[2] "пре %i секунди"
#: src/mn-message-label.gob:155
#, c-format
msgid "%i minute ago"
msgid_plural "%i minutes ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "пре %i минут"
+msgstr[1] "пре %i минута"
+msgstr[2] "пре %i минута"
#: src/mn-message-label.gob:160
#, c-format
msgid "%i hour ago"
msgid_plural "%i hours ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "пре %i сат"
+msgstr[1] "пре %i сата"
+msgstr[2] "пре %i сати"
#: src/mn-message-label.gob:165
#, c-format
msgid "%i day ago"
msgid_plural "%i days ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "пре %i дан"
+msgstr[1] "пре %i дана"
+msgstr[2] "пре %i дана"
+
+#: src/mn-message-label.gob:170
+#, c-format
+msgid "%i week ago"
+msgid_plural "%i weeks ago"
+msgstr[0] "пре %i недељу"
+msgstr[1] "пре %i недеље"
+msgstr[2] "пре %i недеља"
#: src/mn-message-mime.c:105
-#, fuzzy
msgid "unable to parse MIME message"
-msgstr "није могуће обрадити одговор \"%s\""
+msgstr "није могуће обрадити MIME поруку"
-#: src/mn-message.gob:82
+#: src/mn-message.gob:101
msgid "Unknown"
-msgstr ""
+msgstr "Непознато"
#: src/mn-mh-mailbox.gob:184
#, c-format
@@ -1108,32 +1166,35 @@ msgstr "_уграђени SSL/TLS"
msgid "SSL/TLS on sepa_rate port"
msgstr "SSL/TLS на посебном порту"
-#: src/mn-pop3-mailbox-properties.gob:86
+#: src/mn-pop3-mailbox-properties.gob:85
msgid "The hostname or IP address of the POP3 server"
msgstr "Име или IP број POP3 сервера"
-#: src/mn-pop3-mailbox-properties.gob:87
+#: src/mn-pop3-mailbox-properties.gob:86
msgid "Your username on the POP3 server"
msgstr "Ваше име на POP3 серверу"
-#: src/mn-pop3-mailbox-properties.gob:88
-msgid "Your password on the POP3 server"
-msgstr "Ваша лозинка на POP3 серверу"
+#: src/mn-pop3-mailbox-properties.gob:87
+msgid ""
+"Your password on the POP3 server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"Ваша лозинка на POP3 серверу (ако не упишете лозинку, програм ће Вас "
+"замолити да је унесете када то буде потребно)"
-#: src/mn-pop3-mailbox-properties.gob:89 src/mn-pop3-mailbox-properties.gob:90
+#: src/mn-pop3-mailbox-properties.gob:88 src/mn-pop3-mailbox-properties.gob:89
msgid "The port number of the POP3 server"
msgstr "Број порта на POP3 серверу"
-#: src/mn-pop3-mailbox.gob:271
+#: src/mn-pop3-mailbox.gob:272
msgid "invalid arguments for the LOGIN-DELAY capability"
msgstr "параметри за могућност LOGIN-DELAY нису исправно постављени"
-#: src/mn-pop3-mailbox.gob:536
-#, fuzzy
+#: src/mn-pop3-mailbox.gob:549
msgid "unknown error"
-msgstr "непозната грешка на серверу"
+msgstr "непозната грешка"
-#: src/mn-pop3-mailbox.gob:666
+#: src/mn-pop3-mailbox.gob:681
#, c-format
msgid "honouring LOGIN-DELAY, sleeping for %i second"
msgid_plural "honouring LOGIN-DELAY, sleeping for %i seconds"
@@ -1141,40 +1202,39 @@ msgstr[0] "тражен је застој при пријави, паузира
msgstr[1] "тражен је застој при пријави, паузирам %i секундe"
msgstr[2] "тражен је застој при пријави, паузирам %i секунди"
-#: src/mn-pop3-mailbox.gob:831
+#: src/mn-pop3-mailbox.gob:840
msgid "server does not support APOP authentication"
msgstr "сервер не подржава пријаву коришћењем механизма APOP"
-#: src/mn-pop3-mailbox.gob:859
+#: src/mn-pop3-mailbox.gob:868
msgid "falling back to APOP authentication"
msgstr "прелазим на APOP пријаву"
-#: src/mn-pop3-mailbox.gob:864
+#: src/mn-pop3-mailbox.gob:873
msgid "falling back to USER/PASS authentication"
msgstr "прелазим на пријаву помоћу имена и лозинке"
-#: src/mn-properties.c:161
-#, fuzzy
+#: src/mn-properties.c:170
msgid "top left"
-msgstr "Готово"
+msgstr "горе-лево"
-#: src/mn-properties.c:162
+#: src/mn-properties.c:171
msgid "top right"
-msgstr ""
+msgstr "горе-десно"
-#: src/mn-properties.c:163
+#: src/mn-properties.c:172
msgid "bottom left"
-msgstr ""
+msgstr "доле-лево"
-#: src/mn-properties.c:164
+#: src/mn-properties.c:173
msgid "bottom right"
-msgstr ""
+msgstr "доле-десно"
-#: src/mn-properties.c:240
+#: src/mn-properties.c:251
msgid "No mailbox selected."
msgstr "Ниједно сандуче није изабрано."
-#: src/mn-properties.c:245
+#: src/mn-properties.c:256
#, c-format
msgid "%i mailbox selected."
msgid_plural "%i mailboxes selected."
@@ -1182,44 +1242,49 @@ msgstr[0] "Изабрано %i сандуче"
msgstr[1] "Изабрана %i сандучета"
msgstr[2] "Изабрано %i сандучета"
-#: src/mn-shell.gob:84
+#: src/mn-shell.gob:86
msgid "You have new mail."
msgstr "Имате нову пошту."
-#: src/mn-shell.gob:96
-msgid "A command error has occurred in Mail Notification"
-msgstr "Дошло је до грешке у командама"
-
-#: src/mn-shell.gob:97
-#, c-format
-msgid "Unable to execute new mail command: %s."
-msgstr "Није могуће извршити команду за нову пошту: %s."
-
-#: src/mn-shell.gob:270
+#: src/mn-shell.gob:263
msgid "The following mailbox has new mail:\n"
msgid_plural "The following mailboxes have new mail:\n"
msgstr[0] "Сандуче са новом поштом:\n"
msgstr[1] "Сандучићи са новом поштом:\n"
msgstr[2] "Сандучићи са новом поштом:\n"
-#: src/mn-shell.gob:274
+#: src/mn-shell.gob:267
msgid "You have no new mail."
msgstr "Нема поште."
-#: src/mn-shell.gob:277
+#: src/mn-shell.gob:270
msgid "The following mailbox reported an error:\n"
msgid_plural "The following mailboxes reported an error:\n"
msgstr[0] "Ово сандуче има грешку:\n"
msgstr[1] "Ови сандучићи имају грешку:\n"
msgstr[2] "Ови сандучићи имају грешку:\n"
-#: src/mn-shell.gob:282
+#: src/mn-shell.gob:275
msgid "The following mailbox is unsupported:\n"
msgid_plural "The following mailboxes are unsupported:\n"
msgstr[0] "Ово сандуче није подржано:\n"
msgstr[1] "Ови сандучићи нису подржани:\n"
msgstr[2] "Ови сандучићи нису подржани:\n"
+#: src/mn-shell.gob:320
+msgid "A command error has occurred in Mail Notification"
+msgstr "Дошло је до грешке у командама"
+
+#: src/mn-shell.gob:321
+#, c-format
+msgid "Unable to execute \"%s\": %s."
+msgstr "Није могуће извршити %s: %s"
+
+#: src/mn-soup.c:140
+#, c-format
+msgid "unable to parse proxy URI \"%s\""
+msgstr "није могуће обрадити заступнички URI „%s‟"
+
#: src/mn-ssl.c:79
msgid "unknown SSL/TLS error"
msgstr "непозната грешка у SSL/TLS"
@@ -1230,7 +1295,7 @@ msgstr "Изабери _све"
#: src/mn-stock.c:29
msgid "_Mail Summary"
-msgstr ""
+msgstr "_Сажетак порука"
#: src/mn-sylpheed-mailbox.gob:122
#, c-format
@@ -1247,7 +1312,7 @@ msgstr "није могуће затворити директоријум: %s"
msgid "error while reading folder: %s"
msgstr "грешка при читању директоријума: %s"
-#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:393
+#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:411
msgid "System Mailbox"
msgstr "Локално сандуче"
@@ -1278,9 +1343,9 @@ msgid "error loading image: %s"
msgstr "грешка при учитавању слике: %s"
#: src/mn-util.c:271
-#, fuzzy, c-format
+#, c-format
msgid "widget \"%s\" not found in interface \"%s\""
-msgstr "елемент %s није пронађен у сучељу %s"
+msgstr "елемент „%s‟ није пронађен у сучељу „%s‟"
#: src/mn-util.c:385
msgid "received an invalid URI list"
@@ -1301,21 +1366,29 @@ msgstr "Није могуће покренути нит: %s."
#: src/mn-util.c:705
msgid "_Do not show this message again"
-msgstr ""
+msgstr "_Не приказуј више ову поруку"
#: src/mn-util.c:789
msgid "A fatal error has occurred in Mail Notification"
msgstr "Дошло је до кобне грешке у програму за дојаву поште"
#: src/mn-util.c:804
-#, fuzzy, c-format
+#, c-format
msgid "unable to get current time: %s"
-msgstr "није могуће повезати се са %s"
+msgstr "није могуће добавити тренутно време: %s"
#: src/mn-util.c:887
#, c-format
msgid "invalid signal specification \"%s\""
-msgstr ""
+msgstr "неважећа одредница за сигнал „%s‟"
+
+#: ui/authentication.glade.h:1 ui/properties.glade.h:2
+msgid "*"
+msgstr "*"
+
+#: ui/authentication.glade.h:2
+msgid "_Authenticate"
+msgstr "Пријави се"
#: ui/mailbox-properties.glade.h:1
msgid "_Mailbox type:"
@@ -1325,148 +1398,157 @@ msgstr "_Врста сандучета:"
msgid " "
msgstr " "
-#: ui/properties.glade.h:2
-msgid "*"
-msgstr "*"
-
#: ui/properties.glade.h:3
+msgid "<span weight=\"bold\">Commands</span>"
+msgstr "<span weight=\"bold\">Наредбе</span>"
+
+#: ui/properties.glade.h:4
msgid "<span weight=\"bold\">General</span>"
msgstr "<span weight=\"bold\">Опште</span>"
-#: ui/properties.glade.h:4
-#, fuzzy
+#: ui/properties.glade.h:5
msgid "<span weight=\"bold\">Mailbox List</span>"
msgstr "<span weight=\"bold\">Сандучићи</span>"
-#: ui/properties.glade.h:5
-#, fuzzy
+#: ui/properties.glade.h:6
msgid "<span weight=\"bold\">Position</span>"
-msgstr "<span weight=\"bold\">Наредбе</span>"
+msgstr "<span weight=\"bold\">Место</span>"
-#: ui/properties.glade.h:6
+#: ui/properties.glade.h:7
msgid "General"
-msgstr ""
+msgstr "Опште"
-#: ui/properties.glade.h:7
+#: ui/properties.glade.h:8
msgid "Hori_zontal offset:"
-msgstr ""
+msgstr "Хори_зонтални помак:"
-#: ui/properties.glade.h:8
+#: ui/properties.glade.h:9
msgid "Mail Notification Properties"
msgstr "Поставке за дојаву"
-#: ui/properties.glade.h:9
+#: ui/properties.glade.h:10
msgid "Mail Summary Popup"
-msgstr ""
+msgstr "Сажетак порука"
-#: ui/properties.glade.h:10
-#, fuzzy
+#: ui/properties.glade.h:11
msgid "Mailboxes"
-msgstr "Сандуче"
+msgstr "Сандучићи"
-#: ui/properties.glade.h:11
-#, fuzzy
+#: ui/properties.glade.h:12
msgid "P_osition:"
msgstr "_Место:"
-#: ui/properties.glade.h:12
-#, fuzzy
+#: ui/properties.glade.h:13
msgid "The amount of time to wait before closing the mail summary popup"
-msgstr "Пауза између две узастопне провере"
+msgstr "Пауза пре затварања прозора са сажетком порука"
-#: ui/properties.glade.h:13
+#: ui/properties.glade.h:14
msgid "The amount of time to wait between mail checks"
msgstr "Пауза између две узастопне провере"
-#: ui/properties.glade.h:14
+#: ui/properties.glade.h:15
+msgid "The command to run when all mail is read"
+msgstr "Наредба која се покреће када је сва пошта прочитана"
+
+#: ui/properties.glade.h:16
msgid "The command to run when new mail arrives"
msgstr "Наредба која се покреће када стиже нова пошта"
-#: ui/properties.glade.h:15
+#: ui/properties.glade.h:17
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup"
msgstr ""
+"Број тачака које треба оставити између леве, одн. десне стране екрана и "
+"прозора са сажетком порука"
-#: ui/properties.glade.h:16
+#: ui/properties.glade.h:18
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup"
msgstr ""
+"Број тачака које треба оставити између врха, одн. дна екрана и прозора са "
+"сажетком порука"
-#: ui/properties.glade.h:17
+#: ui/properties.glade.h:19
+msgid "When _all mail is read:"
+msgstr "Када је с_ва пошта прочитана:"
+
+#: ui/properties.glade.h:20
+msgid "When _new mail arrives:"
+msgstr "Када _стигне нова пошта:"
+
+#: ui/properties.glade.h:21
msgid "Whether the status icon should blink on errors or not"
msgstr "Да ли статусна сличица трепери при грешкама или не"
-#: ui/properties.glade.h:18
-#, fuzzy
+#: ui/properties.glade.h:22
msgid "Whether to automatically close the mail summary popup or not"
-msgstr "Да ли у сандучету стоји нова пошта или не"
+msgstr ""
+"Да ли треба или не треба аутоматски затворити прозор са сажетком порука"
-#: ui/properties.glade.h:19
-#, fuzzy
+#: ui/properties.glade.h:23
msgid "Whether to display the mail summary popup when new mail arrives or not"
-msgstr "Да ли се покреће команда када стигне пошта или не"
+msgstr ""
+"Да ли треба или не треба приказивати сажетак порука када стигне нова пошта"
-#: ui/properties.glade.h:20
+#: ui/properties.glade.h:24
+msgid "Whether to run a command when all mail is read or not"
+msgstr "Да ли се покреће или не покреће команда када је сва пошта прочитана"
+
+#: ui/properties.glade.h:25
msgid "Whether to run a command when new mail arrives or not"
msgstr "Да ли се покреће команда када стигне пошта или не"
-#: ui/properties.glade.h:21
+#: ui/properties.glade.h:26
msgid ""
"Whether to start Mail Notification when you log into your GNOME session or "
"not"
msgstr "Да ли покренути дојаву поште када се пријавите на систем"
-#: ui/properties.glade.h:22
+#: ui/properties.glade.h:27
msgid "_Automatically close after:"
-msgstr ""
+msgstr "_Аутоматски затвори после:"
-#: ui/properties.glade.h:23
+#: ui/properties.glade.h:28
msgid "_Blink on errors"
msgstr "_Трепери при грешкама"
-#: ui/properties.glade.h:24
+#: ui/properties.glade.h:29
msgid "_Delay between mail checks:"
msgstr "_Пауза између провера:"
-#: ui/properties.glade.h:25
+#: ui/properties.glade.h:30
msgid "_Enable mail summary popup"
-msgstr ""
-
-#: ui/properties.glade.h:26
-#, fuzzy
-msgid "_Run a command when new mail arrives:"
-msgstr "Покрени команду када стигне нова пошта"
+msgstr "Дозволи приказ сажетка порука"
-#: ui/properties.glade.h:27
+#: ui/properties.glade.h:31
msgid "_Start Mail Notification on GNOME login"
msgstr "Покрени _дојаву при пријави"
-#: ui/properties.glade.h:28
+#: ui/properties.glade.h:32
msgid "_Vertical offset:"
-msgstr ""
+msgstr "_Вертикални помак:"
-#: ui/properties.glade.h:29
+#: ui/properties.glade.h:33
msgid "minutes"
msgstr "минута"
-#: ui/properties.glade.h:30
+#: ui/properties.glade.h:34
msgid "pixels"
-msgstr ""
+msgstr "тачака"
-#: ui/properties.glade.h:31
+#: ui/properties.glade.h:35
msgid "seconds"
msgstr "секунди"
#: ui/summary-dialog.glade.h:1
msgid "Mail Summary"
-msgstr ""
+msgstr "Сажетак порука"
#: ui/summary-popup.glade.h:1
-#, fuzzy
msgid "<span size=\"larger\" weight=\"bold\">Mail Summary</span>"
-msgstr "<span weight=\"bold\">Сандучићи</span>"
+msgstr "<span weight=\"bold\">Сажетак порука</span>"
#: ui/welcome.glade.h:1
msgid ""
@@ -1517,24 +1599,36 @@ msgstr "П_рескочи подешавања"
#~ msgstr ""
#~ "Да ли треба покренути неку команду када при двоструком клику на икону."
+#~ msgid "Your Gmail password"
+#~ msgstr "Ваша лозинка на сервису Gmail"
+
+#~ msgid "successfully logged in"
+#~ msgstr "пријава је успела"
+
+#~ msgid "Your password on the IMAP server"
+#~ msgstr "Ваша лозинка на IMAP серверу"
+
#~ msgid "_Run %s"
#~ msgstr "_Покрени %s"
#~ msgid "_Run Default Action"
#~ msgstr "П_окрени подразумевано"
+#~ msgid "Your password on the POP3 server"
+#~ msgstr "Ваша лозинка на POP3 серверу"
+
#~ msgid "A command error has occurred"
#~ msgstr "Дошло је до грешке у командама"
#~ msgid "Unable to execute double-clicked command: %s."
#~ msgstr "Није могуће извршити команду на двоструки клик: %s."
+#~ msgid "Unable to execute new mail command: %s."
+#~ msgstr "Није могуће извршити команду за нову пошту: %s."
+
#~ msgid "The command to run when the icon is double-clicked"
#~ msgstr "Наредба која се покреће при двоструком клику"
-#~ msgid "When _new mail arrives:"
-#~ msgstr "Када _стигне нова пошта:"
-
#~ msgid "When double-click_ed:"
#~ msgstr "При _двоструком клику:"
diff --git a/po/sr@Latn.gmo b/po/sr@Latn.gmo
Binary files differ.
diff --git a/po/sr@Latn.po b/po/sr@Latn.po
@@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: mail-notification 0.6.2\n"
+"Project-Id-Version: mail-notification 0.7.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-10-06 19:31+0200\n"
-"PO-Revision-Date: 2004-09-30 02:54+0200\n"
+"POT-Creation-Date: 2004-10-25 15:26+0200\n"
+"PO-Revision-Date: 2004-10-18 20:04+0100\n"
"Last-Translator: Filip Miletić <filmil@gmail.com>\n"
"Language-Team: Serbian (sr) <gnu@prevod.org>\n"
"MIME-Version: 1.0\n"
@@ -30,12 +30,12 @@ msgstr "Fabrika ѕa dojavu prispeća pošte"
#: data/mail-notification-properties.desktop.in.h:1
msgid "Configure Mail Notification"
-msgstr "Podesi dojavu pošte"
+msgstr "Podesi dojavu prispeća pošte"
#: data/mail-notification-properties.desktop.in.h:2
#: data/mail-notification.desktop.in.h:2
#: data/mail-notification.soundlist.in.h:1 src/mn-about-dialog.gob:40
-#: src/mn-mail-icon.gob:163 src/mn-main.c:272
+#: src/mn-mail-icon.gob:163 src/mn-main.c:271
msgid "Mail Notification"
msgstr "Dojava pošte"
@@ -45,7 +45,7 @@ msgstr "Obavesti kada stigne nova pošta"
#: data/mail-notification.schemas.in.h:1
msgid "Automatically close the mail summary popup"
-msgstr ""
+msgstr "Automatski zatvori prozor sa sažetkom poruka"
#: data/mail-notification.schemas.in.h:2
msgid "Blink on errors"
@@ -61,11 +61,11 @@ msgstr "Razmak između dve provere (sekunde)."
#: data/mail-notification.schemas.in.h:5
msgid "Do not show the immediate notification error dialog"
-msgstr ""
+msgstr "Ne pokazuj prozor sa obaveštenjem o greškama"
#: data/mail-notification.schemas.in.h:6
msgid "Enable mail summary popup"
-msgstr ""
+msgstr "Dozvoli prikaz sažetka poruka"
#: data/mail-notification.schemas.in.h:7
msgid "Fingerprints of trusted X509 certificates"
@@ -76,163 +76,179 @@ msgid "Has already been run"
msgstr "Već je pokrenut"
#: data/mail-notification.schemas.in.h:9
-#, fuzzy
msgid "Height of mail summary dialog"
-msgstr "Visina prozora sa postavkama"
+msgstr "Visina prozora sa sažetkom poruka"
#: data/mail-notification.schemas.in.h:10
msgid "Height of properties dialog"
msgstr "Visina prozora sa postavkama"
#: data/mail-notification.schemas.in.h:11
-msgid "Mail summary popup horizontal offset"
-msgstr ""
+msgid "Mail read command"
+msgstr "Komanda za čitanje pošte"
#: data/mail-notification.schemas.in.h:12
-msgid "Mail summary popup position"
-msgstr ""
+msgid "Mail summary popup horizontal offset"
+msgstr "Pomeraj horizontalnih tačaka za prozor sa sažetkom poruka"
#: data/mail-notification.schemas.in.h:13
-msgid "Mail summary popup vertical offset"
-msgstr ""
+msgid "Mail summary popup position"
+msgstr "Broj horizontalnih tačaka za prozor sa sažetkom poruka"
#: data/mail-notification.schemas.in.h:14
-#, fuzzy
+msgid "Mail summary popup vertical offset"
+msgstr "Pomeraj vertikalnih tačaka ѕa prozor sa sažetkom poruka"
+
+#: data/mail-notification.schemas.in.h:15
msgid "Mailbox list"
msgstr "Spisak sandučića"
-#: data/mail-notification.schemas.in.h:15
+#: data/mail-notification.schemas.in.h:16
msgid "Minutes between mail checks"
msgstr "Minuta između dve provere"
-#: data/mail-notification.schemas.in.h:16
+#: data/mail-notification.schemas.in.h:17
msgid "Minutes to wait before closing the mail summary popup"
msgstr ""
+"Broj minuta koji treba da protekne pre zatvaranja prozora sa sažetkom poruka"
-#: data/mail-notification.schemas.in.h:17
+#: data/mail-notification.schemas.in.h:18
msgid "New mail command"
msgstr "Izvrši kada pošta stigne"
-#: data/mail-notification.schemas.in.h:18
+#: data/mail-notification.schemas.in.h:19
+msgid "Run a command when all mail is read"
+msgstr "Pokreni komandu kada je sva pošta pročitana"
+
+#: data/mail-notification.schemas.in.h:20
msgid "Run a command when new mail arrives"
msgstr "Pokreni komandu kada stigne nova pošta"
-#: data/mail-notification.schemas.in.h:19
+#: data/mail-notification.schemas.in.h:21
msgid "Seconds between mail checks"
msgstr "Sekundi između dve provere"
-#: data/mail-notification.schemas.in.h:20
+#: data/mail-notification.schemas.in.h:22
msgid "Seconds to wait before closing the mail summary popup"
-msgstr ""
+msgstr "Broj sekundi koji treba da protekne pre zatvaranja sažetka poruka"
-#: data/mail-notification.schemas.in.h:21
-#, fuzzy
+#: data/mail-notification.schemas.in.h:23
msgid ""
"The amount of time to wait before closing the mail summary popup (minutes "
"part)."
-msgstr "Pauza između dve uzastopne provere"
+msgstr "Pauza pre zatvaranja prozora sa sažetkom poruka (minuti)."
-#: data/mail-notification.schemas.in.h:22
-#, fuzzy
+#: data/mail-notification.schemas.in.h:24
msgid ""
"The amount of time to wait before closing the mail summary popup (seconds "
"part)."
-msgstr "Pauza između dve uzastopne provere"
+msgstr "Pauza pre zatvaranja prozora sa sažetkom poruka (sekunde)."
-#: data/mail-notification.schemas.in.h:23
+#: data/mail-notification.schemas.in.h:25
+msgid "The command to run when all mail is read."
+msgstr "Komanda koju treba pokrenuti kada je sva pošta pročitana."
+
+#: data/mail-notification.schemas.in.h:26
msgid "The command to run when new mail arrives."
msgstr "Pokreni ovu komandu kada stigne nova pošta."
-#: data/mail-notification.schemas.in.h:24
-#, fuzzy
+#: data/mail-notification.schemas.in.h:27
msgid "The height of the mail summary dialog in pixels."
-msgstr "Visina prozora sa postavkama izražena u tačkama."
+msgstr "Visina prozora sa sažetkom poruka izražena u tačkama."
-#: data/mail-notification.schemas.in.h:25
+#: data/mail-notification.schemas.in.h:28
msgid "The height of the properties dialog in pixels."
msgstr "Visina prozora sa postavkama izražena u tačkama."
-#: data/mail-notification.schemas.in.h:26
+#: data/mail-notification.schemas.in.h:29
msgid "The list of mailboxes to monitor."
msgstr "Spisak sandučića koji se prate."
-#: data/mail-notification.schemas.in.h:27
+#: data/mail-notification.schemas.in.h:30
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
msgstr ""
"Spisak proverenih SSL/TLS servera (računar:port) koji nemaju X509 sertifikat."
-#: data/mail-notification.schemas.in.h:28
+#: data/mail-notification.schemas.in.h:31
msgid ""
"The list of trusted X509 certificates, represented by their MD5 fingerprint."
msgstr "Spisak proverenih X509 sertifikata, predstavljenih MD5 otiskom."
-#: data/mail-notification.schemas.in.h:29
+#: data/mail-notification.schemas.in.h:32
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup."
msgstr ""
+"Broj tačaka koje treba ostaviti između leve, odn. desne strane ekrana i "
+"prozora sa sažetkom poruka."
-#: data/mail-notification.schemas.in.h:30
+#: data/mail-notification.schemas.in.h:33
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup."
msgstr ""
+"Broj tačaka koje treba ostaviti između vrha, odn. dna ekrana i prozora sa "
+"sažetkom poruka."
-#: data/mail-notification.schemas.in.h:31
+#: data/mail-notification.schemas.in.h:34
msgid ""
"The position of the mail summary popup. Must be \"top-left\", \"top-right\", "
"\"bottom-left\" or \"bottom-right\"."
msgstr ""
+"Položaj prozora sa sažetkom poruka. Može biti: „gore-levo‟, „gore-desno‟, "
+"„dole-levo‟ ili „dole-desno‟."
-#: data/mail-notification.schemas.in.h:32
-#, fuzzy
+#: data/mail-notification.schemas.in.h:35
msgid "The width of the mail summary dialog in pixels."
-msgstr "Širina prozora sa postavkama izražena u tačkama."
+msgstr "Širina prozora sa sažetkom poruka izražena u tačkama."
-#: data/mail-notification.schemas.in.h:33
+#: data/mail-notification.schemas.in.h:36
msgid "The width of the properties dialog in pixels."
msgstr "Širina prozora sa postavkama izražena u tačkama."
-#: data/mail-notification.schemas.in.h:34
+#: data/mail-notification.schemas.in.h:37
msgid "Trusted servers list"
msgstr "Spisak proverenih servera"
-#: data/mail-notification.schemas.in.h:35
+#: data/mail-notification.schemas.in.h:38
msgid "Whether Mail Notification has already been run or not."
msgstr "Da li je program pokretan pre ili nije."
-#: data/mail-notification.schemas.in.h:36
+#: data/mail-notification.schemas.in.h:39
msgid "Whether the status icon should blink on errors or not."
msgstr "Da li sličica treba da treperi ako dođe do greške ili ne."
-#: data/mail-notification.schemas.in.h:37
-#, fuzzy
+#: data/mail-notification.schemas.in.h:40
msgid "Whether to automatically close the mail summary popup or not."
-msgstr "Da li treba pokrenuti neku komandu kada stigne nova pošta."
+msgstr ""
+"Da li treba ili ne treba automatski zatvoriti prozor sa sažetkom pošte."
-#: data/mail-notification.schemas.in.h:38
-#, fuzzy
+#: data/mail-notification.schemas.in.h:41
msgid "Whether to display the mail summary popup when new mail arrives or not."
-msgstr "Da li treba pokrenuti neku komandu kada stigne nova pošta."
+msgstr "Da li treba prikazati sažetak poruka kada stigne nova pošta."
-#: data/mail-notification.schemas.in.h:39
+#: data/mail-notification.schemas.in.h:42
msgid ""
"Whether to prevent the immediate notification error dialog from being "
"displayed or not."
+msgstr "Da li treba ili ne treba sprečiti pojavu prozora sa opisom grešaka."
+
+#: data/mail-notification.schemas.in.h:43
+msgid "Whether to run a command when all mail is read or not."
msgstr ""
+"Da li treba ili ne treba pokrenuti neku komandu kada je sva pošta pročitana."
-#: data/mail-notification.schemas.in.h:40
+#: data/mail-notification.schemas.in.h:44
msgid "Whether to run a command when new mail arrives or not."
msgstr "Da li treba pokrenuti neku komandu kada stigne nova pošta."
-#: data/mail-notification.schemas.in.h:41
-#, fuzzy
+#: data/mail-notification.schemas.in.h:45
msgid "Width of mail summary dialog"
-msgstr "Širina prozora sa postavkama"
+msgstr "Širina prozora sa sažetkom poruka"
-#: data/mail-notification.schemas.in.h:42
+#: data/mail-notification.schemas.in.h:46
msgid "Width of properties dialog"
msgstr "Širina prozora sa postavkama"
@@ -262,6 +278,39 @@ msgstr "Filip Miletić <filmil@gmail.com>"
msgid "<span style=\"italic\">autodetect</span>"
msgstr "<span style=\"italic\">sam pronađi</span>"
+#. translator: example output: Enter your password for POP3 mailbox jylefort@localhost.
+#: src/mn-authenticated-mailbox.gob:77
+#, c-format
+msgid "Enter your password for %s mailbox %s."
+msgstr "Unesite lozinku za %s sanduče %s."
+
+#. translator: example output: ... into POP3 mailbox jylefort@localhost ...
+#: src/mn-authenticated-mailbox.gob:98
+#, c-format
+msgid ""
+"Mail Notification was unable to log into %s mailbox %s, possibly because the "
+"password you have entered is invalid.\n"
+"\n"
+"Please re-enter your password."
+msgstr ""
+"Nije moguće prijaviti se za čitanje %s sandučeta %s, najverovatnije zato što "
+"uneta lozinka nije ispravna.\n"
+"\n"
+"Molim unesite ponovo lozinku."
+
+#: src/mn-authenticated-mailbox.gob:164
+#, c-format
+msgid ""
+"<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</"
+"span>\n"
+"\n"
+"%s"
+msgstr ""
+"<span weight=\"bold\" size=\"larger\">Dojava pošte zahteva da upišete "
+"lozinku</span>\n"
+"\n"
+"%s"
+
#: src/mn-autodetect-mailbox-properties.gob:68
msgid "_Location:"
msgstr "_Mesto:"
@@ -523,160 +572,154 @@ msgstr "usklađujem GConf bazu podataka"
msgid "completed"
msgstr "urađeno"
-#: src/mn-gmail-mailbox-properties.gob:79
+#: src/mn-gmail-mailbox-properties.gob:77
msgid "Your Gmail username"
-msgstr "Vaše ime na servisu Gmail"
+msgstr "Vaš nalog na servisu Gmail"
-#: src/mn-gmail-mailbox-properties.gob:80
-msgid "Your Gmail password"
-msgstr "Vaša lozinka na servisu Gmail"
+#: src/mn-gmail-mailbox-properties.gob:78
+msgid ""
+"Your Gmail password (if left blank, you will be prompted for the password "
+"when needed)"
+msgstr ""
+"Vaša lozinka na servisu Gmail (ako ne upišete lozinku, program će Vas "
+"zamoliti da je unesete kada to bude potrebno)"
-#: src/mn-gmail-mailbox.gob:65
+#: src/mn-gmail-mailbox.gob:63
msgid "libsoup has not been compiled with SSL/TLS support"
-msgstr ""
+msgstr "libsoup nije izgrađen sa podrškom za SSL/TLS"
-#: src/mn-gmail-mailbox.gob:110 src/mn-gmail-mailbox.gob:331
-#, fuzzy, c-format
+#: src/mn-gmail-mailbox.gob:105
+#, c-format
msgid "unable to parse URI \"%s\""
-msgstr "nije moguće obraditi odgovor \"%s\""
+msgstr "nije moguće obraditi URI \"%s\""
+
+#: src/mn-gmail-mailbox.gob:159
+#, c-format
+msgid "unable to transfer data: %s"
+msgstr "ne mogu da preuzmem podatke: %s"
-#: src/mn-gmail-mailbox.gob:257
+#: src/mn-gmail-mailbox.gob:280
msgid "logging in"
msgstr "prijava u toku"
-#: src/mn-gmail-mailbox.gob:271 src/mn-gmail-mailbox.gob:342
-#: src/mn-gmail-mailbox.gob:380 src/mn-gmail-mailbox.gob:415
+#: src/mn-gmail-mailbox.gob:358
msgid "login failed"
msgstr "prijava nije uspela"
-#: src/mn-gmail-mailbox.gob:283 src/mn-gmail-mailbox.gob:356
-#: src/mn-gmail-mailbox.gob:394 src/mn-gmail-mailbox.gob:503
-#, c-format
-msgid "unable to transfer data: %s"
-msgstr "ne mogu da preuzmem podatke: %s"
-
-#: src/mn-gmail-mailbox.gob:409
-msgid "successfully logged in"
-msgstr "prijava je uspela"
-
-#: src/mn-gmail-mailbox.gob:487
+#: src/mn-gmail-mailbox.gob:433
msgid "searching for unread mail"
msgstr "tražim novu poštu"
-#: src/mn-gmail-mailbox.gob:491
-#, fuzzy
-msgid "unable to search for unread mail"
-msgstr "tražim novu poštu"
-
-#: src/mn-gmail-mailbox.gob:604
+#: src/mn-gmail-mailbox.gob:529
msgid "unable to parse Gmail data"
-msgstr "ne mogu da obradim podatke sa Gmail-a"
+msgstr "ne mogu da obradim podatke sa servisa Gmail"
#: src/mn-gmime-stream-vfs.gob:49
-#, fuzzy, c-format
+#, c-format
msgid "unable to read %s: %s"
-msgstr "Nije moguće pronaći %s: %s"
+msgstr "Nije moguće pročitati %s: %s"
#: src/mn-gmime-stream-vfs.gob:51
-#, fuzzy, c-format
+#, c-format
msgid "unable to write to %s: %s"
-msgstr "nije moguć upis na server: %s"
+msgstr "nije moguć upis na %s: %s"
#: src/mn-gmime-stream-vfs.gob:53
-#, fuzzy, c-format
+#, c-format
msgid "unable to seek in %s: %s"
-msgstr "Nije moguće pronaći %s: %s"
+msgstr "Nije moguće pronaći u %s: %s"
#: src/mn-gmime-stream-vfs.gob:55
-#, fuzzy, c-format
+#, c-format
msgid "unable to tell position of %s: %s"
-msgstr "nije moguće motriti na %s: %s"
+msgstr "nije moguće saznati položaj za %s: %s"
#: src/mn-gmime-stream-vfs.gob:57
-#, fuzzy, c-format
+#, c-format
msgid "unable to close %s: %s"
-msgstr "nije moguće zatvoriti direktorijum: %s"
+msgstr "nije moguće zatvoriti %s: %s"
-#: src/mn-imap-mailbox-properties.gob:94
+#: src/mn-imap-mailbox-properties.gob:93
msgid "Mailbox:"
msgstr "Sanduče:"
-#: src/mn-imap-mailbox-properties.gob:98
+#: src/mn-imap-mailbox-properties.gob:97
msgid "in_box"
msgstr "in_box"
-#: src/mn-imap-mailbox-properties.gob:109
+#: src/mn-imap-mailbox-properties.gob:108
msgid "oth_er:"
msgstr "_drugo:"
-#: src/mn-imap-mailbox-properties.gob:124
+#: src/mn-imap-mailbox-properties.gob:123
msgid "The hostname or IP address of the IMAP server"
msgstr "Ime ili IP broj IMAP servera"
-#: src/mn-imap-mailbox-properties.gob:125
+#: src/mn-imap-mailbox-properties.gob:124
msgid "Your username on the IMAP server"
msgstr "Vaše ime na IMAP serveru"
-#: src/mn-imap-mailbox-properties.gob:126
-msgid "Your password on the IMAP server"
-msgstr "Vaša lozinka na IMAP serveru"
+#: src/mn-imap-mailbox-properties.gob:125
+msgid ""
+"Your password on the IMAP server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"Vaša lozinka na IMAP serveru (ako ne upišete lozinku, program će Vas "
+"zamoliti da je unesete kada to bude potrebno)"
+#: src/mn-imap-mailbox-properties.gob:126
#: src/mn-imap-mailbox-properties.gob:127
-#: src/mn-imap-mailbox-properties.gob:128
msgid "The port number of the IMAP server"
msgstr "Broj porta na IMAP serveru"
-#: src/mn-imap-mailbox-properties.gob:129
+#: src/mn-imap-mailbox-properties.gob:128
msgid "The mailbox name"
msgstr "Ime sandučeta"
-#: src/mn-imap-mailbox.gob:132 src/mn-pop3-mailbox.gob:141
+#: src/mn-imap-mailbox.gob:133 src/mn-pop3-mailbox.gob:142
msgid "SSL/TLS support has not been compiled in"
msgstr "Podrška za SSL/TLS nije ugrađena"
-#: src/mn-imap-mailbox.gob:203
+#: src/mn-imap-mailbox.gob:204
msgid "server did not send capabilities"
msgstr "server nije obavestio o svojim mogućnostima"
-#: src/mn-imap-mailbox.gob:318
+#: src/mn-imap-mailbox.gob:319
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
-msgstr "server je rekao LOGINDISABLED, ne koristim LOGIN prijavu"
+msgstr "server je dojavio LOGINDISABLED, LOGIN prijava neće biti korišćena"
-#: src/mn-imap-mailbox.gob:319
+#: src/mn-imap-mailbox.gob:320
msgid "unable to login"
msgstr "prijava nije moguća"
#. compliance error
-#: src/mn-imap-mailbox.gob:447
-#, fuzzy
+#: src/mn-imap-mailbox.gob:451
msgid "server did not send search results"
-msgstr "server nije poslao status"
+msgstr "server nije poslao rezultate pretrage"
#. compliance error
-#: src/mn-imap-mailbox.gob:523
-#, fuzzy
+#: src/mn-imap-mailbox.gob:527
msgid "server did not send all the messages we requested"
-msgstr "server nije poslao status"
+msgstr "server nije poslao sve tražene poruke"
-#: src/mn-imap-mailbox.gob:570
-#, fuzzy
+#: src/mn-imap-mailbox.gob:574
msgid "unable to fetch message"
-msgstr "nije moguće povezati se sa: %s"
+msgstr "nije moguće dobaviti poruku"
#. compliance error
-#: src/mn-imap-mailbox.gob:617
+#: src/mn-imap-mailbox.gob:621
msgid "server did not send status"
msgstr "server nije poslao status"
-#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:903
+#: src/mn-imap-mailbox.gob:856 src/mn-pop3-mailbox.gob:913
msgid "unknown server error"
msgstr "nepoznata greška na serveru"
-#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:225
+#: src/mn-imap-mailbox.gob:927 src/mn-pop3-mailbox.gob:226
msgid "server does not support in-band SSL/TLS"
msgstr "server ne podržava zaštitu putem SSL/TLS"
-#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:823
+#: src/mn-imap-mailbox.gob:946 src/mn-pop3-mailbox.gob:832
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
@@ -684,7 +727,7 @@ msgstr ""
"izabran je mehanizam za prijavu koji koristi SASL ali podrška za SASL nije "
"ugrađena u program"
-#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:835
+#: src/mn-imap-mailbox.gob:954 src/mn-pop3-mailbox.gob:844
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr "nepoznat mehanizam za prijavu \"%s\""
@@ -693,7 +736,7 @@ msgstr "nepoznat mehanizam za prijavu \"%s\""
msgid "falling back to IMAP LOGIN authentication"
msgstr "povratak na IMAP LOGIN prijavu"
-#: src/mn-imap-mailbox.gob:976 src/mn-pop3-mailbox.gob:869
+#: src/mn-imap-mailbox.gob:977 src/mn-pop3-mailbox.gob:879
msgid "authentication failed"
msgstr "prijava nije uspela"
@@ -714,11 +757,11 @@ msgstr "Dodaj sanduče"
msgid "%s Properties"
msgstr "Postavke za %s"
-#: src/mn-mailbox-properties-util.c:77
+#: src/mn-mailbox-properties-util.c:77 ui/authentication.glade.h:4
msgid "_Username:"
msgstr "_Kor.ime:"
-#: src/mn-mailbox-properties-util.c:87
+#: src/mn-mailbox-properties-util.c:87 ui/authentication.glade.h:3
msgid "_Password:"
msgstr "_Lozinka:"
@@ -775,46 +818,44 @@ msgstr "Nije moguće dodati sanduče"
msgid "The mailbox is already in the list."
msgstr "Sanduče je već u spisku."
-#: src/mn-mailbox.gob:133
+#: src/mn-mailbox.gob:130
msgid "The mailbox URI"
msgstr "URI oznaka za sanduče"
-#: src/mn-mailbox.gob:144
+#: src/mn-mailbox.gob:141
msgid "The mailbox human-readable name"
msgstr "Ime sandučeta"
-#: src/mn-mailbox.gob:148
+#: src/mn-mailbox.gob:145
msgid "Whether the mailbox has to be manually checked or not"
msgstr "Da li se ovo sanduče ručno proverava ili ne"
-#: src/mn-mailbox.gob:153
+#: src/mn-mailbox.gob:150
msgid "Whether the mailbox has new mail or not"
msgstr "Da li u sandučetu stoji nova pošta ili ne"
-#: src/mn-mailbox.gob:158
+#: src/mn-mailbox.gob:155
msgid "The list of new and unread MNMessage objects"
-msgstr ""
+msgstr "Spisak novih i nepročitanih MNMessage objekata"
-#: src/mn-mailbox.gob:212
+#: src/mn-mailbox.gob:209
msgid "The mailbox error, if any"
msgstr "Greška u pristupu sandučetu, ako postoji"
-#: src/mn-mailbox.gob:310
+#: src/mn-mailbox.gob:308
msgid "does not exist"
msgstr "ne postoji"
-#: src/mn-mailbox.gob:342
+#: src/mn-mailbox.gob:340
msgid "unknown format"
msgstr "nepoznat format"
-#: src/mn-mailbox.gob:408
-#, fuzzy, c-format
+#: src/mn-mailbox.gob:406
+#, c-format
msgid "unable to enable immediate notification for %s: %s"
-msgstr ""
-"Nije moguće namestiti neposrednu dojavu nove pošte za jedan ili više "
-"sandučića. %s"
+msgstr "Nije moguće namestiti neposrednu dojavu nove pošte za %s: %s"
-#: src/mn-mailbox.gob:426
+#: src/mn-mailbox.gob:424
#, c-format
msgid ""
"As a fallback, they will be checked every %i second (this delay is "
@@ -823,9 +864,16 @@ msgid_plural ""
"As a fallback, they will be checked every %i seconds (this delay is "
"configurable from the Properties Dialog)."
msgstr[0] ""
+"Pošto nema druge mogućnosti, biće proveravani svaku %i sekundu (ovo "
+"kašnjenje se može promeniti iz prozora sa postavkama)"
msgstr[1] ""
+"Pošto nema druge mogućnosti, biće proveravani svake %i sekunde (ovo "
+"kašnjenje se može promeniti iz prozora sa postavkama)"
+msgstr[2] ""
+"Pošto nema druge mogućnosti, biće proveravani svakih %i sekundi (ovo "
+"kašnjenje se može promeniti iz prozora sa postavkama)"
-#: src/mn-mailbox.gob:437
+#: src/mn-mailbox.gob:435
#, c-format
msgid ""
"As a fallback, they will be checked every %i minute (this delay is "
@@ -843,7 +891,7 @@ msgstr[2] ""
"Pošto nema druge mogućnosti, biće proveravani svakih %i minuta (ovo "
"kašnjenje se može promeniti iz prozora sa postavkama)"
-#: src/mn-mailbox.gob:448
+#: src/mn-mailbox.gob:446
#, c-format
msgid ""
"As a fallback, they will be checked approximately every %i minute (this "
@@ -861,11 +909,11 @@ msgstr[2] ""
"Pošto nema druge mogućnosti, biće proveravani na oko %i minuta (ovo "
"kašnjenje se može promeniti iz prozora sa postavkama)"
-#: src/mn-mailbox.gob:464
+#: src/mn-mailbox.gob:462
msgid "A monitoring error has occurred"
msgstr "Došlo je do greške pri motrenju"
-#: src/mn-mailbox.gob:465
+#: src/mn-mailbox.gob:463
#, c-format
msgid ""
"Mail Notification was unable to enable immediate notification for one or "
@@ -874,27 +922,27 @@ msgstr ""
"Nije moguće namestiti neposrednu dojavu nove pošte za jedan ili više "
"sandučića. %s"
-#: src/mn-mailboxes.gob:133
-#, fuzzy
+#: src/mn-mailboxes.gob:143
msgid "Whether one or more of the mailboxes has to be polled"
-msgstr "Da li se ovo sanduče ručno proverava ili ne"
+msgstr ""
+"Pokazuje da li postoji bar jedno sanduče koje mora da se učestalo proverava"
-#: src/mn-mailboxes.gob:266
+#: src/mn-mailboxes.gob:276
#, c-format
msgid "%s is unsupported: %s"
msgstr "%s nije podržan: %s"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has new mail"
msgstr "Sanduče %s ima novu poštu"
-#: src/mn-mailboxes.gob:297
+#: src/mn-mailboxes.gob:307
#, c-format
msgid "%s has no new mail"
msgstr "Sanduče %s nema novu poštu"
-#: src/mn-mailboxes.gob:323
+#: src/mn-mailboxes.gob:333
#, c-format
msgid "%s reported an error: %s"
msgstr "%s je dojavio grešku: %s"
@@ -914,50 +962,49 @@ msgstr "nije moguće zatvoriti direktorijum \"new\": %s"
msgid "error while reading folder \"new\": %s"
msgstr "greška pri čitanju direktorijuma \"new\": %s"
-#: src/mn-main.c:97
+#: src/mn-main.c:96
#, c-format
msgid "Compiled-in mailbox backends: %s\n"
msgstr "Program ume da čita sandučiće u formatima: %s\n"
-#: src/mn-main.c:114
+#: src/mn-main.c:113
#, c-format
msgid "Compiled-in features: %s\n"
msgstr "Ugrađene mogućnosti: %s\n"
-#: src/mn-main.c:166
+#: src/mn-main.c:165
msgid "Enable informational output"
msgstr "Dozvoli rečitiji izlaz"
-#: src/mn-main.c:175
+#: src/mn-main.c:174
msgid "List compiled-in features and exit"
msgstr "Ispiši ugrađene mogućnosti i izađi"
-#: src/mn-main.c:184
-#, fuzzy
+#: src/mn-main.c:183
msgid "Display the mail summary dialog"
-msgstr "Prikaži podatke o programu"
+msgstr "Prikaži prozor sa sažetkom poruka"
-#: src/mn-main.c:193
+#: src/mn-main.c:192
msgid "Display the properties dialog"
msgstr "Prikaži prozor sa postavkama"
-#: src/mn-main.c:202
+#: src/mn-main.c:201
msgid "Display the about dialog"
msgstr "Prikaži podatke o programu"
-#: src/mn-main.c:211
+#: src/mn-main.c:210
msgid "Close the mail summary popup"
-msgstr ""
+msgstr "Zatvori prozor sa sažetkom poruka"
-#: src/mn-main.c:220
+#: src/mn-main.c:219
msgid "Update the mail status"
msgstr "Osveži podatke o pošti"
-#: src/mn-main.c:229
+#: src/mn-main.c:228
msgid "Report the mail status"
msgstr "Proveri poštu"
-#: src/mn-main.c:238
+#: src/mn-main.c:237
msgid "Unset obsolete GConf configuration and exit"
msgstr "Poništi zastarela GConf podešavanja i izađi"
@@ -965,11 +1012,11 @@ msgstr "Poništi zastarela GConf podešavanja i izađi"
#. * We can't use mn_error_dialog() because gtk_init() has not been
#. * called yet.
#.
-#: src/mn-main.c:264
+#: src/mn-main.c:263
msgid "multi-threading is not available"
msgstr "višenitni rad nije podržan"
-#: src/mn-main.c:309
+#: src/mn-main.c:310
msgid ""
"Bonobo could not locate the automation object. Please check your Mail "
"Notification installation."
@@ -979,19 +1026,19 @@ msgstr ""
"Bonobo u Gnomu 2.6, kada instalirate program za obaveštenja, treba da se "
"odjavite i ponovo prijavite na sistem da bi sve počelo da radi)"
-#: src/mn-main.c:314
+#: src/mn-main.c:315
msgid "Unable to initialize the GnomeVFS library."
msgstr "Nije moguće pokrenuti biblioteku GnomeVFS."
-#: src/mn-main.c:350
+#: src/mn-main.c:351
msgid "updating the mail status"
msgstr "Proveravam poštu"
-#: src/mn-main.c:368
+#: src/mn-main.c:369
msgid "Mail Notification is already running"
msgstr "Program za dojavu pošte je već pokrenut."
-#: src/mn-main.c:375
+#: src/mn-main.c:376
msgid ""
"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
"Please check your Mail Notification installation."
@@ -1001,7 +1048,7 @@ msgstr ""
"Bonobo u Gnomu 2.6, kada instalirate program za obaveštenja, treba da se "
"odjavite i ponovo prijavite na sistem da bi sve počelo da radi)"
-#: src/mn-main.c:379
+#: src/mn-main.c:380
msgid ""
"Bonobo was unable to register the automation server. Please check your Mail "
"Notification installation."
@@ -1023,56 +1070,67 @@ msgstr "nije moguće otvoriti sanduče: %s"
#: src/mn-message-label.gob:77
msgid "Unreadable message"
-msgstr ""
+msgstr "Nečitljiva poruka"
#: src/mn-message-label.gob:97
msgid "From"
-msgstr ""
+msgstr "Od"
#: src/mn-message-label.gob:98
msgid "Subject"
-msgstr ""
+msgstr "Tema"
#: src/mn-message-label.gob:102
msgid "Sent"
-msgstr ""
+msgstr "Poslato"
#: src/mn-message-label.gob:151
#, c-format
msgid "%i second ago"
msgid_plural "%i seconds ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "pre %i sekundu"
+msgstr[1] "pre %i sekunde"
+msgstr[2] "pre %i sekundi"
#: src/mn-message-label.gob:155
#, c-format
msgid "%i minute ago"
msgid_plural "%i minutes ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "pre %i minut"
+msgstr[1] "pre %i minuta"
+msgstr[2] "pre %i minuta"
#: src/mn-message-label.gob:160
#, c-format
msgid "%i hour ago"
msgid_plural "%i hours ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "pre %i sat"
+msgstr[1] "pre %i sata"
+msgstr[2] "pre %i sati"
#: src/mn-message-label.gob:165
#, c-format
msgid "%i day ago"
msgid_plural "%i days ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "pre %i dan"
+msgstr[1] "pre %i dana"
+msgstr[2] "pre %i dana"
+
+#: src/mn-message-label.gob:170
+#, c-format
+msgid "%i week ago"
+msgid_plural "%i weeks ago"
+msgstr[0] "pre %i nedelju"
+msgstr[1] "pre %i nedelje"
+msgstr[2] "pre %i nedelja"
#: src/mn-message-mime.c:105
-#, fuzzy
msgid "unable to parse MIME message"
-msgstr "nije moguće obraditi odgovor \"%s\""
+msgstr "nije moguće obraditi MIME poruku"
-#: src/mn-message.gob:82
+#: src/mn-message.gob:101
msgid "Unknown"
-msgstr ""
+msgstr "Nepoznato"
#: src/mn-mh-mailbox.gob:184
#, c-format
@@ -1108,32 +1166,35 @@ msgstr "_ugrađeni SSL/TLS"
msgid "SSL/TLS on sepa_rate port"
msgstr "SSL/TLS na posebnom portu"
-#: src/mn-pop3-mailbox-properties.gob:86
+#: src/mn-pop3-mailbox-properties.gob:85
msgid "The hostname or IP address of the POP3 server"
msgstr "Ime ili IP broj POP3 servera"
-#: src/mn-pop3-mailbox-properties.gob:87
+#: src/mn-pop3-mailbox-properties.gob:86
msgid "Your username on the POP3 server"
msgstr "Vaše ime na POP3 serveru"
-#: src/mn-pop3-mailbox-properties.gob:88
-msgid "Your password on the POP3 server"
-msgstr "Vaša lozinka na POP3 serveru"
+#: src/mn-pop3-mailbox-properties.gob:87
+msgid ""
+"Your password on the POP3 server (if left blank, you will be prompted for "
+"the password when needed)"
+msgstr ""
+"Vaša lozinka na POP3 serveru (ako ne upišete lozinku, program će Vas "
+"zamoliti da je unesete kada to bude potrebno)"
-#: src/mn-pop3-mailbox-properties.gob:89 src/mn-pop3-mailbox-properties.gob:90
+#: src/mn-pop3-mailbox-properties.gob:88 src/mn-pop3-mailbox-properties.gob:89
msgid "The port number of the POP3 server"
msgstr "Broj porta na POP3 serveru"
-#: src/mn-pop3-mailbox.gob:271
+#: src/mn-pop3-mailbox.gob:272
msgid "invalid arguments for the LOGIN-DELAY capability"
msgstr "parametri za mogućnost LOGIN-DELAY nisu ispravno postavljeni"
-#: src/mn-pop3-mailbox.gob:536
-#, fuzzy
+#: src/mn-pop3-mailbox.gob:549
msgid "unknown error"
-msgstr "nepoznata greška na serveru"
+msgstr "nepoznata greška"
-#: src/mn-pop3-mailbox.gob:666
+#: src/mn-pop3-mailbox.gob:681
#, c-format
msgid "honouring LOGIN-DELAY, sleeping for %i second"
msgid_plural "honouring LOGIN-DELAY, sleeping for %i seconds"
@@ -1141,40 +1202,39 @@ msgstr[0] "tražen je zastoj pri prijavi, pauziram %i sekundu"
msgstr[1] "tražen je zastoj pri prijavi, pauziram %i sekunde"
msgstr[2] "tražen je zastoj pri prijavi, pauziram %i sekundi"
-#: src/mn-pop3-mailbox.gob:831
+#: src/mn-pop3-mailbox.gob:840
msgid "server does not support APOP authentication"
msgstr "server ne podržava prijavu korišćenjem mehanizma APOP"
-#: src/mn-pop3-mailbox.gob:859
+#: src/mn-pop3-mailbox.gob:868
msgid "falling back to APOP authentication"
msgstr "prelazim na APOP prijavu"
-#: src/mn-pop3-mailbox.gob:864
+#: src/mn-pop3-mailbox.gob:873
msgid "falling back to USER/PASS authentication"
msgstr "prelazim na prijavu pomoću imena i lozinke"
-#: src/mn-properties.c:161
-#, fuzzy
+#: src/mn-properties.c:170
msgid "top left"
-msgstr "Gotovo"
+msgstr "gore-levo"
-#: src/mn-properties.c:162
+#: src/mn-properties.c:171
msgid "top right"
-msgstr ""
+msgstr "gore-desno"
-#: src/mn-properties.c:163
+#: src/mn-properties.c:172
msgid "bottom left"
-msgstr ""
+msgstr "dole-levo"
-#: src/mn-properties.c:164
+#: src/mn-properties.c:173
msgid "bottom right"
-msgstr ""
+msgstr "dole-desno"
-#: src/mn-properties.c:240
+#: src/mn-properties.c:251
msgid "No mailbox selected."
msgstr "Nijedno sanduče nije izabrano."
-#: src/mn-properties.c:245
+#: src/mn-properties.c:256
#, c-format
msgid "%i mailbox selected."
msgid_plural "%i mailboxes selected."
@@ -1182,44 +1242,49 @@ msgstr[0] "Izabrano %i sanduče"
msgstr[1] "Izabrana %i sandučeta"
msgstr[2] "Izabrano %i sandučeta"
-#: src/mn-shell.gob:84
+#: src/mn-shell.gob:86
msgid "You have new mail."
msgstr "Imate novu poštu."
-#: src/mn-shell.gob:96
-msgid "A command error has occurred in Mail Notification"
-msgstr "Došlo je do greške u komandama"
-
-#: src/mn-shell.gob:97
-#, c-format
-msgid "Unable to execute new mail command: %s."
-msgstr "Nije moguće izvršiti komandu za novu poštu: %s."
-
-#: src/mn-shell.gob:270
+#: src/mn-shell.gob:263
msgid "The following mailbox has new mail:\n"
msgid_plural "The following mailboxes have new mail:\n"
msgstr[0] "Sanduče sa novom poštom:\n"
msgstr[1] "Sandučići sa novom poštom:\n"
msgstr[2] "Sandučići sa novom poštom:\n"
-#: src/mn-shell.gob:274
+#: src/mn-shell.gob:267
msgid "You have no new mail."
msgstr "Nema pošte."
-#: src/mn-shell.gob:277
+#: src/mn-shell.gob:270
msgid "The following mailbox reported an error:\n"
msgid_plural "The following mailboxes reported an error:\n"
msgstr[0] "Ovo sanduče ima grešku:\n"
msgstr[1] "Ovi sandučići imaju grešku:\n"
msgstr[2] "Ovi sandučići imaju grešku:\n"
-#: src/mn-shell.gob:282
+#: src/mn-shell.gob:275
msgid "The following mailbox is unsupported:\n"
msgid_plural "The following mailboxes are unsupported:\n"
msgstr[0] "Ovo sanduče nije podržano:\n"
msgstr[1] "Ovi sandučići nisu podržani:\n"
msgstr[2] "Ovi sandučići nisu podržani:\n"
+#: src/mn-shell.gob:320
+msgid "A command error has occurred in Mail Notification"
+msgstr "Došlo je do greške u komandama"
+
+#: src/mn-shell.gob:321
+#, c-format
+msgid "Unable to execute \"%s\": %s."
+msgstr "Nije moguće izvršiti %s: %s"
+
+#: src/mn-soup.c:140
+#, c-format
+msgid "unable to parse proxy URI \"%s\""
+msgstr "nije moguće obraditi zastupnički URI „%s‟"
+
#: src/mn-ssl.c:79
msgid "unknown SSL/TLS error"
msgstr "nepoznata greška u SSL/TLS"
@@ -1230,7 +1295,7 @@ msgstr "Izaberi _sve"
#: src/mn-stock.c:29
msgid "_Mail Summary"
-msgstr ""
+msgstr "_Sažetak poruka"
#: src/mn-sylpheed-mailbox.gob:122
#, c-format
@@ -1247,7 +1312,7 @@ msgstr "nije moguće zatvoriti direktorijum: %s"
msgid "error while reading folder: %s"
msgstr "greška pri čitanju direktorijuma: %s"
-#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:393
+#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:411
msgid "System Mailbox"
msgstr "Lokalno sanduče"
@@ -1278,9 +1343,9 @@ msgid "error loading image: %s"
msgstr "greška pri učitavanju slike: %s"
#: src/mn-util.c:271
-#, fuzzy, c-format
+#, c-format
msgid "widget \"%s\" not found in interface \"%s\""
-msgstr "element %s nije pronađen u sučelju %s"
+msgstr "element „%s‟ nije pronađen u sučelju „%s‟"
#: src/mn-util.c:385
msgid "received an invalid URI list"
@@ -1301,21 +1366,29 @@ msgstr "Nije moguće pokrenuti nit: %s."
#: src/mn-util.c:705
msgid "_Do not show this message again"
-msgstr ""
+msgstr "_Ne prikazuj više ovu poruku"
#: src/mn-util.c:789
msgid "A fatal error has occurred in Mail Notification"
msgstr "Došlo je do kobne greške u programu za dojavu pošte"
#: src/mn-util.c:804
-#, fuzzy, c-format
+#, c-format
msgid "unable to get current time: %s"
-msgstr "nije moguće povezati se sa %s"
+msgstr "nije moguće dobaviti trenutno vreme: %s"
#: src/mn-util.c:887
#, c-format
msgid "invalid signal specification \"%s\""
-msgstr ""
+msgstr "nevažeća odrednica za signal „%s‟"
+
+#: ui/authentication.glade.h:1 ui/properties.glade.h:2
+msgid "*"
+msgstr "*"
+
+#: ui/authentication.glade.h:2
+msgid "_Authenticate"
+msgstr "Prijavi se"
#: ui/mailbox-properties.glade.h:1
msgid "_Mailbox type:"
@@ -1325,148 +1398,157 @@ msgstr "_Vrsta sandučeta:"
msgid " "
msgstr " "
-#: ui/properties.glade.h:2
-msgid "*"
-msgstr "*"
-
#: ui/properties.glade.h:3
+msgid "<span weight=\"bold\">Commands</span>"
+msgstr "<span weight=\"bold\">Naredbe</span>"
+
+#: ui/properties.glade.h:4
msgid "<span weight=\"bold\">General</span>"
msgstr "<span weight=\"bold\">Opšte</span>"
-#: ui/properties.glade.h:4
-#, fuzzy
+#: ui/properties.glade.h:5
msgid "<span weight=\"bold\">Mailbox List</span>"
msgstr "<span weight=\"bold\">Sandučići</span>"
-#: ui/properties.glade.h:5
-#, fuzzy
+#: ui/properties.glade.h:6
msgid "<span weight=\"bold\">Position</span>"
-msgstr "<span weight=\"bold\">Naredbe</span>"
+msgstr "<span weight=\"bold\">Mesto</span>"
-#: ui/properties.glade.h:6
+#: ui/properties.glade.h:7
msgid "General"
-msgstr ""
+msgstr "Opšte"
-#: ui/properties.glade.h:7
+#: ui/properties.glade.h:8
msgid "Hori_zontal offset:"
-msgstr ""
+msgstr "Hori_zontalni pomak:"
-#: ui/properties.glade.h:8
+#: ui/properties.glade.h:9
msgid "Mail Notification Properties"
msgstr "Postavke za dojavu"
-#: ui/properties.glade.h:9
+#: ui/properties.glade.h:10
msgid "Mail Summary Popup"
-msgstr ""
+msgstr "Sažetak poruka"
-#: ui/properties.glade.h:10
-#, fuzzy
+#: ui/properties.glade.h:11
msgid "Mailboxes"
-msgstr "Sanduče"
+msgstr "Sandučići"
-#: ui/properties.glade.h:11
-#, fuzzy
+#: ui/properties.glade.h:12
msgid "P_osition:"
msgstr "_Mesto:"
-#: ui/properties.glade.h:12
-#, fuzzy
+#: ui/properties.glade.h:13
msgid "The amount of time to wait before closing the mail summary popup"
-msgstr "Pauza između dve uzastopne provere"
+msgstr "Pauza pre zatvaranja prozora sa sažetkom poruka"
-#: ui/properties.glade.h:13
+#: ui/properties.glade.h:14
msgid "The amount of time to wait between mail checks"
msgstr "Pauza između dve uzastopne provere"
-#: ui/properties.glade.h:14
+#: ui/properties.glade.h:15
+msgid "The command to run when all mail is read"
+msgstr "Naredba koja se pokreće kada je sva pošta pročitana"
+
+#: ui/properties.glade.h:16
msgid "The command to run when new mail arrives"
msgstr "Naredba koja se pokreće kada stiže nova pošta"
-#: ui/properties.glade.h:15
+#: ui/properties.glade.h:17
msgid ""
"The number of pixels to leave between the left or right side of the screen "
"and the mail summary popup"
msgstr ""
+"Broj tačaka koje treba ostaviti između leve, odn. desne strane ekrana i "
+"prozora sa sažetkom poruka"
-#: ui/properties.glade.h:16
+#: ui/properties.glade.h:18
msgid ""
"The number of pixels to leave between the top or bottom side of the screen "
"and the mail summary popup"
msgstr ""
+"Broj tačaka koje treba ostaviti između vrha, odn. dna ekrana i prozora sa "
+"sažetkom poruka"
-#: ui/properties.glade.h:17
+#: ui/properties.glade.h:19
+msgid "When _all mail is read:"
+msgstr "Kada je s_va pošta pročitana:"
+
+#: ui/properties.glade.h:20
+msgid "When _new mail arrives:"
+msgstr "Kada _stigne nova pošta:"
+
+#: ui/properties.glade.h:21
msgid "Whether the status icon should blink on errors or not"
msgstr "Da li statusna sličica treperi pri greškama ili ne"
-#: ui/properties.glade.h:18
-#, fuzzy
+#: ui/properties.glade.h:22
msgid "Whether to automatically close the mail summary popup or not"
-msgstr "Da li u sandučetu stoji nova pošta ili ne"
+msgstr ""
+"Da li treba ili ne treba automatski zatvoriti prozor sa sažetkom poruka"
-#: ui/properties.glade.h:19
-#, fuzzy
+#: ui/properties.glade.h:23
msgid "Whether to display the mail summary popup when new mail arrives or not"
-msgstr "Da li se pokreće komanda kada stigne pošta ili ne"
+msgstr ""
+"Da li treba ili ne treba prikazivati sažetak poruka kada stigne nova pošta"
-#: ui/properties.glade.h:20
+#: ui/properties.glade.h:24
+msgid "Whether to run a command when all mail is read or not"
+msgstr "Da li se pokreće ili ne pokreće komanda kada je sva pošta pročitana"
+
+#: ui/properties.glade.h:25
msgid "Whether to run a command when new mail arrives or not"
msgstr "Da li se pokreće komanda kada stigne pošta ili ne"
-#: ui/properties.glade.h:21
+#: ui/properties.glade.h:26
msgid ""
"Whether to start Mail Notification when you log into your GNOME session or "
"not"
msgstr "Da li pokrenuti dojavu pošte kada se prijavite na sistem"
-#: ui/properties.glade.h:22
+#: ui/properties.glade.h:27
msgid "_Automatically close after:"
-msgstr ""
+msgstr "_Automatski zatvori posle:"
-#: ui/properties.glade.h:23
+#: ui/properties.glade.h:28
msgid "_Blink on errors"
msgstr "_Treperi pri greškama"
-#: ui/properties.glade.h:24
+#: ui/properties.glade.h:29
msgid "_Delay between mail checks:"
msgstr "_Pauza između provera:"
-#: ui/properties.glade.h:25
+#: ui/properties.glade.h:30
msgid "_Enable mail summary popup"
-msgstr ""
-
-#: ui/properties.glade.h:26
-#, fuzzy
-msgid "_Run a command when new mail arrives:"
-msgstr "Pokreni komandu kada stigne nova pošta"
+msgstr "Dozvoli prikaz sažetka poruka"
-#: ui/properties.glade.h:27
+#: ui/properties.glade.h:31
msgid "_Start Mail Notification on GNOME login"
msgstr "Pokreni _dojavu pri prijavi"
-#: ui/properties.glade.h:28
+#: ui/properties.glade.h:32
msgid "_Vertical offset:"
-msgstr ""
+msgstr "_Vertikalni pomak:"
-#: ui/properties.glade.h:29
+#: ui/properties.glade.h:33
msgid "minutes"
msgstr "minuta"
-#: ui/properties.glade.h:30
+#: ui/properties.glade.h:34
msgid "pixels"
-msgstr ""
+msgstr "tačaka"
-#: ui/properties.glade.h:31
+#: ui/properties.glade.h:35
msgid "seconds"
msgstr "sekundi"
#: ui/summary-dialog.glade.h:1
msgid "Mail Summary"
-msgstr ""
+msgstr "Sažetak poruka"
#: ui/summary-popup.glade.h:1
-#, fuzzy
msgid "<span size=\"larger\" weight=\"bold\">Mail Summary</span>"
-msgstr "<span weight=\"bold\">Sandučići</span>"
+msgstr "<span weight=\"bold\">Sažetak poruka</span>"
#: ui/welcome.glade.h:1
msgid ""
@@ -1517,24 +1599,36 @@ msgstr "P_reskoči podešavanja"
#~ msgstr ""
#~ "Da li treba pokrenuti neku komandu kada pri dvostrukom kliku na ikonu."
+#~ msgid "Your Gmail password"
+#~ msgstr "Vaša lozinka na servisu Gmail"
+
+#~ msgid "successfully logged in"
+#~ msgstr "prijava je uspela"
+
+#~ msgid "Your password on the IMAP server"
+#~ msgstr "Vaša lozinka na IMAP serveru"
+
#~ msgid "_Run %s"
#~ msgstr "_Pokreni %s"
#~ msgid "_Run Default Action"
#~ msgstr "P_okreni podrazumevano"
+#~ msgid "Your password on the POP3 server"
+#~ msgstr "Vaša lozinka na POP3 serveru"
+
#~ msgid "A command error has occurred"
#~ msgstr "Došlo je do greške u komandama"
#~ msgid "Unable to execute double-clicked command: %s."
#~ msgstr "Nije moguće izvršiti komandu na dvostruki klik: %s."
+#~ msgid "Unable to execute new mail command: %s."
+#~ msgstr "Nije moguće izvršiti komandu za novu poštu: %s."
+
#~ msgid "The command to run when the icon is double-clicked"
#~ msgstr "Naredba koja se pokreće pri dvostrukom kliku"
-#~ msgid "When _new mail arrives:"
-#~ msgstr "Kada _stigne nova pošta:"
-
#~ msgid "When double-click_ed:"
#~ msgstr "Pri _dvostrukom kliku:"
diff --git a/src/Makefile.am b/src/Makefile.am
@@ -65,6 +65,15 @@ pi_gob_built_sources = \
mn-pi-mailbox-properties.h
endif
+if WITH_POP3_OR_IMAP_OR_GMAIL
+authenticated_mailbox_gob_sources = \
+ mn-authenticated-mailbox.gob
+authenticated_mailbox_gob_built_sources = \
+ mn-authenticated-mailbox-private.h \
+ mn-authenticated-mailbox.c \
+ mn-authenticated-mailbox.h
+endif
+
if WITH_SYLPHEED
sylpheed_gob_sources = mn-sylpheed-mailbox.gob
sylpheed_gob_built_sources = \
@@ -126,6 +135,7 @@ gob_sources = \
$(maildir_gob_sources) \
$(pop3_gob_sources) \
$(imap_gob_sources) \
+ $(authenticated_mailbox_gob_sources) \
$(pi_gob_sources) \
$(sylpheed_gob_sources) \
$(gmail_gob_sources) \
@@ -151,6 +161,7 @@ gob_built_sources = \
$(maildir_gob_built_sources) \
$(pop3_gob_built_sources) \
$(imap_gob_built_sources) \
+ $(authenticated_mailbox_gob_built_sources) \
$(pi_gob_built_sources) \
$(sylpheed_gob_built_sources) \
$(gmail_gob_built_sources) \
diff --git a/src/Makefile.in b/src/Makefile.in
@@ -55,29 +55,32 @@ am__mail_notification_SOURCES_DIST = MNAutomation.idl \
mn-mbox-mailbox.gob mn-mh-mailbox.gob mn-maildir-mailbox.gob \
mn-pop3-mailbox-properties.gob mn-pop3-mailbox.gob \
mn-imap-mailbox-properties.gob mn-imap-mailbox.gob \
- mn-auth-combo-box.gob mn-pi-mailbox-properties.gob \
- mn-sylpheed-mailbox.gob mn-gmail-mailbox-properties.gob \
- mn-gmail-mailbox.gob mn-gmime-stream-vfs.gob \
- mn-about-dialog.gob mn-autodetect-mailbox-properties.gob \
- mn-automation.gob mn-blinking-image.gob mn-mail-icon.gob \
- mn-mailbox-view.gob mn-mailbox.gob mn-mailboxes.gob \
- mn-message-label.gob mn-message.gob mn-pending-mailbox.gob \
- mn-shell.gob mn-system-mailbox-properties.gob \
- mn-unsupported-mailbox.gob mn-uri.gob \
- mn-mbox-mailbox-private.h mn-mbox-mailbox.c mn-mbox-mailbox.h \
- mn-mh-mailbox-private.h mn-mh-mailbox.c mn-mh-mailbox.h \
- mn-maildir-mailbox-private.h mn-maildir-mailbox.c \
- mn-maildir-mailbox.h mn-pop3-mailbox-properties-private.h \
+ mn-authenticated-mailbox.gob mn-auth-combo-box.gob \
+ mn-pi-mailbox-properties.gob mn-sylpheed-mailbox.gob \
+ mn-gmail-mailbox-properties.gob mn-gmail-mailbox.gob \
+ mn-gmime-stream-vfs.gob mn-about-dialog.gob \
+ mn-autodetect-mailbox-properties.gob mn-automation.gob \
+ mn-blinking-image.gob mn-mail-icon.gob mn-mailbox-view.gob \
+ mn-mailbox.gob mn-mailboxes.gob mn-message-label.gob \
+ mn-message.gob mn-pending-mailbox.gob mn-shell.gob \
+ mn-system-mailbox-properties.gob mn-unsupported-mailbox.gob \
+ mn-uri.gob mn-mbox-mailbox-private.h mn-mbox-mailbox.c \
+ mn-mbox-mailbox.h mn-mh-mailbox-private.h mn-mh-mailbox.c \
+ mn-mh-mailbox.h mn-maildir-mailbox-private.h \
+ mn-maildir-mailbox.c mn-maildir-mailbox.h \
+ mn-pop3-mailbox-properties-private.h \
mn-pop3-mailbox-properties.c mn-pop3-mailbox-properties.h \
mn-pop3-mailbox-private.h mn-pop3-mailbox.c mn-pop3-mailbox.h \
mn-imap-mailbox-properties-private.h \
mn-imap-mailbox-properties.c mn-imap-mailbox-properties.h \
mn-imap-mailbox-private.h mn-imap-mailbox.c mn-imap-mailbox.h \
- mn-auth-combo-box-private.h mn-auth-combo-box.c \
- mn-auth-combo-box.h mn-pi-mailbox-properties-private.h \
- mn-pi-mailbox-properties.c mn-pi-mailbox-properties.h \
- mn-sylpheed-mailbox-private.h mn-sylpheed-mailbox.c \
- mn-sylpheed-mailbox.h mn-gmail-mailbox-properties-private.h \
+ mn-authenticated-mailbox-private.h mn-authenticated-mailbox.c \
+ mn-authenticated-mailbox.h mn-auth-combo-box-private.h \
+ mn-auth-combo-box.c mn-auth-combo-box.h \
+ mn-pi-mailbox-properties-private.h mn-pi-mailbox-properties.c \
+ mn-pi-mailbox-properties.h mn-sylpheed-mailbox-private.h \
+ mn-sylpheed-mailbox.c mn-sylpheed-mailbox.h \
+ mn-gmail-mailbox-properties-private.h \
mn-gmail-mailbox-properties.c mn-gmail-mailbox-properties.h \
mn-gmail-mailbox-private.h mn-gmail-mailbox.c \
mn-gmail-mailbox.h mn-gmime-stream-vfs-private.h \
@@ -114,7 +117,8 @@ am__mail_notification_SOURCES_DIST = MNAutomation.idl \
am__objects_1 =
am__objects_2 = $(am__objects_1) $(am__objects_1) $(am__objects_1) \
$(am__objects_1) $(am__objects_1) $(am__objects_1) \
- $(am__objects_1) $(am__objects_1) $(am__objects_1)
+ $(am__objects_1) $(am__objects_1) $(am__objects_1) \
+ $(am__objects_1)
@WITH_MBOX_TRUE@am__objects_3 = mn-mbox-mailbox.$(OBJEXT)
@WITH_MH_TRUE@am__objects_4 = mn-mh-mailbox.$(OBJEXT)
@WITH_MAILDIR_TRUE@am__objects_5 = mn-maildir-mailbox.$(OBJEXT)
@@ -122,17 +126,18 @@ am__objects_2 = $(am__objects_1) $(am__objects_1) $(am__objects_1) \
@WITH_POP3_TRUE@ mn-pop3-mailbox.$(OBJEXT)
@WITH_IMAP_TRUE@am__objects_7 = mn-imap-mailbox-properties.$(OBJEXT) \
@WITH_IMAP_TRUE@ mn-imap-mailbox.$(OBJEXT)
-@WITH_POP3_OR_IMAP_TRUE@am__objects_8 = mn-auth-combo-box.$(OBJEXT) \
+@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@am__objects_8 = mn-authenticated-mailbox.$(OBJEXT)
+@WITH_POP3_OR_IMAP_TRUE@am__objects_9 = mn-auth-combo-box.$(OBJEXT) \
@WITH_POP3_OR_IMAP_TRUE@ mn-pi-mailbox-properties.$(OBJEXT)
-@WITH_SYLPHEED_TRUE@am__objects_9 = mn-sylpheed-mailbox.$(OBJEXT)
-@WITH_GMAIL_TRUE@am__objects_10 = \
+@WITH_SYLPHEED_TRUE@am__objects_10 = mn-sylpheed-mailbox.$(OBJEXT)
+@WITH_GMAIL_TRUE@am__objects_11 = \
@WITH_GMAIL_TRUE@ mn-gmail-mailbox-properties.$(OBJEXT) \
@WITH_GMAIL_TRUE@ mn-gmail-mailbox.$(OBJEXT)
-@WITH_MIME_TRUE@am__objects_11 = mn-gmime-stream-vfs.$(OBJEXT)
-am__objects_12 = $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+@WITH_MIME_TRUE@am__objects_12 = mn-gmime-stream-vfs.$(OBJEXT)
+am__objects_13 = $(am__objects_3) $(am__objects_4) $(am__objects_5) \
$(am__objects_6) $(am__objects_7) $(am__objects_8) \
$(am__objects_9) $(am__objects_10) $(am__objects_11) \
- mn-about-dialog.$(OBJEXT) \
+ $(am__objects_12) mn-about-dialog.$(OBJEXT) \
mn-autodetect-mailbox-properties.$(OBJEXT) \
mn-automation.$(OBJEXT) mn-blinking-image.$(OBJEXT) \
mn-mail-icon.$(OBJEXT) mn-mailbox-view.$(OBJEXT) \
@@ -141,26 +146,26 @@ am__objects_12 = $(am__objects_3) $(am__objects_4) $(am__objects_5) \
mn-pending-mailbox.$(OBJEXT) mn-shell.$(OBJEXT) \
mn-system-mailbox-properties.$(OBJEXT) \
mn-unsupported-mailbox.$(OBJEXT) mn-uri.$(OBJEXT)
-@WITH_GMAIL_TRUE@am__objects_13 = mn-sgml-ref.$(OBJEXT) \
+@WITH_GMAIL_TRUE@am__objects_14 = mn-sgml-ref.$(OBJEXT) \
@WITH_GMAIL_TRUE@ mn-soup.$(OBJEXT)
-@WITH_POP3_TRUE@am__objects_14 = mn-md5.$(OBJEXT)
-@WITH_POP3_OR_IMAP_TRUE@am__objects_15 = mn-client-session.$(OBJEXT)
-@WITH_SSL_TRUE@am__objects_16 = mn-ssl.$(OBJEXT)
-@WITH_SASL_TRUE@am__objects_17 = mn-sasl.$(OBJEXT)
-@WITH_MIME_TRUE@am__objects_18 = mn-message-mime.$(OBJEXT)
+@WITH_POP3_TRUE@am__objects_15 = mn-md5.$(OBJEXT)
+@WITH_POP3_OR_IMAP_TRUE@am__objects_16 = mn-client-session.$(OBJEXT)
+@WITH_SSL_TRUE@am__objects_17 = mn-ssl.$(OBJEXT)
+@WITH_SASL_TRUE@am__objects_18 = mn-sasl.$(OBJEXT)
+@WITH_MIME_TRUE@am__objects_19 = mn-message-mime.$(OBJEXT)
am_mail_notification_OBJECTS = $(am__objects_1) $(am__objects_2) \
- $(am__objects_12) $(am__objects_13) $(am__objects_1) \
- $(am__objects_14) $(am__objects_15) $(am__objects_16) \
- $(am__objects_17) $(am__objects_18) eggtrayicon.$(OBJEXT) \
+ $(am__objects_13) $(am__objects_14) $(am__objects_1) \
+ $(am__objects_15) $(am__objects_16) $(am__objects_17) \
+ $(am__objects_18) $(am__objects_19) eggtrayicon.$(OBJEXT) \
mn-conf.$(OBJEXT) mn-mailbox-properties-dialog.$(OBJEXT) \
mn-mailbox-properties-util.$(OBJEXT) \
mn-mailbox-properties.$(OBJEXT) mn-main.$(OBJEXT) \
mn-properties.$(OBJEXT) mn-stock.$(OBJEXT) \
mn-summary-dialog.$(OBJEXT) mn-summary-popup.$(OBJEXT) \
mn-summary.$(OBJEXT) mn-util.$(OBJEXT) mn-vfs.$(OBJEXT)
-am__objects_19 = MNAutomation-common.$(OBJEXT) \
+am__objects_20 = MNAutomation-common.$(OBJEXT) \
MNAutomation-stubs.$(OBJEXT) MNAutomation-skels.$(OBJEXT)
-nodist_mail_notification_OBJECTS = $(am__objects_19)
+nodist_mail_notification_OBJECTS = $(am__objects_20)
mail_notification_OBJECTS = $(am_mail_notification_OBJECTS) \
$(nodist_mail_notification_OBJECTS)
mail_notification_LDADD = $(LDADD)
@@ -173,6 +178,7 @@ am__depfiles_maybe = depfiles
@AMDEP_TRUE@ ./$(DEPDIR)/eggtrayicon.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/mn-about-dialog.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/mn-auth-combo-box.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/mn-authenticated-mailbox.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/mn-autodetect-mailbox-properties.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/mn-automation.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/mn-blinking-image.Po \
@@ -341,6 +347,8 @@ WITH_MIME_FALSE = @WITH_MIME_FALSE@
WITH_MIME_TRUE = @WITH_MIME_TRUE@
WITH_POP3_FALSE = @WITH_POP3_FALSE@
WITH_POP3_OR_IMAP_FALSE = @WITH_POP3_OR_IMAP_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_FALSE = @WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_TRUE = @WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@
WITH_POP3_OR_IMAP_TRUE = @WITH_POP3_OR_IMAP_TRUE@
WITH_POP3_TRUE = @WITH_POP3_TRUE@
WITH_REGRESSION_TESTS_FALSE = @WITH_REGRESSION_TESTS_FALSE@
@@ -435,6 +443,14 @@ target_alias = @target_alias@
@WITH_POP3_OR_IMAP_TRUE@ mn-pi-mailbox-properties.c \
@WITH_POP3_OR_IMAP_TRUE@ mn-pi-mailbox-properties.h
+@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@authenticated_mailbox_gob_sources = \
+@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@ mn-authenticated-mailbox.gob
+
+@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@authenticated_mailbox_gob_built_sources = \
+@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@ mn-authenticated-mailbox-private.h \
+@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@ mn-authenticated-mailbox.c \
+@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@ mn-authenticated-mailbox.h
+
@WITH_SYLPHEED_TRUE@sylpheed_gob_sources = mn-sylpheed-mailbox.gob
@WITH_SYLPHEED_TRUE@sylpheed_gob_built_sources = \
@WITH_SYLPHEED_TRUE@ mn-sylpheed-mailbox-private.h \
@@ -489,6 +505,7 @@ gob_sources = \
$(maildir_gob_sources) \
$(pop3_gob_sources) \
$(imap_gob_sources) \
+ $(authenticated_mailbox_gob_sources) \
$(pi_gob_sources) \
$(sylpheed_gob_sources) \
$(gmail_gob_sources) \
@@ -515,6 +532,7 @@ gob_built_sources = \
$(maildir_gob_built_sources) \
$(pop3_gob_built_sources) \
$(imap_gob_built_sources) \
+ $(authenticated_mailbox_gob_built_sources) \
$(pi_gob_built_sources) \
$(sylpheed_gob_built_sources) \
$(gmail_gob_built_sources) \
@@ -696,6 +714,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eggtrayicon.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mn-about-dialog.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mn-auth-combo-box.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mn-authenticated-mailbox.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mn-autodetect-mailbox-properties.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mn-automation.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mn-blinking-image.Po@am__quote@
diff --git a/src/eggtrayicon.c b/src/eggtrayicon.c
@@ -21,7 +21,7 @@
#include "config.h"
#include <string.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "eggtrayicon.h"
@@ -365,18 +365,6 @@ egg_tray_icon_realize (GtkWidget *widget)
}
EggTrayIcon *
-egg_tray_icon_new_for_xscreen (Screen *xscreen, const char *name)
-{
- GdkDisplay *display;
- GdkScreen *screen;
-
- display = gdk_x11_lookup_xdisplay (DisplayOfScreen (xscreen));
- screen = gdk_display_get_screen (display, XScreenNumberOfScreen (xscreen));
-
- return egg_tray_icon_new_for_screen (screen, name);
-}
-
-EggTrayIcon *
egg_tray_icon_new_for_screen (GdkScreen *screen, const char *name)
{
g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
diff --git a/src/mn-about-dialog.c b/src/mn-about-dialog.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
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.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-auth-combo-box.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#ifdef WITH_SASL
#include <sasl/sasl.h>
#include "mn-sasl.h"
diff --git a/src/mn-auth-combo-box.gob b/src/mn-auth-combo-box.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#ifdef WITH_SASL
#include <sasl/sasl.h>
#include "mn-sasl.h"
diff --git a/src/mn-authenticated-mailbox-private.h b/src/mn-authenticated-mailbox-private.h
@@ -0,0 +1,22 @@
+/* Generated by GOB (v2.0.10) (do not edit directly) */
+
+#ifndef __MN_AUTHENTICATED_MAILBOX_PRIVATE_H__
+#define __MN_AUTHENTICATED_MAILBOX_PRIVATE_H__
+
+#include "mn-authenticated-mailbox.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+struct _MNAuthenticatedMailboxPrivate {
+#line 46 "mn-authenticated-mailbox.gob"
+ GtkWidget * authentication_dialog;
+#line 16 "mn-authenticated-mailbox-private.h"
+};
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif
diff --git a/src/mn-authenticated-mailbox.c b/src/mn-authenticated-mailbox.c
@@ -0,0 +1,369 @@
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
+ (do not edit directly) */
+
+/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
+
+#define GOB_VERSION_MAJOR 2
+#define GOB_VERSION_MINOR 0
+#define GOB_VERSION_PATCHLEVEL 10
+
+#define selfp (self->_priv)
+
+#include <string.h> /* memset() */
+
+#include "mn-authenticated-mailbox.h"
+
+#include "mn-authenticated-mailbox-private.h"
+
+#ifdef G_LIKELY
+#define ___GOB_LIKELY(expr) G_LIKELY(expr)
+#define ___GOB_UNLIKELY(expr) G_UNLIKELY(expr)
+#else /* ! G_LIKELY */
+#define ___GOB_LIKELY(expr) (expr)
+#define ___GOB_UNLIKELY(expr) (expr)
+#endif /* G_LIKELY */
+
+#line 35 "mn-authenticated-mailbox.gob"
+
+#include "config.h"
+#include <glib/gi18n.h>
+#include <eel/eel.h>
+#include "mn-mailbox-private.h"
+#include "mn-util.h"
+
+#line 35 "mn-authenticated-mailbox.c"
+/* self casting macros */
+#define SELF(x) MN_AUTHENTICATED_MAILBOX(x)
+#define SELF_CONST(x) MN_AUTHENTICATED_MAILBOX_CONST(x)
+#define IS_SELF(x) MN_IS_AUTHENTICATED_MAILBOX(x)
+#define TYPE_SELF MN_TYPE_AUTHENTICATED_MAILBOX
+#define SELF_CLASS(x) MN_AUTHENTICATED_MAILBOX_CLASS(x)
+
+#define SELF_GET_CLASS(x) MN_AUTHENTICATED_MAILBOX_GET_CLASS(x)
+
+/* self typedefs */
+typedef MNAuthenticatedMailbox Self;
+typedef MNAuthenticatedMailboxClass SelfClass;
+
+/* here are local prototypes */
+static void mn_authenticated_mailbox_init (MNAuthenticatedMailbox * o) G_GNUC_UNUSED;
+static void mn_authenticated_mailbox_class_init (MNAuthenticatedMailboxClass * c) G_GNUC_UNUSED;
+static MNAuthenticatedMailboxResult mn_authenticated_mailbox_impl_authenticated_check (MNAuthenticatedMailbox * self, GError ** err) G_GNUC_UNUSED;
+static void ___2_mn_authenticated_mailbox_removed (MNMailbox * mailbox) G_GNUC_UNUSED;
+static void ___3_mn_authenticated_mailbox_impl_check (MNMailbox * mailbox) G_GNUC_UNUSED;
+static char * mn_authenticated_mailbox_password_prompt (MNAuthenticatedMailbox * self, const char * format, ...) G_GNUC_UNUSED;
+
+/* pointer to the class of our parent */
+static MNMailboxClass *parent_class = NULL;
+
+/* Short form macros */
+#define self_impl_authenticated_check mn_authenticated_mailbox_impl_authenticated_check
+#define self_password_prompt mn_authenticated_mailbox_password_prompt
+#define self_password_prompt_changed_h mn_authenticated_mailbox_password_prompt_changed_h
+GType
+mn_authenticated_mailbox_get_type (void)
+{
+ static GType type = 0;
+
+ if ___GOB_UNLIKELY(type == 0) {
+ static const GTypeInfo info = {
+ sizeof (MNAuthenticatedMailboxClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) mn_authenticated_mailbox_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL /* class_data */,
+ sizeof (MNAuthenticatedMailbox),
+ 0 /* n_preallocs */,
+ (GInstanceInitFunc) mn_authenticated_mailbox_init,
+ NULL
+ };
+
+ type = g_type_register_static (MN_TYPE_MAILBOX, "MNAuthenticatedMailbox", &info, (GTypeFlags)0);
+ }
+
+ return type;
+}
+
+/* a macro for creating a new object of our type */
+#define GET_NEW ((MNAuthenticatedMailbox *)g_object_new(mn_authenticated_mailbox_get_type(), NULL))
+
+/* a function for creating a new object of our type */
+#include <stdarg.h>
+static MNAuthenticatedMailbox * GET_NEW_VARG (const char *first, ...) G_GNUC_UNUSED;
+static MNAuthenticatedMailbox *
+GET_NEW_VARG (const char *first, ...)
+{
+ MNAuthenticatedMailbox *ret;
+ va_list ap;
+ va_start (ap, first);
+ ret = (MNAuthenticatedMailbox *)g_object_new_valist (mn_authenticated_mailbox_get_type (), first, ap);
+ va_end (ap);
+ return ret;
+}
+
+
+static void
+___finalize(GObject *obj_self)
+{
+#define __GOB_FUNCTION__ "MN:Authenticated:Mailbox::finalize"
+ MNAuthenticatedMailbox *self G_GNUC_UNUSED = MN_AUTHENTICATED_MAILBOX (obj_self);
+ gpointer priv G_GNUC_UNUSED = self->_priv;
+ if(G_OBJECT_CLASS(parent_class)->finalize) \
+ (* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
+#line 45 "mn-authenticated-mailbox.gob"
+ if(self->password) { g_free ((gpointer) self->password); self->password = NULL; }
+#line 117 "mn-authenticated-mailbox.c"
+}
+#undef __GOB_FUNCTION__
+
+static void
+mn_authenticated_mailbox_init (MNAuthenticatedMailbox * o G_GNUC_UNUSED)
+{
+#define __GOB_FUNCTION__ "MN:Authenticated:Mailbox::init"
+ o->_priv = G_TYPE_INSTANCE_GET_PRIVATE(o,TYPE_SELF,MNAuthenticatedMailboxPrivate);
+#line 35 "mn-authenticated-mailbox.gob"
+ o->password = NULL;
+#line 128 "mn-authenticated-mailbox.c"
+}
+#undef __GOB_FUNCTION__
+static void
+mn_authenticated_mailbox_class_init (MNAuthenticatedMailboxClass * c G_GNUC_UNUSED)
+{
+#define __GOB_FUNCTION__ "MN:Authenticated:Mailbox::class_init"
+ GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) c;
+
+ g_type_class_add_private(c,sizeof(MNAuthenticatedMailboxPrivate));
+ MNMailboxClass *mn_mailbox_class = (MNMailboxClass *)c;
+
+ parent_class = g_type_class_ref (MN_TYPE_MAILBOX);
+
+ c->impl_authenticated_check = NULL;
+#line 51 "mn-authenticated-mailbox.gob"
+ mn_mailbox_class->removed = ___2_mn_authenticated_mailbox_removed;
+#line 62 "mn-authenticated-mailbox.gob"
+ mn_mailbox_class->impl_check = ___3_mn_authenticated_mailbox_impl_check;
+#line 147 "mn-authenticated-mailbox.c"
+ g_object_class->finalize = ___finalize;
+}
+#undef __GOB_FUNCTION__
+
+
+
+#line 48 "mn-authenticated-mailbox.gob"
+static MNAuthenticatedMailboxResult
+mn_authenticated_mailbox_impl_authenticated_check (MNAuthenticatedMailbox * self, GError ** err)
+#line 157 "mn-authenticated-mailbox.c"
+{
+ MNAuthenticatedMailboxClass *klass;
+#line 48 "mn-authenticated-mailbox.gob"
+ g_return_val_if_fail (self != NULL, (MNAuthenticatedMailboxResult )0);
+#line 48 "mn-authenticated-mailbox.gob"
+ g_return_val_if_fail (MN_IS_AUTHENTICATED_MAILBOX (self), (MNAuthenticatedMailboxResult )0);
+#line 164 "mn-authenticated-mailbox.c"
+ klass = MN_AUTHENTICATED_MAILBOX_GET_CLASS(self);
+
+ if(klass->impl_authenticated_check)
+ return (*klass->impl_authenticated_check)(self,err);
+ else
+ return (MNAuthenticatedMailboxResult )(0);
+}
+
+#line 51 "mn-authenticated-mailbox.gob"
+static void
+___2_mn_authenticated_mailbox_removed (MNMailbox * mailbox G_GNUC_UNUSED)
+#line 176 "mn-authenticated-mailbox.c"
+#define PARENT_HANDLER(___mailbox) \
+ { if(MN_MAILBOX_CLASS(parent_class)->removed) \
+ (* MN_MAILBOX_CLASS(parent_class)->removed)(___mailbox); }
+{
+#define __GOB_FUNCTION__ "MN:Authenticated:Mailbox::removed"
+#line 51 "mn-authenticated-mailbox.gob"
+ g_return_if_fail (mailbox != NULL);
+#line 51 "mn-authenticated-mailbox.gob"
+ g_return_if_fail (MN_IS_MAILBOX (mailbox));
+#line 186 "mn-authenticated-mailbox.c"
+{
+#line 53 "mn-authenticated-mailbox.gob"
+
+ Self *self = SELF(mailbox);
+
+ if (selfp->authentication_dialog)
+ gtk_dialog_response(GTK_DIALOG(selfp->authentication_dialog), GTK_RESPONSE_CANCEL);
+
+ PARENT_HANDLER(mailbox);
+ }}
+#line 197 "mn-authenticated-mailbox.c"
+#undef __GOB_FUNCTION__
+#undef PARENT_HANDLER
+
+#line 62 "mn-authenticated-mailbox.gob"
+static void
+___3_mn_authenticated_mailbox_impl_check (MNMailbox * mailbox G_GNUC_UNUSED)
+#line 204 "mn-authenticated-mailbox.c"
+#define PARENT_HANDLER(___mailbox) \
+ { if(MN_MAILBOX_CLASS(parent_class)->impl_check) \
+ (* MN_MAILBOX_CLASS(parent_class)->impl_check)(___mailbox); }
+{
+#define __GOB_FUNCTION__ "MN:Authenticated:Mailbox::impl_check"
+#line 62 "mn-authenticated-mailbox.gob"
+ g_return_if_fail (mailbox != NULL);
+#line 62 "mn-authenticated-mailbox.gob"
+ g_return_if_fail (MN_IS_MAILBOX (mailbox));
+#line 214 "mn-authenticated-mailbox.c"
+{
+#line 64 "mn-authenticated-mailbox.gob"
+
+ Self *self = SELF(mailbox);
+ GError *err = NULL;
+ MNAuthenticatedMailboxResult result;
+
+ if (! self->password)
+ {
+ if (mailbox->uri->password)
+ self->password = g_strdup(mailbox->uri->password);
+ else
+ {
+ GDK_THREADS_ENTER();
+ /* translator: example output: Enter your password for POP3 mailbox jylefort@localhost. */
+ self->password = self_password_prompt(self, _("Enter your password for %s mailbox %s."),
+ MN_MAILBOX_GET_CLASS(mailbox)->format,
+ mn_mailbox_get_name(mailbox));
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+
+ if (! self->password) /* cancelled */
+ goto end;
+ }
+ }
+
+ result = SELF_GET_CLASS(self)->impl_authenticated_check(self, &err);
+
+ if (! mailbox->uri->password)
+ while (result == MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION)
+ {
+ g_clear_error(&err);
+ g_free(self->password);
+
+ GDK_THREADS_ENTER();
+ /* translator: example output: ... into POP3 mailbox jylefort@localhost ... */
+ self->password = self_password_prompt(self, _("Mail Notification was unable to log into %s mailbox %s, possibly because the password you have entered is invalid.\n\nPlease re-enter your password."),
+ MN_MAILBOX_GET_CLASS(mailbox)->format,
+ mn_mailbox_get_name(mailbox));
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+
+ if (! self->password) /* cancelled */
+ goto end;
+
+ result = SELF_GET_CLASS(self)->impl_authenticated_check(self, &err);
+ }
+
+ if (result != MN_AUTHENTICATED_MAILBOX_OK)
+ {
+ GDK_THREADS_ENTER();
+ mn_mailbox_set_error(mailbox, "%s", err->message);
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+ g_error_free(err);
+ }
+
+ end:
+ GDK_THREADS_ENTER();
+ mn_mailbox_end_check(mailbox);
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+ }}
+#line 278 "mn-authenticated-mailbox.c"
+#undef __GOB_FUNCTION__
+#undef PARENT_HANDLER
+
+#line 126 "mn-authenticated-mailbox.gob"
+static char *
+mn_authenticated_mailbox_password_prompt (MNAuthenticatedMailbox * self, const char * format, ...)
+#line 285 "mn-authenticated-mailbox.c"
+{
+#define __GOB_FUNCTION__ "MN:Authenticated:Mailbox::password_prompt"
+#line 126 "mn-authenticated-mailbox.gob"
+ g_return_val_if_fail (self != NULL, (char * )0);
+#line 126 "mn-authenticated-mailbox.gob"
+ g_return_val_if_fail (MN_IS_AUTHENTICATED_MAILBOX (self), (char * )0);
+#line 126 "mn-authenticated-mailbox.gob"
+ g_return_val_if_fail (format != NULL, (char * )0);
+#line 294 "mn-authenticated-mailbox.c"
+{
+#line 128 "mn-authenticated-mailbox.gob"
+
+ GtkWidget *label;
+ GtkWidget *username_label;
+ GtkWidget *username_entry;
+ GtkWidget *password_label;
+ GtkWidget *password_entry;
+ GtkSizeGroup *size_group;
+ va_list args;
+ char *prompt;
+ char *markup;
+ char *password = NULL;
+
+ g_return_val_if_fail(selfp->authentication_dialog == NULL, NULL);
+
+ mn_create_interface("authentication",
+ "dialog", &selfp->authentication_dialog,
+ "label", &label,
+ "username_label", &username_label,
+ "username_entry", &username_entry,
+ "password_label", &password_label,
+ "password_entry", &password_entry,
+ NULL);
+
+ eel_add_weak_pointer(&selfp->authentication_dialog);
+
+ gtk_dialog_set_default_response(GTK_DIALOG(selfp->authentication_dialog), GTK_RESPONSE_OK);
+
+ size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+ gtk_size_group_add_widget(size_group, username_label);
+ gtk_size_group_add_widget(size_group, password_label);
+ g_object_unref(size_group);
+
+ va_start(args, format);
+ prompt = g_strdup_vprintf(format, args);
+ va_end(args);
+
+ markup = g_markup_printf_escaped(_("<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</span>\n"
+ "\n"
+ "%s"),
+ prompt);
+ g_free(prompt);
+
+ gtk_label_set_markup(GTK_LABEL(label), markup);
+ g_free(markup);
+
+ gtk_entry_set_text(GTK_ENTRY(username_entry), MN_MAILBOX(self)->uri->username);
+
+ if (gtk_dialog_run(GTK_DIALOG(selfp->authentication_dialog)) == GTK_RESPONSE_OK)
+ password = g_strdup(gtk_entry_get_text(GTK_ENTRY(password_entry)));
+
+ gtk_widget_destroy(selfp->authentication_dialog);
+
+ return password;
+ }}
+#line 351 "mn-authenticated-mailbox.c"
+#undef __GOB_FUNCTION__
+
+#line 185 "mn-authenticated-mailbox.gob"
+void
+mn_authenticated_mailbox_password_prompt_changed_h (gpointer user_data, GtkEditable * editable)
+#line 357 "mn-authenticated-mailbox.c"
+{
+#define __GOB_FUNCTION__ "MN:Authenticated:Mailbox::password_prompt_changed_h"
+{
+#line 188 "mn-authenticated-mailbox.gob"
+
+ GtkDialog *dialog = user_data;
+ const char *password;
+
+ password = gtk_entry_get_text(GTK_ENTRY(editable));
+ gtk_dialog_set_response_sensitive(dialog, GTK_RESPONSE_OK, *password != 0);
+ }}
+#line 369 "mn-authenticated-mailbox.c"
+#undef __GOB_FUNCTION__
diff --git a/src/mn-authenticated-mailbox.gob b/src/mn-authenticated-mailbox.gob
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2004 Jean-Yves Lefort <jylefort@brutele.be>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+requires 2.0.10
+
+%headertop{
+#include <gtk/gtk.h>
+#include "mn-mailbox.h"
+%}
+
+%h{
+ typedef enum
+ {
+ MN_AUTHENTICATED_MAILBOX_OK,
+ MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION,
+ MN_AUTHENTICATED_MAILBOX_ERROR_OTHER
+ } MNAuthenticatedMailboxResult;
+%}
+
+%{
+#include "config.h"
+#include <glib/gi18n.h>
+#include <eel/eel.h>
+#include "mn-mailbox-private.h"
+#include "mn-util.h"
+%}
+
+class MN:Authenticated:Mailbox from MN:Mailbox
+{
+ public char *password = NULL destroywith g_free;
+ private GtkWidget *authentication_dialog;
+
+ virtual private MNAuthenticatedMailboxResult
+ impl_authenticated_check (self, GError **err);
+
+ override (MN:Mailbox) void
+ removed (MN:Mailbox *mailbox (check null type))
+ {
+ Self *self = SELF(mailbox);
+
+ if (selfp->authentication_dialog)
+ gtk_dialog_response(GTK_DIALOG(selfp->authentication_dialog), GTK_RESPONSE_CANCEL);
+
+ PARENT_HANDLER(mailbox);
+ }
+
+ override (MN:Mailbox) void
+ impl_check (MN:Mailbox *mailbox (check null type))
+ {
+ Self *self = SELF(mailbox);
+ GError *err = NULL;
+ MNAuthenticatedMailboxResult result;
+
+ if (! self->password)
+ {
+ if (mailbox->uri->password)
+ self->password = g_strdup(mailbox->uri->password);
+ else
+ {
+ GDK_THREADS_ENTER();
+ /* translator: example output: Enter your password for POP3 mailbox jylefort@localhost. */
+ self->password = self_password_prompt(self, _("Enter your password for %s mailbox %s."),
+ MN_MAILBOX_GET_CLASS(mailbox)->format,
+ mn_mailbox_get_name(mailbox));
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+
+ if (! self->password) /* cancelled */
+ goto end;
+ }
+ }
+
+ result = SELF_GET_CLASS(self)->impl_authenticated_check(self, &err);
+
+ if (! mailbox->uri->password)
+ while (result == MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION)
+ {
+ g_clear_error(&err);
+ g_free(self->password);
+
+ GDK_THREADS_ENTER();
+ /* translator: example output: ... into POP3 mailbox jylefort@localhost ... */
+ self->password = self_password_prompt(self, _("Mail Notification was unable to log into %s mailbox %s, possibly because the password you have entered is invalid.\n\nPlease re-enter your password."),
+ MN_MAILBOX_GET_CLASS(mailbox)->format,
+ mn_mailbox_get_name(mailbox));
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+
+ if (! self->password) /* cancelled */
+ goto end;
+
+ result = SELF_GET_CLASS(self)->impl_authenticated_check(self, &err);
+ }
+
+ if (result != MN_AUTHENTICATED_MAILBOX_OK)
+ {
+ GDK_THREADS_ENTER();
+ mn_mailbox_set_error(mailbox, "%s", err->message);
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+ g_error_free(err);
+ }
+
+ end:
+ GDK_THREADS_ENTER();
+ mn_mailbox_end_check(mailbox);
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+ }
+
+ private char *
+ password_prompt (self, const char *format (check null), ...)
+ {
+ GtkWidget *label;
+ GtkWidget *username_label;
+ GtkWidget *username_entry;
+ GtkWidget *password_label;
+ GtkWidget *password_entry;
+ GtkSizeGroup *size_group;
+ va_list args;
+ char *prompt;
+ char *markup;
+ char *password = NULL;
+
+ g_return_val_if_fail(selfp->authentication_dialog == NULL, NULL);
+
+ mn_create_interface("authentication",
+ "dialog", &selfp->authentication_dialog,
+ "label", &label,
+ "username_label", &username_label,
+ "username_entry", &username_entry,
+ "password_label", &password_label,
+ "password_entry", &password_entry,
+ NULL);
+
+ eel_add_weak_pointer(&selfp->authentication_dialog);
+
+ gtk_dialog_set_default_response(GTK_DIALOG(selfp->authentication_dialog), GTK_RESPONSE_OK);
+
+ size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+ gtk_size_group_add_widget(size_group, username_label);
+ gtk_size_group_add_widget(size_group, password_label);
+ g_object_unref(size_group);
+
+ va_start(args, format);
+ prompt = g_strdup_vprintf(format, args);
+ va_end(args);
+
+ markup = g_markup_printf_escaped(_("<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</span>\n"
+ "\n"
+ "%s"),
+ prompt);
+ g_free(prompt);
+
+ gtk_label_set_markup(GTK_LABEL(label), markup);
+ g_free(markup);
+
+ gtk_entry_set_text(GTK_ENTRY(username_entry), MN_MAILBOX(self)->uri->username);
+
+ if (gtk_dialog_run(GTK_DIALOG(selfp->authentication_dialog)) == GTK_RESPONSE_OK)
+ password = g_strdup(gtk_entry_get_text(GTK_ENTRY(password_entry)));
+
+ gtk_widget_destroy(selfp->authentication_dialog);
+
+ return password;
+ }
+
+ /* libglade callbacks */
+
+ public void
+ password_prompt_changed_h (gpointer user_data,
+ GtkEditable *editable)
+ {
+ GtkDialog *dialog = user_data;
+ const char *password;
+
+ password = gtk_entry_get_text(GTK_ENTRY(editable));
+ gtk_dialog_set_response_sensitive(dialog, GTK_RESPONSE_OK, *password != 0);
+ }
+}
diff --git a/src/mn-authenticated-mailbox.h b/src/mn-authenticated-mailbox.h
@@ -0,0 +1,77 @@
+/* Generated by GOB (v2.0.10) (do not edit directly) */
+
+#include <glib.h>
+#include <glib-object.h>
+
+
+#include <gtk/gtk.h>
+#include "mn-mailbox.h"
+
+#ifndef __MN_AUTHENTICATED_MAILBOX_H__
+#define __MN_AUTHENTICATED_MAILBOX_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
+
+ typedef enum
+ {
+ MN_AUTHENTICATED_MAILBOX_OK,
+ MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION,
+ MN_AUTHENTICATED_MAILBOX_ERROR_OTHER
+ } MNAuthenticatedMailboxResult;
+
+
+/*
+ * Type checking and casting macros
+ */
+#define MN_TYPE_AUTHENTICATED_MAILBOX (mn_authenticated_mailbox_get_type())
+#define MN_AUTHENTICATED_MAILBOX(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), mn_authenticated_mailbox_get_type(), MNAuthenticatedMailbox)
+#define MN_AUTHENTICATED_MAILBOX_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), mn_authenticated_mailbox_get_type(), MNAuthenticatedMailbox const)
+#define MN_AUTHENTICATED_MAILBOX_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), mn_authenticated_mailbox_get_type(), MNAuthenticatedMailboxClass)
+#define MN_IS_AUTHENTICATED_MAILBOX(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), mn_authenticated_mailbox_get_type ())
+
+#define MN_AUTHENTICATED_MAILBOX_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), mn_authenticated_mailbox_get_type(), MNAuthenticatedMailboxClass)
+
+/* Private structure type */
+typedef struct _MNAuthenticatedMailboxPrivate MNAuthenticatedMailboxPrivate;
+
+/*
+ * Main object structure
+ */
+#ifndef __TYPEDEF_MN_AUTHENTICATED_MAILBOX__
+#define __TYPEDEF_MN_AUTHENTICATED_MAILBOX__
+typedef struct _MNAuthenticatedMailbox MNAuthenticatedMailbox;
+#endif
+struct _MNAuthenticatedMailbox {
+ MNMailbox __parent__;
+ /*< public >*/
+ char * password;
+ /*< private >*/
+ MNAuthenticatedMailboxPrivate *_priv;
+};
+
+/*
+ * Class definition
+ */
+typedef struct _MNAuthenticatedMailboxClass MNAuthenticatedMailboxClass;
+struct _MNAuthenticatedMailboxClass {
+ MNMailboxClass __parent__;
+ MNAuthenticatedMailboxResult (* impl_authenticated_check) (MNAuthenticatedMailbox * self, GError ** err);
+};
+
+
+/*
+ * Public methods
+ */
+GType mn_authenticated_mailbox_get_type (void);
+void mn_authenticated_mailbox_password_prompt_changed_h (gpointer user_data,
+ GtkEditable * editable);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif
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.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-autodetect-mailbox-properties.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-util.h"
diff --git a/src/mn-autodetect-mailbox-properties.gob b/src/mn-autodetect-mailbox-properties.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-util.h"
diff --git a/src/mn-automation.c b/src/mn-automation.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 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.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-blinking-image.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#line 32 "mn-blinking-image.c"
/* self casting macros */
diff --git a/src/mn-blinking-image.gob b/src/mn-blinking-image.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
%}
class MN:Blinking:Image from Gtk:Image
diff --git a/src/mn-client-session.c b/src/mn-client-session.c
@@ -30,7 +30,7 @@
#include <arpa/inet.h>
#include <errno.h>
#include <glib.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <eel/eel-alert-dialog.h>
#ifdef WITH_SSL
#include <openssl/err.h>
diff --git a/src/mn-conf.c b/src/mn-conf.c
@@ -203,7 +203,7 @@ mn_conf_link (GtkWidget *widget, ...)
char *str;
str = eel_gconf_get_string(key);
- gtk_entry_set_text(GTK_ENTRY(widget), str ? str : "");
+ gtk_entry_set_text(GTK_ENTRY(widget), MN_POINTER_TO_STRING(str));
g_free(str);
signal_name = "changed";
@@ -417,7 +417,7 @@ mn_conf_link_entry_notify_cb (GConfClient *client,
GDK_THREADS_ENTER();
if (value)
str = gconf_value_get_string(value);
- gtk_entry_set_text(entry_widget, str ? str : "");
+ gtk_entry_set_text(entry_widget, MN_POINTER_TO_STRING(str));
GDK_THREADS_LEAVE();
}
diff --git a/src/mn-conf.h b/src/mn-conf.h
@@ -55,6 +55,12 @@
MN_CONF_COMMANDS_NEW_MAIL_NAMESPACE "/enabled"
#define MN_CONF_COMMANDS_NEW_MAIL_COMMAND \
MN_CONF_COMMANDS_NEW_MAIL_NAMESPACE "/command"
+#define MN_CONF_COMMANDS_MAIL_READ_NAMESPACE \
+ MN_CONF_COMMANDS_NAMESPACE "/mail-read"
+#define MN_CONF_COMMANDS_MAIL_READ_ENABLED \
+ MN_CONF_COMMANDS_MAIL_READ_NAMESPACE "/enabled"
+#define MN_CONF_COMMANDS_MAIL_READ_COMMAND \
+ MN_CONF_COMMANDS_MAIL_READ_NAMESPACE "/command"
#define MN_CONF_COMMANDS_CLICKED_NAMESPACE \
MN_CONF_COMMANDS_NAMESPACE "/clicked" /* obsolete */
#define MN_CONF_COMMANDS_CLICKED_ENABLED \
diff --git a/src/mn-gmail-mailbox-private.h b/src/mn-gmail-mailbox-private.h
@@ -16,13 +16,11 @@ extern "C" {
#line 18 "mn-gmail-mailbox-private.h"
struct _MNGmailMailboxPrivate {
-#line 47 "mn-gmail-mailbox.gob"
- SoupSession * session;
-#line 48 "mn-gmail-mailbox.gob"
+#line 46 "mn-gmail-mailbox.gob"
GHashTable * cookies;
-#line 49 "mn-gmail-mailbox.gob"
+#line 47 "mn-gmail-mailbox.gob"
gboolean logged_in;
-#line 26 "mn-gmail-mailbox-private.h"
+#line 24 "mn-gmail-mailbox-private.h"
};
#ifdef __cplusplus
diff --git a/src/mn-gmail-mailbox-properties-private.h b/src/mn-gmail-mailbox-properties-private.h
@@ -12,11 +12,11 @@ extern "C" {
struct _MNGmailMailboxPropertiesPrivate {
#line 37 "mn-gmail-mailbox-properties.gob"
GtkSizeGroup * size_group;
-#line 52 "mn-gmail-mailbox-properties.gob"
+#line 50 "mn-gmail-mailbox-properties.gob"
GtkWidget * username_entry;
-#line 53 "mn-gmail-mailbox-properties.gob"
+#line 51 "mn-gmail-mailbox-properties.gob"
GtkWidget * password_entry;
-#line 54 "mn-gmail-mailbox-properties.gob"
+#line 52 "mn-gmail-mailbox-properties.gob"
GtkTooltips * tooltips;
#line 22 "mn-gmail-mailbox-properties-private.h"
};
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.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-gmail-mailbox-properties.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-util.h"
@@ -74,9 +74,9 @@ static GtkVBoxClass *parent_class = NULL;
static void
___MN_Mailbox_Properties_init (MNMailboxPropertiesIface *iface)
{
-#line 101 "mn-gmail-mailbox-properties.gob"
+#line 98 "mn-gmail-mailbox-properties.gob"
iface->set_uri = self_set_uri;
-#line 116 "mn-gmail-mailbox-properties.gob"
+#line 113 "mn-gmail-mailbox-properties.gob"
iface->get_uri = self_get_uri;
#line 82 "mn-gmail-mailbox-properties.c"
}
@@ -143,7 +143,7 @@ ___dispose (GObject *obj_self)
#line 37 "mn-gmail-mailbox-properties.gob"
if(self->_priv->size_group) { g_object_unref ((gpointer) self->_priv->size_group); self->_priv->size_group = NULL; }
#line 146 "mn-gmail-mailbox-properties.c"
-#line 54 "mn-gmail-mailbox-properties.gob"
+#line 52 "mn-gmail-mailbox-properties.gob"
if(self->_priv->tooltips) { g_object_unref ((gpointer) self->_priv->tooltips); self->_priv->tooltips = NULL; }
#line 149 "mn-gmail-mailbox-properties.c"
}
@@ -166,7 +166,7 @@ mn_gmail_mailbox_properties_init (MNGmailMailboxProperties * o G_GNUC_UNUSED)
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox:Properties::init"
o->_priv = G_TYPE_INSTANCE_GET_PRIVATE(o,TYPE_SELF,MNGmailMailboxPropertiesPrivate);
-#line 54 "mn-gmail-mailbox-properties.gob"
+#line 52 "mn-gmail-mailbox-properties.gob"
o->_priv->tooltips = mn_tooltips_new();
#line 172 "mn-gmail-mailbox-properties.c"
}
@@ -181,7 +181,7 @@ mn_gmail_mailbox_properties_class_init (MNGmailMailboxPropertiesClass * c G_GNUC
parent_class = g_type_class_ref (GTK_TYPE_VBOX);
-#line 56 "mn-gmail-mailbox-properties.gob"
+#line 54 "mn-gmail-mailbox-properties.gob"
g_object_class->constructor = ___1_mn_gmail_mailbox_properties_constructor;
#line 187 "mn-gmail-mailbox-properties.c"
g_object_class->dispose = ___dispose;
@@ -264,14 +264,12 @@ g_value_set_object (VAL, (gpointer)self->_priv->size_group);
#line 42 "mn-gmail-mailbox-properties.gob"
const char *username;
- const char *password;
username = gtk_entry_get_text(GTK_ENTRY(selfp->username_entry));
- password = gtk_entry_get_text(GTK_ENTRY(selfp->password_entry));
- g_value_set_boolean(VAL, *username && *password);
+ g_value_set_boolean(VAL, *username != 0);
-#line 275 "mn-gmail-mailbox-properties.c"
+#line 273 "mn-gmail-mailbox-properties.c"
}
break;
default:
@@ -288,10 +286,10 @@ g_value_set_object (VAL, (gpointer)self->_priv->size_group);
-#line 56 "mn-gmail-mailbox-properties.gob"
+#line 54 "mn-gmail-mailbox-properties.gob"
static GObject *
___1_mn_gmail_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_construct_properties, GObjectConstructParam * construct_params)
-#line 295 "mn-gmail-mailbox-properties.c"
+#line 293 "mn-gmail-mailbox-properties.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): \
@@ -299,7 +297,7 @@ ___1_mn_gmail_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox:Properties::constructor"
{
-#line 58 "mn-gmail-mailbox-properties.gob"
+#line 56 "mn-gmail-mailbox-properties.gob"
GObject *object;
Self *self;
@@ -322,7 +320,7 @@ ___1_mn_gmail_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_
mn_tooltips_set_tips(selfp->tooltips,
selfp->username_entry, _("Your Gmail username"),
- selfp->password_entry, _("Your Gmail password"),
+ selfp->password_entry, _("Your Gmail password (if left blank, you will be prompted for the password when needed)"),
NULL);
mn_mailbox_properties_link_entries(GTK_ENTRY(selfp->username_entry),
@@ -330,80 +328,79 @@ ___1_mn_gmail_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_
NULL);
g_signal_connect(selfp->username_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
- g_signal_connect(selfp->password_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
return object;
}}
-#line 338 "mn-gmail-mailbox-properties.c"
+#line 335 "mn-gmail-mailbox-properties.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 93 "mn-gmail-mailbox-properties.gob"
+#line 90 "mn-gmail-mailbox-properties.gob"
static void
mn_gmail_mailbox_properties_entry_changed_h (GtkEditable * editable, gpointer user_data)
-#line 345 "mn-gmail-mailbox-properties.c"
+#line 342 "mn-gmail-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox:Properties::entry_changed_h"
-#line 93 "mn-gmail-mailbox-properties.gob"
+#line 90 "mn-gmail-mailbox-properties.gob"
g_return_if_fail (editable != NULL);
-#line 93 "mn-gmail-mailbox-properties.gob"
+#line 90 "mn-gmail-mailbox-properties.gob"
g_return_if_fail (GTK_IS_EDITABLE (editable));
-#line 93 "mn-gmail-mailbox-properties.gob"
+#line 90 "mn-gmail-mailbox-properties.gob"
g_return_if_fail (user_data != NULL);
-#line 354 "mn-gmail-mailbox-properties.c"
+#line 351 "mn-gmail-mailbox-properties.c"
{
-#line 96 "mn-gmail-mailbox-properties.gob"
+#line 93 "mn-gmail-mailbox-properties.gob"
Self *self = user_data;
g_object_notify(G_OBJECT(self), "complete");
}}
-#line 361 "mn-gmail-mailbox-properties.c"
+#line 358 "mn-gmail-mailbox-properties.c"
#undef __GOB_FUNCTION__
-#line 101 "mn-gmail-mailbox-properties.gob"
+#line 98 "mn-gmail-mailbox-properties.gob"
static gboolean
mn_gmail_mailbox_properties_set_uri (MNMailboxProperties * self, MNURI * uri)
-#line 367 "mn-gmail-mailbox-properties.c"
+#line 364 "mn-gmail-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox:Properties::set_uri"
-#line 101 "mn-gmail-mailbox-properties.gob"
+#line 98 "mn-gmail-mailbox-properties.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 101 "mn-gmail-mailbox-properties.gob"
+#line 98 "mn-gmail-mailbox-properties.gob"
g_return_val_if_fail (MN_IS_MAILBOX_PROPERTIES (self), (gboolean )0);
-#line 101 "mn-gmail-mailbox-properties.gob"
+#line 98 "mn-gmail-mailbox-properties.gob"
g_return_val_if_fail (uri != NULL, (gboolean )0);
-#line 101 "mn-gmail-mailbox-properties.gob"
+#line 98 "mn-gmail-mailbox-properties.gob"
g_return_val_if_fail (MN_IS_URI (uri), (gboolean )0);
-#line 378 "mn-gmail-mailbox-properties.c"
+#line 375 "mn-gmail-mailbox-properties.c"
{
-#line 104 "mn-gmail-mailbox-properties.gob"
+#line 101 "mn-gmail-mailbox-properties.gob"
if (MN_URI_IS_GMAIL(uri))
{
gtk_entry_set_text(GTK_ENTRY(SELF(self)->_priv->username_entry), uri->username);
- gtk_entry_set_text(GTK_ENTRY(SELF(self)->_priv->password_entry), uri->password);
+ gtk_entry_set_text(GTK_ENTRY(SELF(self)->_priv->password_entry), MN_POINTER_TO_STRING(uri->password));
return TRUE;
}
else
return FALSE;
}}
-#line 392 "mn-gmail-mailbox-properties.c"
+#line 389 "mn-gmail-mailbox-properties.c"
#undef __GOB_FUNCTION__
-#line 116 "mn-gmail-mailbox-properties.gob"
+#line 113 "mn-gmail-mailbox-properties.gob"
static MNURI *
mn_gmail_mailbox_properties_get_uri (MNMailboxProperties * self)
-#line 398 "mn-gmail-mailbox-properties.c"
+#line 395 "mn-gmail-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox:Properties::get_uri"
-#line 116 "mn-gmail-mailbox-properties.gob"
+#line 113 "mn-gmail-mailbox-properties.gob"
g_return_val_if_fail (self != NULL, (MNURI * )0);
-#line 116 "mn-gmail-mailbox-properties.gob"
+#line 113 "mn-gmail-mailbox-properties.gob"
g_return_val_if_fail (MN_IS_MAILBOX_PROPERTIES (self), (MNURI * )0);
-#line 405 "mn-gmail-mailbox-properties.c"
+#line 402 "mn-gmail-mailbox-properties.c"
{
-#line 118 "mn-gmail-mailbox-properties.gob"
+#line 115 "mn-gmail-mailbox-properties.gob"
const char *username;
const char *password;
@@ -411,7 +408,7 @@ mn_gmail_mailbox_properties_get_uri (MNMailboxProperties * self)
username = gtk_entry_get_text(GTK_ENTRY(SELF(self)->_priv->username_entry));
password = gtk_entry_get_text(GTK_ENTRY(SELF(self)->_priv->password_entry));
- return mn_uri_new_gmail(username, password);
+ return mn_uri_new_gmail(username, MN_STRING_TO_POINTER(password));
}}
-#line 417 "mn-gmail-mailbox-properties.c"
+#line 414 "mn-gmail-mailbox-properties.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-gmail-mailbox-properties.gob b/src/mn-gmail-mailbox-properties.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-util.h"
@@ -41,12 +41,10 @@ class MN:Gmail:Mailbox:Properties from Gtk:VBox (interface MN:Mailbox:Properties
get
{
const char *username;
- const char *password;
username = gtk_entry_get_text(GTK_ENTRY(selfp->username_entry));
- password = gtk_entry_get_text(GTK_ENTRY(selfp->password_entry));
- g_value_set_boolean(VAL, *username && *password);
+ g_value_set_boolean(VAL, *username != 0);
};
private GtkWidget *username_entry;
@@ -77,7 +75,7 @@ class MN:Gmail:Mailbox:Properties from Gtk:VBox (interface MN:Mailbox:Properties
mn_tooltips_set_tips(selfp->tooltips,
selfp->username_entry, _("Your Gmail username"),
- selfp->password_entry, _("Your Gmail password"),
+ selfp->password_entry, _("Your Gmail password (if left blank, you will be prompted for the password when needed)"),
NULL);
mn_mailbox_properties_link_entries(GTK_ENTRY(selfp->username_entry),
@@ -85,7 +83,6 @@ class MN:Gmail:Mailbox:Properties from Gtk:VBox (interface MN:Mailbox:Properties
NULL);
g_signal_connect(selfp->username_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
- g_signal_connect(selfp->password_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
return object;
}
@@ -105,7 +102,7 @@ class MN:Gmail:Mailbox:Properties from Gtk:VBox (interface MN:Mailbox:Properties
if (MN_URI_IS_GMAIL(uri))
{
gtk_entry_set_text(GTK_ENTRY(SELF(self)->_priv->username_entry), uri->username);
- gtk_entry_set_text(GTK_ENTRY(SELF(self)->_priv->password_entry), uri->password);
+ gtk_entry_set_text(GTK_ENTRY(SELF(self)->_priv->password_entry), MN_POINTER_TO_STRING(uri->password));
return TRUE;
}
@@ -122,6 +119,6 @@ class MN:Gmail:Mailbox:Properties from Gtk:VBox (interface MN:Mailbox:Properties
username = gtk_entry_get_text(GTK_ENTRY(SELF(self)->_priv->username_entry));
password = gtk_entry_get_text(GTK_ENTRY(SELF(self)->_priv->password_entry));
- return mn_uri_new_gmail(username, password);
+ return mn_uri_new_gmail(username, MN_STRING_TO_POINTER(password));
}
}
diff --git a/src/mn-gmail-mailbox.c b/src/mn-gmail-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,18 +26,17 @@
#include "config.h"
#include <stdio.h>
#include <string.h>
-#include <stdlib.h>
#include <time.h>
-#include <glib/gi18n-lib.h>
+#ifdef TM_IN_SYS_TIME
+#include <sys/time.h>
+#endif
+#include <glib/gi18n.h>
#include "mn-mailbox-private.h"
#include "mn-util.h"
#include "mn-stock.h"
#include "mn-sgml-ref.h"
-#define MESSAGE_IS_ERROR(message) \
- (! SOUP_STATUS_IS_SUCCESSFUL((message)->status_code))
-
-#line 41 "mn-gmail-mailbox.c"
+#line 40 "mn-gmail-mailbox.c"
/* self casting macros */
#define SELF(x) MN_GMAIL_MAILBOX(x)
#define SELF_CONST(x) MN_GMAIL_MAILBOX_CONST(x)
@@ -56,51 +55,39 @@ static void mn_gmail_mailbox_init (MNGmailMailbox * o) G_GNUC_UNUSED;
static void mn_gmail_mailbox_class_init (MNGmailMailboxClass * class) G_GNUC_UNUSED;
static GObject * ___2_mn_gmail_mailbox_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_params) G_GNUC_UNUSED;
static gboolean ___3_mn_gmail_mailbox_impl_is (MNMailbox * dummy, MNURI * uri) G_GNUC_UNUSED;
-static void ___4_mn_gmail_mailbox_impl_check (MNMailbox * mailbox) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_end_check (MNGmailMailbox * self) G_GNUC_UNUSED;
-static gboolean mn_gmail_mailbox_get (MNGmailMailbox * self, const char * uri_string, SoupMessageCallbackFn callback) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_get_from_uri (MNGmailMailbox * self, SoupUri * uri, SoupMessageCallbackFn callback) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_get_from_message (MNGmailMailbox * self, SoupMessage * message, SoupMessageCallbackFn callback) G_GNUC_UNUSED;
+static MNAuthenticatedMailboxResult ___4_mn_gmail_mailbox_impl_authenticated_check (MNAuthenticatedMailbox * authenticated_mailbox, GError ** err) G_GNUC_UNUSED;
+static SoupUri * mn_gmail_mailbox_soup_uri_new (const char * text_uri, GError ** err) G_GNUC_UNUSED;
+static char * mn_gmail_mailbox_get (MNGmailMailbox * self, SoupSession * session, const char * text_uri, GError ** err) G_GNUC_UNUSED;
+static char * mn_gmail_mailbox_get_from_uri (MNGmailMailbox * self, SoupSession * session, SoupUri * uri, GError ** err) G_GNUC_UNUSED;
static void mn_gmail_mailbox_dump_request (MNGmailMailbox * self, SoupMessage * message) G_GNUC_UNUSED;
static void mn_gmail_mailbox_dump_request_cb (gpointer key, gpointer value, gpointer user_data) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_dump_response (MNGmailMailbox * self, SoupMessage * message) G_GNUC_UNUSED;
+static void mn_gmail_mailbox_dump_response (MNGmailMailbox * self, SoupMessage * message, const char * body) G_GNUC_UNUSED;
static void mn_gmail_mailbox_dump_response_cb (gpointer key, gpointer value, gpointer user_data) G_GNUC_UNUSED;
static char * mn_gmail_mailbox_get_token (const char * str, const char * pre, const char * post, gboolean include_pre, gboolean include_post) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_login (MNGmailMailbox * self) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_login_cb1 (SoupMessage * message, gpointer user_data) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_login_cb2 (SoupMessage * message, gpointer user_data) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_login_cb3 (SoupMessage * message, gpointer user_data) G_GNUC_UNUSED;
+static gboolean mn_gmail_mailbox_login (MNGmailMailbox * self, SoupSession * session, gboolean * authentication_failed, GError ** err) G_GNUC_UNUSED;
static void mn_gmail_mailbox_update_cookies (MNGmailMailbox * self, SoupMessage * message) G_GNUC_UNUSED;
static char * mn_gmail_mailbox_build_cookie (MNGmailMailbox * self) G_GNUC_UNUSED;
static void mn_gmail_mailbox_build_cookie_cb (gpointer key, gpointer value, gpointer user_data) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_check_internal (MNGmailMailbox * self) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_check_internal_cb (SoupMessage * message, gpointer user_data) G_GNUC_UNUSED;
-static void mn_gmail_mailbox_parse_unread (MNGmailMailbox * self, SoupMessage * message) G_GNUC_UNUSED;
+static gboolean mn_gmail_mailbox_check (MNGmailMailbox * self, SoupSession * session, GError ** err) G_GNUC_UNUSED;
static time_t mn_gmail_mailbox_parse_date (const char * date) G_GNUC_UNUSED;
/* pointer to the class of our parent */
-static MNMailboxClass *parent_class = NULL;
+static MNAuthenticatedMailboxClass *parent_class = NULL;
/* Short form macros */
-#define self_end_check mn_gmail_mailbox_end_check
+#define self_soup_uri_new mn_gmail_mailbox_soup_uri_new
#define self_get mn_gmail_mailbox_get
#define self_get_from_uri mn_gmail_mailbox_get_from_uri
-#define self_get_from_message mn_gmail_mailbox_get_from_message
#define self_dump_request mn_gmail_mailbox_dump_request
#define self_dump_request_cb mn_gmail_mailbox_dump_request_cb
#define self_dump_response mn_gmail_mailbox_dump_response
#define self_dump_response_cb mn_gmail_mailbox_dump_response_cb
#define self_get_token mn_gmail_mailbox_get_token
#define self_login mn_gmail_mailbox_login
-#define self_login_cb1 mn_gmail_mailbox_login_cb1
-#define self_login_cb2 mn_gmail_mailbox_login_cb2
-#define self_login_cb3 mn_gmail_mailbox_login_cb3
#define self_update_cookies mn_gmail_mailbox_update_cookies
#define self_build_cookie mn_gmail_mailbox_build_cookie
#define self_build_cookie_cb mn_gmail_mailbox_build_cookie_cb
-#define self_check_internal mn_gmail_mailbox_check_internal
-#define self_check_internal_cb mn_gmail_mailbox_check_internal_cb
-#define self_parse_unread mn_gmail_mailbox_parse_unread
+#define self_check mn_gmail_mailbox_check
#define self_parse_date mn_gmail_mailbox_parse_date
GType
mn_gmail_mailbox_get_type (void)
@@ -121,7 +108,7 @@ mn_gmail_mailbox_get_type (void)
NULL
};
- type = g_type_register_static (MN_TYPE_MAILBOX, "MNGmailMailbox", &info, (GTypeFlags)0);
+ type = g_type_register_static (MN_TYPE_AUTHENTICATED_MAILBOX, "MNGmailMailbox", &info, (GTypeFlags)0);
}
return type;
@@ -153,9 +140,9 @@ ___finalize(GObject *obj_self)
gpointer priv G_GNUC_UNUSED = self->_priv;
if(G_OBJECT_CLASS(parent_class)->finalize) \
(* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
-#line 48 "mn-gmail-mailbox.gob"
+#line 46 "mn-gmail-mailbox.gob"
if(self->_priv->cookies) { g_hash_table_destroy ((gpointer) self->_priv->cookies); self->_priv->cookies = NULL; }
-#line 159 "mn-gmail-mailbox.c"
+#line 146 "mn-gmail-mailbox.c"
}
#undef __GOB_FUNCTION__
@@ -166,44 +153,45 @@ mn_gmail_mailbox_init (MNGmailMailbox * o G_GNUC_UNUSED)
o->_priv = G_TYPE_INSTANCE_GET_PRIVATE(o,TYPE_SELF,MNGmailMailboxPrivate);
}
#undef __GOB_FUNCTION__
-#line 51 "mn-gmail-mailbox.gob"
+#line 49 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_class_init (MNGmailMailboxClass * class G_GNUC_UNUSED)
-#line 173 "mn-gmail-mailbox.c"
+#line 160 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::class_init"
GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) class;
g_type_class_add_private(class,sizeof(MNGmailMailboxPrivate));
MNMailboxClass *mn_mailbox_class = (MNMailboxClass *)class;
+ MNAuthenticatedMailboxClass *mn_authenticated_mailbox_class = (MNAuthenticatedMailboxClass *)class;
- parent_class = g_type_class_ref (MN_TYPE_MAILBOX);
+ parent_class = g_type_class_ref (MN_TYPE_AUTHENTICATED_MAILBOX);
-#line 57 "mn-gmail-mailbox.gob"
+#line 55 "mn-gmail-mailbox.gob"
g_object_class->constructor = ___2_mn_gmail_mailbox_constructor;
-#line 70 "mn-gmail-mailbox.gob"
+#line 68 "mn-gmail-mailbox.gob"
mn_mailbox_class->impl_is = ___3_mn_gmail_mailbox_impl_is;
-#line 76 "mn-gmail-mailbox.gob"
- mn_mailbox_class->impl_check = ___4_mn_gmail_mailbox_impl_check;
-#line 189 "mn-gmail-mailbox.c"
+#line 74 "mn-gmail-mailbox.gob"
+ mn_authenticated_mailbox_class->impl_authenticated_check = ___4_mn_gmail_mailbox_impl_authenticated_check;
+#line 177 "mn-gmail-mailbox.c"
g_object_class->finalize = ___finalize;
{
-#line 52 "mn-gmail-mailbox.gob"
+#line 50 "mn-gmail-mailbox.gob"
MN_MAILBOX_CLASS(class)->stock_id = MN_STOCK_GMAIL;
MN_MAILBOX_CLASS(class)->format = "Gmail";
-#line 197 "mn-gmail-mailbox.c"
+#line 185 "mn-gmail-mailbox.c"
}
}
#undef __GOB_FUNCTION__
-#line 57 "mn-gmail-mailbox.gob"
+#line 55 "mn-gmail-mailbox.gob"
static GObject *
___2_mn_gmail_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_properties, GObjectConstructParam * construct_params)
-#line 207 "mn-gmail-mailbox.c"
+#line 195 "mn-gmail-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): \
@@ -211,7 +199,7 @@ ___2_mn_gmail_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_p
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::constructor"
{
-#line 59 "mn-gmail-mailbox.gob"
+#line 57 "mn-gmail-mailbox.gob"
GObject *object;
@@ -222,163 +210,158 @@ ___2_mn_gmail_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_p
return object;
}}
-#line 226 "mn-gmail-mailbox.c"
+#line 214 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 70 "mn-gmail-mailbox.gob"
+#line 68 "mn-gmail-mailbox.gob"
static gboolean
___3_mn_gmail_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, MNURI * uri)
-#line 233 "mn-gmail-mailbox.c"
+#line 221 "mn-gmail-mailbox.c"
#define PARENT_HANDLER(___dummy,___uri) \
((MN_MAILBOX_CLASS(parent_class)->impl_is)? \
(* MN_MAILBOX_CLASS(parent_class)->impl_is)(___dummy,___uri): \
((gboolean )0))
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::impl_is"
-#line 70 "mn-gmail-mailbox.gob"
+#line 68 "mn-gmail-mailbox.gob"
g_return_val_if_fail (uri != NULL, (gboolean )0);
-#line 70 "mn-gmail-mailbox.gob"
+#line 68 "mn-gmail-mailbox.gob"
g_return_val_if_fail (MN_IS_URI (uri), (gboolean )0);
-#line 244 "mn-gmail-mailbox.c"
+#line 232 "mn-gmail-mailbox.c"
{
-#line 72 "mn-gmail-mailbox.gob"
+#line 70 "mn-gmail-mailbox.gob"
return MN_URI_IS_GMAIL(uri);
}}
-#line 250 "mn-gmail-mailbox.c"
+#line 238 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 76 "mn-gmail-mailbox.gob"
-static void
-___4_mn_gmail_mailbox_impl_check (MNMailbox * mailbox G_GNUC_UNUSED)
-#line 257 "mn-gmail-mailbox.c"
-#define PARENT_HANDLER(___mailbox) \
- { if(MN_MAILBOX_CLASS(parent_class)->impl_check) \
- (* MN_MAILBOX_CLASS(parent_class)->impl_check)(___mailbox); }
-{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::impl_check"
-#line 76 "mn-gmail-mailbox.gob"
- g_return_if_fail (mailbox != NULL);
-#line 76 "mn-gmail-mailbox.gob"
- g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 267 "mn-gmail-mailbox.c"
-{
-#line 78 "mn-gmail-mailbox.gob"
+#line 74 "mn-gmail-mailbox.gob"
+static MNAuthenticatedMailboxResult
+___4_mn_gmail_mailbox_impl_authenticated_check (MNAuthenticatedMailbox * authenticated_mailbox G_GNUC_UNUSED, GError ** err)
+#line 245 "mn-gmail-mailbox.c"
+#define PARENT_HANDLER(___authenticated_mailbox,___err) \
+ ((MN_AUTHENTICATED_MAILBOX_CLASS(parent_class)->impl_authenticated_check)? \
+ (* MN_AUTHENTICATED_MAILBOX_CLASS(parent_class)->impl_authenticated_check)(___authenticated_mailbox,___err): \
+ ((MNAuthenticatedMailboxResult )0))
+{
+#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::impl_authenticated_check"
+#line 74 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (authenticated_mailbox != NULL, (MNAuthenticatedMailboxResult )0);
+#line 74 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (MN_IS_AUTHENTICATED_MAILBOX (authenticated_mailbox), (MNAuthenticatedMailboxResult )0);
+#line 256 "mn-gmail-mailbox.c"
+{
+#line 77 "mn-gmail-mailbox.gob"
- Self *self = SELF(mailbox);
+ Self *self = SELF(authenticated_mailbox);
+ SoupSession *session;
+ gboolean authentication_failed;
+ MNAuthenticatedMailboxResult result;
+
+ session = mn_soup_session_sync_new();
+
+ if (! selfp->logged_in)
+ selfp->logged_in = self_login(self, session, &authentication_failed, err);
- selfp->session = mn_soup_session_new();
if (selfp->logged_in)
- self_check_internal(self);
+ result = self_check(self, session, err) ? MN_AUTHENTICATED_MAILBOX_OK : MN_AUTHENTICATED_MAILBOX_ERROR_OTHER;
else
- self_login(self);
+ result = authentication_failed ? MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION : MN_AUTHENTICATED_MAILBOX_ERROR_OTHER;
+
+ g_object_unref(session);
+
+ return result;
}}
#line 279 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 88 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_end_check (MNGmailMailbox * self)
+#line 98 "mn-gmail-mailbox.gob"
+static SoupUri *
+mn_gmail_mailbox_soup_uri_new (const char * text_uri, GError ** err)
#line 286 "mn-gmail-mailbox.c"
{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::end_check"
-#line 88 "mn-gmail-mailbox.gob"
- g_return_if_fail (self != NULL);
-#line 88 "mn-gmail-mailbox.gob"
- g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 293 "mn-gmail-mailbox.c"
+#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::soup_uri_new"
+#line 98 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (text_uri != NULL, (SoupUri * )0);
+#line 291 "mn-gmail-mailbox.c"
{
-#line 90 "mn-gmail-mailbox.gob"
+#line 100 "mn-gmail-mailbox.gob"
- g_object_unref(selfp->session);
- mn_mailbox_end_check(MN_MAILBOX(self));
+ SoupUri *uri;
+
+ uri = soup_uri_new(text_uri);
+ if (! uri)
+ g_set_error(err, 0, 0, _("unable to parse URI \"%s\""), text_uri);
+
+ return uri;
}}
-#line 300 "mn-gmail-mailbox.c"
+#line 303 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 95 "mn-gmail-mailbox.gob"
-static gboolean
-mn_gmail_mailbox_get (MNGmailMailbox * self, const char * uri_string, SoupMessageCallbackFn callback)
-#line 306 "mn-gmail-mailbox.c"
+#line 110 "mn-gmail-mailbox.gob"
+static char *
+mn_gmail_mailbox_get (MNGmailMailbox * self, SoupSession * session, const char * text_uri, GError ** err)
+#line 309 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::get"
-#line 95 "mn-gmail-mailbox.gob"
- g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 95 "mn-gmail-mailbox.gob"
- g_return_val_if_fail (MN_IS_GMAIL_MAILBOX (self), (gboolean )0);
-#line 95 "mn-gmail-mailbox.gob"
- g_return_val_if_fail (uri_string != NULL, (gboolean )0);
-#line 95 "mn-gmail-mailbox.gob"
- g_return_val_if_fail (callback != NULL, (gboolean )0);
-#line 317 "mn-gmail-mailbox.c"
+#line 110 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (self != NULL, (char * )0);
+#line 110 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (MN_IS_GMAIL_MAILBOX (self), (char * )0);
+#line 110 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (session != NULL, (char * )0);
+#line 110 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (SOUP_IS_SESSION (session), (char * )0);
+#line 110 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (text_uri != NULL, (char * )0);
+#line 322 "mn-gmail-mailbox.c"
{
-#line 99 "mn-gmail-mailbox.gob"
+#line 115 "mn-gmail-mailbox.gob"
- SoupMessage *message;
+ SoupUri *uri;
+ char *body;
- message = soup_message_new(SOUP_METHOD_GET, uri_string);
- if (message)
- {
- self_get_from_message(self, soup_message_new(SOUP_METHOD_GET, uri_string), callback);
- return TRUE;
- }
- else
- {
- mn_mailbox_notice(MN_MAILBOX(self), _("unable to parse URI \"%s\""), uri_string);
- return FALSE;
- }
- }}
-#line 335 "mn-gmail-mailbox.c"
-#undef __GOB_FUNCTION__
+ uri = self_soup_uri_new(text_uri, err);
+ if (! uri)
+ return NULL;
-#line 115 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_get_from_uri (MNGmailMailbox * self, SoupUri * uri, SoupMessageCallbackFn callback)
-#line 341 "mn-gmail-mailbox.c"
-{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::get_from_uri"
-#line 115 "mn-gmail-mailbox.gob"
- g_return_if_fail (self != NULL);
-#line 115 "mn-gmail-mailbox.gob"
- g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 115 "mn-gmail-mailbox.gob"
- g_return_if_fail (uri != NULL);
-#line 115 "mn-gmail-mailbox.gob"
- g_return_if_fail (callback != NULL);
-#line 352 "mn-gmail-mailbox.c"
-{
-#line 119 "mn-gmail-mailbox.gob"
-
- self_get_from_message(self, soup_message_new_from_uri(SOUP_METHOD_GET, uri), callback);
+ body = self_get_from_uri(self, session, uri, err);
+ soup_uri_free(uri);
+
+ return body;
}}
-#line 358 "mn-gmail-mailbox.c"
+#line 338 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 123 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_get_from_message (MNGmailMailbox * self, SoupMessage * message, SoupMessageCallbackFn callback)
-#line 364 "mn-gmail-mailbox.c"
-{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::get_from_message"
-#line 123 "mn-gmail-mailbox.gob"
- g_return_if_fail (self != NULL);
-#line 123 "mn-gmail-mailbox.gob"
- g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 123 "mn-gmail-mailbox.gob"
- g_return_if_fail (message != NULL);
-#line 123 "mn-gmail-mailbox.gob"
- g_return_if_fail (SOUP_IS_MESSAGE (message));
-#line 123 "mn-gmail-mailbox.gob"
- g_return_if_fail (callback != NULL);
-#line 377 "mn-gmail-mailbox.c"
+#line 129 "mn-gmail-mailbox.gob"
+static char *
+mn_gmail_mailbox_get_from_uri (MNGmailMailbox * self, SoupSession * session, SoupUri * uri, GError ** err)
+#line 344 "mn-gmail-mailbox.c"
{
-#line 127 "mn-gmail-mailbox.gob"
+#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::get_from_uri"
+#line 129 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (self != NULL, (char * )0);
+#line 129 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (MN_IS_GMAIL_MAILBOX (self), (char * )0);
+#line 129 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (session != NULL, (char * )0);
+#line 129 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (SOUP_IS_SESSION (session), (char * )0);
+#line 129 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (uri != NULL, (char * )0);
+#line 357 "mn-gmail-mailbox.c"
+{
+#line 134 "mn-gmail-mailbox.gob"
+ SoupMessage *message;
char *cookie;
+ char *body = NULL;
+ message = soup_message_new_from_uri(SOUP_METHOD_GET, uri);
soup_message_add_header(message->request_headers, "User-Agent", "Mail Notification");
cookie = self_build_cookie(self);
@@ -389,29 +372,41 @@ mn_gmail_mailbox_get_from_message (MNGmailMailbox * self, SoupMessage * message,
}
self_dump_request(self, message);
- soup_session_queue_message(selfp->session, message, callback, self);
- /* message will be unreffed by libsoup after invoking the callback */
+ soup_session_send_message(session, message);
+
+ if (SOUP_STATUS_IS_SUCCESSFUL(message->status_code))
+ {
+ body = g_strndup(message->response.body, message->response.length);
+ self_dump_response(self, message, body);
+ self_update_cookies(self, message);
+ }
+ else
+ g_set_error(err, 0, 0, _("unable to transfer data: %s"), message->reason_phrase);
+
+ g_object_unref(message);
+
+ return body;
}}
-#line 396 "mn-gmail-mailbox.c"
+#line 391 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 144 "mn-gmail-mailbox.gob"
+#line 166 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_dump_request (MNGmailMailbox * self, SoupMessage * message)
-#line 402 "mn-gmail-mailbox.c"
+#line 397 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::dump_request"
-#line 144 "mn-gmail-mailbox.gob"
+#line 166 "mn-gmail-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 144 "mn-gmail-mailbox.gob"
+#line 166 "mn-gmail-mailbox.gob"
g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 144 "mn-gmail-mailbox.gob"
+#line 166 "mn-gmail-mailbox.gob"
g_return_if_fail (message != NULL);
-#line 144 "mn-gmail-mailbox.gob"
+#line 166 "mn-gmail-mailbox.gob"
g_return_if_fail (SOUP_IS_MESSAGE (message));
-#line 413 "mn-gmail-mailbox.c"
+#line 408 "mn-gmail-mailbox.c"
{
-#line 146 "mn-gmail-mailbox.gob"
+#line 168 "mn-gmail-mailbox.gob"
const SoupUri *suri;
char *uri;
@@ -423,24 +418,24 @@ mn_gmail_mailbox_dump_request (MNGmailMailbox * self, SoupMessage * message)
soup_message_foreach_header(message->request_headers, self_dump_request_cb, self);
}}
-#line 427 "mn-gmail-mailbox.c"
+#line 422 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 158 "mn-gmail-mailbox.gob"
+#line 180 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_dump_request_cb (gpointer key, gpointer value, gpointer user_data)
-#line 433 "mn-gmail-mailbox.c"
+#line 428 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::dump_request_cb"
-#line 158 "mn-gmail-mailbox.gob"
+#line 180 "mn-gmail-mailbox.gob"
g_return_if_fail (key != NULL);
-#line 158 "mn-gmail-mailbox.gob"
+#line 180 "mn-gmail-mailbox.gob"
g_return_if_fail (value != NULL);
-#line 158 "mn-gmail-mailbox.gob"
+#line 180 "mn-gmail-mailbox.gob"
g_return_if_fail (user_data != NULL);
-#line 442 "mn-gmail-mailbox.c"
+#line 437 "mn-gmail-mailbox.c"
{
-#line 162 "mn-gmail-mailbox.gob"
+#line 184 "mn-gmail-mailbox.gob"
Self *self = user_data;
const char *header_name = key;
@@ -448,59 +443,57 @@ mn_gmail_mailbox_dump_request_cb (gpointer key, gpointer value, gpointer user_da
mn_mailbox_notice(MN_MAILBOX(self), "> %s: %s", header_name, header_value);
}}
-#line 452 "mn-gmail-mailbox.c"
+#line 447 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 170 "mn-gmail-mailbox.gob"
+#line 192 "mn-gmail-mailbox.gob"
static void
-mn_gmail_mailbox_dump_response (MNGmailMailbox * self, SoupMessage * message)
-#line 458 "mn-gmail-mailbox.c"
+mn_gmail_mailbox_dump_response (MNGmailMailbox * self, SoupMessage * message, const char * body)
+#line 453 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::dump_response"
-#line 170 "mn-gmail-mailbox.gob"
+#line 192 "mn-gmail-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 170 "mn-gmail-mailbox.gob"
+#line 192 "mn-gmail-mailbox.gob"
g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 170 "mn-gmail-mailbox.gob"
+#line 192 "mn-gmail-mailbox.gob"
g_return_if_fail (message != NULL);
-#line 170 "mn-gmail-mailbox.gob"
+#line 192 "mn-gmail-mailbox.gob"
g_return_if_fail (SOUP_IS_MESSAGE (message));
-#line 469 "mn-gmail-mailbox.c"
+#line 192 "mn-gmail-mailbox.gob"
+ g_return_if_fail (body != NULL);
+#line 466 "mn-gmail-mailbox.c"
{
-#line 172 "mn-gmail-mailbox.gob"
+#line 196 "mn-gmail-mailbox.gob"
- char *body;
char **lines;
int i;
soup_message_foreach_header(message->response_headers, self_dump_response_cb, self);
- body = g_strndup(message->response.body, message->response.length);
lines = g_strsplit(body, "\n", 0);
- g_free(body);
-
for (i = 0; lines[i]; i++)
mn_mailbox_notice(MN_MAILBOX(self), "< %s", lines[i]);
g_strfreev(lines);
}}
-#line 487 "mn-gmail-mailbox.c"
+#line 480 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 188 "mn-gmail-mailbox.gob"
+#line 208 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_dump_response_cb (gpointer key, gpointer value, gpointer user_data)
-#line 493 "mn-gmail-mailbox.c"
+#line 486 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::dump_response_cb"
-#line 188 "mn-gmail-mailbox.gob"
+#line 208 "mn-gmail-mailbox.gob"
g_return_if_fail (key != NULL);
-#line 188 "mn-gmail-mailbox.gob"
+#line 208 "mn-gmail-mailbox.gob"
g_return_if_fail (value != NULL);
-#line 188 "mn-gmail-mailbox.gob"
+#line 208 "mn-gmail-mailbox.gob"
g_return_if_fail (user_data != NULL);
-#line 502 "mn-gmail-mailbox.c"
+#line 495 "mn-gmail-mailbox.c"
{
-#line 192 "mn-gmail-mailbox.gob"
+#line 212 "mn-gmail-mailbox.gob"
Self *self = user_data;
const char *header_name = key;
@@ -508,7 +501,7 @@ mn_gmail_mailbox_dump_response_cb (gpointer key, gpointer value, gpointer user_d
mn_mailbox_notice(MN_MAILBOX(self), "< %s: %s", header_name, header_value);
}}
-#line 512 "mn-gmail-mailbox.c"
+#line 505 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
/**
@@ -524,21 +517,21 @@ mn_gmail_mailbox_dump_response_cb (gpointer key, gpointer value, gpointer user_d
* Return value: a newly allocated string containing the token or
* %NULL if not found.
**/
-#line 213 "mn-gmail-mailbox.gob"
+#line 233 "mn-gmail-mailbox.gob"
static char *
mn_gmail_mailbox_get_token (const char * str, const char * pre, const char * post, gboolean include_pre, gboolean include_post)
-#line 531 "mn-gmail-mailbox.c"
+#line 524 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::get_token"
-#line 213 "mn-gmail-mailbox.gob"
+#line 233 "mn-gmail-mailbox.gob"
g_return_val_if_fail (str != NULL, (char * )0);
-#line 213 "mn-gmail-mailbox.gob"
+#line 233 "mn-gmail-mailbox.gob"
g_return_val_if_fail (pre != NULL, (char * )0);
-#line 213 "mn-gmail-mailbox.gob"
+#line 233 "mn-gmail-mailbox.gob"
g_return_val_if_fail (post != NULL, (char * )0);
-#line 540 "mn-gmail-mailbox.c"
+#line 533 "mn-gmail-mailbox.c"
{
-#line 219 "mn-gmail-mailbox.gob"
+#line 239 "mn-gmail-mailbox.gob"
char *token = NULL;
char *pre_loc;
@@ -562,260 +555,141 @@ mn_gmail_mailbox_get_token (const char * str, const char * pre, const char * pos
return token;
}}
-#line 566 "mn-gmail-mailbox.c"
+#line 559 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 243 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_login (MNGmailMailbox * self)
-#line 572 "mn-gmail-mailbox.c"
+#line 263 "mn-gmail-mailbox.gob"
+static gboolean
+mn_gmail_mailbox_login (MNGmailMailbox * self, SoupSession * session, gboolean * authentication_failed, GError ** err)
+#line 565 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::login"
-#line 243 "mn-gmail-mailbox.gob"
- g_return_if_fail (self != NULL);
-#line 243 "mn-gmail-mailbox.gob"
- g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 579 "mn-gmail-mailbox.c"
-{
-#line 245 "mn-gmail-mailbox.gob"
+#line 263 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (self != NULL, (gboolean )0);
+#line 263 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (MN_IS_GMAIL_MAILBOX (self), (gboolean )0);
+#line 263 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (session != NULL, (gboolean )0);
+#line 263 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (SOUP_IS_SESSION (session), (gboolean )0);
+#line 263 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (authentication_failed != NULL, (gboolean )0);
+#line 578 "mn-gmail-mailbox.c"
+{
+#line 268 "mn-gmail-mailbox.gob"
- char *uri;
+ char *text_uri;
char *escaped_username;
char *escaped_password;
- gboolean status;
+ char *body;
+ char *next_location;
+ char *query;
+ SoupUri *uri;
+ gboolean success;
- g_return_if_fail(selfp->logged_in == FALSE);
+ g_return_val_if_fail(selfp->logged_in == FALSE, FALSE);
+
+ mn_mailbox_notice(MN_MAILBOX(self), _("logging in"));
+ *authentication_failed = FALSE;
if (selfp->cookies)
g_hash_table_destroy(selfp->cookies);
selfp->cookies = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
-
- mn_mailbox_notice(MN_MAILBOX(self), _("logging in"));
#define EXTRA_CHARS ";/?:@&=+$,"/* taken from RFC 2396 2.2 */
escaped_username = soup_uri_encode(MN_MAILBOX(self)->uri->username, EXTRA_CHARS);
- escaped_password = soup_uri_encode(MN_MAILBOX(self)->uri->password, EXTRA_CHARS);
- 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);
+ escaped_password = soup_uri_encode(MN_AUTHENTICATED_MAILBOX(self)->password, EXTRA_CHARS);
+ text_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);
- status = self_get(self, uri, self_login_cb1);
- g_free(uri);
+ body = self_get(self, session, text_uri, err);
+ g_free(text_uri);
- if (! status)
- {
- mn_mailbox_set_error(MN_MAILBOX(self), _("login failed"));
- self_end_check(self);
- }
- }}
-#line 612 "mn-gmail-mailbox.c"
-#undef __GOB_FUNCTION__
+ if (! body)
+ return FALSE;
-#line 276 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_login_cb1 (SoupMessage * message, gpointer user_data)
-#line 618 "mn-gmail-mailbox.c"
-{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::login_cb1"
-#line 276 "mn-gmail-mailbox.gob"
- g_return_if_fail (message != NULL);
-#line 276 "mn-gmail-mailbox.gob"
- g_return_if_fail (SOUP_IS_MESSAGE (message));
-#line 276 "mn-gmail-mailbox.gob"
- g_return_if_fail (user_data != NULL);
-#line 627 "mn-gmail-mailbox.c"
-{
-#line 279 "mn-gmail-mailbox.gob"
-
- Self *self = user_data;
+ next_location = self_get_token(body, "top.location = \"", "\"", FALSE, FALSE);
+ g_free(body);
- if (MESSAGE_IS_ERROR(message))
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to transfer data: %s"), message->reason_phrase);
- else
+ if (! next_location)
{
- char *body;
- char *next_location;
-
- self_dump_response(self, message);
- self_update_cookies(self, message);
-
- body = g_strndup(message->response.body, message->response.length);
- next_location = self_get_token(body, "top.location = \"", "\"", FALSE, FALSE);
- g_free(body);
-
- if (next_location)
- {
- char *query; /* pointer into next_location */
- char *uri;
- SoupUri *suri;
- gboolean status;
-
- /*
- * The following kludges work around http://bugzilla.ximian.com/show_bug.cgi?id=66516.
- * FIXME: remove it and bump libsoup version requirement
- * when the bug is fixed.
- */
-
- query = strchr(next_location, '?');
- if (query)
- *query = 0;
-
- uri = g_strdup_printf("https://www.google.com/accounts/%s", next_location);
- suri = soup_uri_new(uri);
-
- if (suri)
- {
- if (query)
- {
- suri->query = g_strdup(query + 1);
- suri->broken_encoding = TRUE;
- }
-
- self_get_from_uri(self, suri, self_login_cb2);
- soup_uri_free(suri);
-
- status = TRUE;
- }
- else
- {
- mn_mailbox_notice(MN_MAILBOX(self), _("unable to parse URI \"%s\""), uri);
- status = FALSE;
- }
-
- g_free(uri);
- g_free(next_location);
-
- if (status)
- return;
- }
-
- mn_mailbox_set_error(MN_MAILBOX(self), _("login failed"));
+ *authentication_failed = TRUE;
+ goto failed;
}
-
- /* if this point is reached, an error occurred */
- self_end_check(self);
- }}
-#line 699 "mn-gmail-mailbox.c"
-#undef __GOB_FUNCTION__
-
-#line 349 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_login_cb2 (SoupMessage * message, gpointer user_data)
-#line 705 "mn-gmail-mailbox.c"
-{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::login_cb2"
-#line 349 "mn-gmail-mailbox.gob"
- g_return_if_fail (message != NULL);
-#line 349 "mn-gmail-mailbox.gob"
- g_return_if_fail (SOUP_IS_MESSAGE (message));
-#line 349 "mn-gmail-mailbox.gob"
- g_return_if_fail (user_data != NULL);
-#line 714 "mn-gmail-mailbox.c"
-{
-#line 352 "mn-gmail-mailbox.gob"
-
- Self *self = user_data;
- if (MESSAGE_IS_ERROR(message))
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to transfer data: %s"), message->reason_phrase);
- else
- {
- char *body;
- char *next_location;
+ /*
+ * The following kludges work around
+ * http://bugzilla.ximian.com/show_bug.cgi?id=66516.
+ *
+ * FIXME: remove it and bump libsoup version requirement when the
+ * bug is fixed.
+ */
- self_dump_response(self, message);
- self_update_cookies(self, message);
-
- body = g_strndup(message->response.body, message->response.length);
- next_location = self_get_token(body, "location.replace(\"", "\")", FALSE, FALSE);
- g_free(body);
+ query = strchr(next_location, '?');
+ if (query)
+ *query = 0;
- if (next_location)
- {
- gboolean status;
+ text_uri = g_strdup_printf("https://www.google.com/accounts/%s", next_location);
+ g_free(next_location);
- status = self_get(self, next_location, self_login_cb3);
- g_free(next_location);
+ uri = self_soup_uri_new(text_uri, err);
+ g_free(text_uri);
- if (status)
- return;
- }
+ if (! uri)
+ return FALSE;
- mn_mailbox_set_error(MN_MAILBOX(self), _("login failed"));
+ if (query)
+ {
+ uri->query = g_strdup(query + 1);
+ uri->broken_encoding = TRUE;
}
- /* if this point is reached, an error occurred */
- self_end_check(self);
- }}
-#line 751 "mn-gmail-mailbox.c"
-#undef __GOB_FUNCTION__
+ body = self_get_from_uri(self, session, uri, err);
+ soup_uri_free(uri);
-#line 387 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_login_cb3 (SoupMessage * message, gpointer user_data)
-#line 757 "mn-gmail-mailbox.c"
-{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::login_cb3"
-#line 387 "mn-gmail-mailbox.gob"
- g_return_if_fail (message != NULL);
-#line 387 "mn-gmail-mailbox.gob"
- g_return_if_fail (SOUP_IS_MESSAGE (message));
-#line 387 "mn-gmail-mailbox.gob"
- g_return_if_fail (user_data != NULL);
-#line 766 "mn-gmail-mailbox.c"
-{
-#line 390 "mn-gmail-mailbox.gob"
-
- Self *self = user_data;
+ if (! body)
+ return FALSE;
- if (MESSAGE_IS_ERROR(message))
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to transfer data: %s"), message->reason_phrase);
- else
- {
- char *body;
- char *token;
+ next_location = self_get_token(body, "location.replace(\"", "\")", FALSE, FALSE);
+ g_free(body);
- self_dump_response(self, message);
- self_update_cookies(self, message);
+ if (! next_location)
+ goto failed;
- body = g_strndup(message->response.body, message->response.length);
- token = strstr(body, "frame name=js src=/gmail");
-
- if (token)
- {
- selfp->logged_in = TRUE;
- mn_mailbox_notice(MN_MAILBOX(self), _("successfully logged in"));
- self_check_internal(self);
-
- return;
- }
+ body = self_get(self, session, next_location, err);
+ g_free(next_location);
- mn_mailbox_set_error(MN_MAILBOX(self), _("login failed"));
- }
+ success = strstr(body, "frame name=js src=/gmail") != NULL;
+ g_free(body);
- /* if this point is reached, an error occurred */
- self_end_check(self);
+ if (success)
+ return TRUE;
+
+ failed:
+ g_set_error(err, 0, 0, _("login failed"));
+ return FALSE;
}}
-#line 800 "mn-gmail-mailbox.c"
+#line 674 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 422 "mn-gmail-mailbox.gob"
+#line 362 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_update_cookies (MNGmailMailbox * self, SoupMessage * message)
-#line 806 "mn-gmail-mailbox.c"
+#line 680 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::update_cookies"
-#line 422 "mn-gmail-mailbox.gob"
+#line 362 "mn-gmail-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 422 "mn-gmail-mailbox.gob"
+#line 362 "mn-gmail-mailbox.gob"
g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 422 "mn-gmail-mailbox.gob"
+#line 362 "mn-gmail-mailbox.gob"
g_return_if_fail (message != NULL);
-#line 422 "mn-gmail-mailbox.gob"
+#line 362 "mn-gmail-mailbox.gob"
g_return_if_fail (SOUP_IS_MESSAGE (message));
-#line 817 "mn-gmail-mailbox.c"
+#line 691 "mn-gmail-mailbox.c"
{
-#line 424 "mn-gmail-mailbox.gob"
+#line 364 "mn-gmail-mailbox.gob"
const GSList *set_cookie_headers;
const GSList *l;
@@ -844,22 +718,22 @@ mn_gmail_mailbox_update_cookies (MNGmailMailbox * self, SoupMessage * message)
}
}
}}
-#line 848 "mn-gmail-mailbox.c"
+#line 722 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 453 "mn-gmail-mailbox.gob"
+#line 393 "mn-gmail-mailbox.gob"
static char *
mn_gmail_mailbox_build_cookie (MNGmailMailbox * self)
-#line 854 "mn-gmail-mailbox.c"
+#line 728 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::build_cookie"
-#line 453 "mn-gmail-mailbox.gob"
+#line 393 "mn-gmail-mailbox.gob"
g_return_val_if_fail (self != NULL, (char * )0);
-#line 453 "mn-gmail-mailbox.gob"
+#line 393 "mn-gmail-mailbox.gob"
g_return_val_if_fail (MN_IS_GMAIL_MAILBOX (self), (char * )0);
-#line 861 "mn-gmail-mailbox.c"
+#line 735 "mn-gmail-mailbox.c"
{
-#line 455 "mn-gmail-mailbox.gob"
+#line 395 "mn-gmail-mailbox.gob"
GString *cookie;
char *str;
@@ -877,17 +751,17 @@ mn_gmail_mailbox_build_cookie (MNGmailMailbox * self)
return str;
}}
-#line 881 "mn-gmail-mailbox.c"
+#line 755 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 473 "mn-gmail-mailbox.gob"
+#line 413 "mn-gmail-mailbox.gob"
static void
mn_gmail_mailbox_build_cookie_cb (gpointer key, gpointer value, gpointer user_data)
-#line 887 "mn-gmail-mailbox.c"
+#line 761 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::build_cookie_cb"
{
-#line 475 "mn-gmail-mailbox.gob"
+#line 415 "mn-gmail-mailbox.gob"
GString *cookie = user_data;
@@ -896,192 +770,149 @@ 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 900 "mn-gmail-mailbox.c"
+#line 774 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 484 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_check_internal (MNGmailMailbox * self)
-#line 906 "mn-gmail-mailbox.c"
-{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::check_internal"
-#line 484 "mn-gmail-mailbox.gob"
- g_return_if_fail (self != NULL);
-#line 484 "mn-gmail-mailbox.gob"
- g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 913 "mn-gmail-mailbox.c"
-{
-#line 486 "mn-gmail-mailbox.gob"
-
- mn_mailbox_notice(MN_MAILBOX(self), _("searching for unread mail"));
-
- if (! self_get(self, "https://gmail.google.com/gmail?search=adv&as_subset=unread&view=tl&start=0", self_check_internal_cb))
- {
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to search for unread mail"));
- self_end_check(self);
- }
- }}
-#line 925 "mn-gmail-mailbox.c"
-#undef __GOB_FUNCTION__
-
-#line 496 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_check_internal_cb (SoupMessage * message, gpointer user_data)
-#line 931 "mn-gmail-mailbox.c"
+#line 424 "mn-gmail-mailbox.gob"
+static gboolean
+mn_gmail_mailbox_check (MNGmailMailbox * self, SoupSession * session, GError ** err)
+#line 780 "mn-gmail-mailbox.c"
{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::check_internal_cb"
-#line 496 "mn-gmail-mailbox.gob"
- g_return_if_fail (message != NULL);
-#line 496 "mn-gmail-mailbox.gob"
- g_return_if_fail (SOUP_IS_MESSAGE (message));
-#line 938 "mn-gmail-mailbox.c"
+#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::check"
+#line 424 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (self != NULL, (gboolean )0);
+#line 424 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (MN_IS_GMAIL_MAILBOX (self), (gboolean )0);
+#line 424 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (session != NULL, (gboolean )0);
+#line 424 "mn-gmail-mailbox.gob"
+ g_return_val_if_fail (SOUP_IS_SESSION (session), (gboolean )0);
+#line 791 "mn-gmail-mailbox.c"
{
-#line 499 "mn-gmail-mailbox.gob"
+#line 426 "mn-gmail-mailbox.gob"
- Self *self = user_data;
+ char *body;
+ char *results;
+ gboolean status = FALSE;
- if (MESSAGE_IS_ERROR(message))
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to transfer data: %s"), message->reason_phrase);
- else
- {
- self_dump_response(self, message);
- self_parse_unread(self, message);
- }
+ g_return_val_if_fail(selfp->logged_in == TRUE, FALSE);
- self_end_check(self);
- }}
-#line 954 "mn-gmail-mailbox.c"
-#undef __GOB_FUNCTION__
+ mn_mailbox_notice(MN_MAILBOX(self), _("searching for unread mail"));
-#line 513 "mn-gmail-mailbox.gob"
-static void
-mn_gmail_mailbox_parse_unread (MNGmailMailbox * self, SoupMessage * message)
-#line 960 "mn-gmail-mailbox.c"
-{
-#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::parse_unread"
-#line 513 "mn-gmail-mailbox.gob"
- g_return_if_fail (self != NULL);
-#line 513 "mn-gmail-mailbox.gob"
- g_return_if_fail (MN_IS_GMAIL_MAILBOX (self));
-#line 513 "mn-gmail-mailbox.gob"
- g_return_if_fail (message != NULL);
-#line 513 "mn-gmail-mailbox.gob"
- g_return_if_fail (SOUP_IS_MESSAGE (message));
-#line 971 "mn-gmail-mailbox.c"
-{
-#line 515 "mn-gmail-mailbox.gob"
-
- MNMailbox *mailbox = MN_MAILBOX(self);
- int count = -1;
- GSList *messages = NULL;
- char *body;
- char *results;
-
- body = g_strndup(message->response.body, message->response.length);
+ body = self_get(self, session, "https://gmail.google.com/gmail?search=adv&as_subset=unread&view=tl&start=0", err);
+ if (! body)
+ return FALSE;
results = strstr(body, "Search results for: is:unread\",\"");
if (results)
{
- char *count_str;
-
- count_str = self_get_token(results + 32, ",", ",", FALSE, FALSE);
- if (count_str)
+ GSList *messages = NULL;
+ char *p = strstr(results + 32, ",1,");
+
+ while (p)
{
- if (mn_str_isnumeric(count_str))
- count = atoi(count_str);
- g_free(count_str);
- }
- }
+ char *inbox_marker;
+ char *next_p;
- if (count != -1)
- {
- char *p = results + 32;
+ /*
+ * FIXME: we should parse the list instead of using field
+ * separator matching (this breaks if a separator is
+ * present in a field value).
+ */
- while (p && (p = strstr(p, ",1,0")))
- {
- char *date;
- char *sender_email;
- char *sender_name;
- char *subject;
-
- time_t sent_time = 0;
- char *from = NULL;
- char *expanded_subject = NULL;
-
- date = self_get_token(p, "\\<b\\>", "\\</b\\>", FALSE, FALSE);
- sender_email = self_get_token(p, "<span id=\\'_user_", "\\'", FALSE, FALSE);
- sender_name = self_get_token(p, "\\'\\>\\<b\\>", "\\</b\\>", FALSE, FALSE);
- subject = self_get_token(p, ";\",\"\\<b\\>", "\\</b\\>", FALSE, FALSE);
+ p += 3; /* skip ,1, */
+ inbox_marker = strstr(p, ",[\"^i\"");
+ next_p = strstr(p, ",1,");
- if (date)
+ if (inbox_marker && (! next_p || inbox_marker < next_p)) /* msg from inbox */
{
- sent_time = self_parse_date(date);
- g_free(date);
- }
-
- if (sender_name && sender_email)
- {
- char *tmp;
+ char *date;
+ char *sender_email;
+ char *sender_name;
+ char *subject;
- tmp = g_strdup_printf("%s <%s>", sender_name, sender_email);
- from = mn_sgml_ref_expand(tmp);
- g_free(tmp);
- }
- else if (sender_name)
- from = mn_sgml_ref_expand(sender_name);
- else if (sender_email)
- from = mn_sgml_ref_expand(sender_email);
+ time_t sent_time = 0;
+ char *from = NULL;
+ char *expanded_subject = NULL;
- g_free(sender_email);
- g_free(sender_name);
+ date = self_get_token(p, "\\<b\\>", "\\</b\\>", FALSE, FALSE);
+ sender_email = self_get_token(p, "<span id=\\'_user_", "\\'", FALSE, FALSE);
+ sender_name = self_get_token(p, "\\'\\>\\<b\\>", "\\</b\\>", FALSE, FALSE);
+ subject = self_get_token(p, ";\",\"\\<b\\>", "\\</b\\>", FALSE, FALSE);
- if (subject)
- {
- if (strcmp(subject, "(no subject)"))
- expanded_subject = mn_sgml_ref_expand(subject);
- g_free(subject);
+ if (date)
+ {
+ sent_time = self_parse_date(date);
+ g_free(date);
+ }
+
+ if (sender_name && sender_email)
+ {
+ char *tmp;
+
+ tmp = g_strdup_printf("%s <%s>", sender_name, sender_email);
+ from = mn_sgml_ref_expand(tmp);
+ g_free(tmp);
+ }
+ else if (sender_name)
+ from = mn_sgml_ref_expand(sender_name);
+ else if (sender_email)
+ from = mn_sgml_ref_expand(sender_email);
+
+ g_free(sender_email);
+ g_free(sender_name);
+
+ if (subject)
+ {
+ if (strcmp(subject, "(no subject)"))
+ expanded_subject = mn_sgml_ref_expand(subject);
+ g_free(subject);
+ }
+
+ messages = g_slist_append(messages, mn_message_new(MN_MAILBOX(self)->uri,
+ NULL,
+ sent_time,
+ NULL,
+ from,
+ expanded_subject));
+
+ g_free(from);
+ g_free(expanded_subject);
}
- messages = g_slist_append(messages, mn_message_new(mailbox->uri,
- NULL,
- sent_time,
- NULL,
- from,
- expanded_subject));
+ p = next_p;
+ }
- g_free(from);
- g_free(expanded_subject);
+ GDK_THREADS_ENTER();
+ mn_mailbox_set_has_new(MN_MAILBOX(self), messages != NULL);
+ mn_mailbox_set_messages(MN_MAILBOX(self), messages);
+ gdk_flush();
+ GDK_THREADS_LEAVE();
- p = strstr(p, "[\"^i\"]");
- }
+ mn_g_object_slist_free(messages);
+ status = TRUE;
}
+ else
+ g_set_error(err, 0, 0, _("unable to parse Gmail data"));
g_free(body);
- if (count == -1)
- mn_mailbox_set_error(mailbox, _("unable to parse Gmail data"));
- else
- {
- mn_mailbox_set_has_new(mailbox, count != 0);
- mn_mailbox_set_messages(mailbox, messages);
- }
-
- mn_g_object_slist_free(messages);
+ return status;
}}
-#line 1072 "mn-gmail-mailbox.c"
+#line 903 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
-#line 614 "mn-gmail-mailbox.gob"
+#line 536 "mn-gmail-mailbox.gob"
static time_t
mn_gmail_mailbox_parse_date (const char * date)
-#line 1078 "mn-gmail-mailbox.c"
+#line 909 "mn-gmail-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Gmail:Mailbox::parse_date"
-#line 614 "mn-gmail-mailbox.gob"
+#line 536 "mn-gmail-mailbox.gob"
g_return_val_if_fail (date != NULL, (time_t )0);
-#line 1083 "mn-gmail-mailbox.c"
+#line 914 "mn-gmail-mailbox.c"
{
-#line 616 "mn-gmail-mailbox.gob"
+#line 538 "mn-gmail-mailbox.gob"
time_t t = 0;
#ifdef HAVE_TIMEGM
@@ -1135,5 +966,5 @@ mn_gmail_mailbox_parse_date (const char * date)
return t;
}}
-#line 1139 "mn-gmail-mailbox.c"
+#line 970 "mn-gmail-mailbox.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-gmail-mailbox.gob b/src/mn-gmail-mailbox.gob
@@ -19,7 +19,7 @@
requires 2.0.10
%headertop{
-#include "mn-mailbox.h"
+#include "mn-authenticated-mailbox.h"
%}
%privateheader{
@@ -30,21 +30,19 @@ requires 2.0.10
#include "config.h"
#include <stdio.h>
#include <string.h>
-#include <stdlib.h>
#include <time.h>
-#include <glib/gi18n-lib.h>
+#ifdef TM_IN_SYS_TIME
+#include <sys/time.h>
+#endif
+#include <glib/gi18n.h>
#include "mn-mailbox-private.h"
#include "mn-util.h"
#include "mn-stock.h"
#include "mn-sgml-ref.h"
-
-#define MESSAGE_IS_ERROR(message) \
- (! SOUP_STATUS_IS_SUCCESSFUL((message)->status_code))
%}
-class MN:Gmail:Mailbox from MN:Mailbox
+class MN:Gmail:Mailbox from MN:Authenticated:Mailbox
{
- private SoupSession *session;
private GHashTable *cookies destroywith g_hash_table_destroy;
private gboolean logged_in;
@@ -73,60 +71,72 @@ class MN:Gmail:Mailbox from MN:Mailbox
return MN_URI_IS_GMAIL(uri);
}
- override (MN:Mailbox) void
- impl_check (MN:Mailbox *mailbox (check null type))
+ override (MN:Authenticated:Mailbox) MNAuthenticatedMailboxResult
+ impl_authenticated_check (MN:Authenticated:Mailbox *authenticated_mailbox (check null type),
+ GError **err)
{
- Self *self = SELF(mailbox);
+ Self *self = SELF(authenticated_mailbox);
+ SoupSession *session;
+ gboolean authentication_failed;
+ MNAuthenticatedMailboxResult result;
+
+ session = mn_soup_session_sync_new();
+
+ if (! selfp->logged_in)
+ selfp->logged_in = self_login(self, session, &authentication_failed, err);
- selfp->session = mn_soup_session_new();
if (selfp->logged_in)
- self_check_internal(self);
+ result = self_check(self, session, err) ? MN_AUTHENTICATED_MAILBOX_OK : MN_AUTHENTICATED_MAILBOX_ERROR_OTHER;
else
- self_login(self);
+ result = authentication_failed ? MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION : MN_AUTHENTICATED_MAILBOX_ERROR_OTHER;
+
+ g_object_unref(session);
+
+ return result;
}
- private void
- end_check (self)
+ private SoupUri *
+ soup_uri_new (const char *text_uri (check null), GError **err)
{
- g_object_unref(selfp->session);
- mn_mailbox_end_check(MN_MAILBOX(self));
+ SoupUri *uri;
+
+ uri = soup_uri_new(text_uri);
+ if (! uri)
+ g_set_error(err, 0, 0, _("unable to parse URI \"%s\""), text_uri);
+
+ return uri;
}
- private gboolean
+ private char *
get (self,
- const char *uri_string (check null),
- SoupMessageCallbackFn callback (check null))
+ Soup:Session *session (check null type),
+ const char *text_uri (check null),
+ GError **err)
{
- SoupMessage *message;
+ SoupUri *uri;
+ char *body;
- message = soup_message_new(SOUP_METHOD_GET, uri_string);
- if (message)
- {
- self_get_from_message(self, soup_message_new(SOUP_METHOD_GET, uri_string), callback);
- return TRUE;
- }
- else
- {
- mn_mailbox_notice(MN_MAILBOX(self), _("unable to parse URI \"%s\""), uri_string);
- return FALSE;
- }
+ uri = self_soup_uri_new(text_uri, err);
+ if (! uri)
+ return NULL;
+
+ body = self_get_from_uri(self, session, uri, err);
+ soup_uri_free(uri);
+
+ return body;
}
- private void
+ private char *
get_from_uri (self,
+ Soup:Session *session (check null type),
SoupUri *uri (check null),
- SoupMessageCallbackFn callback (check null))
- {
- self_get_from_message(self, soup_message_new_from_uri(SOUP_METHOD_GET, uri), callback);
- }
-
- private void
- get_from_message (self,
- Soup:Message *message (check null type),
- SoupMessageCallbackFn callback (check null))
+ GError **err)
{
+ SoupMessage *message;
char *cookie;
+ char *body = NULL;
+ message = soup_message_new_from_uri(SOUP_METHOD_GET, uri);
soup_message_add_header(message->request_headers, "User-Agent", "Mail Notification");
cookie = self_build_cookie(self);
@@ -137,8 +147,20 @@ class MN:Gmail:Mailbox from MN:Mailbox
}
self_dump_request(self, message);
- soup_session_queue_message(selfp->session, message, callback, self);
- /* message will be unreffed by libsoup after invoking the callback */
+ soup_session_send_message(session, message);
+
+ if (SOUP_STATUS_IS_SUCCESSFUL(message->status_code))
+ {
+ body = g_strndup(message->response.body, message->response.length);
+ self_dump_response(self, message, body);
+ self_update_cookies(self, message);
+ }
+ else
+ g_set_error(err, 0, 0, _("unable to transfer data: %s"), message->reason_phrase);
+
+ g_object_unref(message);
+
+ return body;
}
private void
@@ -168,18 +190,16 @@ class MN:Gmail:Mailbox from MN:Mailbox
}
private void
- dump_response (self, Soup:Message *message (check null type))
+ dump_response (self,
+ Soup:Message *message (check null type),
+ const char *body (check null))
{
- char *body;
char **lines;
int i;
soup_message_foreach_header(message->response_headers, self_dump_response_cb, self);
- body = g_strndup(message->response.body, message->response.length);
lines = g_strsplit(body, "\n", 0);
- g_free(body);
-
for (i = 0; lines[i]; i++)
mn_mailbox_notice(MN_MAILBOX(self), "< %s", lines[i]);
g_strfreev(lines);
@@ -240,186 +260,106 @@ class MN:Gmail:Mailbox from MN:Mailbox
return token;
}
- private void
- login (self)
+ private gboolean
+ login (self,
+ Soup:Session *session (check null type),
+ gboolean *authentication_failed (check null),
+ GError **err)
{
- char *uri;
+ char *text_uri;
char *escaped_username;
char *escaped_password;
- gboolean status;
+ char *body;
+ char *next_location;
+ char *query;
+ SoupUri *uri;
+ gboolean success;
- g_return_if_fail(selfp->logged_in == FALSE);
+ g_return_val_if_fail(selfp->logged_in == FALSE, FALSE);
+
+ mn_mailbox_notice(MN_MAILBOX(self), _("logging in"));
+ *authentication_failed = FALSE;
if (selfp->cookies)
g_hash_table_destroy(selfp->cookies);
selfp->cookies = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
-
- mn_mailbox_notice(MN_MAILBOX(self), _("logging in"));
#define EXTRA_CHARS ";/?:@&=+$,"/* taken from RFC 2396 2.2 */
escaped_username = soup_uri_encode(MN_MAILBOX(self)->uri->username, EXTRA_CHARS);
- escaped_password = soup_uri_encode(MN_MAILBOX(self)->uri->password, EXTRA_CHARS);
- 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);
+ escaped_password = soup_uri_encode(MN_AUTHENTICATED_MAILBOX(self)->password, EXTRA_CHARS);
+ text_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);
- status = self_get(self, uri, self_login_cb1);
- g_free(uri);
+ body = self_get(self, session, text_uri, err);
+ g_free(text_uri);
- if (! status)
- {
- mn_mailbox_set_error(MN_MAILBOX(self), _("login failed"));
- self_end_check(self);
- }
- }
-
- private void
- login_cb1 (Soup:Message *message (check null type),
- gpointer user_data (check null))
- {
- Self *self = user_data;
+ if (! body)
+ return FALSE;
- if (MESSAGE_IS_ERROR(message))
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to transfer data: %s"), message->reason_phrase);
- else
- {
- char *body;
- char *next_location;
-
- self_dump_response(self, message);
- self_update_cookies(self, message);
-
- body = g_strndup(message->response.body, message->response.length);
- next_location = self_get_token(body, "top.location = \"", "\"", FALSE, FALSE);
- g_free(body);
-
- if (next_location)
- {
- char *query; /* pointer into next_location */
- char *uri;
- SoupUri *suri;
- gboolean status;
+ next_location = self_get_token(body, "top.location = \"", "\"", FALSE, FALSE);
+ g_free(body);
- /*
- * The following kludges work around http://bugzilla.ximian.com/show_bug.cgi?id=66516.
- * FIXME: remove it and bump libsoup version requirement
- * when the bug is fixed.
- */
+ if (! next_location)
+ {
+ *authentication_failed = TRUE;
+ goto failed;
+ }
- query = strchr(next_location, '?');
- if (query)
- *query = 0;
+ /*
+ * The following kludges work around
+ * http://bugzilla.ximian.com/show_bug.cgi?id=66516.
+ *
+ * FIXME: remove it and bump libsoup version requirement when the
+ * bug is fixed.
+ */
- uri = g_strdup_printf("https://www.google.com/accounts/%s", next_location);
- suri = soup_uri_new(uri);
+ query = strchr(next_location, '?');
+ if (query)
+ *query = 0;
- if (suri)
- {
- if (query)
- {
- suri->query = g_strdup(query + 1);
- suri->broken_encoding = TRUE;
- }
+ text_uri = g_strdup_printf("https://www.google.com/accounts/%s", next_location);
+ g_free(next_location);
- self_get_from_uri(self, suri, self_login_cb2);
- soup_uri_free(suri);
-
- status = TRUE;
- }
- else
- {
- mn_mailbox_notice(MN_MAILBOX(self), _("unable to parse URI \"%s\""), uri);
- status = FALSE;
- }
+ uri = self_soup_uri_new(text_uri, err);
+ g_free(text_uri);
- g_free(uri);
- g_free(next_location);
-
- if (status)
- return;
- }
+ if (! uri)
+ return FALSE;
- mn_mailbox_set_error(MN_MAILBOX(self), _("login failed"));
+ if (query)
+ {
+ uri->query = g_strdup(query + 1);
+ uri->broken_encoding = TRUE;
}
-
- /* if this point is reached, an error occurred */
- self_end_check(self);
- }
-
- private void
- login_cb2 (Soup:Message *message (check null type),
- gpointer user_data (check null))
- {
- Self *self = user_data;
- if (MESSAGE_IS_ERROR(message))
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to transfer data: %s"), message->reason_phrase);
- else
- {
- char *body;
- char *next_location;
+ body = self_get_from_uri(self, session, uri, err);
+ soup_uri_free(uri);
- self_dump_response(self, message);
- self_update_cookies(self, message);
-
- body = g_strndup(message->response.body, message->response.length);
- next_location = self_get_token(body, "location.replace(\"", "\")", FALSE, FALSE);
- g_free(body);
+ if (! body)
+ return FALSE;
- if (next_location)
- {
- gboolean status;
+ next_location = self_get_token(body, "location.replace(\"", "\")", FALSE, FALSE);
+ g_free(body);
- status = self_get(self, next_location, self_login_cb3);
- g_free(next_location);
+ if (! next_location)
+ goto failed;
- if (status)
- return;
- }
+ body = self_get(self, session, next_location, err);
+ g_free(next_location);
- mn_mailbox_set_error(MN_MAILBOX(self), _("login failed"));
- }
+ success = strstr(body, "frame name=js src=/gmail") != NULL;
+ g_free(body);
- /* if this point is reached, an error occurred */
- self_end_check(self);
+ if (success)
+ return TRUE;
+
+ failed:
+ g_set_error(err, 0, 0, _("login failed"));
+ return FALSE;
}
private void
- login_cb3 (Soup:Message *message (check null type),
- gpointer user_data (check null))
- {
- Self *self = user_data;
-
- if (MESSAGE_IS_ERROR(message))
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to transfer data: %s"), message->reason_phrase);
- else
- {
- char *body;
- char *token;
-
- self_dump_response(self, message);
- self_update_cookies(self, message);
-
- body = g_strndup(message->response.body, message->response.length);
- token = strstr(body, "frame name=js src=/gmail");
-
- if (token)
- {
- selfp->logged_in = TRUE;
- mn_mailbox_notice(MN_MAILBOX(self), _("successfully logged in"));
- self_check_internal(self);
-
- return;
- }
-
- mn_mailbox_set_error(MN_MAILBOX(self), _("login failed"));
- }
-
- /* if this point is reached, an error occurred */
- self_end_check(self);
- }
-
- private void
update_cookies (self, Soup:Message *message (check null type))
{
const GSList *set_cookie_headers;
@@ -481,136 +421,118 @@ class MN:Gmail:Mailbox from MN:Mailbox
g_string_append_printf(cookie, "%s=%s", (const char *) key, (const char *) value);
}
- private void
- check_internal (self)
- {
- mn_mailbox_notice(MN_MAILBOX(self), _("searching for unread mail"));
-
- if (! self_get(self, "https://gmail.google.com/gmail?search=adv&as_subset=unread&view=tl&start=0", self_check_internal_cb))
- {
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to search for unread mail"));
- self_end_check(self);
- }
- }
-
- private void
- check_internal_cb (Soup:Message *message (check null type),
- gpointer user_data)
+ private gboolean
+ check (self, Soup:Session *session (check null type), GError **err)
{
- Self *self = user_data;
+ char *body;
+ char *results;
+ gboolean status = FALSE;
- if (MESSAGE_IS_ERROR(message))
- mn_mailbox_set_error(MN_MAILBOX(self), _("unable to transfer data: %s"), message->reason_phrase);
- else
- {
- self_dump_response(self, message);
- self_parse_unread(self, message);
- }
+ g_return_val_if_fail(selfp->logged_in == TRUE, FALSE);
- self_end_check(self);
- }
+ mn_mailbox_notice(MN_MAILBOX(self), _("searching for unread mail"));
- private void
- parse_unread (self, Soup:Message *message (check null type))
- {
- MNMailbox *mailbox = MN_MAILBOX(self);
- int count = -1;
- GSList *messages = NULL;
- char *body;
- char *results;
-
- body = g_strndup(message->response.body, message->response.length);
+ body = self_get(self, session, "https://gmail.google.com/gmail?search=adv&as_subset=unread&view=tl&start=0", err);
+ if (! body)
+ return FALSE;
results = strstr(body, "Search results for: is:unread\",\"");
if (results)
{
- char *count_str;
-
- count_str = self_get_token(results + 32, ",", ",", FALSE, FALSE);
- if (count_str)
+ GSList *messages = NULL;
+ char *p = strstr(results + 32, ",1,");
+
+ while (p)
{
- if (mn_str_isnumeric(count_str))
- count = atoi(count_str);
- g_free(count_str);
- }
- }
+ char *inbox_marker;
+ char *next_p;
- if (count != -1)
- {
- char *p = results + 32;
+ /*
+ * FIXME: we should parse the list instead of using field
+ * separator matching (this breaks if a separator is
+ * present in a field value).
+ */
- while (p && (p = strstr(p, ",1,0")))
- {
- char *date;
- char *sender_email;
- char *sender_name;
- char *subject;
-
- time_t sent_time = 0;
- char *from = NULL;
- char *expanded_subject = NULL;
-
- date = self_get_token(p, "\\<b\\>", "\\</b\\>", FALSE, FALSE);
- sender_email = self_get_token(p, "<span id=\\'_user_", "\\'", FALSE, FALSE);
- sender_name = self_get_token(p, "\\'\\>\\<b\\>", "\\</b\\>", FALSE, FALSE);
- subject = self_get_token(p, ";\",\"\\<b\\>", "\\</b\\>", FALSE, FALSE);
+ p += 3; /* skip ,1, */
+ inbox_marker = strstr(p, ",[\"^i\"");
+ next_p = strstr(p, ",1,");
- if (date)
+ if (inbox_marker && (! next_p || inbox_marker < next_p)) /* msg from inbox */
{
- sent_time = self_parse_date(date);
- g_free(date);
- }
-
- if (sender_name && sender_email)
- {
- char *tmp;
+ char *date;
+ char *sender_email;
+ char *sender_name;
+ char *subject;
- tmp = g_strdup_printf("%s <%s>", sender_name, sender_email);
- from = mn_sgml_ref_expand(tmp);
- g_free(tmp);
- }
- else if (sender_name)
- from = mn_sgml_ref_expand(sender_name);
- else if (sender_email)
- from = mn_sgml_ref_expand(sender_email);
+ time_t sent_time = 0;
+ char *from = NULL;
+ char *expanded_subject = NULL;
- g_free(sender_email);
- g_free(sender_name);
+ date = self_get_token(p, "\\<b\\>", "\\</b\\>", FALSE, FALSE);
+ sender_email = self_get_token(p, "<span id=\\'_user_", "\\'", FALSE, FALSE);
+ sender_name = self_get_token(p, "\\'\\>\\<b\\>", "\\</b\\>", FALSE, FALSE);
+ subject = self_get_token(p, ";\",\"\\<b\\>", "\\</b\\>", FALSE, FALSE);
- if (subject)
- {
- if (strcmp(subject, "(no subject)"))
- expanded_subject = mn_sgml_ref_expand(subject);
- g_free(subject);
+ if (date)
+ {
+ sent_time = self_parse_date(date);
+ g_free(date);
+ }
+
+ if (sender_name && sender_email)
+ {
+ char *tmp;
+
+ tmp = g_strdup_printf("%s <%s>", sender_name, sender_email);
+ from = mn_sgml_ref_expand(tmp);
+ g_free(tmp);
+ }
+ else if (sender_name)
+ from = mn_sgml_ref_expand(sender_name);
+ else if (sender_email)
+ from = mn_sgml_ref_expand(sender_email);
+
+ g_free(sender_email);
+ g_free(sender_name);
+
+ if (subject)
+ {
+ if (strcmp(subject, "(no subject)"))
+ expanded_subject = mn_sgml_ref_expand(subject);
+ g_free(subject);
+ }
+
+ messages = g_slist_append(messages, mn_message_new(MN_MAILBOX(self)->uri,
+ NULL,
+ sent_time,
+ NULL,
+ from,
+ expanded_subject));
+
+ g_free(from);
+ g_free(expanded_subject);
}
- messages = g_slist_append(messages, mn_message_new(mailbox->uri,
- NULL,
- sent_time,
- NULL,
- from,
- expanded_subject));
+ p = next_p;
+ }
- g_free(from);
- g_free(expanded_subject);
+ GDK_THREADS_ENTER();
+ mn_mailbox_set_has_new(MN_MAILBOX(self), messages != NULL);
+ mn_mailbox_set_messages(MN_MAILBOX(self), messages);
+ gdk_flush();
+ GDK_THREADS_LEAVE();
- p = strstr(p, "[\"^i\"]");
- }
+ mn_g_object_slist_free(messages);
+ status = TRUE;
}
+ else
+ g_set_error(err, 0, 0, _("unable to parse Gmail data"));
g_free(body);
- if (count == -1)
- mn_mailbox_set_error(mailbox, _("unable to parse Gmail data"));
- else
- {
- mn_mailbox_set_has_new(mailbox, count != 0);
- mn_mailbox_set_messages(mailbox, messages);
- }
-
- mn_g_object_slist_free(messages);
+ return status;
}
-
+
private time_t
parse_date (const char *date (check null))
{
diff --git a/src/mn-gmail-mailbox.h b/src/mn-gmail-mailbox.h
@@ -4,7 +4,7 @@
#include <glib-object.h>
-#include "mn-mailbox.h"
+#include "mn-authenticated-mailbox.h"
#ifndef __MN_GMAIL_MAILBOX_H__
#define __MN_GMAIL_MAILBOX_H__
@@ -36,7 +36,7 @@ typedef struct _MNGmailMailboxPrivate MNGmailMailboxPrivate;
typedef struct _MNGmailMailbox MNGmailMailbox;
#endif
struct _MNGmailMailbox {
- MNMailbox __parent__;
+ MNAuthenticatedMailbox __parent__;
/*< private >*/
MNGmailMailboxPrivate *_priv;
};
@@ -46,7 +46,7 @@ struct _MNGmailMailbox {
*/
typedef struct _MNGmailMailboxClass MNGmailMailboxClass;
struct _MNGmailMailboxClass {
- MNMailboxClass __parent__;
+ MNAuthenticatedMailboxClass __parent__;
};
diff --git a/src/mn-gmime-stream-vfs.c b/src/mn-gmime-stream-vfs.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 26 "mn-gmime-stream-vfs.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#define VFS_CALL(stream, expr, fail_format, fail_retval) \
{ \
diff --git a/src/mn-gmime-stream-vfs.gob b/src/mn-gmime-stream-vfs.gob
@@ -25,7 +25,7 @@ requires 2.0.10
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#define VFS_CALL(stream, expr, fail_format, fail_retval) \
{ \
diff --git a/src/mn-imap-mailbox-properties-private.h b/src/mn-imap-mailbox-properties-private.h
@@ -10,11 +10,11 @@ extern "C" {
#endif /* __cplusplus */
struct _MNIMAPMailboxPropertiesPrivate {
-#line 68 "mn-imap-mailbox-properties.gob"
+#line 67 "mn-imap-mailbox-properties.gob"
GtkWidget * inbox_radio;
-#line 69 "mn-imap-mailbox-properties.gob"
+#line 68 "mn-imap-mailbox-properties.gob"
GtkWidget * other_radio;
-#line 70 "mn-imap-mailbox-properties.gob"
+#line 69 "mn-imap-mailbox-properties.gob"
GtkWidget * mailbox_entry;
#line 20 "mn-imap-mailbox-properties-private.h"
};
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.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-imap-mailbox-properties.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-pi-mailbox-properties-private.h"
@@ -73,9 +73,9 @@ static MNPIMailboxPropertiesClass *parent_class = NULL;
static void
___MN_Mailbox_Properties_init (MNMailboxPropertiesIface *iface)
{
-#line 149 "mn-imap-mailbox-properties.gob"
+#line 148 "mn-imap-mailbox-properties.gob"
iface->set_uri = self_set_uri;
-#line 180 "mn-imap-mailbox-properties.gob"
+#line 179 "mn-imap-mailbox-properties.gob"
iface->get_uri = self_get_uri;
#line 81 "mn-imap-mailbox-properties.c"
}
@@ -150,7 +150,7 @@ mn_imap_mailbox_properties_init (MNIMAPMailboxProperties * o G_GNUC_UNUSED)
o->_priv = G_TYPE_INSTANCE_GET_PRIVATE(o,TYPE_SELF,MNIMAPMailboxPropertiesPrivate);
}
#undef __GOB_FUNCTION__
-#line 72 "mn-imap-mailbox-properties.gob"
+#line 71 "mn-imap-mailbox-properties.gob"
static void
mn_imap_mailbox_properties_class_init (MNIMAPMailboxPropertiesClass * class G_GNUC_UNUSED)
#line 157 "mn-imap-mailbox-properties.c"
@@ -162,7 +162,7 @@ mn_imap_mailbox_properties_class_init (MNIMAPMailboxPropertiesClass * class G_GN
parent_class = g_type_class_ref (MN_TYPE_PI_MAILBOX_PROPERTIES);
-#line 81 "mn-imap-mailbox-properties.gob"
+#line 80 "mn-imap-mailbox-properties.gob"
g_object_class->constructor = ___2_mn_imap_mailbox_properties_constructor;
#line 168 "mn-imap-mailbox-properties.c"
g_object_class->finalize = ___finalize;
@@ -173,7 +173,7 @@ mn_imap_mailbox_properties_class_init (MNIMAPMailboxPropertiesClass * class G_GN
"complete");
}
{
-#line 73 "mn-imap-mailbox-properties.gob"
+#line 72 "mn-imap-mailbox-properties.gob"
MNPIMailboxPropertiesClass *pi_class = MN_PI_MAILBOX_PROPERTIES_CLASS(class);
@@ -205,7 +205,6 @@ ___object_get_property (GObject *object,
MNPIMailboxProperties *pi = MN_PI_MAILBOX_PROPERTIES(self);
gboolean complete;
const char *username;
- const char *password;
const char *hostname;
gboolean other_active;
const char *mailbox;
@@ -214,7 +213,7 @@ ___object_get_property (GObject *object,
NULL,
NULL,
&username,
- &password,
+ NULL,
NULL,
&hostname,
NULL);
@@ -222,7 +221,7 @@ ___object_get_property (GObject *object,
other_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(selfp->other_radio));
mailbox = gtk_entry_get_text(GTK_ENTRY(selfp->mailbox_entry));
- complete = *username && *password && *hostname && (! other_active || *mailbox);
+ complete = *username && *hostname && (! other_active || *mailbox);
#ifndef WITH_SSL
if (complete)
complete = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pi->conn_radio[0]));
@@ -230,7 +229,7 @@ ___object_get_property (GObject *object,
g_value_set_boolean(VAL, complete);
-#line 234 "mn-imap-mailbox-properties.c"
+#line 233 "mn-imap-mailbox-properties.c"
}
break;
default:
@@ -247,10 +246,10 @@ ___object_get_property (GObject *object,
-#line 81 "mn-imap-mailbox-properties.gob"
+#line 80 "mn-imap-mailbox-properties.gob"
static GObject *
___2_mn_imap_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_construct_properties, GObjectConstructParam * construct_params)
-#line 254 "mn-imap-mailbox-properties.c"
+#line 253 "mn-imap-mailbox-properties.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): \
@@ -258,7 +257,7 @@ ___2_mn_imap_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_c
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox:Properties::constructor"
{
-#line 83 "mn-imap-mailbox-properties.gob"
+#line 82 "mn-imap-mailbox-properties.gob"
GObject *object;
Self *self;
@@ -302,7 +301,7 @@ ___2_mn_imap_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_c
mn_tooltips_set_tips(pi->tooltips,
pi->hostname_entry, _("The hostname or IP address of the IMAP server"),
pi->username_entry, _("Your username on the IMAP server"),
- pi->password_entry, _("Your password on the IMAP server"),
+ pi->password_entry, _("Your password on the IMAP server (if left blank, you will be prompted for the password when needed)"),
pi->port_spin[0], _("The port number of the IMAP server"),
pi->port_spin[1], _("The port number of the IMAP server"),
selfp->mailbox_entry, _("The mailbox name"),
@@ -314,51 +313,51 @@ ___2_mn_imap_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_c
return object;
}}
-#line 318 "mn-imap-mailbox-properties.c"
+#line 317 "mn-imap-mailbox-properties.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 139 "mn-imap-mailbox-properties.gob"
+#line 138 "mn-imap-mailbox-properties.gob"
static void
mn_imap_mailbox_properties_radio_toggled_h (GtkToggleButton * togglebutton, gpointer user_data)
-#line 325 "mn-imap-mailbox-properties.c"
+#line 324 "mn-imap-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox:Properties::radio_toggled_h"
-#line 139 "mn-imap-mailbox-properties.gob"
+#line 138 "mn-imap-mailbox-properties.gob"
g_return_if_fail (togglebutton != NULL);
-#line 139 "mn-imap-mailbox-properties.gob"
+#line 138 "mn-imap-mailbox-properties.gob"
g_return_if_fail (GTK_IS_TOGGLE_BUTTON (togglebutton));
-#line 139 "mn-imap-mailbox-properties.gob"
+#line 138 "mn-imap-mailbox-properties.gob"
g_return_if_fail (user_data != NULL);
-#line 334 "mn-imap-mailbox-properties.c"
+#line 333 "mn-imap-mailbox-properties.c"
{
-#line 142 "mn-imap-mailbox-properties.gob"
+#line 141 "mn-imap-mailbox-properties.gob"
Self *self = user_data;
gtk_widget_set_sensitive(selfp->mailbox_entry, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(selfp->other_radio)));
g_object_notify(G_OBJECT(self), "complete");
}}
-#line 343 "mn-imap-mailbox-properties.c"
+#line 342 "mn-imap-mailbox-properties.c"
#undef __GOB_FUNCTION__
-#line 149 "mn-imap-mailbox-properties.gob"
+#line 148 "mn-imap-mailbox-properties.gob"
static gboolean
mn_imap_mailbox_properties_set_uri (MNMailboxProperties * properties, MNURI * uri)
-#line 349 "mn-imap-mailbox-properties.c"
+#line 348 "mn-imap-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox:Properties::set_uri"
-#line 149 "mn-imap-mailbox-properties.gob"
+#line 148 "mn-imap-mailbox-properties.gob"
g_return_val_if_fail (properties != NULL, (gboolean )0);
-#line 149 "mn-imap-mailbox-properties.gob"
+#line 148 "mn-imap-mailbox-properties.gob"
g_return_val_if_fail (MN_IS_MAILBOX_PROPERTIES (properties), (gboolean )0);
-#line 149 "mn-imap-mailbox-properties.gob"
+#line 148 "mn-imap-mailbox-properties.gob"
g_return_val_if_fail (uri != NULL, (gboolean )0);
-#line 149 "mn-imap-mailbox-properties.gob"
+#line 148 "mn-imap-mailbox-properties.gob"
g_return_val_if_fail (MN_IS_URI (uri), (gboolean )0);
-#line 360 "mn-imap-mailbox-properties.c"
+#line 359 "mn-imap-mailbox-properties.c"
{
-#line 152 "mn-imap-mailbox-properties.gob"
+#line 151 "mn-imap-mailbox-properties.gob"
Self *self = SELF(properties);
@@ -386,22 +385,22 @@ mn_imap_mailbox_properties_set_uri (MNMailboxProperties * properties, MNURI * ur
else
return FALSE;
}}
-#line 390 "mn-imap-mailbox-properties.c"
+#line 389 "mn-imap-mailbox-properties.c"
#undef __GOB_FUNCTION__
-#line 180 "mn-imap-mailbox-properties.gob"
+#line 179 "mn-imap-mailbox-properties.gob"
static MNURI *
mn_imap_mailbox_properties_get_uri (MNMailboxProperties * properties)
-#line 396 "mn-imap-mailbox-properties.c"
+#line 395 "mn-imap-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox:Properties::get_uri"
-#line 180 "mn-imap-mailbox-properties.gob"
+#line 179 "mn-imap-mailbox-properties.gob"
g_return_val_if_fail (properties != NULL, (MNURI * )0);
-#line 180 "mn-imap-mailbox-properties.gob"
+#line 179 "mn-imap-mailbox-properties.gob"
g_return_val_if_fail (MN_IS_MAILBOX_PROPERTIES (properties), (MNURI * )0);
-#line 403 "mn-imap-mailbox-properties.c"
+#line 402 "mn-imap-mailbox-properties.c"
{
-#line 182 "mn-imap-mailbox-properties.gob"
+#line 181 "mn-imap-mailbox-properties.gob"
Self *self = SELF(properties);
gboolean ssl;
@@ -432,5 +431,5 @@ mn_imap_mailbox_properties_get_uri (MNMailboxProperties * properties)
return uri;
}}
-#line 436 "mn-imap-mailbox-properties.c"
+#line 435 "mn-imap-mailbox-properties.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-imap-mailbox-properties.gob b/src/mn-imap-mailbox-properties.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-pi-mailbox-properties-private.h"
@@ -39,7 +39,6 @@ class MN:IMAP:Mailbox:Properties from MN:PI:Mailbox:Properties (interface MN:Mai
MNPIMailboxProperties *pi = MN_PI_MAILBOX_PROPERTIES(self);
gboolean complete;
const char *username;
- const char *password;
const char *hostname;
gboolean other_active;
const char *mailbox;
@@ -48,7 +47,7 @@ class MN:IMAP:Mailbox:Properties from MN:PI:Mailbox:Properties (interface MN:Mai
NULL,
NULL,
&username,
- &password,
+ NULL,
NULL,
&hostname,
NULL);
@@ -56,7 +55,7 @@ class MN:IMAP:Mailbox:Properties from MN:PI:Mailbox:Properties (interface MN:Mai
other_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(selfp->other_radio));
mailbox = gtk_entry_get_text(GTK_ENTRY(selfp->mailbox_entry));
- complete = *username && *password && *hostname && (! other_active || *mailbox);
+ complete = *username && *hostname && (! other_active || *mailbox);
#ifndef WITH_SSL
if (complete)
complete = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pi->conn_radio[0]));
@@ -123,7 +122,7 @@ class MN:IMAP:Mailbox:Properties from MN:PI:Mailbox:Properties (interface MN:Mai
mn_tooltips_set_tips(pi->tooltips,
pi->hostname_entry, _("The hostname or IP address of the IMAP server"),
pi->username_entry, _("Your username on the IMAP server"),
- pi->password_entry, _("Your password on the IMAP server"),
+ pi->password_entry, _("Your password on the IMAP server (if left blank, you will be prompted for the password when needed)"),
pi->port_spin[0], _("The port number of the IMAP server"),
pi->port_spin[1], _("The port number of the IMAP server"),
selfp->mailbox_entry, _("The mailbox name"),
diff --git a/src/mn-imap-mailbox.c b/src/mn-imap-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -28,7 +28,7 @@
#include <string.h>
#include <stdarg.h>
#include <stdlib.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <eel/eel.h>
#include "mn-mailbox-private.h"
@@ -82,6 +82,7 @@
char tag[5];
char **capabilities;
GSList *auth_mechanisms;
+ gboolean authentication_failed;
#ifdef WITH_MIME
gboolean search_received;
GSList *fetch_numbers;
@@ -108,7 +109,7 @@
char *arguments;
};
-#line 112 "mn-imap-mailbox.c"
+#line 113 "mn-imap-mailbox.c"
/* self casting macros */
#define SELF(x) MN_IMAP_MAILBOX(x)
#define SELF_CONST(x) MN_IMAP_MAILBOX_CONST(x)
@@ -146,7 +147,7 @@ static int mn_imap_mailbox_enter_status_cb (MNClientSession * session, MNClientS
static int mn_imap_mailbox_handle_status_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
static int mn_imap_mailbox_enter_logout_cb (MNClientSession * session, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
static int mn_imap_mailbox_handle_logout_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
-static void ___17_mn_imap_mailbox_impl_threaded_check (MNMailbox * mailbox) G_GNUC_UNUSED;
+static MNAuthenticatedMailboxResult ___17_mn_imap_mailbox_impl_authenticated_check (MNAuthenticatedMailbox * authenticated_mailbox, GError ** err) G_GNUC_UNUSED;
static void mn_imap_mailbox_notice_cb (MNClientSession * session, const char * str, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
static MNClientSessionResponse * mn_imap_mailbox_response_new_cb (MNClientSession * session, const char * input, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
static void mn_imap_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
@@ -162,7 +163,7 @@ static int mn_imap_mailbox_session_check_mail (MNClientSessionPrivate * priv) G_
static char * mn_imap_mailbox_quote (const char * str) G_GNUC_UNUSED;
/* pointer to the class of our parent */
-static MNMailboxClass *parent_class = NULL;
+static MNAuthenticatedMailboxClass *parent_class = NULL;
/* Short form macros */
#define self_handle_greeting_cb mn_imap_mailbox_handle_greeting_cb
@@ -216,7 +217,7 @@ mn_imap_mailbox_get_type (void)
NULL
};
- type = g_type_register_static (MN_TYPE_MAILBOX, "MNIMAPMailbox", &info, (GTypeFlags)0);
+ type = g_type_register_static (MN_TYPE_AUTHENTICATED_MAILBOX, "MNIMAPMailbox", &info, (GTypeFlags)0);
}
return type;
@@ -245,40 +246,41 @@ mn_imap_mailbox_init (MNIMAPMailbox * o G_GNUC_UNUSED)
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::init"
}
#undef __GOB_FUNCTION__
-#line 116 "mn-imap-mailbox.gob"
+#line 117 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_class_init (MNIMAPMailboxClass * class G_GNUC_UNUSED)
-#line 252 "mn-imap-mailbox.c"
+#line 253 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::class_init"
GObjectClass *g_object_class = (GObjectClass *)class;
MNMailboxClass *mn_mailbox_class = (MNMailboxClass *)class;
+ MNAuthenticatedMailboxClass *mn_authenticated_mailbox_class = (MNAuthenticatedMailboxClass *)class;
- parent_class = g_type_class_ref (MN_TYPE_MAILBOX);
+ parent_class = g_type_class_ref (MN_TYPE_AUTHENTICATED_MAILBOX);
-#line 121 "mn-imap-mailbox.gob"
+#line 122 "mn-imap-mailbox.gob"
g_object_class->constructor = ___2_mn_imap_mailbox_constructor;
-#line 138 "mn-imap-mailbox.gob"
+#line 139 "mn-imap-mailbox.gob"
mn_mailbox_class->impl_is = ___3_mn_imap_mailbox_impl_is;
-#line 677 "mn-imap-mailbox.gob"
- mn_mailbox_class->impl_threaded_check = ___17_mn_imap_mailbox_impl_threaded_check;
-#line 266 "mn-imap-mailbox.c"
+#line 681 "mn-imap-mailbox.gob"
+ mn_authenticated_mailbox_class->impl_authenticated_check = ___17_mn_imap_mailbox_impl_authenticated_check;
+#line 268 "mn-imap-mailbox.c"
{
-#line 117 "mn-imap-mailbox.gob"
+#line 118 "mn-imap-mailbox.gob"
MN_MAILBOX_CLASS(class)->format = "IMAP";
-#line 272 "mn-imap-mailbox.c"
+#line 274 "mn-imap-mailbox.c"
}
}
#undef __GOB_FUNCTION__
-#line 121 "mn-imap-mailbox.gob"
+#line 122 "mn-imap-mailbox.gob"
static GObject *
___2_mn_imap_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_properties, GObjectConstructParam * construct_params)
-#line 282 "mn-imap-mailbox.c"
+#line 284 "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): \
@@ -286,7 +288,7 @@ ___2_mn_imap_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_pr
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::constructor"
{
-#line 123 "mn-imap-mailbox.gob"
+#line 124 "mn-imap-mailbox.gob"
GObject *object;
MNMailbox *mailbox;
@@ -301,49 +303,49 @@ ___2_mn_imap_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_pr
return object;
}}
-#line 305 "mn-imap-mailbox.c"
+#line 307 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 138 "mn-imap-mailbox.gob"
+#line 139 "mn-imap-mailbox.gob"
static gboolean
___3_mn_imap_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, MNURI * uri)
-#line 312 "mn-imap-mailbox.c"
+#line 314 "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): \
((gboolean )0))
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::impl_is"
-#line 138 "mn-imap-mailbox.gob"
+#line 139 "mn-imap-mailbox.gob"
g_return_val_if_fail (uri != NULL, (gboolean )0);
-#line 138 "mn-imap-mailbox.gob"
+#line 139 "mn-imap-mailbox.gob"
g_return_val_if_fail (MN_IS_URI (uri), (gboolean )0);
-#line 323 "mn-imap-mailbox.c"
+#line 325 "mn-imap-mailbox.c"
{
-#line 140 "mn-imap-mailbox.gob"
+#line 141 "mn-imap-mailbox.gob"
return MN_URI_IS_IMAP(uri);
}}
-#line 329 "mn-imap-mailbox.c"
+#line 331 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 144 "mn-imap-mailbox.gob"
+#line 145 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_greeting_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 336 "mn-imap-mailbox.c"
+#line 338 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_greeting_cb"
-#line 144 "mn-imap-mailbox.gob"
+#line 145 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 144 "mn-imap-mailbox.gob"
+#line 145 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 144 "mn-imap-mailbox.gob"
+#line 145 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 345 "mn-imap-mailbox.c"
+#line 347 "mn-imap-mailbox.c"
{
-#line 148 "mn-imap-mailbox.gob"
+#line 149 "mn-imap-mailbox.gob"
priv->session = session;
@@ -355,7 +357,7 @@ mn_imap_mailbox_handle_greeting_cb (MNClientSession * session, MNClientSessionRe
{
if (! strcmp(response->code, "CAPABILITY"))
self_session_parse_capabilities(priv, NULL);
- else if (! strncmp(response->code, "CAPABILITY ", 11))
+ else if (g_str_has_prefix(response->code, "CAPABILITY "))
self_session_parse_capabilities(priv, response->code + 11);
}
@@ -370,22 +372,22 @@ 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"
+#line 176 "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"
+#line 176 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 175 "mn-imap-mailbox.gob"
+#line 176 "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"
+#line 179 "mn-imap-mailbox.gob"
g_strfreev(priv->capabilities);
priv->capabilities = NULL;
@@ -395,24 +397,24 @@ mn_imap_mailbox_enter_capability_cb (MNClientSession * session, MNClientSessionP
return self_session_write(priv, "CAPABILITY");
}}
-#line 399 "mn-imap-mailbox.c"
+#line 401 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 188 "mn-imap-mailbox.gob"
+#line 189 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_capability_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 405 "mn-imap-mailbox.c"
+#line 407 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_capability_cb"
-#line 188 "mn-imap-mailbox.gob"
+#line 189 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 188 "mn-imap-mailbox.gob"
+#line 189 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 188 "mn-imap-mailbox.gob"
+#line 189 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 414 "mn-imap-mailbox.c"
+#line 416 "mn-imap-mailbox.c"
{
-#line 192 "mn-imap-mailbox.gob"
+#line 193 "mn-imap-mailbox.gob"
if (response->continuation)
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
@@ -440,22 +442,22 @@ mn_imap_mailbox_handle_capability_cb (MNClientSession * session, MNClientSession
return RESULT_DEFAULT_HANDLER;
}}
-#line 444 "mn-imap-mailbox.c"
+#line 446 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 220 "mn-imap-mailbox.gob"
+#line 221 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_starttls_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 450 "mn-imap-mailbox.c"
+#line 452 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_starttls_cb"
-#line 220 "mn-imap-mailbox.gob"
+#line 221 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 220 "mn-imap-mailbox.gob"
+#line 221 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 457 "mn-imap-mailbox.c"
+#line 459 "mn-imap-mailbox.c"
{
-#line 223 "mn-imap-mailbox.gob"
+#line 224 "mn-imap-mailbox.gob"
#ifdef WITH_SSL
return self_session_write(priv, "STARTTLS");
@@ -463,24 +465,24 @@ mn_imap_mailbox_enter_starttls_cb (MNClientSession * session, MNClientSessionPri
g_return_val_if_reached(0);
#endif /* WITH_SSL */
}}
-#line 467 "mn-imap-mailbox.c"
+#line 469 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 231 "mn-imap-mailbox.gob"
+#line 232 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_starttls_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 473 "mn-imap-mailbox.c"
+#line 475 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_starttls_cb"
-#line 231 "mn-imap-mailbox.gob"
+#line 232 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 231 "mn-imap-mailbox.gob"
+#line 232 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 231 "mn-imap-mailbox.gob"
+#line 232 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 482 "mn-imap-mailbox.c"
+#line 484 "mn-imap-mailbox.c"
{
-#line 235 "mn-imap-mailbox.gob"
+#line 236 "mn-imap-mailbox.gob"
#ifdef WITH_SSL
if (response->continuation)
@@ -508,22 +510,22 @@ mn_imap_mailbox_handle_starttls_cb (MNClientSession * session, MNClientSessionRe
g_return_val_if_reached(0);
#endif /* WITH_SSL */
}}
-#line 512 "mn-imap-mailbox.c"
+#line 514 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 263 "mn-imap-mailbox.gob"
+#line 264 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_authenticate_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 518 "mn-imap-mailbox.c"
+#line 520 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_authenticate_cb"
-#line 263 "mn-imap-mailbox.gob"
+#line 264 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 263 "mn-imap-mailbox.gob"
+#line 264 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 525 "mn-imap-mailbox.c"
+#line 527 "mn-imap-mailbox.c"
{
-#line 266 "mn-imap-mailbox.gob"
+#line 267 "mn-imap-mailbox.gob"
#ifdef WITH_SASL
if (mn_client_session_sasl_authentication_start(priv->session,
@@ -538,24 +540,24 @@ mn_imap_mailbox_enter_authenticate_cb (MNClientSession * session, MNClientSessio
g_return_val_if_reached(0);
#endif /* WITH_SASL */
}}
-#line 542 "mn-imap-mailbox.c"
+#line 544 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 281 "mn-imap-mailbox.gob"
+#line 282 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_authenticate_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 548 "mn-imap-mailbox.c"
+#line 550 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_authenticate_cb"
-#line 281 "mn-imap-mailbox.gob"
+#line 282 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 281 "mn-imap-mailbox.gob"
+#line 282 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 281 "mn-imap-mailbox.gob"
+#line 282 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 557 "mn-imap-mailbox.c"
+#line 559 "mn-imap-mailbox.c"
{
-#line 285 "mn-imap-mailbox.gob"
+#line 286 "mn-imap-mailbox.gob"
#ifdef WITH_SASL
if (response->tag)
@@ -582,22 +584,22 @@ mn_imap_mailbox_handle_authenticate_cb (MNClientSession * session, MNClientSessi
g_return_val_if_reached(0);
#endif /* WITH_SASL */
}}
-#line 586 "mn-imap-mailbox.c"
+#line 588 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 312 "mn-imap-mailbox.gob"
+#line 313 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_login_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 592 "mn-imap-mailbox.c"
+#line 594 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_login_cb"
-#line 312 "mn-imap-mailbox.gob"
+#line 313 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 312 "mn-imap-mailbox.gob"
+#line 313 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 599 "mn-imap-mailbox.c"
+#line 601 "mn-imap-mailbox.c"
{
-#line 315 "mn-imap-mailbox.gob"
+#line 316 "mn-imap-mailbox.gob"
if (self_session_has_capability(priv, "LOGINDISABLED"))
{
@@ -612,7 +614,7 @@ mn_imap_mailbox_enter_login_cb (MNClientSession * session, MNClientSessionPrivat
int result;
quoted_username = self_quote(priv->mailbox->uri->username);
- quoted_password = self_quote(priv->mailbox->uri->password);
+ quoted_password = self_quote(MN_AUTHENTICATED_MAILBOX(priv->self)->password);
result = self_session_write(priv, "LOGIN %s %s", quoted_username, quoted_password);
g_free(quoted_username);
g_free(quoted_password);
@@ -620,24 +622,24 @@ mn_imap_mailbox_enter_login_cb (MNClientSession * session, MNClientSessionPrivat
return result;
}
}}
-#line 624 "mn-imap-mailbox.c"
+#line 626 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 338 "mn-imap-mailbox.gob"
+#line 339 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_login_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 630 "mn-imap-mailbox.c"
+#line 632 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_login_cb"
-#line 338 "mn-imap-mailbox.gob"
+#line 339 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 338 "mn-imap-mailbox.gob"
+#line 339 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 338 "mn-imap-mailbox.gob"
+#line 339 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 639 "mn-imap-mailbox.c"
+#line 641 "mn-imap-mailbox.c"
{
-#line 342 "mn-imap-mailbox.gob"
+#line 343 "mn-imap-mailbox.gob"
if (response->continuation)
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
@@ -648,7 +650,10 @@ mn_imap_mailbox_handle_login_cb (MNClientSession * session, MNClientSessionRespo
if (IS_OK(response))
return self_session_check_mail(priv);
else if (IS_NO(response) || IS_BAD(response))
- return RESULT_ERROR_LOGOUT;
+ {
+ priv->authentication_failed = TRUE;
+ return RESULT_ERROR_LOGOUT;
+ }
else
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
@@ -656,22 +661,22 @@ mn_imap_mailbox_handle_login_cb (MNClientSession * session, MNClientSessionRespo
return RESULT_DEFAULT_HANDLER;
}}
-#line 660 "mn-imap-mailbox.c"
+#line 665 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 361 "mn-imap-mailbox.gob"
+#line 365 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_examine_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 666 "mn-imap-mailbox.c"
+#line 671 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_examine_cb"
-#line 361 "mn-imap-mailbox.gob"
+#line 365 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 361 "mn-imap-mailbox.gob"
+#line 365 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 673 "mn-imap-mailbox.c"
+#line 678 "mn-imap-mailbox.c"
{
-#line 364 "mn-imap-mailbox.gob"
+#line 368 "mn-imap-mailbox.gob"
#ifdef WITH_MIME
char *quoted_mailbox;
@@ -686,24 +691,24 @@ mn_imap_mailbox_enter_examine_cb (MNClientSession * session, MNClientSessionPriv
g_return_val_if_reached(0);
#endif
}}
-#line 690 "mn-imap-mailbox.c"
+#line 695 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 379 "mn-imap-mailbox.gob"
+#line 383 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_examine_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 696 "mn-imap-mailbox.c"
+#line 701 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_examine_cb"
-#line 379 "mn-imap-mailbox.gob"
+#line 383 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 379 "mn-imap-mailbox.gob"
+#line 383 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 379 "mn-imap-mailbox.gob"
+#line 383 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 705 "mn-imap-mailbox.c"
+#line 710 "mn-imap-mailbox.c"
{
-#line 383 "mn-imap-mailbox.gob"
+#line 387 "mn-imap-mailbox.gob"
#ifdef WITH_MIME
if (response->continuation)
@@ -726,22 +731,22 @@ mn_imap_mailbox_handle_examine_cb (MNClientSession * session, MNClientSessionRes
g_return_val_if_reached(0);
#endif
}}
-#line 730 "mn-imap-mailbox.c"
+#line 735 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 406 "mn-imap-mailbox.gob"
+#line 410 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_search_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 736 "mn-imap-mailbox.c"
+#line 741 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_search_cb"
-#line 406 "mn-imap-mailbox.gob"
+#line 410 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 406 "mn-imap-mailbox.gob"
+#line 410 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 743 "mn-imap-mailbox.c"
+#line 748 "mn-imap-mailbox.c"
{
-#line 409 "mn-imap-mailbox.gob"
+#line 413 "mn-imap-mailbox.gob"
#ifdef WITH_MIME
return self_session_write(priv, "SEARCH UNSEEN");
@@ -749,24 +754,24 @@ mn_imap_mailbox_enter_search_cb (MNClientSession * session, MNClientSessionPriva
g_return_val_if_reached(0);
#endif
}}
-#line 753 "mn-imap-mailbox.c"
+#line 758 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 417 "mn-imap-mailbox.gob"
+#line 421 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_search_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 759 "mn-imap-mailbox.c"
+#line 764 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_search_cb"
-#line 417 "mn-imap-mailbox.gob"
+#line 421 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 417 "mn-imap-mailbox.gob"
+#line 421 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 417 "mn-imap-mailbox.gob"
+#line 421 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 768 "mn-imap-mailbox.c"
+#line 773 "mn-imap-mailbox.c"
{
-#line 421 "mn-imap-mailbox.gob"
+#line 425 "mn-imap-mailbox.gob"
#ifdef WITH_MIME
if (response->continuation)
@@ -837,22 +842,22 @@ mn_imap_mailbox_handle_search_cb (MNClientSession * session, MNClientSessionResp
g_return_val_if_reached(0);
#endif
}}
-#line 841 "mn-imap-mailbox.c"
+#line 846 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 492 "mn-imap-mailbox.gob"
+#line 496 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_fetch_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 847 "mn-imap-mailbox.c"
+#line 852 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_fetch_cb"
-#line 492 "mn-imap-mailbox.gob"
+#line 496 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 492 "mn-imap-mailbox.gob"
+#line 496 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 854 "mn-imap-mailbox.c"
+#line 859 "mn-imap-mailbox.c"
{
-#line 495 "mn-imap-mailbox.gob"
+#line 499 "mn-imap-mailbox.gob"
#ifdef WITH_MIME
g_return_val_if_fail(priv->fetch_set != NULL, 0);
@@ -861,24 +866,24 @@ mn_imap_mailbox_enter_fetch_cb (MNClientSession * session, MNClientSessionPrivat
g_return_val_if_reached(0);
#endif
}}
-#line 865 "mn-imap-mailbox.c"
+#line 870 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 504 "mn-imap-mailbox.gob"
+#line 508 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_fetch_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 871 "mn-imap-mailbox.c"
+#line 876 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_fetch_cb"
-#line 504 "mn-imap-mailbox.gob"
+#line 508 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 504 "mn-imap-mailbox.gob"
+#line 508 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 504 "mn-imap-mailbox.gob"
+#line 508 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 880 "mn-imap-mailbox.c"
+#line 885 "mn-imap-mailbox.c"
{
-#line 508 "mn-imap-mailbox.gob"
+#line 512 "mn-imap-mailbox.gob"
#ifdef WITH_MIME
if (response->continuation)
@@ -912,7 +917,7 @@ mn_imap_mailbox_handle_fetch_cb (MNClientSession * session, MNClientSessionRespo
}
else if (mn_str_isnumeric(response->response)
&& response->arguments
- && ! strncmp(response->arguments, "FETCH ", 6))
+ && g_str_has_prefix(response->arguments, "FETCH (BODY[HEADER]"))
{
int n = atoi(response->response);
@@ -952,22 +957,22 @@ mn_imap_mailbox_handle_fetch_cb (MNClientSession * session, MNClientSessionRespo
g_return_val_if_reached(0);
#endif
}}
-#line 956 "mn-imap-mailbox.c"
+#line 961 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 582 "mn-imap-mailbox.gob"
+#line 586 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_status_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 962 "mn-imap-mailbox.c"
+#line 967 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_status_cb"
-#line 582 "mn-imap-mailbox.gob"
+#line 586 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 582 "mn-imap-mailbox.gob"
+#line 586 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 969 "mn-imap-mailbox.c"
+#line 974 "mn-imap-mailbox.c"
{
-#line 585 "mn-imap-mailbox.gob"
+#line 589 "mn-imap-mailbox.gob"
#ifndef WITH_MIME
char *quoted_mailbox;
@@ -982,24 +987,24 @@ mn_imap_mailbox_enter_status_cb (MNClientSession * session, MNClientSessionPriva
g_return_val_if_reached(0);
#endif
}}
-#line 986 "mn-imap-mailbox.c"
+#line 991 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 600 "mn-imap-mailbox.gob"
+#line 604 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_status_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 992 "mn-imap-mailbox.c"
+#line 997 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_status_cb"
-#line 600 "mn-imap-mailbox.gob"
+#line 604 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 600 "mn-imap-mailbox.gob"
+#line 604 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 600 "mn-imap-mailbox.gob"
+#line 604 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1001 "mn-imap-mailbox.c"
+#line 1006 "mn-imap-mailbox.c"
{
-#line 604 "mn-imap-mailbox.gob"
+#line 608 "mn-imap-mailbox.gob"
#ifndef WITH_MIME
if (response->continuation)
@@ -1045,43 +1050,43 @@ mn_imap_mailbox_handle_status_cb (MNClientSession * session, MNClientSessionResp
g_return_val_if_reached(0);
#endif
}}
-#line 1049 "mn-imap-mailbox.c"
+#line 1054 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 650 "mn-imap-mailbox.gob"
+#line 654 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_logout_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 1055 "mn-imap-mailbox.c"
+#line 1060 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_logout_cb"
-#line 650 "mn-imap-mailbox.gob"
+#line 654 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 650 "mn-imap-mailbox.gob"
+#line 654 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1062 "mn-imap-mailbox.c"
+#line 1067 "mn-imap-mailbox.c"
{
-#line 653 "mn-imap-mailbox.gob"
+#line 657 "mn-imap-mailbox.gob"
return self_session_write(priv, "LOGOUT");
}}
-#line 1068 "mn-imap-mailbox.c"
+#line 1073 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 657 "mn-imap-mailbox.gob"
+#line 661 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_logout_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 1074 "mn-imap-mailbox.c"
+#line 1079 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_logout_cb"
-#line 657 "mn-imap-mailbox.gob"
+#line 661 "mn-imap-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 657 "mn-imap-mailbox.gob"
+#line 661 "mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 657 "mn-imap-mailbox.gob"
+#line 661 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1083 "mn-imap-mailbox.c"
+#line 1088 "mn-imap-mailbox.c"
{
-#line 661 "mn-imap-mailbox.gob"
+#line 665 "mn-imap-mailbox.gob"
if (response->continuation)
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
@@ -1097,27 +1102,29 @@ mn_imap_mailbox_handle_logout_cb (MNClientSession * session, MNClientSessionResp
else
return MN_CLIENT_SESSION_RESULT_CONTINUE;
}}
-#line 1101 "mn-imap-mailbox.c"
+#line 1106 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 677 "mn-imap-mailbox.gob"
-static void
-___17_mn_imap_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
-#line 1107 "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 677 "mn-imap-mailbox.gob"
- g_return_if_fail (mailbox != NULL);
-#line 677 "mn-imap-mailbox.gob"
- g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 1117 "mn-imap-mailbox.c"
-{
-#line 679 "mn-imap-mailbox.gob"
+#line 681 "mn-imap-mailbox.gob"
+static MNAuthenticatedMailboxResult
+___17_mn_imap_mailbox_impl_authenticated_check (MNAuthenticatedMailbox * authenticated_mailbox G_GNUC_UNUSED, GError ** err)
+#line 1112 "mn-imap-mailbox.c"
+#define PARENT_HANDLER(___authenticated_mailbox,___err) \
+ ((MN_AUTHENTICATED_MAILBOX_CLASS(parent_class)->impl_authenticated_check)? \
+ (* MN_AUTHENTICATED_MAILBOX_CLASS(parent_class)->impl_authenticated_check)(___authenticated_mailbox,___err): \
+ ((MNAuthenticatedMailboxResult )0))
+{
+#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::impl_authenticated_check"
+#line 681 "mn-imap-mailbox.gob"
+ g_return_val_if_fail (authenticated_mailbox != NULL, (MNAuthenticatedMailboxResult )0);
+#line 681 "mn-imap-mailbox.gob"
+ g_return_val_if_fail (MN_IS_AUTHENTICATED_MAILBOX (authenticated_mailbox), (MNAuthenticatedMailboxResult )0);
+#line 1123 "mn-imap-mailbox.c"
+{
+#line 684 "mn-imap-mailbox.gob"
- Self *self = SELF(mailbox);
+ MNMailbox *mailbox = MN_MAILBOX(authenticated_mailbox);
+ Self *self = SELF(authenticated_mailbox);
MNClientSessionState states[] = {
{ STATE_GREETING, NULL, self_handle_greeting_cb },
{ STATE_CAPABILITY, self_enter_capability_cb, self_handle_capability_cb },
@@ -1146,35 +1153,23 @@ ___17_mn_imap_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
self_custom_handler_cb
};
MNClientSessionPrivate priv;
- GError *err = NULL;
+ gboolean status;
memset(&priv, 0, sizeof(priv));
priv.mailbox = mailbox;
priv.self = self;
- if (! mn_client_session_run(states,
- &callbacks,
+ status = mn_client_session_run(states,
+ &callbacks,
#ifdef WITH_SSL
- MN_URI_IS_SSL(mailbox->uri),
+ MN_URI_IS_SSL(mailbox->uri),
#endif
- mailbox->uri->hostname,
- mailbox->uri->port,
- mailbox->uri->username,
- mailbox->uri->password,
- &priv,
- &err))
- {
- GDK_THREADS_ENTER();
- mn_mailbox_set_error(mailbox, "%s", err->message);
- gdk_flush();
- GDK_THREADS_LEAVE();
- g_error_free(err);
- }
-
- GDK_THREADS_ENTER();
- mn_mailbox_end_check(mailbox);
- gdk_flush();
- GDK_THREADS_LEAVE();
+ mailbox->uri->hostname,
+ mailbox->uri->port,
+ mailbox->uri->username,
+ MN_AUTHENTICATED_MAILBOX(self)->password,
+ &priv,
+ err);
g_strfreev(priv.capabilities);
eel_g_slist_free_deep(priv.auth_mechanisms);
@@ -1185,15 +1180,21 @@ ___17_mn_imap_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
g_slist_free(priv.received_numbers);
mn_g_object_slist_free(priv.messages);
#endif
+
+ return status
+ ? MN_AUTHENTICATED_MAILBOX_OK
+ : (priv.authentication_failed
+ ? MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION
+ : MN_AUTHENTICATED_MAILBOX_ERROR_OTHER);
}}
-#line 1190 "mn-imap-mailbox.c"
+#line 1191 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
#line 750 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_notice_cb (MNClientSession * session, const char * str, MNClientSessionPrivate * priv)
-#line 1197 "mn-imap-mailbox.c"
+#line 1198 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::notice_cb"
#line 750 "mn-imap-mailbox.gob"
@@ -1202,19 +1203,19 @@ mn_imap_mailbox_notice_cb (MNClientSession * session, const char * str, MNClient
g_return_if_fail (str != NULL);
#line 750 "mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 1206 "mn-imap-mailbox.c"
+#line 1207 "mn-imap-mailbox.c"
{
#line 754 "mn-imap-mailbox.gob"
mn_mailbox_notice(priv->mailbox, "%s", str);
}}
-#line 1212 "mn-imap-mailbox.c"
+#line 1213 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 758 "mn-imap-mailbox.gob"
static MNClientSessionResponse *
mn_imap_mailbox_response_new_cb (MNClientSession * session, const char * input, MNClientSessionPrivate * priv)
-#line 1218 "mn-imap-mailbox.c"
+#line 1219 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::response_new_cb"
#line 758 "mn-imap-mailbox.gob"
@@ -1223,13 +1224,13 @@ mn_imap_mailbox_response_new_cb (MNClientSession * session, const char * input,
g_return_val_if_fail (input != NULL, (MNClientSessionResponse * )0);
#line 758 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (MNClientSessionResponse * )0);
-#line 1227 "mn-imap-mailbox.c"
+#line 1228 "mn-imap-mailbox.c"
{
#line 762 "mn-imap-mailbox.gob"
MNClientSessionResponse *response = NULL;
- if (! strncmp(input, "+ ", 2))
+ if (g_str_has_prefix(input, "+ "))
{
response = g_new0(MNClientSessionResponse, 1);
response->continuation = g_strdup(input + 2);
@@ -1272,13 +1273,13 @@ mn_imap_mailbox_response_new_cb (MNClientSession * session, const char * input,
return response;
}}
-#line 1276 "mn-imap-mailbox.c"
+#line 1277 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 809 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 1282 "mn-imap-mailbox.c"
+#line 1283 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::response_free_cb"
#line 809 "mn-imap-mailbox.gob"
@@ -1287,7 +1288,7 @@ mn_imap_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResp
g_return_if_fail (response != NULL);
#line 809 "mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 1291 "mn-imap-mailbox.c"
+#line 1292 "mn-imap-mailbox.c"
{
#line 813 "mn-imap-mailbox.gob"
@@ -1298,13 +1299,13 @@ mn_imap_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResp
g_free(response->arguments);
g_free(response);
}}
-#line 1302 "mn-imap-mailbox.c"
+#line 1303 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 822 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_custom_handler_cb (MNClientSession * session, MNClientSessionResponse * response, int result, MNClientSessionPrivate * priv)
-#line 1308 "mn-imap-mailbox.c"
+#line 1309 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::custom_handler_cb"
#line 822 "mn-imap-mailbox.gob"
@@ -1313,7 +1314,7 @@ mn_imap_mailbox_custom_handler_cb (MNClientSession * session, MNClientSessionRes
g_return_val_if_fail (response != NULL, (int )0);
#line 822 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1317 "mn-imap-mailbox.c"
+#line 1318 "mn-imap-mailbox.c"
{
#line 827 "mn-imap-mailbox.gob"
@@ -1337,20 +1338,20 @@ mn_imap_mailbox_custom_handler_cb (MNClientSession * session, MNClientSessionRes
g_return_val_if_reached(0);
}
}}
-#line 1341 "mn-imap-mailbox.c"
+#line 1342 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 849 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_session_set_error_from_arguments (MNClientSessionPrivate * priv, MNClientSessionResponse * response)
-#line 1347 "mn-imap-mailbox.c"
+#line 1348 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_set_error_from_arguments"
#line 849 "mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
#line 849 "mn-imap-mailbox.gob"
g_return_if_fail (response != NULL);
-#line 1354 "mn-imap-mailbox.c"
+#line 1355 "mn-imap-mailbox.c"
{
#line 852 "mn-imap-mailbox.gob"
@@ -1359,20 +1360,20 @@ mn_imap_mailbox_session_set_error_from_arguments (MNClientSessionPrivate * priv,
else
mn_client_session_error(priv->session, _("unknown server error"));
}}
-#line 1363 "mn-imap-mailbox.c"
+#line 1364 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 859 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_write (MNClientSessionPrivate * priv, const char * format, ...)
-#line 1369 "mn-imap-mailbox.c"
+#line 1370 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_write"
#line 859 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
#line 859 "mn-imap-mailbox.gob"
g_return_val_if_fail (format != NULL, (int )0);
-#line 1376 "mn-imap-mailbox.c"
+#line 1377 "mn-imap-mailbox.c"
{
#line 863 "mn-imap-mailbox.gob"
@@ -1393,18 +1394,18 @@ mn_imap_mailbox_session_write (MNClientSessionPrivate * priv, const char * forma
return result;
}}
-#line 1397 "mn-imap-mailbox.c"
+#line 1398 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 882 "mn-imap-mailbox.gob"
static void
mn_imap_mailbox_session_parse_capabilities (MNClientSessionPrivate * priv, const char * capabilities)
-#line 1403 "mn-imap-mailbox.c"
+#line 1404 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_parse_capabilities"
#line 882 "mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 1408 "mn-imap-mailbox.c"
+#line 1409 "mn-imap-mailbox.c"
{
#line 885 "mn-imap-mailbox.gob"
@@ -1415,26 +1416,26 @@ mn_imap_mailbox_session_parse_capabilities (MNClientSessionPrivate * priv, const
priv->capabilities = g_strsplit(capabilities, " ", 0);
for (i = 0; priv->capabilities[i]; i++)
- if (! strncmp(priv->capabilities[i], "AUTH=", 5))
+ if (g_str_has_prefix(priv->capabilities[i], "AUTH="))
priv->auth_mechanisms = g_slist_append(priv->auth_mechanisms, g_strdup(priv->capabilities[i] + 5));
}
else
priv->capabilities = g_new0(char *, 1);
}}
-#line 1425 "mn-imap-mailbox.c"
+#line 1426 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 900 "mn-imap-mailbox.gob"
static gboolean
mn_imap_mailbox_session_has_capability (MNClientSessionPrivate * priv, const char * capability)
-#line 1431 "mn-imap-mailbox.c"
+#line 1432 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_has_capability"
#line 900 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (gboolean )0);
#line 900 "mn-imap-mailbox.gob"
g_return_val_if_fail (capability != NULL, (gboolean )0);
-#line 1438 "mn-imap-mailbox.c"
+#line 1439 "mn-imap-mailbox.c"
{
#line 903 "mn-imap-mailbox.gob"
@@ -1448,18 +1449,18 @@ mn_imap_mailbox_session_has_capability (MNClientSessionPrivate * priv, const cha
return FALSE;
}}
-#line 1452 "mn-imap-mailbox.c"
+#line 1453 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 915 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_after_capability (MNClientSessionPrivate * priv)
-#line 1458 "mn-imap-mailbox.c"
+#line 1459 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_after_capability"
#line 915 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1463 "mn-imap-mailbox.c"
+#line 1464 "mn-imap-mailbox.c"
{
#line 917 "mn-imap-mailbox.gob"
@@ -1480,18 +1481,18 @@ mn_imap_mailbox_session_after_capability (MNClientSessionPrivate * priv)
#endif /* WITH_SSL */
return self_session_authenticate(priv);
}}
-#line 1484 "mn-imap-mailbox.c"
+#line 1485 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 936 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_authenticate (MNClientSessionPrivate * priv)
-#line 1490 "mn-imap-mailbox.c"
+#line 1491 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_authenticate"
#line 936 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1495 "mn-imap-mailbox.c"
+#line 1496 "mn-imap-mailbox.c"
{
#line 938 "mn-imap-mailbox.gob"
@@ -1522,18 +1523,18 @@ mn_imap_mailbox_session_authenticate (MNClientSessionPrivate * priv)
return STATE_LOGIN;
}
}}
-#line 1526 "mn-imap-mailbox.c"
+#line 1527 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#line 967 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv)
-#line 1532 "mn-imap-mailbox.c"
+#line 1533 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_authenticate_fallback"
#line 967 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1537 "mn-imap-mailbox.c"
+#line 1538 "mn-imap-mailbox.c"
{
#line 969 "mn-imap-mailbox.gob"
@@ -1543,22 +1544,23 @@ mn_imap_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv)
return STATE_LOGIN;
}
+ priv->authentication_failed = TRUE;
return mn_client_session_error(priv->session, _("authentication failed"));
}}
-#line 1549 "mn-imap-mailbox.c"
+#line 1551 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 979 "mn-imap-mailbox.gob"
+#line 980 "mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_check_mail (MNClientSessionPrivate * priv)
-#line 1555 "mn-imap-mailbox.c"
+#line 1557 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_check_mail"
-#line 979 "mn-imap-mailbox.gob"
+#line 980 "mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1560 "mn-imap-mailbox.c"
+#line 1562 "mn-imap-mailbox.c"
{
-#line 981 "mn-imap-mailbox.gob"
+#line 982 "mn-imap-mailbox.gob"
#ifdef WITH_MIME
return STATE_EXAMINE;
@@ -1566,7 +1568,7 @@ mn_imap_mailbox_session_check_mail (MNClientSessionPrivate * priv)
return STATE_STATUS;
#endif
}}
-#line 1570 "mn-imap-mailbox.c"
+#line 1572 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
/**
@@ -1577,17 +1579,17 @@ mn_imap_mailbox_session_check_mail (MNClientSessionPrivate * priv)
*
* Return value: the quoted string.
**/
-#line 997 "mn-imap-mailbox.gob"
+#line 998 "mn-imap-mailbox.gob"
static char *
mn_imap_mailbox_quote (const char * str)
-#line 1584 "mn-imap-mailbox.c"
+#line 1586 "mn-imap-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::quote"
-#line 997 "mn-imap-mailbox.gob"
+#line 998 "mn-imap-mailbox.gob"
g_return_val_if_fail (str != NULL, (char * )0);
-#line 1589 "mn-imap-mailbox.c"
+#line 1591 "mn-imap-mailbox.c"
{
-#line 999 "mn-imap-mailbox.gob"
+#line 1000 "mn-imap-mailbox.gob"
GString *quoted;
int i;
@@ -1602,5 +1604,5 @@ mn_imap_mailbox_quote (const char * str)
return g_string_free(quoted, FALSE);
}}
-#line 1606 "mn-imap-mailbox.c"
+#line 1608 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-imap-mailbox.gob b/src/mn-imap-mailbox.gob
@@ -22,7 +22,7 @@
requires 2.0.10
%headertop{
-#include "mn-mailbox.h"
+#include "mn-authenticated-mailbox.h"
%}
%{
#include "config.h"
@@ -30,7 +30,7 @@ requires 2.0.10
#include <string.h>
#include <stdarg.h>
#include <stdlib.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <eel/eel.h>
#include "mn-mailbox-private.h"
@@ -84,6 +84,7 @@ requires 2.0.10
char tag[5];
char **capabilities;
GSList *auth_mechanisms;
+ gboolean authentication_failed;
#ifdef WITH_MIME
gboolean search_received;
GSList *fetch_numbers;
@@ -111,7 +112,7 @@ requires 2.0.10
};
%}
-class MN:IMAP:Mailbox from MN:Mailbox
+class MN:IMAP:Mailbox from MN:Authenticated:Mailbox
{
class_init (class)
{
@@ -156,7 +157,7 @@ class MN:IMAP:Mailbox from MN:Mailbox
{
if (! strcmp(response->code, "CAPABILITY"))
self_session_parse_capabilities(priv, NULL);
- else if (! strncmp(response->code, "CAPABILITY ", 11))
+ else if (g_str_has_prefix(response->code, "CAPABILITY "))
self_session_parse_capabilities(priv, response->code + 11);
}
@@ -326,7 +327,7 @@ class MN:IMAP:Mailbox from MN:Mailbox
int result;
quoted_username = self_quote(priv->mailbox->uri->username);
- quoted_password = self_quote(priv->mailbox->uri->password);
+ quoted_password = self_quote(MN_AUTHENTICATED_MAILBOX(priv->self)->password);
result = self_session_write(priv, "LOGIN %s %s", quoted_username, quoted_password);
g_free(quoted_username);
g_free(quoted_password);
@@ -349,7 +350,10 @@ class MN:IMAP:Mailbox from MN:Mailbox
if (IS_OK(response))
return self_session_check_mail(priv);
else if (IS_NO(response) || IS_BAD(response))
- return RESULT_ERROR_LOGOUT;
+ {
+ priv->authentication_failed = TRUE;
+ return RESULT_ERROR_LOGOUT;
+ }
else
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
@@ -538,7 +542,7 @@ class MN:IMAP:Mailbox from MN:Mailbox
}
else if (mn_str_isnumeric(response->response)
&& response->arguments
- && ! strncmp(response->arguments, "FETCH ", 6))
+ && g_str_has_prefix(response->arguments, "FETCH (BODY[HEADER]"))
{
int n = atoi(response->response);
@@ -674,10 +678,12 @@ class MN:IMAP:Mailbox from MN:Mailbox
return MN_CLIENT_SESSION_RESULT_CONTINUE;
}
- override (MN:Mailbox) void
- impl_threaded_check (MN:Mailbox *mailbox (check null type))
+ override (MN:Authenticated:Mailbox) MNAuthenticatedMailboxResult
+ impl_authenticated_check (MN:Authenticated:Mailbox *authenticated_mailbox (check null type),
+ GError **err)
{
- Self *self = SELF(mailbox);
+ MNMailbox *mailbox = MN_MAILBOX(authenticated_mailbox);
+ Self *self = SELF(authenticated_mailbox);
MNClientSessionState states[] = {
{ STATE_GREETING, NULL, self_handle_greeting_cb },
{ STATE_CAPABILITY, self_enter_capability_cb, self_handle_capability_cb },
@@ -706,35 +712,23 @@ class MN:IMAP:Mailbox from MN:Mailbox
self_custom_handler_cb
};
MNClientSessionPrivate priv;
- GError *err = NULL;
+ gboolean status;
memset(&priv, 0, sizeof(priv));
priv.mailbox = mailbox;
priv.self = self;
- if (! mn_client_session_run(states,
- &callbacks,
+ status = mn_client_session_run(states,
+ &callbacks,
#ifdef WITH_SSL
- MN_URI_IS_SSL(mailbox->uri),
+ MN_URI_IS_SSL(mailbox->uri),
#endif
- mailbox->uri->hostname,
- mailbox->uri->port,
- mailbox->uri->username,
- mailbox->uri->password,
- &priv,
- &err))
- {
- GDK_THREADS_ENTER();
- mn_mailbox_set_error(mailbox, "%s", err->message);
- gdk_flush();
- GDK_THREADS_LEAVE();
- g_error_free(err);
- }
-
- GDK_THREADS_ENTER();
- mn_mailbox_end_check(mailbox);
- gdk_flush();
- GDK_THREADS_LEAVE();
+ mailbox->uri->hostname,
+ mailbox->uri->port,
+ mailbox->uri->username,
+ MN_AUTHENTICATED_MAILBOX(self)->password,
+ &priv,
+ err);
g_strfreev(priv.capabilities);
eel_g_slist_free_deep(priv.auth_mechanisms);
@@ -745,6 +739,12 @@ class MN:IMAP:Mailbox from MN:Mailbox
g_slist_free(priv.received_numbers);
mn_g_object_slist_free(priv.messages);
#endif
+
+ return status
+ ? MN_AUTHENTICATED_MAILBOX_OK
+ : (priv.authentication_failed
+ ? MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION
+ : MN_AUTHENTICATED_MAILBOX_ERROR_OTHER);
}
private void
@@ -762,7 +762,7 @@ class MN:IMAP:Mailbox from MN:Mailbox
{
MNClientSessionResponse *response = NULL;
- if (! strncmp(input, "+ ", 2))
+ if (g_str_has_prefix(input, "+ "))
{
response = g_new0(MNClientSessionResponse, 1);
response->continuation = g_strdup(input + 2);
@@ -890,7 +890,7 @@ class MN:IMAP:Mailbox from MN:Mailbox
priv->capabilities = g_strsplit(capabilities, " ", 0);
for (i = 0; priv->capabilities[i]; i++)
- if (! strncmp(priv->capabilities[i], "AUTH=", 5))
+ if (g_str_has_prefix(priv->capabilities[i], "AUTH="))
priv->auth_mechanisms = g_slist_append(priv->auth_mechanisms, g_strdup(priv->capabilities[i] + 5));
}
else
@@ -973,6 +973,7 @@ class MN:IMAP:Mailbox from MN:Mailbox
return STATE_LOGIN;
}
+ priv->authentication_failed = TRUE;
return mn_client_session_error(priv->session, _("authentication failed"));
}
diff --git a/src/mn-imap-mailbox.h b/src/mn-imap-mailbox.h
@@ -4,7 +4,7 @@
#include <glib-object.h>
-#include "mn-mailbox.h"
+#include "mn-authenticated-mailbox.h"
#ifndef __MN_IMAP_MAILBOX_H__
#define __MN_IMAP_MAILBOX_H__
@@ -33,7 +33,7 @@ extern "C" {
typedef struct _MNIMAPMailbox MNIMAPMailbox;
#endif
struct _MNIMAPMailbox {
- MNMailbox __parent__;
+ MNAuthenticatedMailbox __parent__;
};
/*
@@ -41,7 +41,7 @@ struct _MNIMAPMailbox {
*/
typedef struct _MNIMAPMailboxClass MNIMAPMailboxClass;
struct _MNIMAPMailboxClass {
- MNMailboxClass __parent__;
+ MNAuthenticatedMailboxClass __parent__;
};
diff --git a/src/mn-mail-icon.c b/src/mn-mail-icon.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
diff --git a/src/mn-mailbox-private.h b/src/mn-mailbox-private.h
@@ -26,25 +26,25 @@ extern "C" {
#line 28 "mn-mailbox-private.h"
struct _MNMailboxPrivate {
-#line 143 "mn-mailbox.gob"
+#line 140 "mn-mailbox.gob"
char * name;
-#line 147 "mn-mailbox.gob"
+#line 144 "mn-mailbox.gob"
gboolean automatic;
-#line 152 "mn-mailbox.gob"
+#line 149 "mn-mailbox.gob"
gboolean has_new;
-#line 157 "mn-mailbox.gob"
+#line 154 "mn-mailbox.gob"
GSList * messages;
-#line 211 "mn-mailbox.gob"
+#line 208 "mn-mailbox.gob"
char * error;
-#line 231 "mn-mailbox.gob"
+#line 228 "mn-mailbox.gob"
GnomeVFSMonitorHandle * monitor_handle;
-#line 232 "mn-mailbox.gob"
+#line 229 "mn-mailbox.gob"
char * monitor_uri;
-#line 233 "mn-mailbox.gob"
+#line 230 "mn-mailbox.gob"
MNMailboxMonitorEventType monitor_events;
-#line 235 "mn-mailbox.gob"
+#line 232 "mn-mailbox.gob"
gboolean checking;
-#line 365 "mn-mailbox.gob"
+#line 363 "mn-mailbox.gob"
char * init_error;
#line 50 "mn-mailbox-private.h"
};
diff --git a/src/mn-mailbox-properties-dialog.c b/src/mn-mailbox-properties-dialog.c
@@ -17,7 +17,7 @@
*/
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties-dialog.h"
#include "mn-mailbox-properties.h"
#include "mn-autodetect-mailbox-properties.h"
diff --git a/src/mn-mailbox-properties-util.c b/src/mn-mailbox-properties-util.c
@@ -18,7 +18,7 @@
#include "config.h"
#include <stdarg.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include "mn-mailbox-properties-util.h"
#include "mn-auth-combo-box.h"
diff --git a/src/mn-mailbox-properties.c b/src/mn-mailbox-properties.c
@@ -17,7 +17,7 @@
*/
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include "mn-mailbox-properties.h"
diff --git a/src/mn-mailbox-view.c b/src/mn-mailbox-view.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-mailbox-view.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gdk/gdkkeysyms.h>
#include "mn-util.h"
#include "mn-shell.h"
diff --git a/src/mn-mailbox-view.gob b/src/mn-mailbox-view.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gdk/gdkkeysyms.h>
#include "mn-util.h"
#include "mn-shell.h"
diff --git a/src/mn-mailbox.c b/src/mn-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -23,10 +23,10 @@
#define ___GOB_UNLIKELY(expr) (expr)
#endif /* G_LIKELY */
-#line 53 "mn-mailbox.gob"
+#line 52 "mn-mailbox.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#ifdef WITH_MBOX
#include "mn-mbox-mailbox.h"
#endif
@@ -81,18 +81,20 @@ typedef MNMailboxClass SelfClass;
static void ___object_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec);
static void ___object_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec);
static void mn_mailbox_init (MNMailbox * o) G_GNUC_UNUSED;
+static void mn_mailbox_class_init (MNMailboxClass * c) G_GNUC_UNUSED;
static void mn_mailbox_messages_changed (MNMailbox * self, gboolean has_new) G_GNUC_UNUSED;
-static void mn_mailbox_class_init (MNMailboxClass * class) G_GNUC_UNUSED;
static void ___c_mn_mailbox_finalize (GObject * object) G_GNUC_UNUSED;
static gpointer mn_mailbox_new_async_thread (gpointer data) G_GNUC_UNUSED;
static void mn_mailbox_monitor_cb (GnomeVFSMonitorHandle * handle, const char * monitor_uri, const char * info_uri, GnomeVFSMonitorEventType event_type, gpointer user_data) G_GNUC_UNUSED;
static gboolean mn_mailbox_impl_is (MNMailbox * self, MNURI * uri) G_GNUC_UNUSED;
static void mn_mailbox_impl_check (MNMailbox * self) G_GNUC_UNUSED;
-static void mn_mailbox_impl_threaded_check (MNMailbox * self) G_GNUC_UNUSED;
/*
* Signal connection wrapper macro shortcuts
*/
+#define self_connect__removed(object,func,data) mn_mailbox_connect__removed((object),(func),(data))
+#define self_connect_after__removed(object,func,data) mn_mailbox_connect_after__removed((object),(func),(data))
+#define self_connect_data__removed(object,func,data,destroy_data,flags) mn_mailbox_connect_data__removed((object),(func),(data),(destroy_data),(flags))
#define self_connect__messages_changed(object,func,data) mn_mailbox_connect__messages_changed((object),(func),(data))
#define self_connect_after__messages_changed(object,func,data) mn_mailbox_connect_after__messages_changed((object),(func),(data))
#define self_connect_data__messages_changed(object,func,data,destroy_data,flags) mn_mailbox_connect_data__messages_changed((object),(func),(data),(destroy_data),(flags))
@@ -130,6 +132,7 @@ ___marshal_Sig1 (GClosure *closure,
enum {
+ REMOVED_SIGNAL,
MESSAGES_CHANGED_SIGNAL,
LAST_SIGNAL
};
@@ -150,6 +153,7 @@ static guint object_signals[LAST_SIGNAL] = {0};
static GObjectClass *parent_class = NULL;
/* Short form macros */
+#define self_removed mn_mailbox_removed
#define self_get_name mn_mailbox_get_name
#define self_get_automatic mn_mailbox_get_automatic
#define self_set_automatic mn_mailbox_set_automatic
@@ -160,6 +164,7 @@ static GObjectClass *parent_class = NULL;
#define self_messages_changed mn_mailbox_messages_changed
#define self_set_error mn_mailbox_set_error
#define self_get_error mn_mailbox_get_error
+#define self_init_types mn_mailbox_init_types
#define self_new_async mn_mailbox_new_async
#define self_new_async_thread mn_mailbox_new_async_thread
#define self_set_init_error mn_mailbox_set_init_error
@@ -167,7 +172,6 @@ static GObjectClass *parent_class = NULL;
#define self_monitor_cb mn_mailbox_monitor_cb
#define self_impl_is mn_mailbox_impl_is
#define self_impl_check mn_mailbox_impl_check
-#define self_impl_threaded_check mn_mailbox_impl_threaded_check
#define self_check mn_mailbox_check
#define self_end_check mn_mailbox_end_check
#define self_notice mn_mailbox_notice
@@ -221,9 +225,9 @@ ___dispose (GObject *obj_self)
MNMailbox *self G_GNUC_UNUSED = MN_MAILBOX (obj_self);
if (G_OBJECT_CLASS (parent_class)->dispose) \
(* G_OBJECT_CLASS (parent_class)->dispose) (obj_self);
-#line 132 "mn-mailbox.gob"
+#line 129 "mn-mailbox.gob"
if(self->uri) { g_object_unref ((gpointer) self->uri); self->uri = NULL; }
-#line 227 "mn-mailbox.c"
+#line 231 "mn-mailbox.c"
}
#undef __GOB_FUNCTION__
@@ -234,24 +238,24 @@ ___finalize(GObject *obj_self)
#define __GOB_FUNCTION__ "MN:Mailbox::finalize"
MNMailbox *self G_GNUC_UNUSED = MN_MAILBOX (obj_self);
gpointer priv G_GNUC_UNUSED = self->_priv;
-#line 265 "mn-mailbox.gob"
+#line 234 "mn-mailbox.gob"
___c_mn_mailbox_finalize(obj_self);
-#line 240 "mn-mailbox.c"
-#line 143 "mn-mailbox.gob"
+#line 244 "mn-mailbox.c"
+#line 140 "mn-mailbox.gob"
if(self->_priv->name) { g_free ((gpointer) self->_priv->name); self->_priv->name = NULL; }
-#line 243 "mn-mailbox.c"
-#line 157 "mn-mailbox.gob"
+#line 247 "mn-mailbox.c"
+#line 154 "mn-mailbox.gob"
if(self->_priv->messages) { mn_g_object_slist_free ((gpointer) self->_priv->messages); self->_priv->messages = NULL; }
-#line 246 "mn-mailbox.c"
-#line 211 "mn-mailbox.gob"
+#line 250 "mn-mailbox.c"
+#line 208 "mn-mailbox.gob"
if(self->_priv->error) { g_free ((gpointer) self->_priv->error); self->_priv->error = NULL; }
-#line 249 "mn-mailbox.c"
-#line 232 "mn-mailbox.gob"
+#line 253 "mn-mailbox.c"
+#line 229 "mn-mailbox.gob"
if(self->_priv->monitor_uri) { g_free ((gpointer) self->_priv->monitor_uri); self->_priv->monitor_uri = NULL; }
-#line 252 "mn-mailbox.c"
-#line 365 "mn-mailbox.gob"
+#line 256 "mn-mailbox.c"
+#line 363 "mn-mailbox.gob"
if(self->_priv->init_error) { g_free ((gpointer) self->_priv->init_error); self->_priv->init_error = NULL; }
-#line 255 "mn-mailbox.c"
+#line 259 "mn-mailbox.c"
}
#undef __GOB_FUNCTION__
@@ -260,23 +264,29 @@ mn_mailbox_init (MNMailbox * o G_GNUC_UNUSED)
{
#define __GOB_FUNCTION__ "MN:Mailbox::init"
o->_priv = G_TYPE_INSTANCE_GET_PRIVATE(o,TYPE_SELF,MNMailboxPrivate);
-#line 53 "mn-mailbox.gob"
+#line 52 "mn-mailbox.gob"
o->uri = NULL;
-#line 266 "mn-mailbox.c"
+#line 270 "mn-mailbox.c"
}
#undef __GOB_FUNCTION__
-#line 237 "mn-mailbox.gob"
static void
-mn_mailbox_class_init (MNMailboxClass * class G_GNUC_UNUSED)
-#line 272 "mn-mailbox.c"
+mn_mailbox_class_init (MNMailboxClass * c G_GNUC_UNUSED)
{
#define __GOB_FUNCTION__ "MN:Mailbox::class_init"
- GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) class;
+ GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) c;
- g_type_class_add_private(class,sizeof(MNMailboxPrivate));
+ g_type_class_add_private(c,sizeof(MNMailboxPrivate));
parent_class = g_type_class_ref (G_TYPE_OBJECT);
+ object_signals[REMOVED_SIGNAL] =
+ g_signal_new ("removed",
+ G_TYPE_FROM_CLASS (g_object_class),
+ (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
+ G_STRUCT_OFFSET (MNMailboxClass, removed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
object_signals[MESSAGES_CHANGED_SIGNAL] =
g_signal_new ("messages_changed",
G_TYPE_FROM_CLASS (g_object_class),
@@ -287,16 +297,16 @@ mn_mailbox_class_init (MNMailboxClass * class G_GNUC_UNUSED)
G_TYPE_NONE, 1,
G_TYPE_BOOLEAN);
if ___GOB_UNLIKELY(sizeof(gboolean ) != sizeof(gboolean ) || parent_class == NULL /* avoid warning */) {
- g_error("mn-mailbox.gob line 208: Type mismatch of \"messages_changed\" signal signature");
+ g_error("mn-mailbox.gob line 205: Type mismatch of \"messages_changed\" signal signature");
}
- class->messages_changed = NULL;
-#line 265 "mn-mailbox.gob"
+ c->removed = NULL;
+ c->messages_changed = NULL;
+#line 234 "mn-mailbox.gob"
g_object_class->finalize = ___finalize;
-#line 297 "mn-mailbox.c"
- class->impl_is = NULL;
- class->impl_check = NULL;
- class->impl_threaded_check = NULL;
+#line 308 "mn-mailbox.c"
+ c->impl_is = NULL;
+ c->impl_check = NULL;
g_object_class->dispose = ___dispose;
g_object_class->get_property = ___object_get_property;
g_object_class->set_property = ___object_set_property;
@@ -357,36 +367,6 @@ mn_mailbox_class_init (MNMailboxClass * class G_GNUC_UNUSED)
PROP_ERROR,
param_spec);
}
- {
-#line 238 "mn-mailbox.gob"
-
- int i = 0;
-
-#ifdef WITH_MBOX
- mn_mailbox_types[i++] = MN_TYPE_MBOX_MAILBOX;
-#endif
-#ifdef WITH_MH
- mn_mailbox_types[i++] = MN_TYPE_MH_MAILBOX;
-#endif
-#ifdef WITH_MAILDIR
- mn_mailbox_types[i++] = MN_TYPE_MAILDIR_MAILBOX;
-#endif
-#ifdef WITH_POP3
- mn_mailbox_types[i++] = MN_TYPE_POP3_MAILBOX;
-#endif
-#ifdef WITH_IMAP
- mn_mailbox_types[i++] = MN_TYPE_IMAP_MAILBOX;
-#endif
-#ifdef WITH_SYLPHEED
- mn_mailbox_types[i++] = MN_TYPE_SYLPHEED_MAILBOX;
-#endif
-#ifdef WITH_GMAIL
- mn_mailbox_types[i++] = MN_TYPE_GMAIL_MAILBOX;
-#endif
- mn_mailbox_types[i] = 0;
-
-#line 389 "mn-mailbox.c"
- }
}
#undef __GOB_FUNCTION__
@@ -404,39 +384,39 @@ ___object_set_property (GObject *object,
switch (property_id) {
case PROP_URI:
{
-#line 137 "mn-mailbox.gob"
+#line 134 "mn-mailbox.gob"
g_return_if_fail(self->uri == NULL);
self->uri = MN_URI(g_value_dup_object(VAL));
selfp->name = g_strdup(self->uri->human_readable);
-#line 414 "mn-mailbox.c"
+#line 394 "mn-mailbox.c"
}
break;
case PROP_NAME:
{
-#line 144 "mn-mailbox.gob"
+#line 141 "mn-mailbox.gob"
{ char *old = self->_priv->name; self->_priv->name = g_value_dup_string (VAL); g_free (old); }
-#line 421 "mn-mailbox.c"
+#line 401 "mn-mailbox.c"
}
break;
case PROP_AUTOMATIC:
{
-#line 148 "mn-mailbox.gob"
+#line 145 "mn-mailbox.gob"
self->_priv->automatic = g_value_get_boolean (VAL);
-#line 428 "mn-mailbox.c"
+#line 408 "mn-mailbox.c"
}
break;
case PROP_HAS_NEW:
{
-#line 153 "mn-mailbox.gob"
+#line 150 "mn-mailbox.gob"
self->_priv->has_new = g_value_get_boolean (VAL);
-#line 435 "mn-mailbox.c"
+#line 415 "mn-mailbox.c"
}
break;
case PROP_MESSAGES:
{
-#line 161 "mn-mailbox.gob"
+#line 158 "mn-mailbox.gob"
GSList *messages;
GSList *l;
@@ -466,14 +446,14 @@ self->_priv->has_new = g_value_get_boolean (VAL);
if (changed)
self_messages_changed(self, has_new);
-#line 470 "mn-mailbox.c"
+#line 450 "mn-mailbox.c"
}
break;
case PROP_ERROR:
{
-#line 212 "mn-mailbox.gob"
+#line 209 "mn-mailbox.gob"
{ char *old = self->_priv->error; self->_priv->error = g_value_dup_string (VAL); g_free (old); }
-#line 477 "mn-mailbox.c"
+#line 457 "mn-mailbox.c"
}
break;
default:
@@ -502,39 +482,39 @@ ___object_get_property (GObject *object,
switch (property_id) {
case PROP_NAME:
{
-#line 144 "mn-mailbox.gob"
+#line 141 "mn-mailbox.gob"
g_value_set_string (VAL, self->_priv->name);
-#line 508 "mn-mailbox.c"
+#line 488 "mn-mailbox.c"
}
break;
case PROP_AUTOMATIC:
{
-#line 148 "mn-mailbox.gob"
+#line 145 "mn-mailbox.gob"
g_value_set_boolean (VAL, self->_priv->automatic);
-#line 515 "mn-mailbox.c"
+#line 495 "mn-mailbox.c"
}
break;
case PROP_HAS_NEW:
{
-#line 153 "mn-mailbox.gob"
+#line 150 "mn-mailbox.gob"
g_value_set_boolean (VAL, self->_priv->has_new);
-#line 522 "mn-mailbox.c"
+#line 502 "mn-mailbox.c"
}
break;
case PROP_MESSAGES:
{
-#line 191 "mn-mailbox.gob"
+#line 188 "mn-mailbox.gob"
g_value_set_pointer(VAL, selfp->messages);
-#line 531 "mn-mailbox.c"
+#line 511 "mn-mailbox.c"
}
break;
case PROP_ERROR:
{
-#line 212 "mn-mailbox.gob"
+#line 209 "mn-mailbox.gob"
g_value_set_string (VAL, self->_priv->error);
-#line 538 "mn-mailbox.c"
+#line 518 "mn-mailbox.c"
}
break;
default:
@@ -550,105 +530,142 @@ g_value_set_string (VAL, self->_priv->error);
#undef __GOB_FUNCTION__
-#line 145 "mn-mailbox.gob"
+
+/**
+ * mn_mailbox_removed:
+ * @self: the object which received the signal
+ *
+ * This signal gets emitted after the mailbox is removed from the
+ * mailboxes list.
+ **/
+#line 126 "mn-mailbox.gob"
+void
+mn_mailbox_removed (MNMailbox * self)
+#line 545 "mn-mailbox.c"
+{
+ GValue ___param_values[1];
+ GValue ___return_val;
+
+memset (&___return_val, 0, sizeof (___return_val));
+memset (&___param_values, 0, sizeof (___param_values));
+
+#line 126 "mn-mailbox.gob"
+ g_return_if_fail (self != NULL);
+#line 126 "mn-mailbox.gob"
+ g_return_if_fail (MN_IS_MAILBOX (self));
+#line 557 "mn-mailbox.c"
+
+ ___param_values[0].g_type = 0;
+ g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
+ g_value_set_instance (&___param_values[0], (gpointer) self);
+
+ g_signal_emitv (___param_values,
+ object_signals[REMOVED_SIGNAL],
+ 0 /* detail */,
+ &___return_val);
+
+ g_value_unset (&___param_values[0]);
+}
+
+#line 142 "mn-mailbox.gob"
const char *
mn_mailbox_get_name (MNMailbox * self)
-#line 557 "mn-mailbox.c"
+#line 574 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::get_name"
-#line 145 "mn-mailbox.gob"
+#line 142 "mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (const char * )0);
-#line 145 "mn-mailbox.gob"
+#line 142 "mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (const char * )0);
-#line 564 "mn-mailbox.c"
+#line 581 "mn-mailbox.c"
{
-#line 145 "mn-mailbox.gob"
+#line 142 "mn-mailbox.gob"
return selfp->name; }}
-#line 568 "mn-mailbox.c"
+#line 585 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 148 "mn-mailbox.gob"
+#line 145 "mn-mailbox.gob"
gboolean
mn_mailbox_get_automatic (MNMailbox * self)
-#line 574 "mn-mailbox.c"
+#line 591 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::get_automatic"
{
-#line 148 "mn-mailbox.gob"
+#line 145 "mn-mailbox.gob"
gboolean val; g_object_get (G_OBJECT (self), "automatic", &val, NULL); return val;
}}
-#line 581 "mn-mailbox.c"
+#line 598 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 148 "mn-mailbox.gob"
+#line 145 "mn-mailbox.gob"
void
mn_mailbox_set_automatic (MNMailbox * self, gboolean val)
-#line 587 "mn-mailbox.c"
+#line 604 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::set_automatic"
{
-#line 148 "mn-mailbox.gob"
+#line 145 "mn-mailbox.gob"
g_object_set (G_OBJECT (self), "automatic", val, NULL);
}}
-#line 594 "mn-mailbox.c"
+#line 611 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 153 "mn-mailbox.gob"
+#line 150 "mn-mailbox.gob"
gboolean
mn_mailbox_get_has_new (MNMailbox * self)
-#line 600 "mn-mailbox.c"
+#line 617 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::get_has_new"
{
-#line 153 "mn-mailbox.gob"
+#line 150 "mn-mailbox.gob"
gboolean val; g_object_get (G_OBJECT (self), "has_new", &val, NULL); return val;
}}
-#line 607 "mn-mailbox.c"
+#line 624 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 153 "mn-mailbox.gob"
+#line 150 "mn-mailbox.gob"
void
mn_mailbox_set_has_new (MNMailbox * self, gboolean val)
-#line 613 "mn-mailbox.c"
+#line 630 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::set_has_new"
{
-#line 153 "mn-mailbox.gob"
+#line 150 "mn-mailbox.gob"
g_object_set (G_OBJECT (self), "has_new", val, NULL);
}}
-#line 620 "mn-mailbox.c"
+#line 637 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 191 "mn-mailbox.gob"
+#line 188 "mn-mailbox.gob"
gpointer
mn_mailbox_get_messages (MNMailbox * self)
-#line 626 "mn-mailbox.c"
+#line 643 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::get_messages"
{
-#line 158 "mn-mailbox.gob"
+#line 155 "mn-mailbox.gob"
gpointer val; g_object_get (G_OBJECT (self), "messages", &val, NULL); return val;
}}
-#line 633 "mn-mailbox.c"
+#line 650 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 161 "mn-mailbox.gob"
+#line 158 "mn-mailbox.gob"
void
mn_mailbox_set_messages (MNMailbox * self, gpointer val)
-#line 639 "mn-mailbox.c"
+#line 656 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::set_messages"
{
-#line 158 "mn-mailbox.gob"
+#line 155 "mn-mailbox.gob"
g_object_set (G_OBJECT (self), "messages", val, NULL);
}}
-#line 646 "mn-mailbox.c"
+#line 663 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 208 "mn-mailbox.gob"
+#line 205 "mn-mailbox.gob"
static void
mn_mailbox_messages_changed (MNMailbox * self, gboolean has_new)
-#line 652 "mn-mailbox.c"
+#line 669 "mn-mailbox.c"
{
GValue ___param_values[2];
GValue ___return_val;
@@ -656,11 +673,11 @@ mn_mailbox_messages_changed (MNMailbox * self, gboolean has_new)
memset (&___return_val, 0, sizeof (___return_val));
memset (&___param_values, 0, sizeof (___param_values));
-#line 208 "mn-mailbox.gob"
+#line 205 "mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 208 "mn-mailbox.gob"
+#line 205 "mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 664 "mn-mailbox.c"
+#line 681 "mn-mailbox.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -679,19 +696,19 @@ memset (&___param_values, 0, sizeof (___param_values));
g_value_unset (&___param_values[1]);
}
-#line 213 "mn-mailbox.gob"
+#line 210 "mn-mailbox.gob"
void
mn_mailbox_set_error (MNMailbox * self, const char * format, ...)
-#line 686 "mn-mailbox.c"
+#line 703 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::set_error"
-#line 213 "mn-mailbox.gob"
+#line 210 "mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 213 "mn-mailbox.gob"
+#line 210 "mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 693 "mn-mailbox.c"
+#line 710 "mn-mailbox.c"
{
-#line 215 "mn-mailbox.gob"
+#line 212 "mn-mailbox.gob"
va_list args;
char *error = NULL;
@@ -706,43 +723,42 @@ mn_mailbox_set_error (MNMailbox * self, const char * format, ...)
g_object_set(G_OBJECT(self), MN_MAILBOX_PROP_ERROR(error), NULL);
g_free(error);
}}
-#line 710 "mn-mailbox.c"
+#line 727 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 229 "mn-mailbox.gob"
+#line 226 "mn-mailbox.gob"
const char *
mn_mailbox_get_error (MNMailbox * self)
-#line 716 "mn-mailbox.c"
+#line 733 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::get_error"
-#line 229 "mn-mailbox.gob"
+#line 226 "mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (const char * )0);
-#line 229 "mn-mailbox.gob"
+#line 226 "mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (const char * )0);
-#line 723 "mn-mailbox.c"
+#line 740 "mn-mailbox.c"
{
-#line 229 "mn-mailbox.gob"
+#line 226 "mn-mailbox.gob"
return selfp->error; }}
-#line 727 "mn-mailbox.c"
+#line 744 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-
-#line 265 "mn-mailbox.gob"
+#line 234 "mn-mailbox.gob"
static void
___c_mn_mailbox_finalize (GObject * object G_GNUC_UNUSED)
-#line 734 "mn-mailbox.c"
+#line 750 "mn-mailbox.c"
#define PARENT_HANDLER(___object) \
{ if(G_OBJECT_CLASS(parent_class)->finalize) \
(* G_OBJECT_CLASS(parent_class)->finalize)(___object); }
{
#define __GOB_FUNCTION__ "MN:Mailbox::finalize"
-#line 265 "mn-mailbox.gob"
+#line 234 "mn-mailbox.gob"
g_return_if_fail (object != NULL);
-#line 265 "mn-mailbox.gob"
+#line 234 "mn-mailbox.gob"
g_return_if_fail (G_IS_OBJECT (object));
-#line 744 "mn-mailbox.c"
+#line 760 "mn-mailbox.c"
{
-#line 267 "mn-mailbox.gob"
+#line 236 "mn-mailbox.gob"
Self *self = SELF(object);
@@ -751,10 +767,47 @@ ___c_mn_mailbox_finalize (GObject * object G_GNUC_UNUSED)
PARENT_HANDLER(object);
}}
-#line 755 "mn-mailbox.c"
+#line 771 "mn-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
+#line 245 "mn-mailbox.gob"
+void
+mn_mailbox_init_types (void)
+#line 778 "mn-mailbox.c"
+{
+#define __GOB_FUNCTION__ "MN:Mailbox::init_types"
+{
+#line 247 "mn-mailbox.gob"
+
+ int i = 0;
+
+#ifdef WITH_MBOX
+ mn_mailbox_types[i++] = MN_TYPE_MBOX_MAILBOX;
+#endif
+#ifdef WITH_MH
+ mn_mailbox_types[i++] = MN_TYPE_MH_MAILBOX;
+#endif
+#ifdef WITH_MAILDIR
+ mn_mailbox_types[i++] = MN_TYPE_MAILDIR_MAILBOX;
+#endif
+#ifdef WITH_POP3
+ mn_mailbox_types[i++] = MN_TYPE_POP3_MAILBOX;
+#endif
+#ifdef WITH_IMAP
+ mn_mailbox_types[i++] = MN_TYPE_IMAP_MAILBOX;
+#endif
+#ifdef WITH_SYLPHEED
+ mn_mailbox_types[i++] = MN_TYPE_SYLPHEED_MAILBOX;
+#endif
+#ifdef WITH_GMAIL
+ mn_mailbox_types[i++] = MN_TYPE_GMAIL_MAILBOX;
+#endif
+ mn_mailbox_types[i] = 0;
+ }}
+#line 809 "mn-mailbox.c"
+#undef __GOB_FUNCTION__
+
/**
* mn_mailbox_new_async:
* @uri: location of the mailbox
@@ -765,21 +818,21 @@ ___c_mn_mailbox_finalize (GObject * object G_GNUC_UNUSED)
* Creates a new #MNMailbox asynchronously. The newly created
* #MNMailbox will be passed to @callback.
**/
-#line 286 "mn-mailbox.gob"
+#line 284 "mn-mailbox.gob"
void
mn_mailbox_new_async (MNURI * uri, gpointer callback, gpointer user_data)
-#line 772 "mn-mailbox.c"
+#line 825 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::new_async"
-#line 286 "mn-mailbox.gob"
+#line 284 "mn-mailbox.gob"
g_return_if_fail (uri != NULL);
-#line 286 "mn-mailbox.gob"
+#line 284 "mn-mailbox.gob"
g_return_if_fail (MN_IS_URI (uri));
-#line 286 "mn-mailbox.gob"
+#line 284 "mn-mailbox.gob"
g_return_if_fail (callback != NULL);
-#line 781 "mn-mailbox.c"
+#line 834 "mn-mailbox.c"
{
-#line 290 "mn-mailbox.gob"
+#line 288 "mn-mailbox.gob"
NewInfo *info;
@@ -790,17 +843,17 @@ mn_mailbox_new_async (MNURI * uri, gpointer callback, gpointer user_data)
mn_thread_create(self_new_async_thread, info);
}}
-#line 794 "mn-mailbox.c"
+#line 847 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 301 "mn-mailbox.gob"
+#line 299 "mn-mailbox.gob"
static gpointer
mn_mailbox_new_async_thread (gpointer data)
-#line 800 "mn-mailbox.c"
+#line 853 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::new_async_thread"
{
-#line 303 "mn-mailbox.gob"
+#line 301 "mn-mailbox.gob"
NewInfo *info = data;
Self *mailbox = NULL;
@@ -862,24 +915,24 @@ mn_mailbox_new_async_thread (gpointer data)
return NULL;
}}
-#line 866 "mn-mailbox.c"
+#line 919 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 366 "mn-mailbox.gob"
+#line 364 "mn-mailbox.gob"
void
mn_mailbox_set_init_error (MNMailbox * self, const char * format, ...)
-#line 872 "mn-mailbox.c"
+#line 925 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::set_init_error"
-#line 366 "mn-mailbox.gob"
+#line 364 "mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 366 "mn-mailbox.gob"
+#line 364 "mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 366 "mn-mailbox.gob"
+#line 364 "mn-mailbox.gob"
g_return_if_fail (format != NULL);
-#line 881 "mn-mailbox.c"
+#line 934 "mn-mailbox.c"
{
-#line 368 "mn-mailbox.gob"
+#line 366 "mn-mailbox.gob"
va_list args;
@@ -889,24 +942,24 @@ mn_mailbox_set_init_error (MNMailbox * self, const char * format, ...)
selfp->init_error = g_strdup_vprintf(format, args);
va_end(args);
}}
-#line 893 "mn-mailbox.c"
+#line 946 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 378 "mn-mailbox.gob"
+#line 376 "mn-mailbox.gob"
void
mn_mailbox_monitor (MNMailbox * self, const char * uri, GnomeVFSMonitorType monitor_type, MNMailboxMonitorEventType events)
-#line 899 "mn-mailbox.c"
+#line 952 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::monitor"
-#line 378 "mn-mailbox.gob"
+#line 376 "mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 378 "mn-mailbox.gob"
+#line 376 "mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 378 "mn-mailbox.gob"
+#line 376 "mn-mailbox.gob"
g_return_if_fail (uri != NULL);
-#line 908 "mn-mailbox.c"
+#line 961 "mn-mailbox.c"
{
-#line 383 "mn-mailbox.gob"
+#line 381 "mn-mailbox.gob"
GnomeVFSResult result;
@@ -996,20 +1049,20 @@ mn_mailbox_monitor (MNMailbox * self, const char * uri, GnomeVFSMonitorType moni
}
}
}}
-#line 1000 "mn-mailbox.c"
+#line 1053 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 473 "mn-mailbox.gob"
+#line 471 "mn-mailbox.gob"
static void
mn_mailbox_monitor_cb (GnomeVFSMonitorHandle * handle, const char * monitor_uri, const char * info_uri, GnomeVFSMonitorEventType event_type, gpointer user_data)
-#line 1006 "mn-mailbox.c"
+#line 1059 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::monitor_cb"
-#line 473 "mn-mailbox.gob"
+#line 471 "mn-mailbox.gob"
g_return_if_fail (user_data != NULL);
-#line 1011 "mn-mailbox.c"
+#line 1064 "mn-mailbox.c"
{
-#line 479 "mn-mailbox.gob"
+#line 477 "mn-mailbox.gob"
Self *self = user_data;
@@ -1018,20 +1071,20 @@ mn_mailbox_monitor_cb (GnomeVFSMonitorHandle * handle, const char * monitor_uri,
self_check(self);
GDK_THREADS_LEAVE();
}}
-#line 1022 "mn-mailbox.c"
+#line 1075 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 488 "mn-mailbox.gob"
+#line 486 "mn-mailbox.gob"
static gboolean
mn_mailbox_impl_is (MNMailbox * self, MNURI * uri)
-#line 1028 "mn-mailbox.c"
+#line 1081 "mn-mailbox.c"
{
MNMailboxClass *klass;
-#line 488 "mn-mailbox.gob"
+#line 486 "mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 488 "mn-mailbox.gob"
+#line 486 "mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (gboolean )0);
-#line 1035 "mn-mailbox.c"
+#line 1088 "mn-mailbox.c"
klass = MN_MAILBOX_GET_CLASS(self);
if(klass->impl_is)
@@ -1040,53 +1093,36 @@ mn_mailbox_impl_is (MNMailbox * self, MNURI * uri)
return (gboolean )(0);
}
-#line 490 "mn-mailbox.gob"
+#line 488 "mn-mailbox.gob"
static void
mn_mailbox_impl_check (MNMailbox * self)
-#line 1047 "mn-mailbox.c"
+#line 1100 "mn-mailbox.c"
{
MNMailboxClass *klass;
-#line 490 "mn-mailbox.gob"
+#line 488 "mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 490 "mn-mailbox.gob"
+#line 488 "mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1054 "mn-mailbox.c"
+#line 1107 "mn-mailbox.c"
klass = MN_MAILBOX_GET_CLASS(self);
if(klass->impl_check)
(*klass->impl_check)(self);
}
-#line 492 "mn-mailbox.gob"
-static void
-mn_mailbox_impl_threaded_check (MNMailbox * self)
-#line 1064 "mn-mailbox.c"
-{
- MNMailboxClass *klass;
-#line 492 "mn-mailbox.gob"
- g_return_if_fail (self != NULL);
-#line 492 "mn-mailbox.gob"
- g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1071 "mn-mailbox.c"
- klass = MN_MAILBOX_GET_CLASS(self);
-
- if(klass->impl_threaded_check)
- (*klass->impl_threaded_check)(self);
-}
-
-#line 495 "mn-mailbox.gob"
+#line 491 "mn-mailbox.gob"
void
mn_mailbox_check (MNMailbox * self)
-#line 1081 "mn-mailbox.c"
+#line 1117 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::check"
-#line 495 "mn-mailbox.gob"
+#line 491 "mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 495 "mn-mailbox.gob"
+#line 491 "mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1088 "mn-mailbox.c"
+#line 1124 "mn-mailbox.c"
{
-#line 497 "mn-mailbox.gob"
+#line 493 "mn-mailbox.gob"
g_return_if_fail(MN_MAILBOX_CAN_CHECK(self));
@@ -1096,66 +1132,59 @@ mn_mailbox_check (MNMailbox * self)
selfp->checking = TRUE;
self_set_error(self, NULL);
- if (SELF_GET_CLASS(self)->impl_threaded_check)
- mn_thread_create((GThreadFunc) SELF_GET_CLASS(self)->impl_threaded_check, self);
- else
- SELF_GET_CLASS(self)->impl_check(self);
+ mn_thread_create((GThreadFunc) SELF_GET_CLASS(self)->impl_check, self);
}
}}
-#line 1106 "mn-mailbox.c"
+#line 1139 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 513 "mn-mailbox.gob"
+#line 506 "mn-mailbox.gob"
void
mn_mailbox_end_check (MNMailbox * self)
-#line 1112 "mn-mailbox.c"
+#line 1145 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::end_check"
-#line 513 "mn-mailbox.gob"
+#line 506 "mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 513 "mn-mailbox.gob"
+#line 506 "mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1119 "mn-mailbox.c"
+#line 1152 "mn-mailbox.c"
{
-#line 515 "mn-mailbox.gob"
+#line 508 "mn-mailbox.gob"
g_return_if_fail(selfp->checking == TRUE);
selfp->checking = FALSE;
g_object_unref(self);
}}
-#line 1128 "mn-mailbox.c"
+#line 1161 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 522 "mn-mailbox.gob"
+#line 515 "mn-mailbox.gob"
void
mn_mailbox_notice (MNMailbox * self, const char * format, ...)
-#line 1134 "mn-mailbox.c"
+#line 1167 "mn-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:Mailbox::notice"
-#line 522 "mn-mailbox.gob"
+#line 515 "mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 522 "mn-mailbox.gob"
+#line 515 "mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 522 "mn-mailbox.gob"
+#line 515 "mn-mailbox.gob"
g_return_if_fail (format != NULL);
-#line 1143 "mn-mailbox.c"
+#line 1176 "mn-mailbox.c"
{
-#line 524 "mn-mailbox.gob"
+#line 517 "mn-mailbox.gob"
va_list args;
char *notice;
- char *prefixed_notice;
va_start(args, format);
notice = g_strdup_vprintf(format, args);
va_end(args);
- prefixed_notice = g_strdup_printf("%s: %s", self->uri->text, notice);
+ mn_info("%s: %s", self->uri->text, notice);
g_free(notice);
-
- mn_info("%s", prefixed_notice);
- g_free(prefixed_notice);
}}
-#line 1161 "mn-mailbox.c"
+#line 1190 "mn-mailbox.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-mailbox.gob b/src/mn-mailbox.gob
@@ -44,15 +44,14 @@ requires 2.0.10
extern GType mn_mailbox_types[MN_MAILBOX_N_TYPES + 1];
#define MN_MAILBOX_CAN_CHECK(self) \
- (MN_MAILBOX_GET_CLASS((self))->impl_check != NULL \
- || MN_MAILBOX_GET_CLASS((self))->impl_threaded_check != NULL)
+ (MN_MAILBOX_GET_CLASS((self))->impl_check != NULL)
#define MN_MAILBOX_MUST_POLL(self) \
(MN_MAILBOX_CAN_CHECK((self)) && ! mn_mailbox_get_automatic((self)))
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#ifdef WITH_MBOX
#include "mn-mbox-mailbox.h"
#endif
@@ -109,19 +108,7 @@ typedef struct
* GDK_THREADS_ENTER() and GDK_THREADS_LEAVE() where appropriate in
* the construction phase.
*
- * Virtual methods called with the GDK lock held:
- *
- * mn_mailbox_impl_check()
- *
- * Virtual methods called with the GDK lock not held:
- *
- * mn_mailbox_impl_is()
- * mn_mailbox_impl_threaded_check()
- *
- * Do not assume anything about the thread from which a virtual method
- * is called. For instance, mn_mailbox_impl_check() may be called both
- * from the thread running the GTK+ main loop and from a separate
- * thread.
+ * Virtual methods are called with the GDK lock not held.
*/
class MN:Mailbox from G:Object
@@ -129,6 +116,16 @@ class MN:Mailbox from G:Object
classwide const char *stock_id;
classwide const char *format;
+ /**
+ * removed:
+ * @self: the object which received the signal
+ *
+ * This signal gets emitted after the mailbox is removed from the
+ * mailboxes list.
+ **/
+ signal NONE (NONE)
+ void removed (self);
+
public MNURI *uri = NULL unrefwith g_object_unref;
property OBJECT uri (blurb = _("The mailbox URI"),
object_type = MN:URI,
@@ -234,7 +231,19 @@ class MN:Mailbox from G:Object
private gboolean checking;
- class_init (class)
+ override (G:Object) void
+ finalize (G:Object *object (check null type))
+ {
+ Self *self = SELF(object);
+
+ if (selfp->monitor_handle)
+ gnome_vfs_monitor_cancel(selfp->monitor_handle);
+
+ PARENT_HANDLER(object);
+ }
+
+ public void
+ init_types (void)
{
int i = 0;
@@ -261,18 +270,7 @@ class MN:Mailbox from G:Object
#endif
mn_mailbox_types[i] = 0;
}
-
- override (G:Object) void
- finalize (G:Object *object (check null type))
- {
- Self *self = SELF(object);
- if (selfp->monitor_handle)
- gnome_vfs_monitor_cancel(selfp->monitor_handle);
-
- PARENT_HANDLER(object);
- }
-
/**
* new_async:
* @uri: location of the mailbox
@@ -489,8 +487,6 @@ class MN:Mailbox from G:Object
impl_is (self, MNURI *uri);
virtual private void
impl_check (self);
- virtual private void
- impl_threaded_check (self);
public void
check (self)
@@ -503,10 +499,7 @@ class MN:Mailbox from G:Object
selfp->checking = TRUE;
self_set_error(self, NULL);
- if (SELF_GET_CLASS(self)->impl_threaded_check)
- mn_thread_create((GThreadFunc) SELF_GET_CLASS(self)->impl_threaded_check, self);
- else
- SELF_GET_CLASS(self)->impl_check(self);
+ mn_thread_create((GThreadFunc) SELF_GET_CLASS(self)->impl_check, self);
}
}
@@ -524,16 +517,12 @@ class MN:Mailbox from G:Object
{
va_list args;
char *notice;
- char *prefixed_notice;
va_start(args, format);
notice = g_strdup_vprintf(format, args);
va_end(args);
- prefixed_notice = g_strdup_printf("%s: %s", self->uri->text, notice);
+ mn_info("%s: %s", self->uri->text, notice);
g_free(notice);
-
- mn_info("%s", prefixed_notice);
- g_free(prefixed_notice);
}
}
diff --git a/src/mn-mailbox.h b/src/mn-mailbox.h
@@ -22,8 +22,7 @@ extern "C" {
extern GType mn_mailbox_types[MN_MAILBOX_N_TYPES + 1];
#define MN_MAILBOX_CAN_CHECK(self) \
- (MN_MAILBOX_GET_CLASS((self))->impl_check != NULL \
- || MN_MAILBOX_GET_CLASS((self))->impl_threaded_check != NULL)
+ (MN_MAILBOX_GET_CLASS((self))->impl_check != NULL)
#define MN_MAILBOX_MUST_POLL(self) \
(MN_MAILBOX_CAN_CHECK((self)) && ! mn_mailbox_get_automatic((self)))
@@ -63,10 +62,10 @@ struct _MNMailbox {
typedef struct _MNMailboxClass MNMailboxClass;
struct _MNMailboxClass {
GObjectClass __parent__;
+ /*signal*/void (* removed) (MNMailbox * self);
/*signal*/void (* messages_changed) (MNMailbox * self, gboolean has_new);
gboolean (* impl_is) (MNMailbox * self, MNURI * uri);
void (* impl_check) (MNMailbox * self);
- void (* impl_threaded_check) (MNMailbox * self);
const char * stock_id;
const char * format;
};
@@ -76,6 +75,7 @@ struct _MNMailboxClass {
* Public methods
*/
GType mn_mailbox_get_type (void);
+void mn_mailbox_removed (MNMailbox * self);
const char * mn_mailbox_get_name (MNMailbox * self);
gboolean mn_mailbox_get_automatic (MNMailbox * self);
void mn_mailbox_set_automatic (MNMailbox * self,
@@ -87,6 +87,7 @@ gpointer mn_mailbox_get_messages (MNMailbox * self);
void mn_mailbox_set_messages (MNMailbox * self,
gpointer val);
const char * mn_mailbox_get_error (MNMailbox * self);
+void mn_mailbox_init_types (void);
void mn_mailbox_new_async (MNURI * uri,
gpointer callback,
gpointer user_data);
@@ -96,10 +97,16 @@ void mn_mailbox_check (MNMailbox * self);
* Signal connection wrapper macros
*/
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+#define mn_mailbox_connect__removed(object,func,data) g_signal_connect(MN_MAILBOX(__extension__ ({MNMailbox *___object = (object); ___object; })),"removed",(GCallback) __extension__ ({void (* ___removed) (MNMailbox * ___fake___self, gpointer ___data ) = (func); ___removed; }), (data))
+#define mn_mailbox_connect_after__removed(object,func,data) g_signal_connect_after(MN_MAILBOX(__extension__ ({MNMailbox *___object = (object); ___object; })),"removed",(GCallback) __extension__ ({void (* ___removed) (MNMailbox * ___fake___self, gpointer ___data ) = (func); ___removed; }), (data))
+#define mn_mailbox_connect_data__removed(object,func,data,destroy_data,flags) g_signal_connect_data(MN_MAILBOX(__extension__ ({MNMailbox *___object = (object); ___object; })),"removed",(GCallback) __extension__ ({void (* ___removed) (MNMailbox * ___fake___self, gpointer ___data ) = (func); ___removed; }), (data), (destroy_data), (GConnectFlags)(flags))
#define mn_mailbox_connect__messages_changed(object,func,data) g_signal_connect(MN_MAILBOX(__extension__ ({MNMailbox *___object = (object); ___object; })),"messages_changed",(GCallback) __extension__ ({void (* ___messages_changed) (MNMailbox * ___fake___self, gboolean ___fake___has_new, gpointer ___data ) = (func); ___messages_changed; }), (data))
#define mn_mailbox_connect_after__messages_changed(object,func,data) g_signal_connect_after(MN_MAILBOX(__extension__ ({MNMailbox *___object = (object); ___object; })),"messages_changed",(GCallback) __extension__ ({void (* ___messages_changed) (MNMailbox * ___fake___self, gboolean ___fake___has_new, gpointer ___data ) = (func); ___messages_changed; }), (data))
#define mn_mailbox_connect_data__messages_changed(object,func,data,destroy_data,flags) g_signal_connect_data(MN_MAILBOX(__extension__ ({MNMailbox *___object = (object); ___object; })),"messages_changed",(GCallback) __extension__ ({void (* ___messages_changed) (MNMailbox * ___fake___self, gboolean ___fake___has_new, gpointer ___data ) = (func); ___messages_changed; }), (data), (destroy_data), (GConnectFlags)(flags))
#else /* __GNUC__ && !__STRICT_ANSI__ */
+#define mn_mailbox_connect__removed(object,func,data) g_signal_connect(MN_MAILBOX(object),"removed",(GCallback)(func),(data))
+#define mn_mailbox_connect_after__removed(object,func,data) g_signal_connect_after(MN_MAILBOX(object),"removed",(GCallback)(func),(data))
+#define mn_mailbox_connect_data__removed(object,func,data,destroy_data,flags) g_signal_connect_data(MN_MAILBOX(object),"removed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags))
#define mn_mailbox_connect__messages_changed(object,func,data) g_signal_connect(MN_MAILBOX(object),"messages_changed",(GCallback)(func),(data))
#define mn_mailbox_connect_after__messages_changed(object,func,data) g_signal_connect_after(MN_MAILBOX(object),"messages_changed",(GCallback)(func),(data))
#define mn_mailbox_connect_data__messages_changed(object,func,data,destroy_data,flags) g_signal_connect_data(MN_MAILBOX(object),"messages_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags))
diff --git a/src/mn-mailboxes.c b/src/mn-mailboxes.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-mailboxes.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <eel/eel.h>
#include "mn-conf.h"
#include "mn-util.h"
@@ -260,7 +260,7 @@ ___finalize(GObject *obj_self)
#define __GOB_FUNCTION__ "MN:Mailboxes::finalize"
MNMailboxes *self G_GNUC_UNUSED = MN_MAILBOXES (obj_self);
gpointer priv G_GNUC_UNUSED = self->_priv;
-#line 159 "mn-mailboxes.gob"
+#line 169 "mn-mailboxes.gob"
___a_mn_mailboxes_finalize(obj_self);
#line 266 "mn-mailboxes.c"
#line 36 "mn-mailboxes.gob"
@@ -341,7 +341,7 @@ mn_mailboxes_class_init (MNMailboxesClass * c G_GNUC_UNUSED)
G_TYPE_NONE, 1,
G_TYPE_BOOLEAN);
if ___GOB_UNLIKELY(sizeof(gboolean ) != sizeof(gboolean ) || parent_class == NULL /* avoid warning */) {
- g_error("mn-mailboxes.gob line 118: Type mismatch of \"messages_changed\" signal signature");
+ g_error("mn-mailboxes.gob line 128: Type mismatch of \"messages_changed\" signal signature");
}
object_signals[ERROR_CHANGED_SIGNAL] =
g_signal_new ("error_changed",
@@ -356,13 +356,13 @@ mn_mailboxes_class_init (MNMailboxesClass * c G_GNUC_UNUSED)
c->mailbox_changed = NULL;
#line 69 "mn-mailboxes.gob"
c->mailbox_removed = ___real_mn_mailboxes_mailbox_removed;
-#line 86 "mn-mailboxes.gob"
+#line 96 "mn-mailboxes.gob"
c->list_changed = ___real_mn_mailboxes_list_changed;
#line 362 "mn-mailboxes.c"
c->has_new_changed = NULL;
c->messages_changed = NULL;
c->error_changed = NULL;
-#line 159 "mn-mailboxes.gob"
+#line 169 "mn-mailboxes.gob"
g_object_class->finalize = ___finalize;
#line 368 "mn-mailboxes.c"
g_object_class->get_property = ___object_get_property;
@@ -381,7 +381,7 @@ mn_mailboxes_class_init (MNMailboxesClass * c G_GNUC_UNUSED)
}
}
#undef __GOB_FUNCTION__
-#line 150 "mn-mailboxes.gob"
+#line 160 "mn-mailboxes.gob"
static void
mn_mailboxes_init (MNMailboxes * self G_GNUC_UNUSED)
#line 388 "mn-mailboxes.c"
@@ -389,7 +389,7 @@ mn_mailboxes_init (MNMailboxes * self G_GNUC_UNUSED)
#define __GOB_FUNCTION__ "MN:Mailboxes::init"
self->_priv = G_TYPE_INSTANCE_GET_PRIVATE(self,TYPE_SELF,MNMailboxesPrivate);
{
-#line 151 "mn-mailboxes.gob"
+#line 161 "mn-mailboxes.gob"
self_update_from_conf(self);
self_install_timeout(self);
@@ -416,7 +416,7 @@ ___object_get_property (GObject *object,
switch (property_id) {
case PROP_MUST_POLL:
{
-#line 136 "mn-mailboxes.gob"
+#line 146 "mn-mailboxes.gob"
gboolean must_poll = FALSE;
GSList *l;
@@ -568,18 +568,28 @@ ___real_mn_mailboxes_mailbox_removed (MNMailboxes * self G_GNUC_UNUSED, MNMailbo
{
#line 71 "mn-mailboxes.gob"
+ /* disconnect signals */
+ g_object_disconnect(mailbox,
+ "any_signal", self_notify_has_new_h, self,
+ "any_signal", self_messages_changed_h, self,
+ "any_signal", self_notify_error_h, self,
+ NULL);
+
+ /* emit the "removed" signal on the mailbox */
+ mn_mailbox_removed(mailbox);
+
/* has-new, messages and error have possibly changed */
self_has_new_changed(self);
self_messages_changed(self, FALSE);
self_error_changed(self);
}}
-#line 577 "mn-mailboxes.c"
+#line 587 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 86 "mn-mailboxes.gob"
+#line 96 "mn-mailboxes.gob"
static void
mn_mailboxes_list_changed (MNMailboxes * self)
-#line 583 "mn-mailboxes.c"
+#line 593 "mn-mailboxes.c"
{
GValue ___param_values[1];
GValue ___return_val;
@@ -587,11 +597,11 @@ mn_mailboxes_list_changed (MNMailboxes * self)
memset (&___return_val, 0, sizeof (___return_val));
memset (&___param_values, 0, sizeof (___param_values));
-#line 86 "mn-mailboxes.gob"
+#line 96 "mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 86 "mn-mailboxes.gob"
+#line 96 "mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 595 "mn-mailboxes.c"
+#line 605 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -604,25 +614,25 @@ memset (&___param_values, 0, sizeof (___param_values));
g_value_unset (&___param_values[0]);
}
-#line 86 "mn-mailboxes.gob"
+#line 96 "mn-mailboxes.gob"
static void
___real_mn_mailboxes_list_changed (MNMailboxes * self G_GNUC_UNUSED)
-#line 611 "mn-mailboxes.c"
+#line 621 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::list_changed"
{
-#line 88 "mn-mailboxes.gob"
+#line 98 "mn-mailboxes.gob"
/* must-poll has possibly changed */
g_object_notify(G_OBJECT(self), "must-poll");
}}
-#line 620 "mn-mailboxes.c"
+#line 630 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 102 "mn-mailboxes.gob"
+#line 112 "mn-mailboxes.gob"
static void
mn_mailboxes_has_new_changed (MNMailboxes * self)
-#line 626 "mn-mailboxes.c"
+#line 636 "mn-mailboxes.c"
{
GValue ___param_values[1];
GValue ___return_val;
@@ -630,11 +640,11 @@ mn_mailboxes_has_new_changed (MNMailboxes * self)
memset (&___return_val, 0, sizeof (___return_val));
memset (&___param_values, 0, sizeof (___param_values));
-#line 102 "mn-mailboxes.gob"
+#line 112 "mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 102 "mn-mailboxes.gob"
+#line 112 "mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 638 "mn-mailboxes.c"
+#line 648 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -648,10 +658,10 @@ memset (&___param_values, 0, sizeof (___param_values));
g_value_unset (&___param_values[0]);
}
-#line 118 "mn-mailboxes.gob"
+#line 128 "mn-mailboxes.gob"
static void
mn_mailboxes_messages_changed (MNMailboxes * self, gboolean has_new)
-#line 655 "mn-mailboxes.c"
+#line 665 "mn-mailboxes.c"
{
GValue ___param_values[2];
GValue ___return_val;
@@ -659,11 +669,11 @@ mn_mailboxes_messages_changed (MNMailboxes * self, gboolean has_new)
memset (&___return_val, 0, sizeof (___return_val));
memset (&___param_values, 0, sizeof (___param_values));
-#line 118 "mn-mailboxes.gob"
+#line 128 "mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 118 "mn-mailboxes.gob"
+#line 128 "mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 667 "mn-mailboxes.c"
+#line 677 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -682,10 +692,10 @@ memset (&___param_values, 0, sizeof (___param_values));
g_value_unset (&___param_values[1]);
}
-#line 130 "mn-mailboxes.gob"
+#line 140 "mn-mailboxes.gob"
static void
mn_mailboxes_error_changed (MNMailboxes * self)
-#line 689 "mn-mailboxes.c"
+#line 699 "mn-mailboxes.c"
{
GValue ___param_values[1];
GValue ___return_val;
@@ -693,11 +703,11 @@ mn_mailboxes_error_changed (MNMailboxes * self)
memset (&___return_val, 0, sizeof (___return_val));
memset (&___param_values, 0, sizeof (___param_values));
-#line 130 "mn-mailboxes.gob"
+#line 140 "mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 130 "mn-mailboxes.gob"
+#line 140 "mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 701 "mn-mailboxes.c"
+#line 711 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -711,36 +721,36 @@ memset (&___param_values, 0, sizeof (___param_values));
g_value_unset (&___param_values[0]);
}
-#line 136 "mn-mailboxes.gob"
+#line 146 "mn-mailboxes.gob"
gboolean
mn_mailboxes_get_must_poll (MNMailboxes * self)
-#line 718 "mn-mailboxes.c"
+#line 728 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::get_must_poll"
{
-#line 133 "mn-mailboxes.gob"
+#line 143 "mn-mailboxes.gob"
gboolean val; g_object_get (G_OBJECT (self), "must_poll", &val, NULL); return val;
}}
-#line 725 "mn-mailboxes.c"
+#line 735 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 159 "mn-mailboxes.gob"
+#line 169 "mn-mailboxes.gob"
static void
___a_mn_mailboxes_finalize (GObject * object G_GNUC_UNUSED)
-#line 732 "mn-mailboxes.c"
+#line 742 "mn-mailboxes.c"
#define PARENT_HANDLER(___object) \
{ if(G_OBJECT_CLASS(parent_class)->finalize) \
(* G_OBJECT_CLASS(parent_class)->finalize)(___object); }
{
#define __GOB_FUNCTION__ "MN:Mailboxes::finalize"
-#line 159 "mn-mailboxes.gob"
+#line 169 "mn-mailboxes.gob"
g_return_if_fail (object != NULL);
-#line 159 "mn-mailboxes.gob"
+#line 169 "mn-mailboxes.gob"
g_return_if_fail (G_IS_OBJECT (object));
-#line 742 "mn-mailboxes.c"
+#line 752 "mn-mailboxes.c"
{
-#line 161 "mn-mailboxes.gob"
+#line 171 "mn-mailboxes.gob"
Self *self = SELF(object);
@@ -752,21 +762,21 @@ ___a_mn_mailboxes_finalize (GObject * object G_GNUC_UNUSED)
PARENT_HANDLER(object);
}}
-#line 756 "mn-mailboxes.c"
+#line 766 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 173 "mn-mailboxes.gob"
+#line 183 "mn-mailboxes.gob"
static void
mn_mailboxes_notify_delay_cb (GConfClient * client, guint cnxn_id, GConfEntry * entry, gpointer user_data)
-#line 763 "mn-mailboxes.c"
+#line 773 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::notify_delay_cb"
-#line 173 "mn-mailboxes.gob"
+#line 183 "mn-mailboxes.gob"
g_return_if_fail (user_data != NULL);
-#line 768 "mn-mailboxes.c"
+#line 778 "mn-mailboxes.c"
{
-#line 178 "mn-mailboxes.gob"
+#line 188 "mn-mailboxes.gob"
Self *self = user_data;
@@ -774,20 +784,20 @@ mn_mailboxes_notify_delay_cb (GConfClient * client, guint cnxn_id, GConfEntry *
self_install_timeout(self);
GDK_THREADS_LEAVE();
}}
-#line 778 "mn-mailboxes.c"
+#line 788 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 186 "mn-mailboxes.gob"
+#line 196 "mn-mailboxes.gob"
static void
mn_mailboxes_notify_mailboxes_cb (GConfClient * client, guint cnxn_id, GConfEntry * entry, gpointer user_data)
-#line 784 "mn-mailboxes.c"
+#line 794 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::notify_mailboxes_cb"
-#line 186 "mn-mailboxes.gob"
+#line 196 "mn-mailboxes.gob"
g_return_if_fail (user_data != NULL);
-#line 789 "mn-mailboxes.c"
+#line 799 "mn-mailboxes.c"
{
-#line 191 "mn-mailboxes.gob"
+#line 201 "mn-mailboxes.gob"
Self *self = user_data;
@@ -795,22 +805,22 @@ mn_mailboxes_notify_mailboxes_cb (GConfClient * client, guint cnxn_id, GConfEntr
self_update_from_conf(self);
GDK_THREADS_LEAVE();
}}
-#line 799 "mn-mailboxes.c"
+#line 809 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 199 "mn-mailboxes.gob"
+#line 209 "mn-mailboxes.gob"
static void
mn_mailboxes_update_from_conf (MNMailboxes * self)
-#line 805 "mn-mailboxes.c"
+#line 815 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::update_from_conf"
-#line 199 "mn-mailboxes.gob"
+#line 209 "mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 199 "mn-mailboxes.gob"
+#line 209 "mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 812 "mn-mailboxes.c"
+#line 822 "mn-mailboxes.c"
{
-#line 201 "mn-mailboxes.gob"
+#line 211 "mn-mailboxes.gob"
GSList *gconf_mailboxes;
GSList *l;
@@ -864,24 +874,24 @@ mn_mailboxes_update_from_conf (MNMailboxes * self)
if (changed)
self_list_changed(self);
}}
-#line 868 "mn-mailboxes.c"
+#line 878 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 255 "mn-mailboxes.gob"
+#line 265 "mn-mailboxes.gob"
static void
mn_mailboxes_new_cb (MNMailbox * mailbox, gpointer user_data)
-#line 874 "mn-mailboxes.c"
+#line 884 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::new_cb"
-#line 255 "mn-mailboxes.gob"
+#line 265 "mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 255 "mn-mailboxes.gob"
+#line 265 "mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 255 "mn-mailboxes.gob"
+#line 265 "mn-mailboxes.gob"
g_return_if_fail (user_data != NULL);
-#line 883 "mn-mailboxes.c"
+#line 893 "mn-mailboxes.c"
{
-#line 258 "mn-mailboxes.gob"
+#line 268 "mn-mailboxes.gob"
Self *self = user_data;
GSList *elem;
@@ -910,26 +920,26 @@ mn_mailboxes_new_cb (MNMailbox * mailbox, gpointer user_data)
else
g_object_unref(mailbox);
}}
-#line 914 "mn-mailboxes.c"
+#line 924 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 287 "mn-mailboxes.gob"
+#line 297 "mn-mailboxes.gob"
static void
mn_mailboxes_notify_has_new_h (GObject * object, GParamSpec * pspec, gpointer user_data)
-#line 920 "mn-mailboxes.c"
+#line 930 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::notify_has_new_h"
-#line 287 "mn-mailboxes.gob"
+#line 297 "mn-mailboxes.gob"
g_return_if_fail (object != NULL);
-#line 287 "mn-mailboxes.gob"
+#line 297 "mn-mailboxes.gob"
g_return_if_fail (G_IS_OBJECT (object));
-#line 287 "mn-mailboxes.gob"
+#line 297 "mn-mailboxes.gob"
g_return_if_fail (pspec != NULL);
-#line 287 "mn-mailboxes.gob"
+#line 297 "mn-mailboxes.gob"
g_return_if_fail (user_data != NULL);
-#line 931 "mn-mailboxes.c"
+#line 941 "mn-mailboxes.c"
{
-#line 291 "mn-mailboxes.gob"
+#line 301 "mn-mailboxes.gob"
Self *self = user_data;
MNMailbox *mailbox = MN_MAILBOX(object);
@@ -940,49 +950,49 @@ mn_mailboxes_notify_has_new_h (GObject * object, GParamSpec * pspec, gpointer us
self_has_new_changed(self);
}}
-#line 944 "mn-mailboxes.c"
+#line 954 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 302 "mn-mailboxes.gob"
+#line 312 "mn-mailboxes.gob"
static void
mn_mailboxes_messages_changed_h (MNMailbox * mailbox, gboolean has_new, gpointer user_data)
-#line 950 "mn-mailboxes.c"
+#line 960 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::messages_changed_h"
-#line 302 "mn-mailboxes.gob"
+#line 312 "mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 302 "mn-mailboxes.gob"
+#line 312 "mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 302 "mn-mailboxes.gob"
+#line 312 "mn-mailboxes.gob"
g_return_if_fail (user_data != NULL);
-#line 959 "mn-mailboxes.c"
+#line 969 "mn-mailboxes.c"
{
-#line 306 "mn-mailboxes.gob"
+#line 316 "mn-mailboxes.gob"
Self *self = user_data;
self_messages_changed(self, has_new);
}}
-#line 967 "mn-mailboxes.c"
+#line 977 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 312 "mn-mailboxes.gob"
+#line 322 "mn-mailboxes.gob"
static void
mn_mailboxes_notify_error_h (GObject * object, GParamSpec * pspec, gpointer user_data)
-#line 973 "mn-mailboxes.c"
+#line 983 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::notify_error_h"
-#line 312 "mn-mailboxes.gob"
+#line 322 "mn-mailboxes.gob"
g_return_if_fail (object != NULL);
-#line 312 "mn-mailboxes.gob"
+#line 322 "mn-mailboxes.gob"
g_return_if_fail (G_IS_OBJECT (object));
-#line 312 "mn-mailboxes.gob"
+#line 322 "mn-mailboxes.gob"
g_return_if_fail (pspec != NULL);
-#line 312 "mn-mailboxes.gob"
+#line 322 "mn-mailboxes.gob"
g_return_if_fail (user_data != NULL);
-#line 984 "mn-mailboxes.c"
+#line 994 "mn-mailboxes.c"
{
-#line 316 "mn-mailboxes.gob"
+#line 326 "mn-mailboxes.gob"
Self *self = user_data;
MNMailbox *mailbox = MN_MAILBOX(object);
@@ -994,22 +1004,22 @@ mn_mailboxes_notify_error_h (GObject * object, GParamSpec * pspec, gpointer user
self_error_changed(self);
}}
-#line 998 "mn-mailboxes.c"
+#line 1008 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 328 "mn-mailboxes.gob"
+#line 338 "mn-mailboxes.gob"
static void
mn_mailboxes_install_timeout (MNMailboxes * self)
-#line 1004 "mn-mailboxes.c"
+#line 1014 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::install_timeout"
-#line 328 "mn-mailboxes.gob"
+#line 338 "mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 328 "mn-mailboxes.gob"
+#line 338 "mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 1011 "mn-mailboxes.c"
+#line 1021 "mn-mailboxes.c"
{
-#line 330 "mn-mailboxes.gob"
+#line 340 "mn-mailboxes.gob"
int minutes;
int seconds;
@@ -1028,20 +1038,20 @@ mn_mailboxes_install_timeout (MNMailboxes * self)
self_timeout_cb,
self);
}}
-#line 1032 "mn-mailboxes.c"
+#line 1042 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 349 "mn-mailboxes.gob"
+#line 359 "mn-mailboxes.gob"
static gboolean
mn_mailboxes_timeout_cb (gpointer data)
-#line 1038 "mn-mailboxes.c"
+#line 1048 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::timeout_cb"
-#line 349 "mn-mailboxes.gob"
+#line 359 "mn-mailboxes.gob"
g_return_val_if_fail (data != NULL, (gboolean )0);
-#line 1043 "mn-mailboxes.c"
+#line 1053 "mn-mailboxes.c"
{
-#line 351 "mn-mailboxes.gob"
+#line 361 "mn-mailboxes.gob"
Self *self = data;
@@ -1051,22 +1061,22 @@ mn_mailboxes_timeout_cb (gpointer data)
return TRUE; /* continue */
}}
-#line 1055 "mn-mailboxes.c"
+#line 1065 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 361 "mn-mailboxes.gob"
+#line 371 "mn-mailboxes.gob"
void
mn_mailboxes_check (MNMailboxes * self)
-#line 1061 "mn-mailboxes.c"
+#line 1071 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::check"
-#line 361 "mn-mailboxes.gob"
+#line 371 "mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 361 "mn-mailboxes.gob"
+#line 371 "mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 1068 "mn-mailboxes.c"
+#line 1078 "mn-mailboxes.c"
{
-#line 363 "mn-mailboxes.gob"
+#line 373 "mn-mailboxes.gob"
GSList *l;
@@ -1078,41 +1088,41 @@ mn_mailboxes_check (MNMailboxes * self)
mn_mailbox_check(mailbox);
}
}}
-#line 1082 "mn-mailboxes.c"
+#line 1092 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 375 "mn-mailboxes.gob"
+#line 385 "mn-mailboxes.gob"
GSList *
mn_mailboxes_get (MNMailboxes * self)
-#line 1088 "mn-mailboxes.c"
+#line 1098 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::get"
-#line 375 "mn-mailboxes.gob"
+#line 385 "mn-mailboxes.gob"
g_return_val_if_fail (self != NULL, (GSList * )0);
-#line 375 "mn-mailboxes.gob"
+#line 385 "mn-mailboxes.gob"
g_return_val_if_fail (MN_IS_MAILBOXES (self), (GSList * )0);
-#line 1095 "mn-mailboxes.c"
+#line 1105 "mn-mailboxes.c"
{
-#line 377 "mn-mailboxes.gob"
+#line 387 "mn-mailboxes.gob"
return selfp->list;
}}
-#line 1101 "mn-mailboxes.c"
+#line 1111 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 381 "mn-mailboxes.gob"
+#line 391 "mn-mailboxes.gob"
GSList *
mn_mailboxes_get_messages (MNMailboxes * self)
-#line 1107 "mn-mailboxes.c"
+#line 1117 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::get_messages"
-#line 381 "mn-mailboxes.gob"
+#line 391 "mn-mailboxes.gob"
g_return_val_if_fail (self != NULL, (GSList * )0);
-#line 381 "mn-mailboxes.gob"
+#line 391 "mn-mailboxes.gob"
g_return_val_if_fail (MN_IS_MAILBOXES (self), (GSList * )0);
-#line 1114 "mn-mailboxes.c"
+#line 1124 "mn-mailboxes.c"
{
-#line 383 "mn-mailboxes.gob"
+#line 393 "mn-mailboxes.gob"
GSList *messages = NULL;
GSList *l;
@@ -1128,24 +1138,24 @@ mn_mailboxes_get_messages (MNMailboxes * self)
return messages;
}}
-#line 1132 "mn-mailboxes.c"
+#line 1142 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 399 "mn-mailboxes.gob"
+#line 409 "mn-mailboxes.gob"
GSList *
mn_mailboxes_find (MNMailboxes * self, const char * text_uri)
-#line 1138 "mn-mailboxes.c"
+#line 1148 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::find"
-#line 399 "mn-mailboxes.gob"
+#line 409 "mn-mailboxes.gob"
g_return_val_if_fail (self != NULL, (GSList * )0);
-#line 399 "mn-mailboxes.gob"
+#line 409 "mn-mailboxes.gob"
g_return_val_if_fail (MN_IS_MAILBOXES (self), (GSList * )0);
-#line 399 "mn-mailboxes.gob"
+#line 409 "mn-mailboxes.gob"
g_return_val_if_fail (text_uri != NULL, (GSList * )0);
-#line 1147 "mn-mailboxes.c"
+#line 1157 "mn-mailboxes.c"
{
-#line 401 "mn-mailboxes.gob"
+#line 411 "mn-mailboxes.gob"
MNURI *uri;
GSList *elem;
@@ -1156,60 +1166,60 @@ mn_mailboxes_find (MNMailboxes * self, const char * text_uri)
return elem;
}}
-#line 1160 "mn-mailboxes.c"
+#line 1170 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 412 "mn-mailboxes.gob"
+#line 422 "mn-mailboxes.gob"
GSList *
mn_mailboxes_find_uri (MNMailboxes * self, MNURI * uri)
-#line 1166 "mn-mailboxes.c"
+#line 1176 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::find_uri"
-#line 412 "mn-mailboxes.gob"
+#line 422 "mn-mailboxes.gob"
g_return_val_if_fail (self != NULL, (GSList * )0);
-#line 412 "mn-mailboxes.gob"
+#line 422 "mn-mailboxes.gob"
g_return_val_if_fail (MN_IS_MAILBOXES (self), (GSList * )0);
-#line 412 "mn-mailboxes.gob"
+#line 422 "mn-mailboxes.gob"
g_return_val_if_fail (uri != NULL, (GSList * )0);
-#line 412 "mn-mailboxes.gob"
+#line 422 "mn-mailboxes.gob"
g_return_val_if_fail (MN_IS_URI (uri), (GSList * )0);
-#line 1177 "mn-mailboxes.c"
+#line 1187 "mn-mailboxes.c"
{
-#line 414 "mn-mailboxes.gob"
+#line 424 "mn-mailboxes.gob"
return g_slist_find_custom(selfp->list, uri, self_find_compare_func);
}}
-#line 1183 "mn-mailboxes.c"
+#line 1193 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 418 "mn-mailboxes.gob"
+#line 428 "mn-mailboxes.gob"
static int
mn_mailboxes_find_compare_func (gconstpointer a, gconstpointer b)
-#line 1189 "mn-mailboxes.c"
+#line 1199 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::find_compare_func"
{
-#line 420 "mn-mailboxes.gob"
+#line 430 "mn-mailboxes.gob"
MNMailbox *mailbox = (MNMailbox *) a;
MNURI *uri = (MNURI *) b;
return strcmp(mailbox->uri->text, uri->text);
}}
-#line 1200 "mn-mailboxes.c"
+#line 1210 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 427 "mn-mailboxes.gob"
+#line 437 "mn-mailboxes.gob"
GSList *
mn_mailboxes_conf_find (GSList * gconf_mailboxes, const char * text_uri)
-#line 1206 "mn-mailboxes.c"
+#line 1216 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::conf_find"
-#line 427 "mn-mailboxes.gob"
+#line 437 "mn-mailboxes.gob"
g_return_val_if_fail (text_uri != NULL, (GSList * )0);
-#line 1211 "mn-mailboxes.c"
+#line 1221 "mn-mailboxes.c"
{
-#line 429 "mn-mailboxes.gob"
+#line 439 "mn-mailboxes.gob"
MNURI *uri;
GSList *elem;
@@ -1220,36 +1230,36 @@ mn_mailboxes_conf_find (GSList * gconf_mailboxes, const char * text_uri)
return elem;
}}
-#line 1224 "mn-mailboxes.c"
+#line 1234 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 440 "mn-mailboxes.gob"
+#line 450 "mn-mailboxes.gob"
GSList *
mn_mailboxes_conf_find_uri (GSList * gconf_mailboxes, MNURI * uri)
-#line 1230 "mn-mailboxes.c"
+#line 1240 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::conf_find_uri"
-#line 440 "mn-mailboxes.gob"
+#line 450 "mn-mailboxes.gob"
g_return_val_if_fail (uri != NULL, (GSList * )0);
-#line 440 "mn-mailboxes.gob"
+#line 450 "mn-mailboxes.gob"
g_return_val_if_fail (MN_IS_URI (uri), (GSList * )0);
-#line 1237 "mn-mailboxes.c"
+#line 1247 "mn-mailboxes.c"
{
-#line 442 "mn-mailboxes.gob"
+#line 452 "mn-mailboxes.gob"
return g_slist_find_custom(gconf_mailboxes, uri, self_conf_find_compare_func);
}}
-#line 1243 "mn-mailboxes.c"
+#line 1253 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 446 "mn-mailboxes.gob"
+#line 456 "mn-mailboxes.gob"
static int
mn_mailboxes_conf_find_compare_func (gconstpointer a, gconstpointer b)
-#line 1249 "mn-mailboxes.c"
+#line 1259 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::conf_find_compare_func"
{
-#line 448 "mn-mailboxes.gob"
+#line 458 "mn-mailboxes.gob"
MNURI *uri_a;
MNURI *uri_b = (MNURI *) b;
@@ -1261,19 +1271,19 @@ mn_mailboxes_conf_find_compare_func (gconstpointer a, gconstpointer b)
return cmp;
}}
-#line 1265 "mn-mailboxes.c"
+#line 1275 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 460 "mn-mailboxes.gob"
+#line 470 "mn-mailboxes.gob"
MNMailboxes *
mn_mailboxes_new (void)
-#line 1271 "mn-mailboxes.c"
+#line 1281 "mn-mailboxes.c"
{
#define __GOB_FUNCTION__ "MN:Mailboxes::new"
{
-#line 462 "mn-mailboxes.gob"
+#line 472 "mn-mailboxes.gob"
return MN_MAILBOXES(GET_NEW);
}}
-#line 1279 "mn-mailboxes.c"
+#line 1289 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-mailboxes.gob b/src/mn-mailboxes.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <eel/eel.h>
#include "mn-conf.h"
#include "mn-util.h"
@@ -69,6 +69,16 @@ class MN:Mailboxes from G:Object
signal first private NONE (OBJECT)
void mailbox_removed (self, MN:Mailbox *mailbox (check null type))
{
+ /* disconnect signals */
+ g_object_disconnect(mailbox,
+ "any_signal", self_notify_has_new_h, self,
+ "any_signal", self_messages_changed_h, self,
+ "any_signal", self_notify_error_h, self,
+ NULL);
+
+ /* emit the "removed" signal on the mailbox */
+ mn_mailbox_removed(mailbox);
+
/* has-new, messages and error have possibly changed */
self_has_new_changed(self);
self_messages_changed(self, FALSE);
@@ -95,7 +105,7 @@ class MN:Mailboxes from G:Object
* @self: the object which received the signal
*
* This signal gets emitted whenever the global has-new state has
- * possibly changed, eitheir because one of the mailboxes has-new
+ * possibly changed, either because one of the mailboxes has-new
* property has changed, or because a mailbox has been removed from
* the list.
**/
@@ -123,7 +133,7 @@ class MN:Mailboxes from G:Object
* @self: the object which received the signal
*
* This signal gets emitted whenever the global error state has
- * possibly changed, eitheir because one of the mailboxes error
+ * possibly changed, either because one of the mailboxes error
* property has changed, or because a mailbox has been removed from
* the list.
**/
diff --git a/src/mn-maildir-mailbox.c b/src/mn-maildir-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-maildir-mailbox.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-private.h"
#include "mn-vfs.h"
#include "mn-util.h"
@@ -53,7 +53,7 @@ static void mn_maildir_mailbox_init (MNMaildirMailbox * o) G_GNUC_UNUSED;
static void mn_maildir_mailbox_class_init (MNMaildirMailboxClass * class) G_GNUC_UNUSED;
static GObject * ___2_mn_maildir_mailbox_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_params) G_GNUC_UNUSED;
static gboolean ___3_mn_maildir_mailbox_impl_is (MNMailbox * dummy, MNURI * uri) G_GNUC_UNUSED;
-static void ___4_mn_maildir_mailbox_impl_threaded_check (MNMailbox * self) G_GNUC_UNUSED;
+static void ___4_mn_maildir_mailbox_impl_check (MNMailbox * self) G_GNUC_UNUSED;
/* pointer to the class of our parent */
static MNMailboxClass *parent_class = NULL;
@@ -122,7 +122,7 @@ mn_maildir_mailbox_class_init (MNMaildirMailboxClass * class G_GNUC_UNUSED)
#line 73 "mn-maildir-mailbox.gob"
mn_mailbox_class->impl_is = ___3_mn_maildir_mailbox_impl_is;
#line 99 "mn-maildir-mailbox.gob"
- mn_mailbox_class->impl_threaded_check = ___4_mn_maildir_mailbox_impl_threaded_check;
+ mn_mailbox_class->impl_check = ___4_mn_maildir_mailbox_impl_check;
#line 127 "mn-maildir-mailbox.c"
{
#line 38 "mn-maildir-mailbox.gob"
@@ -224,13 +224,13 @@ ___3_mn_maildir_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, MNURI * uri)
#line 99 "mn-maildir-mailbox.gob"
static void
-___4_mn_maildir_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
+___4_mn_maildir_mailbox_impl_check (MNMailbox * self G_GNUC_UNUSED)
#line 229 "mn-maildir-mailbox.c"
#define PARENT_HANDLER(___self) \
- { if(MN_MAILBOX_CLASS(parent_class)->impl_threaded_check) \
- (* MN_MAILBOX_CLASS(parent_class)->impl_threaded_check)(___self); }
+ { if(MN_MAILBOX_CLASS(parent_class)->impl_check) \
+ (* MN_MAILBOX_CLASS(parent_class)->impl_check)(___self); }
{
-#define __GOB_FUNCTION__ "MN:Maildir:Mailbox::impl_threaded_check"
+#define __GOB_FUNCTION__ "MN:Maildir:Mailbox::impl_check"
#line 99 "mn-maildir-mailbox.gob"
g_return_if_fail (self != NULL);
#line 99 "mn-maildir-mailbox.gob"
diff --git a/src/mn-maildir-mailbox.gob b/src/mn-maildir-mailbox.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-private.h"
#include "mn-vfs.h"
#include "mn-util.h"
@@ -97,7 +97,7 @@ class MN:Maildir:Mailbox from MN:Mailbox
}
override (MN:Mailbox) void
- impl_threaded_check (MN:Mailbox *self (check null type))
+ impl_check (MN:Mailbox *self (check null type))
{
GnomeVFSURI *new_uri;
GnomeVFSResult result;
diff --git a/src/mn-main.c b/src/mn-main.c
@@ -88,10 +88,9 @@ mn_main_list_features (void)
{
MNMailboxClass *class;
- class = g_type_class_peek(mn_mailbox_types[i]);
- g_return_if_fail(class != NULL);
-
+ class = g_type_class_ref(mn_mailbox_types[i]);
ADD_FEATURE(backends, class->format);
+ g_type_class_unref(class);
}
g_print(_("Compiled-in mailbox backends: %s\n"), backends->str);
@@ -274,6 +273,8 @@ main (int argc, char **argv)
GNOME_PARAM_POPT_TABLE, popt_options,
NULL);
+ mn_mailbox_init_types();
+
if (arg_list_features)
{
mn_main_list_features();
diff --git a/src/mn-mbox-mailbox.c b/src/mn-mbox-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -25,7 +25,7 @@
#include "config.h"
#include <string.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gdk/gdk.h>
#include "mn-mailbox-private.h"
#include "mn-vfs.h"
@@ -54,7 +54,7 @@ static void mn_mbox_mailbox_init (MNmboxMailbox * o) G_GNUC_UNUSED;
static void mn_mbox_mailbox_class_init (MNmboxMailboxClass * class) G_GNUC_UNUSED;
static GObject * ___2_mn_mbox_mailbox_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_params) G_GNUC_UNUSED;
static gboolean ___3_mn_mbox_mailbox_impl_is (MNMailbox * dummy, MNURI * uri) G_GNUC_UNUSED;
-static void ___4_mn_mbox_mailbox_impl_threaded_check (MNMailbox * mailbox) G_GNUC_UNUSED;
+static void ___4_mn_mbox_mailbox_impl_check (MNMailbox * mailbox) G_GNUC_UNUSED;
/* pointer to the class of our parent */
static MNMailboxClass *parent_class = NULL;
@@ -138,7 +138,7 @@ mn_mbox_mailbox_class_init (MNmboxMailboxClass * class G_GNUC_UNUSED)
#line 74 "mn-mbox-mailbox.gob"
mn_mailbox_class->impl_is = ___3_mn_mbox_mailbox_impl_is;
#line 115 "mn-mbox-mailbox.gob"
- mn_mailbox_class->impl_threaded_check = ___4_mn_mbox_mailbox_impl_threaded_check;
+ mn_mailbox_class->impl_check = ___4_mn_mbox_mailbox_impl_check;
#line 143 "mn-mbox-mailbox.c"
g_object_class->finalize = ___finalize;
{
@@ -251,13 +251,13 @@ ___3_mn_mbox_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, MNURI * uri)
#line 115 "mn-mbox-mailbox.gob"
static void
-___4_mn_mbox_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
+___4_mn_mbox_mailbox_impl_check (MNMailbox * mailbox G_GNUC_UNUSED)
#line 256 "mn-mbox-mailbox.c"
#define PARENT_HANDLER(___mailbox) \
- { if(MN_MAILBOX_CLASS(parent_class)->impl_threaded_check) \
- (* MN_MAILBOX_CLASS(parent_class)->impl_threaded_check)(___mailbox); }
+ { if(MN_MAILBOX_CLASS(parent_class)->impl_check) \
+ (* MN_MAILBOX_CLASS(parent_class)->impl_check)(___mailbox); }
{
-#define __GOB_FUNCTION__ "MN:mbox:Mailbox::impl_threaded_check"
+#define __GOB_FUNCTION__ "MN:mbox:Mailbox::impl_check"
#line 115 "mn-mbox-mailbox.gob"
g_return_if_fail (mailbox != NULL);
#line 115 "mn-mbox-mailbox.gob"
@@ -350,13 +350,13 @@ ___4_mn_mbox_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
break;
in_header = FALSE;
}
- else if (! strncmp(line, "From ", 5))
+ else if (g_str_has_prefix(line, "From "))
{
in_header = TRUE;
seen = FALSE;
}
else if (in_header
- && ! strncmp(line, "Status:", 7)
+ && g_str_has_prefix(line, "Status:")
&& (strchr(line, 'O') || strchr(line, 'R')))
seen = TRUE;
}
diff --git a/src/mn-mbox-mailbox.gob b/src/mn-mbox-mailbox.gob
@@ -27,7 +27,7 @@ requires 2.0.10
%{
#include "config.h"
#include <string.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gdk/gdk.h>
#include "mn-mailbox-private.h"
#include "mn-vfs.h"
@@ -113,7 +113,7 @@ class MN:mbox:Mailbox from MN:Mailbox
}
override (MN:Mailbox) void
- impl_threaded_check (MN:Mailbox *mailbox (check null type))
+ impl_check (MN:Mailbox *mailbox (check null type))
{
Self *self = SELF(mailbox);
gboolean check = TRUE;
@@ -199,13 +199,13 @@ class MN:mbox:Mailbox from MN:Mailbox
break;
in_header = FALSE;
}
- else if (! strncmp(line, "From ", 5))
+ else if (g_str_has_prefix(line, "From "))
{
in_header = TRUE;
seen = FALSE;
}
else if (in_header
- && ! strncmp(line, "Status:", 7)
+ && g_str_has_prefix(line, "Status:")
&& (strchr(line, 'O') || strchr(line, 'R')))
seen = TRUE;
}
diff --git a/src/mn-message-label.c b/src/mn-message-label.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 25 "mn-message-label.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-util.h"
#line 33 "mn-message-label.c"
@@ -427,42 +427,47 @@ mn_message_label_format_delay (time_t delay)
if (delay < 60)
str = g_strdup_printf(ngettext("%i second ago", "%i seconds ago", delay), delay);
- else if (delay < 3600)
+ else if (delay < 60 * 60)
{
int minutes = delay / 60;
str = g_strdup_printf(ngettext("%i minute ago", "%i minutes ago", minutes), minutes);
}
- else if (delay < 86400)
+ else if (delay < 60 * 60 * 24)
{
- int hours = delay / 3600;
+ int hours = delay / (60 * 60);
str = g_strdup_printf(ngettext("%i hour ago", "%i hours ago", hours), hours);
}
- else
+ else if (delay < 60 * 60 * 24 * 7)
{
- int days = delay / 86400;
+ int days = delay / (60 * 60 * 24);
str = g_strdup_printf(ngettext("%i day ago", "%i days ago", days), days);
}
+ else
+ {
+ int weeks = delay / (60 * 60 * 24 * 7);
+ str = g_strdup_printf(ngettext("%i week ago", "%i weeks ago", weeks), weeks);
+ }
return str;
}}
-#line 449 "mn-message-label.c"
+#line 454 "mn-message-label.c"
#undef __GOB_FUNCTION__
-#line 171 "mn-message-label.gob"
+#line 176 "mn-message-label.gob"
GtkWidget *
mn_message_label_new (MNMessage * message)
-#line 455 "mn-message-label.c"
+#line 460 "mn-message-label.c"
{
#define __GOB_FUNCTION__ "MN:Message:Label::new"
-#line 171 "mn-message-label.gob"
+#line 176 "mn-message-label.gob"
g_return_val_if_fail (message != NULL, (GtkWidget * )0);
-#line 171 "mn-message-label.gob"
+#line 176 "mn-message-label.gob"
g_return_val_if_fail (MN_IS_MESSAGE (message), (GtkWidget * )0);
-#line 462 "mn-message-label.c"
+#line 467 "mn-message-label.c"
{
-#line 173 "mn-message-label.gob"
+#line 178 "mn-message-label.gob"
return GTK_WIDGET(GET_NEW_VARG(MN_MESSAGE_LABEL_PROP_MESSAGE(G_OBJECT(message)), NULL));
}}
-#line 468 "mn-message-label.c"
+#line 473 "mn-message-label.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-message-label.gob b/src/mn-message-label.gob
@@ -24,7 +24,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-util.h"
%}
@@ -149,21 +149,26 @@ class MN:Message:Label from Gtk:Label
if (delay < 60)
str = g_strdup_printf(ngettext("%i second ago", "%i seconds ago", delay), delay);
- else if (delay < 3600)
+ else if (delay < 60 * 60)
{
int minutes = delay / 60;
str = g_strdup_printf(ngettext("%i minute ago", "%i minutes ago", minutes), minutes);
}
- else if (delay < 86400)
+ else if (delay < 60 * 60 * 24)
{
- int hours = delay / 3600;
+ int hours = delay / (60 * 60);
str = g_strdup_printf(ngettext("%i hour ago", "%i hours ago", hours), hours);
}
- else
+ else if (delay < 60 * 60 * 24 * 7)
{
- int days = delay / 86400;
+ int days = delay / (60 * 60 * 24);
str = g_strdup_printf(ngettext("%i day ago", "%i days ago", days), days);
}
+ else
+ {
+ int weeks = delay / (60 * 60 * 24 * 7);
+ str = g_strdup_printf(ngettext("%i week ago", "%i weeks ago", weeks), weeks);
+ }
return str;
}
diff --git a/src/mn-message-mime.c b/src/mn-message-mime.c
@@ -17,7 +17,7 @@
*/
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <libgnomevfs/gnome-vfs.h>
#include "mn-message-mime.h"
#include "mn-gmime-stream-vfs.h"
diff --git a/src/mn-message.c b/src/mn-message.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 26 "mn-message.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-util.h"
#line 33 "mn-message.c"
@@ -48,6 +48,7 @@ static void ___object_set_property (GObject *object, guint property_id, const GV
static void ___object_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec);
static void mn_message_init (MNMessage * o) G_GNUC_UNUSED;
static void mn_message_class_init (MNMessageClass * c) G_GNUC_UNUSED;
+static GObject * ___1_mn_message_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_params) G_GNUC_UNUSED;
static int mn_message_slist_find_by_id_compare_func (gconstpointer a, gconstpointer b) G_GNUC_UNUSED;
static int mn_message_slist_sort_by_sent_time_compare_func (gconstpointer a, gconstpointer b) G_GNUC_UNUSED;
@@ -123,7 +124,7 @@ ___dispose (GObject *obj_self)
(* G_OBJECT_CLASS (parent_class)->dispose) (obj_self);
#line 35 "mn-message.gob"
if(self->mailbox_uri) { g_object_unref ((gpointer) self->mailbox_uri); self->mailbox_uri = NULL; }
-#line 127 "mn-message.c"
+#line 128 "mn-message.c"
}
#undef __GOB_FUNCTION__
@@ -137,16 +138,16 @@ ___finalize(GObject *obj_self)
(* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
#line 41 "mn-message.gob"
if(self->error) { g_free ((gpointer) self->error); self->error = NULL; }
-#line 141 "mn-message.c"
+#line 142 "mn-message.c"
#line 49 "mn-message.gob"
if(self->id) { g_free ((gpointer) self->id); self->id = NULL; }
-#line 144 "mn-message.c"
-#line 75 "mn-message.gob"
+#line 145 "mn-message.c"
+#line 53 "mn-message.gob"
if(self->from) { g_free ((gpointer) self->from); self->from = NULL; }
-#line 147 "mn-message.c"
-#line 90 "mn-message.gob"
+#line 148 "mn-message.c"
+#line 57 "mn-message.gob"
if(self->subject) { g_free ((gpointer) self->subject); self->subject = NULL; }
-#line 150 "mn-message.c"
+#line 151 "mn-message.c"
}
#undef __GOB_FUNCTION__
@@ -164,6 +165,9 @@ mn_message_class_init (MNMessageClass * c G_GNUC_UNUSED)
parent_class = g_type_class_ref (G_TYPE_OBJECT);
+#line 60 "mn-message.gob"
+ g_object_class->constructor = ___1_mn_message_constructor;
+#line 171 "mn-message.c"
g_object_class->dispose = ___dispose;
g_object_class->finalize = ___finalize;
g_object_class->get_property = ___object_get_property;
@@ -247,68 +251,42 @@ ___object_set_property (GObject *object,
{
#line 36 "mn-message.gob"
{ GObject *___old = (GObject *)self->mailbox_uri; self->mailbox_uri = (MNURI *)g_value_dup_object (VAL); if (___old != NULL) { g_object_unref (G_OBJECT (___old)); } }
-#line 251 "mn-message.c"
+#line 255 "mn-message.c"
}
break;
case PROP_ERROR:
{
#line 42 "mn-message.gob"
{ char *old = self->error; self->error = g_value_dup_string (VAL); g_free (old); }
-#line 258 "mn-message.c"
+#line 262 "mn-message.c"
}
break;
case PROP_SENT_TIME:
{
#line 46 "mn-message.gob"
self->sent_time = g_value_get_ulong (VAL);
-#line 265 "mn-message.c"
+#line 269 "mn-message.c"
}
break;
case PROP_ID:
{
-#line 52 "mn-message.gob"
-
- const char *id = g_value_get_string(VAL);
-
- g_return_if_fail(self->id == NULL);
- if (id)
- self->id = g_strdup(id);
- else
- {
- static int unique = 0;
-
- /*
- * Generate an unique identifier (we don't need it do be a
- * compliant Message-Id).
- */
- self->id = g_strdup_printf("%i", g_atomic_int_exchange_and_add(&unique, 1));
- }
-
-#line 288 "mn-message.c"
+#line 50 "mn-message.gob"
+{ char *old = self->id; self->id = g_value_dup_string (VAL); g_free (old); }
+#line 276 "mn-message.c"
}
break;
case PROP_FROM:
{
-#line 78 "mn-message.gob"
-
- const char *from = g_value_get_string(VAL);
-
- g_return_if_fail(self->from == NULL);
- self->from = g_strdup(from ? from : _("Unknown"));
-
-#line 300 "mn-message.c"
+#line 54 "mn-message.gob"
+{ char *old = self->from; self->from = g_value_dup_string (VAL); g_free (old); }
+#line 283 "mn-message.c"
}
break;
case PROP_SUBJECT:
{
-#line 93 "mn-message.gob"
-
- const char *subject = g_value_get_string(VAL);
-
- g_return_if_fail(self->subject == NULL);
- self->subject = g_strdup(subject ? subject : "");
-
-#line 312 "mn-message.c"
+#line 58 "mn-message.gob"
+{ char *old = self->subject; self->subject = g_value_dup_string (VAL); g_free (old); }
+#line 290 "mn-message.c"
}
break;
default:
@@ -339,48 +317,42 @@ ___object_get_property (GObject *object,
{
#line 36 "mn-message.gob"
g_value_set_object (VAL, (gpointer)self->mailbox_uri);
-#line 343 "mn-message.c"
+#line 321 "mn-message.c"
}
break;
case PROP_ERROR:
{
#line 42 "mn-message.gob"
g_value_set_string (VAL, self->error);
-#line 350 "mn-message.c"
+#line 328 "mn-message.c"
}
break;
case PROP_SENT_TIME:
{
#line 46 "mn-message.gob"
g_value_set_ulong (VAL, self->sent_time);
-#line 357 "mn-message.c"
+#line 335 "mn-message.c"
}
break;
case PROP_ID:
{
-#line 70 "mn-message.gob"
-
- g_value_set_string(VAL, self->id);
-
-#line 366 "mn-message.c"
+#line 50 "mn-message.gob"
+g_value_set_string (VAL, self->id);
+#line 342 "mn-message.c"
}
break;
case PROP_FROM:
{
-#line 85 "mn-message.gob"
-
- g_value_set_string(VAL, self->from);
-
-#line 375 "mn-message.c"
+#line 54 "mn-message.gob"
+g_value_set_string (VAL, self->from);
+#line 349 "mn-message.c"
}
break;
case PROP_SUBJECT:
{
-#line 100 "mn-message.gob"
-
- g_value_set_string(VAL, self->subject);
-
-#line 384 "mn-message.c"
+#line 58 "mn-message.gob"
+g_value_set_string (VAL, self->subject);
+#line 356 "mn-message.c"
}
break;
default:
@@ -397,19 +369,80 @@ g_value_set_ulong (VAL, self->sent_time);
-#line 104 "mn-message.gob"
+#line 60 "mn-message.gob"
+static GObject *
+___1_mn_message_constructor (GType type G_GNUC_UNUSED, guint n_construct_properties, GObjectConstructParam * construct_params)
+#line 376 "mn-message.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): \
+ ((GObject * )0))
+{
+#define __GOB_FUNCTION__ "MN:Message::constructor"
+{
+#line 62 "mn-message.gob"
+
+ GObject *object;
+ Self *self;
+
+ object = PARENT_HANDLER(type, n_construct_properties, construct_params);
+ self = SELF(object);
+
+ if (! self->id)
+ {
+ GString *id;
+
+ /*
+ * An ID should (not mandatory):
+ *
+ * - be unique in a single mailbox
+ * - persist across checks if the message does not change
+ */
+
+ id = g_string_new(NULL);
+
+ if (self->sent_time)
+ g_string_append_printf(id, ":sent-time:%u:", self->sent_time);
+ if (self->from)
+ g_string_append_printf(id, ":from:%s:", self->from);
+ if (self->subject)
+ g_string_append_printf(id, ":subject:%s:", self->subject);
+
+ if (! *id->str)
+ {
+ static int unique = 0;
+ g_string_append_printf(id, "%i", g_atomic_int_exchange_and_add(&unique, 1));
+ }
+
+ self->id = g_string_free(id, FALSE);
+ }
+
+ /* these must be filled after we have processed the id */
+
+ if (! self->from)
+ self->from = g_strdup(_("Unknown"));
+ if (! self->subject)
+ self->subject = g_strdup("");
+
+ return object;
+ }}
+#line 430 "mn-message.c"
+#undef __GOB_FUNCTION__
+#undef PARENT_HANDLER
+
+#line 108 "mn-message.gob"
MNMessage *
mn_message_new (MNURI * mailbox_uri, const char * error, time_t sent_time, const char * id, const char * from, const char * subject)
-#line 404 "mn-message.c"
+#line 437 "mn-message.c"
{
#define __GOB_FUNCTION__ "MN:Message::new"
-#line 104 "mn-message.gob"
+#line 108 "mn-message.gob"
g_return_val_if_fail (mailbox_uri != NULL, (MNMessage * )0);
-#line 104 "mn-message.gob"
+#line 108 "mn-message.gob"
g_return_val_if_fail (MN_IS_URI (mailbox_uri), (MNMessage * )0);
-#line 411 "mn-message.c"
+#line 444 "mn-message.c"
{
-#line 111 "mn-message.gob"
+#line 115 "mn-message.gob"
return GET_NEW_VARG(MN_MESSAGE_PROP_MAILBOX_URI(G_OBJECT(mailbox_uri)),
MN_MESSAGE_PROP_ERROR((char *) error),
@@ -419,93 +452,93 @@ mn_message_new (MNURI * mailbox_uri, const char * error, time_t sent_time, const
MN_MESSAGE_PROP_SUBJECT((char *) subject),
NULL);
}}
-#line 423 "mn-message.c"
+#line 456 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 121 "mn-message.gob"
+#line 125 "mn-message.gob"
MNMessage *
mn_message_new_from_error (MNURI * mailbox_uri, const char * error)
-#line 429 "mn-message.c"
+#line 462 "mn-message.c"
{
#define __GOB_FUNCTION__ "MN:Message::new_from_error"
-#line 121 "mn-message.gob"
+#line 125 "mn-message.gob"
g_return_val_if_fail (mailbox_uri != NULL, (MNMessage * )0);
-#line 121 "mn-message.gob"
+#line 125 "mn-message.gob"
g_return_val_if_fail (MN_IS_URI (mailbox_uri), (MNMessage * )0);
-#line 121 "mn-message.gob"
+#line 125 "mn-message.gob"
g_return_val_if_fail (error != NULL, (MNMessage * )0);
-#line 438 "mn-message.c"
+#line 471 "mn-message.c"
{
-#line 124 "mn-message.gob"
+#line 128 "mn-message.gob"
return self_new(mailbox_uri, error, 0, NULL, NULL, NULL);
}}
-#line 444 "mn-message.c"
+#line 477 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 128 "mn-message.gob"
+#line 132 "mn-message.gob"
GSList *
mn_message_slist_find_by_id (GSList * list, MNMessage * self)
-#line 450 "mn-message.c"
+#line 483 "mn-message.c"
{
#define __GOB_FUNCTION__ "MN:Message::slist_find_by_id"
-#line 128 "mn-message.gob"
+#line 132 "mn-message.gob"
g_return_val_if_fail (self != NULL, (GSList * )0);
-#line 128 "mn-message.gob"
+#line 132 "mn-message.gob"
g_return_val_if_fail (MN_IS_MESSAGE (self), (GSList * )0);
-#line 457 "mn-message.c"
+#line 490 "mn-message.c"
{
-#line 130 "mn-message.gob"
+#line 134 "mn-message.gob"
return g_slist_find_custom(list, self, self_slist_find_by_id_compare_func);
}}
-#line 463 "mn-message.c"
+#line 496 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 134 "mn-message.gob"
+#line 138 "mn-message.gob"
static int
mn_message_slist_find_by_id_compare_func (gconstpointer a, gconstpointer b)
-#line 469 "mn-message.c"
+#line 502 "mn-message.c"
{
#define __GOB_FUNCTION__ "MN:Message::slist_find_by_id_compare_func"
{
-#line 136 "mn-message.gob"
+#line 140 "mn-message.gob"
Self *message_a = (Self *) a;
Self *message_b = (Self *) b;
return strcmp(message_a->id, message_b->id);
}}
-#line 480 "mn-message.c"
+#line 513 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 143 "mn-message.gob"
+#line 147 "mn-message.gob"
GSList *
mn_message_slist_sort_by_sent_time (GSList * list)
-#line 486 "mn-message.c"
+#line 519 "mn-message.c"
{
#define __GOB_FUNCTION__ "MN:Message::slist_sort_by_sent_time"
{
-#line 145 "mn-message.gob"
+#line 149 "mn-message.gob"
return g_slist_sort(list, self_slist_sort_by_sent_time_compare_func);
}}
-#line 494 "mn-message.c"
+#line 527 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 149 "mn-message.gob"
+#line 153 "mn-message.gob"
static int
mn_message_slist_sort_by_sent_time_compare_func (gconstpointer a, gconstpointer b)
-#line 500 "mn-message.c"
+#line 533 "mn-message.c"
{
#define __GOB_FUNCTION__ "MN:Message::slist_sort_by_sent_time_compare_func"
{
-#line 151 "mn-message.gob"
+#line 155 "mn-message.gob"
Self *message_a = (Self *) a;
Self *message_b = (Self *) b;
return message_a->sent_time - message_b->sent_time;
}}
-#line 511 "mn-message.c"
+#line 544 "mn-message.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-message.gob b/src/mn-message.gob
@@ -25,7 +25,7 @@ requires 2.0.10
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-util.h"
%}
@@ -47,60 +47,64 @@ class MN:Message from G:Object
/* always set */
public char *id destroywith g_free;
- property STRING id (flags = CONSTRUCT_ONLY)
- set
- {
- const char *id = g_value_get_string(VAL);
-
- g_return_if_fail(self->id == NULL);
- if (id)
- self->id = g_strdup(id);
- else
- {
- static int unique = 0;
-
- /*
- * Generate an unique identifier (we don't need it do be a
- * compliant Message-Id).
- */
- self->id = g_strdup_printf("%i", g_atomic_int_exchange_and_add(&unique, 1));
- }
- }
- get
- {
- g_value_set_string(VAL, self->id);
- };
+ property STRING id (flags = CONSTRUCT_ONLY, link);
/* always set */
public char *from destroywith g_free;
- property STRING from (flags = CONSTRUCT_ONLY)
- set
- {
- const char *from = g_value_get_string(VAL);
-
- g_return_if_fail(self->from == NULL);
- self->from = g_strdup(from ? from : _("Unknown"));
- }
- get
- {
- g_value_set_string(VAL, self->from);
- };
+ property STRING from (flags = CONSTRUCT_ONLY, link);
/* always set */
public char *subject destroywith g_free;
- property STRING subject (flags = CONSTRUCT_ONLY)
- set
- {
- const char *subject = g_value_get_string(VAL);
-
- g_return_if_fail(self->subject == NULL);
- self->subject = g_strdup(subject ? subject : "");
- }
- get
- {
- g_value_set_string(VAL, self->subject);
- };
+ property STRING subject (flags = CONSTRUCT_ONLY, link);
+ override (G:Object) GObject *
+ constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_params)
+ {
+ GObject *object;
+ Self *self;
+
+ object = PARENT_HANDLER(type, n_construct_properties, construct_params);
+ self = SELF(object);
+
+ if (! self->id)
+ {
+ GString *id;
+
+ /*
+ * An ID should (not mandatory):
+ *
+ * - be unique in a single mailbox
+ * - persist across checks if the message does not change
+ */
+
+ id = g_string_new(NULL);
+
+ if (self->sent_time)
+ g_string_append_printf(id, ":sent-time:%u:", self->sent_time);
+ if (self->from)
+ g_string_append_printf(id, ":from:%s:", self->from);
+ if (self->subject)
+ g_string_append_printf(id, ":subject:%s:", self->subject);
+
+ if (! *id->str)
+ {
+ static int unique = 0;
+ g_string_append_printf(id, "%i", g_atomic_int_exchange_and_add(&unique, 1));
+ }
+
+ self->id = g_string_free(id, FALSE);
+ }
+
+ /* these must be filled after we have processed the id */
+
+ if (! self->from)
+ self->from = g_strdup(_("Unknown"));
+ if (! self->subject)
+ self->subject = g_strdup("");
+
+ return object;
+ }
+
public MNMessage *
new (MN:URI *mailbox_uri (check null type),
const char *error,
diff --git a/src/mn-mh-mailbox.c b/src/mn-mh-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#include "config.h"
#include <stdio.h>
#include <string.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gdk/gdk.h>
#include "mn-mailbox-private.h"
#include "mn-vfs.h"
@@ -54,7 +54,7 @@ static void mn_mh_mailbox_init (MNMHMailbox * o) G_GNUC_UNUSED;
static void mn_mh_mailbox_class_init (MNMHMailboxClass * class) G_GNUC_UNUSED;
static GObject * ___2_mn_mh_mailbox_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_params) G_GNUC_UNUSED;
static gboolean ___3_mn_mh_mailbox_impl_is (MNMailbox * dummy, MNURI * uri) G_GNUC_UNUSED;
-static void ___4_mn_mh_mailbox_impl_threaded_check (MNMailbox * self) G_GNUC_UNUSED;
+static void ___4_mn_mh_mailbox_impl_check (MNMailbox * self) G_GNUC_UNUSED;
/* pointer to the class of our parent */
static MNMailboxClass *parent_class = NULL;
@@ -123,7 +123,7 @@ mn_mh_mailbox_class_init (MNMHMailboxClass * class G_GNUC_UNUSED)
#line 84 "mn-mh-mailbox.gob"
mn_mailbox_class->impl_is = ___3_mn_mh_mailbox_impl_is;
#line 101 "mn-mh-mailbox.gob"
- mn_mailbox_class->impl_threaded_check = ___4_mn_mh_mailbox_impl_threaded_check;
+ mn_mailbox_class->impl_check = ___4_mn_mh_mailbox_impl_check;
#line 128 "mn-mh-mailbox.c"
{
#line 41 "mn-mh-mailbox.gob"
@@ -226,13 +226,13 @@ ___3_mn_mh_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, MNURI * uri)
#line 101 "mn-mh-mailbox.gob"
static void
-___4_mn_mh_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
+___4_mn_mh_mailbox_impl_check (MNMailbox * self G_GNUC_UNUSED)
#line 231 "mn-mh-mailbox.c"
#define PARENT_HANDLER(___self) \
- { if(MN_MAILBOX_CLASS(parent_class)->impl_threaded_check) \
- (* MN_MAILBOX_CLASS(parent_class)->impl_threaded_check)(___self); }
+ { if(MN_MAILBOX_CLASS(parent_class)->impl_check) \
+ (* MN_MAILBOX_CLASS(parent_class)->impl_check)(___self); }
{
-#define __GOB_FUNCTION__ "MN:MH:Mailbox::impl_threaded_check"
+#define __GOB_FUNCTION__ "MN:MH:Mailbox::impl_check"
#line 101 "mn-mh-mailbox.gob"
g_return_if_fail (self != NULL);
#line 101 "mn-mh-mailbox.gob"
@@ -260,7 +260,7 @@ ___4_mn_mh_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
#endif
while ((result = mn_vfs_read_line(&context, handle, &line)) == GNOME_VFS_OK)
- if (! strncmp(line, "unseen: ", 8))
+ if (g_str_has_prefix(line, "unseen: "))
{
int first;
#ifdef WITH_MIME
diff --git a/src/mn-mh-mailbox.gob b/src/mn-mh-mailbox.gob
@@ -25,7 +25,7 @@ requires 2.0.10
#include "config.h"
#include <stdio.h>
#include <string.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gdk/gdk.h>
#include "mn-mailbox-private.h"
#include "mn-vfs.h"
@@ -99,7 +99,7 @@ class MN:MH:Mailbox from MN:Mailbox
}
override (MN:Mailbox) void
- impl_threaded_check (MN:Mailbox *self (check null type))
+ impl_check (MN:Mailbox *self (check null type))
{
GnomeVFSURI *sequences_uri;
GnomeVFSResult result;
@@ -120,7 +120,7 @@ class MN:MH:Mailbox from MN:Mailbox
#endif
while ((result = mn_vfs_read_line(&context, handle, &line)) == GNOME_VFS_OK)
- if (! strncmp(line, "unseen: ", 8))
+ if (g_str_has_prefix(line, "unseen: "))
{
int first;
#ifdef WITH_MIME
diff --git a/src/mn-pending-mailbox.c b/src/mn-pending-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:53 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-pending-mailbox.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gtk/gtk.h>
#line 33 "mn-pending-mailbox.c"
diff --git a/src/mn-pending-mailbox.gob b/src/mn-pending-mailbox.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gtk/gtk.h>
%}
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.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-pi-mailbox-properties.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-auth-combo-box.h"
@@ -377,31 +377,30 @@ ___1_mn_pi_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_con
g_signal_connect(self->hostname_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
g_signal_connect(self->username_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
- g_signal_connect(self->password_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
return object;
}}
-#line 385 "mn-pi-mailbox-properties.c"
+#line 384 "mn-pi-mailbox-properties.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 168 "mn-pi-mailbox-properties.gob"
+#line 167 "mn-pi-mailbox-properties.gob"
static void
mn_pi_mailbox_properties_notify_expanded_h (GObject * object, GParamSpec * pspec, gpointer user_data)
-#line 392 "mn-pi-mailbox-properties.c"
+#line 391 "mn-pi-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:PI:Mailbox:Properties::notify_expanded_h"
-#line 168 "mn-pi-mailbox-properties.gob"
+#line 167 "mn-pi-mailbox-properties.gob"
g_return_if_fail (object != NULL);
-#line 168 "mn-pi-mailbox-properties.gob"
+#line 167 "mn-pi-mailbox-properties.gob"
g_return_if_fail (G_IS_OBJECT (object));
-#line 168 "mn-pi-mailbox-properties.gob"
+#line 167 "mn-pi-mailbox-properties.gob"
g_return_if_fail (pspec != NULL);
-#line 168 "mn-pi-mailbox-properties.gob"
+#line 167 "mn-pi-mailbox-properties.gob"
g_return_if_fail (user_data != NULL);
-#line 403 "mn-pi-mailbox-properties.c"
+#line 402 "mn-pi-mailbox-properties.c"
{
-#line 172 "mn-pi-mailbox-properties.gob"
+#line 171 "mn-pi-mailbox-properties.gob"
Self *self = user_data;
@@ -410,46 +409,46 @@ mn_pi_mailbox_properties_notify_expanded_h (GObject * object, GParamSpec * pspec
? GTK_SIZE_GROUP_HORIZONTAL
: GTK_SIZE_GROUP_NONE);
}}
-#line 414 "mn-pi-mailbox-properties.c"
+#line 413 "mn-pi-mailbox-properties.c"
#undef __GOB_FUNCTION__
-#line 181 "mn-pi-mailbox-properties.gob"
+#line 180 "mn-pi-mailbox-properties.gob"
void
mn_pi_mailbox_properties_entry_changed_h (GtkEditable * editable, gpointer user_data)
-#line 420 "mn-pi-mailbox-properties.c"
+#line 419 "mn-pi-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:PI:Mailbox:Properties::entry_changed_h"
-#line 181 "mn-pi-mailbox-properties.gob"
+#line 180 "mn-pi-mailbox-properties.gob"
g_return_if_fail (editable != NULL);
-#line 181 "mn-pi-mailbox-properties.gob"
+#line 180 "mn-pi-mailbox-properties.gob"
g_return_if_fail (GTK_IS_EDITABLE (editable));
-#line 181 "mn-pi-mailbox-properties.gob"
+#line 180 "mn-pi-mailbox-properties.gob"
g_return_if_fail (user_data != NULL);
-#line 429 "mn-pi-mailbox-properties.c"
+#line 428 "mn-pi-mailbox-properties.c"
{
-#line 184 "mn-pi-mailbox-properties.gob"
+#line 183 "mn-pi-mailbox-properties.gob"
Self *self = user_data;
g_object_notify(G_OBJECT(self), "complete");
}}
-#line 436 "mn-pi-mailbox-properties.c"
+#line 435 "mn-pi-mailbox-properties.c"
#undef __GOB_FUNCTION__
-#line 189 "mn-pi-mailbox-properties.gob"
+#line 188 "mn-pi-mailbox-properties.gob"
static void
mn_pi_mailbox_properties_radio_toggled_h (GtkToggleButton * togglebutton, gpointer user_data)
-#line 442 "mn-pi-mailbox-properties.c"
+#line 441 "mn-pi-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:PI:Mailbox:Properties::radio_toggled_h"
-#line 189 "mn-pi-mailbox-properties.gob"
+#line 188 "mn-pi-mailbox-properties.gob"
g_return_if_fail (togglebutton != NULL);
-#line 189 "mn-pi-mailbox-properties.gob"
+#line 188 "mn-pi-mailbox-properties.gob"
g_return_if_fail (GTK_IS_TOGGLE_BUTTON (togglebutton));
-#line 189 "mn-pi-mailbox-properties.gob"
+#line 188 "mn-pi-mailbox-properties.gob"
g_return_if_fail (user_data != NULL);
-#line 451 "mn-pi-mailbox-properties.c"
+#line 450 "mn-pi-mailbox-properties.c"
{
-#line 192 "mn-pi-mailbox-properties.gob"
+#line 191 "mn-pi-mailbox-properties.gob"
Self *self = user_data;
int i;
@@ -459,56 +458,54 @@ mn_pi_mailbox_properties_radio_toggled_h (GtkToggleButton * togglebutton, gpoint
g_object_notify(G_OBJECT(self), "complete");
}}
-#line 463 "mn-pi-mailbox-properties.c"
+#line 462 "mn-pi-mailbox-properties.c"
#undef __GOB_FUNCTION__
-#line 202 "mn-pi-mailbox-properties.gob"
+#line 201 "mn-pi-mailbox-properties.gob"
void
mn_pi_mailbox_properties_set_contents (MNPIMailboxProperties * self, gboolean ssl, gboolean inband_ssl, const char * username, const char * password, const char * authmech, const char * hostname, int port)
-#line 469 "mn-pi-mailbox-properties.c"
+#line 468 "mn-pi-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:PI:Mailbox:Properties::set_contents"
-#line 202 "mn-pi-mailbox-properties.gob"
+#line 201 "mn-pi-mailbox-properties.gob"
g_return_if_fail (self != NULL);
-#line 202 "mn-pi-mailbox-properties.gob"
+#line 201 "mn-pi-mailbox-properties.gob"
g_return_if_fail (MN_IS_PI_MAILBOX_PROPERTIES (self));
-#line 202 "mn-pi-mailbox-properties.gob"
+#line 201 "mn-pi-mailbox-properties.gob"
g_return_if_fail (username != NULL);
-#line 202 "mn-pi-mailbox-properties.gob"
- g_return_if_fail (password != NULL);
-#line 202 "mn-pi-mailbox-properties.gob"
+#line 201 "mn-pi-mailbox-properties.gob"
g_return_if_fail (hostname != NULL);
-#line 202 "mn-pi-mailbox-properties.gob"
+#line 201 "mn-pi-mailbox-properties.gob"
g_return_if_fail (port >= 0);
-#line 202 "mn-pi-mailbox-properties.gob"
+#line 201 "mn-pi-mailbox-properties.gob"
g_return_if_fail (port <= 0xFFFF);
-#line 486 "mn-pi-mailbox-properties.c"
+#line 483 "mn-pi-mailbox-properties.c"
{
-#line 211 "mn-pi-mailbox-properties.gob"
+#line 210 "mn-pi-mailbox-properties.gob"
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->conn_radio[ssl ? 2 : (inband_ssl ? 1 : 0)]), TRUE);
gtk_entry_set_text(GTK_ENTRY(self->username_entry), username);
- gtk_entry_set_text(GTK_ENTRY(self->password_entry), password);
+ gtk_entry_set_text(GTK_ENTRY(self->password_entry), MN_POINTER_TO_STRING(password));
mn_auth_combo_box_set_active_mechanism(MN_AUTH_COMBO_BOX(self->auth_combo), (char *) authmech);
gtk_entry_set_text(GTK_ENTRY(self->hostname_entry), hostname);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(self->port_spin[ssl ? 2 : (inband_ssl ? 1 : 0)]), port);
}}
-#line 497 "mn-pi-mailbox-properties.c"
+#line 494 "mn-pi-mailbox-properties.c"
#undef __GOB_FUNCTION__
-#line 220 "mn-pi-mailbox-properties.gob"
+#line 219 "mn-pi-mailbox-properties.gob"
void
mn_pi_mailbox_properties_get_contents (MNPIMailboxProperties * self, gboolean * ssl, gboolean * inband_ssl, const char ** username, const char ** password, char ** authmech, const char ** hostname, int * port)
-#line 503 "mn-pi-mailbox-properties.c"
+#line 500 "mn-pi-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:PI:Mailbox:Properties::get_contents"
-#line 220 "mn-pi-mailbox-properties.gob"
+#line 219 "mn-pi-mailbox-properties.gob"
g_return_if_fail (self != NULL);
-#line 220 "mn-pi-mailbox-properties.gob"
+#line 219 "mn-pi-mailbox-properties.gob"
g_return_if_fail (MN_IS_PI_MAILBOX_PROPERTIES (self));
-#line 510 "mn-pi-mailbox-properties.c"
+#line 507 "mn-pi-mailbox-properties.c"
{
-#line 229 "mn-pi-mailbox-properties.gob"
+#line 228 "mn-pi-mailbox-properties.gob"
gboolean _ssl;
gboolean _inband_ssl;
@@ -523,7 +520,12 @@ mn_pi_mailbox_properties_get_contents (MNPIMailboxProperties * self, gboolean *
if (username)
*username = gtk_entry_get_text(GTK_ENTRY(self->username_entry));
if (password)
- *password = gtk_entry_get_text(GTK_ENTRY(self->password_entry));
+ {
+ const char *_password;
+
+ _password = gtk_entry_get_text(GTK_ENTRY(self->password_entry));
+ *password = MN_STRING_TO_POINTER(_password);
+ }
if (authmech)
*authmech = mn_auth_combo_box_get_active_mechanism(MN_AUTH_COMBO_BOX(self->auth_combo));
if (hostname)
@@ -531,5 +533,5 @@ mn_pi_mailbox_properties_get_contents (MNPIMailboxProperties * self, gboolean *
if (port)
*port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(self->port_spin[_ssl ? 2 : (_inband_ssl ? 1 : 0)]));
}}
-#line 535 "mn-pi-mailbox-properties.c"
+#line 537 "mn-pi-mailbox-properties.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-pi-mailbox-properties.gob b/src/mn-pi-mailbox-properties.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-auth-combo-box.h"
@@ -160,7 +160,6 @@ class MN:PI:Mailbox:Properties from Gtk:VBox (interface MN:Mailbox:Properties)
g_signal_connect(self->hostname_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
g_signal_connect(self->username_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
- g_signal_connect(self->password_entry, "changed", G_CALLBACK(self_entry_changed_h), self);
return object;
}
@@ -204,14 +203,14 @@ class MN:PI:Mailbox:Properties from Gtk:VBox (interface MN:Mailbox:Properties)
gboolean ssl,
gboolean inband_ssl,
const char *username (check null),
- const char *password (check null),
+ const char *password,
const char *authmech,
const char *hostname (check null),
int port (check >= 0 <= 0xFFFF))
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->conn_radio[ssl ? 2 : (inband_ssl ? 1 : 0)]), TRUE);
gtk_entry_set_text(GTK_ENTRY(self->username_entry), username);
- gtk_entry_set_text(GTK_ENTRY(self->password_entry), password);
+ gtk_entry_set_text(GTK_ENTRY(self->password_entry), MN_POINTER_TO_STRING(password));
mn_auth_combo_box_set_active_mechanism(MN_AUTH_COMBO_BOX(self->auth_combo), (char *) authmech);
gtk_entry_set_text(GTK_ENTRY(self->hostname_entry), hostname);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(self->port_spin[ssl ? 2 : (inband_ssl ? 1 : 0)]), port);
@@ -240,7 +239,12 @@ class MN:PI:Mailbox:Properties from Gtk:VBox (interface MN:Mailbox:Properties)
if (username)
*username = gtk_entry_get_text(GTK_ENTRY(self->username_entry));
if (password)
- *password = gtk_entry_get_text(GTK_ENTRY(self->password_entry));
+ {
+ const char *_password;
+
+ _password = gtk_entry_get_text(GTK_ENTRY(self->password_entry));
+ *password = MN_STRING_TO_POINTER(_password);
+ }
if (authmech)
*authmech = mn_auth_combo_box_get_active_mechanism(MN_AUTH_COMBO_BOX(self->auth_combo));
if (hostname)
diff --git a/src/mn-pop3-mailbox-private.h b/src/mn-pop3-mailbox-private.h
@@ -10,9 +10,9 @@ extern "C" {
#endif /* __cplusplus */
struct _MNPOP3MailboxPrivate {
-#line 122 "mn-pop3-mailbox.gob"
- int login_delay;
#line 123 "mn-pop3-mailbox.gob"
+ int login_delay;
+#line 124 "mn-pop3-mailbox.gob"
GTimer * authentication_timer;
#line 18 "mn-pop3-mailbox-private.h"
};
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.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-pop3-mailbox-properties.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-auth-combo-box.h"
@@ -70,9 +70,9 @@ static MNPIMailboxPropertiesClass *parent_class = NULL;
static void
___MN_Mailbox_Properties_init (MNMailboxPropertiesIface *iface)
{
-#line 96 "mn-pop3-mailbox-properties.gob"
+#line 95 "mn-pop3-mailbox-properties.gob"
iface->set_uri = self_set_uri;
-#line 116 "mn-pop3-mailbox-properties.gob"
+#line 115 "mn-pop3-mailbox-properties.gob"
iface->get_uri = self_get_uri;
#line 78 "mn-pop3-mailbox-properties.c"
}
@@ -134,7 +134,7 @@ mn_pop3_mailbox_properties_init (MNPOP3MailboxProperties * o G_GNUC_UNUSED)
#define __GOB_FUNCTION__ "MN:POP3:Mailbox:Properties::init"
}
#undef __GOB_FUNCTION__
-#line 62 "mn-pop3-mailbox-properties.gob"
+#line 61 "mn-pop3-mailbox-properties.gob"
static void
mn_pop3_mailbox_properties_class_init (MNPOP3MailboxPropertiesClass * class G_GNUC_UNUSED)
#line 141 "mn-pop3-mailbox-properties.c"
@@ -144,7 +144,7 @@ mn_pop3_mailbox_properties_class_init (MNPOP3MailboxPropertiesClass * class G_GN
parent_class = g_type_class_ref (MN_TYPE_PI_MAILBOX_PROPERTIES);
-#line 71 "mn-pop3-mailbox-properties.gob"
+#line 70 "mn-pop3-mailbox-properties.gob"
g_object_class->constructor = ___2_mn_pop3_mailbox_properties_constructor;
#line 150 "mn-pop3-mailbox-properties.c"
g_object_class->get_property = ___object_get_property;
@@ -154,7 +154,7 @@ mn_pop3_mailbox_properties_class_init (MNPOP3MailboxPropertiesClass * class G_GN
"complete");
}
{
-#line 63 "mn-pop3-mailbox-properties.gob"
+#line 62 "mn-pop3-mailbox-properties.gob"
MNPIMailboxPropertiesClass *pi_class = MN_PI_MAILBOX_PROPERTIES_CLASS(class);
@@ -186,19 +186,18 @@ ___object_get_property (GObject *object,
MNPIMailboxProperties *pi = MN_PI_MAILBOX_PROPERTIES(self);
gboolean complete;
const char *username;
- const char *password;
const char *hostname;
mn_pi_mailbox_properties_get_contents(pi,
NULL,
NULL,
&username,
- &password,
+ NULL,
NULL,
&hostname,
NULL);
- complete = *username && *password && *hostname;
+ complete = *username && *hostname;
#ifndef WITH_SSL
if (complete)
complete = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pi->conn_radio[0]));
@@ -206,7 +205,7 @@ ___object_get_property (GObject *object,
g_value_set_boolean(VAL, complete);
-#line 210 "mn-pop3-mailbox-properties.c"
+#line 209 "mn-pop3-mailbox-properties.c"
}
break;
default:
@@ -223,10 +222,10 @@ ___object_get_property (GObject *object,
-#line 71 "mn-pop3-mailbox-properties.gob"
+#line 70 "mn-pop3-mailbox-properties.gob"
static GObject *
___2_mn_pop3_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_construct_properties, GObjectConstructParam * construct_params)
-#line 230 "mn-pop3-mailbox-properties.c"
+#line 229 "mn-pop3-mailbox-properties.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): \
@@ -234,7 +233,7 @@ ___2_mn_pop3_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_c
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox:Properties::constructor"
{
-#line 73 "mn-pop3-mailbox-properties.gob"
+#line 72 "mn-pop3-mailbox-properties.gob"
GObject *object;
Self *self;
@@ -250,34 +249,34 @@ ___2_mn_pop3_mailbox_properties_constructor (GType type G_GNUC_UNUSED, guint n_c
mn_tooltips_set_tips(pi->tooltips,
pi->hostname_entry, _("The hostname or IP address of the POP3 server"),
pi->username_entry, _("Your username on the POP3 server"),
- pi->password_entry, _("Your password on the POP3 server"),
+ pi->password_entry, _("Your password on the POP3 server (if left blank, you will be prompted for the password when needed)"),
pi->port_spin[0], _("The port number of the POP3 server"),
pi->port_spin[1], _("The port number of the POP3 server"),
NULL);
return object;
}}
-#line 261 "mn-pop3-mailbox-properties.c"
+#line 260 "mn-pop3-mailbox-properties.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 96 "mn-pop3-mailbox-properties.gob"
+#line 95 "mn-pop3-mailbox-properties.gob"
static gboolean
mn_pop3_mailbox_properties_set_uri (MNMailboxProperties * properties, MNURI * uri)
-#line 268 "mn-pop3-mailbox-properties.c"
+#line 267 "mn-pop3-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox:Properties::set_uri"
-#line 96 "mn-pop3-mailbox-properties.gob"
+#line 95 "mn-pop3-mailbox-properties.gob"
g_return_val_if_fail (properties != NULL, (gboolean )0);
-#line 96 "mn-pop3-mailbox-properties.gob"
+#line 95 "mn-pop3-mailbox-properties.gob"
g_return_val_if_fail (MN_IS_MAILBOX_PROPERTIES (properties), (gboolean )0);
-#line 96 "mn-pop3-mailbox-properties.gob"
+#line 95 "mn-pop3-mailbox-properties.gob"
g_return_val_if_fail (uri != NULL, (gboolean )0);
-#line 96 "mn-pop3-mailbox-properties.gob"
+#line 95 "mn-pop3-mailbox-properties.gob"
g_return_val_if_fail (MN_IS_URI (uri), (gboolean )0);
-#line 279 "mn-pop3-mailbox-properties.c"
+#line 278 "mn-pop3-mailbox-properties.c"
{
-#line 99 "mn-pop3-mailbox-properties.gob"
+#line 98 "mn-pop3-mailbox-properties.gob"
if (MN_URI_IS_POP(uri))
{
@@ -294,22 +293,22 @@ mn_pop3_mailbox_properties_set_uri (MNMailboxProperties * properties, MNURI * ur
else
return FALSE;
}}
-#line 298 "mn-pop3-mailbox-properties.c"
+#line 297 "mn-pop3-mailbox-properties.c"
#undef __GOB_FUNCTION__
-#line 116 "mn-pop3-mailbox-properties.gob"
+#line 115 "mn-pop3-mailbox-properties.gob"
static MNURI *
mn_pop3_mailbox_properties_get_uri (MNMailboxProperties * properties)
-#line 304 "mn-pop3-mailbox-properties.c"
+#line 303 "mn-pop3-mailbox-properties.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox:Properties::get_uri"
-#line 116 "mn-pop3-mailbox-properties.gob"
+#line 115 "mn-pop3-mailbox-properties.gob"
g_return_val_if_fail (properties != NULL, (MNURI * )0);
-#line 116 "mn-pop3-mailbox-properties.gob"
+#line 115 "mn-pop3-mailbox-properties.gob"
g_return_val_if_fail (MN_IS_MAILBOX_PROPERTIES (properties), (MNURI * )0);
-#line 311 "mn-pop3-mailbox-properties.c"
+#line 310 "mn-pop3-mailbox-properties.c"
{
-#line 118 "mn-pop3-mailbox-properties.gob"
+#line 117 "mn-pop3-mailbox-properties.gob"
gboolean ssl;
gboolean inband_ssl;
@@ -334,5 +333,5 @@ mn_pop3_mailbox_properties_get_uri (MNMailboxProperties * properties)
return uri;
}}
-#line 338 "mn-pop3-mailbox-properties.c"
+#line 337 "mn-pop3-mailbox-properties.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-pop3-mailbox-properties.gob b/src/mn-pop3-mailbox-properties.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-properties.h"
#include "mn-mailbox-properties-util.h"
#include "mn-auth-combo-box.h"
@@ -38,19 +38,18 @@ class MN:POP3:Mailbox:Properties from MN:PI:Mailbox:Properties (interface MN:Mai
MNPIMailboxProperties *pi = MN_PI_MAILBOX_PROPERTIES(self);
gboolean complete;
const char *username;
- const char *password;
const char *hostname;
mn_pi_mailbox_properties_get_contents(pi,
NULL,
NULL,
&username,
- &password,
+ NULL,
NULL,
&hostname,
NULL);
- complete = *username && *password && *hostname;
+ complete = *username && *hostname;
#ifndef WITH_SSL
if (complete)
complete = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pi->conn_radio[0]));
@@ -85,7 +84,7 @@ class MN:POP3:Mailbox:Properties from MN:PI:Mailbox:Properties (interface MN:Mai
mn_tooltips_set_tips(pi->tooltips,
pi->hostname_entry, _("The hostname or IP address of the POP3 server"),
pi->username_entry, _("Your username on the POP3 server"),
- pi->password_entry, _("Your password on the POP3 server"),
+ pi->password_entry, _("Your password on the POP3 server (if left blank, you will be prompted for the password when needed)"),
pi->port_spin[0], _("The port number of the POP3 server"),
pi->port_spin[1], _("The port number of the POP3 server"),
NULL);
diff --git a/src/mn-pop3-mailbox.c b/src/mn-pop3-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -29,7 +29,7 @@
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <eel/eel.h>
#include "mn-mailbox-private.h"
@@ -83,6 +83,7 @@
#ifdef WITH_SASL
const char *sasl_mechanism;
#endif
+ gboolean authentication_failed;
gboolean authenticated;
gboolean login_delay_user;
#ifdef WITH_MIME
@@ -108,7 +109,7 @@
char *arguments;
};
-#line 112 "mn-pop3-mailbox.c"
+#line 113 "mn-pop3-mailbox.c"
/* self casting macros */
#define SELF(x) MN_POP3_MAILBOX(x)
#define SELF_CONST(x) MN_POP3_MAILBOX_CONST(x)
@@ -148,7 +149,7 @@ static int mn_pop3_mailbox_enter_stat_cb (MNClientSession * session, MNClientSes
static int mn_pop3_mailbox_handle_stat_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
static int mn_pop3_mailbox_enter_quit_cb (MNClientSession * session, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
static int mn_pop3_mailbox_handle_quit_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
-static void ___19_mn_pop3_mailbox_impl_threaded_check (MNMailbox * mailbox) G_GNUC_UNUSED;
+static MNAuthenticatedMailboxResult ___19_mn_pop3_mailbox_impl_authenticated_check (MNAuthenticatedMailbox * authenticated_mailbox, GError ** err) G_GNUC_UNUSED;
static void mn_pop3_mailbox_notice_cb (MNClientSession * session, const char * str, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
static MNClientSessionResponse * mn_pop3_mailbox_response_new_cb (MNClientSession * session, const char * input, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
static void mn_pop3_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv) G_GNUC_UNUSED;
@@ -161,7 +162,7 @@ static void mn_pop3_mailbox_session_set_error_from_arguments (MNClientSessionPri
static void mn_pop3_mailbox_handle_list_response (MNClientSessionPrivate * priv, MNClientSessionResponse * response) G_GNUC_UNUSED;
/* pointer to the class of our parent */
-static MNMailboxClass *parent_class = NULL;
+static MNAuthenticatedMailboxClass *parent_class = NULL;
/* Short form macros */
#define self_handle_greeting_cb mn_pop3_mailbox_handle_greeting_cb
@@ -214,7 +215,7 @@ mn_pop3_mailbox_get_type (void)
NULL
};
- type = g_type_register_static (MN_TYPE_MAILBOX, "MNPOP3Mailbox", &info, (GTypeFlags)0);
+ type = g_type_register_static (MN_TYPE_AUTHENTICATED_MAILBOX, "MNPOP3Mailbox", &info, (GTypeFlags)0);
}
return type;
@@ -246,9 +247,9 @@ ___finalize(GObject *obj_self)
gpointer priv G_GNUC_UNUSED = self->_priv;
if(G_OBJECT_CLASS(parent_class)->finalize) \
(* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
-#line 123 "mn-pop3-mailbox.gob"
+#line 124 "mn-pop3-mailbox.gob"
if(self->_priv->authentication_timer) { g_timer_destroy ((gpointer) self->_priv->authentication_timer); self->_priv->authentication_timer = NULL; }
-#line 252 "mn-pop3-mailbox.c"
+#line 253 "mn-pop3-mailbox.c"
}
#undef __GOB_FUNCTION__
@@ -259,43 +260,44 @@ mn_pop3_mailbox_init (MNPOP3Mailbox * o G_GNUC_UNUSED)
o->_priv = G_TYPE_INSTANCE_GET_PRIVATE(o,TYPE_SELF,MNPOP3MailboxPrivate);
}
#undef __GOB_FUNCTION__
-#line 125 "mn-pop3-mailbox.gob"
+#line 126 "mn-pop3-mailbox.gob"
static void
mn_pop3_mailbox_class_init (MNPOP3MailboxClass * class G_GNUC_UNUSED)
-#line 266 "mn-pop3-mailbox.c"
+#line 267 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::class_init"
GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) class;
g_type_class_add_private(class,sizeof(MNPOP3MailboxPrivate));
MNMailboxClass *mn_mailbox_class = (MNMailboxClass *)class;
+ MNAuthenticatedMailboxClass *mn_authenticated_mailbox_class = (MNAuthenticatedMailboxClass *)class;
- parent_class = g_type_class_ref (MN_TYPE_MAILBOX);
+ parent_class = g_type_class_ref (MN_TYPE_AUTHENTICATED_MAILBOX);
-#line 130 "mn-pop3-mailbox.gob"
+#line 131 "mn-pop3-mailbox.gob"
g_object_class->constructor = ___2_mn_pop3_mailbox_constructor;
-#line 147 "mn-pop3-mailbox.gob"
+#line 148 "mn-pop3-mailbox.gob"
mn_mailbox_class->impl_is = ___3_mn_pop3_mailbox_impl_is;
-#line 618 "mn-pop3-mailbox.gob"
- mn_mailbox_class->impl_threaded_check = ___19_mn_pop3_mailbox_impl_threaded_check;
-#line 282 "mn-pop3-mailbox.c"
+#line 631 "mn-pop3-mailbox.gob"
+ mn_authenticated_mailbox_class->impl_authenticated_check = ___19_mn_pop3_mailbox_impl_authenticated_check;
+#line 284 "mn-pop3-mailbox.c"
g_object_class->finalize = ___finalize;
{
-#line 126 "mn-pop3-mailbox.gob"
+#line 127 "mn-pop3-mailbox.gob"
MN_MAILBOX_CLASS(class)->format = "POP3";
-#line 289 "mn-pop3-mailbox.c"
+#line 291 "mn-pop3-mailbox.c"
}
}
#undef __GOB_FUNCTION__
-#line 130 "mn-pop3-mailbox.gob"
+#line 131 "mn-pop3-mailbox.gob"
static GObject *
___2_mn_pop3_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_properties, GObjectConstructParam * construct_params)
-#line 299 "mn-pop3-mailbox.c"
+#line 301 "mn-pop3-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): \
@@ -303,7 +305,7 @@ ___2_mn_pop3_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_pr
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::constructor"
{
-#line 132 "mn-pop3-mailbox.gob"
+#line 133 "mn-pop3-mailbox.gob"
GObject *object;
MNMailbox *mailbox;
@@ -318,49 +320,49 @@ ___2_mn_pop3_mailbox_constructor (GType type G_GNUC_UNUSED, guint n_construct_pr
return object;
}}
-#line 322 "mn-pop3-mailbox.c"
+#line 324 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 147 "mn-pop3-mailbox.gob"
+#line 148 "mn-pop3-mailbox.gob"
static gboolean
___3_mn_pop3_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, MNURI * uri)
-#line 329 "mn-pop3-mailbox.c"
+#line 331 "mn-pop3-mailbox.c"
#define PARENT_HANDLER(___dummy,___uri) \
((MN_MAILBOX_CLASS(parent_class)->impl_is)? \
(* MN_MAILBOX_CLASS(parent_class)->impl_is)(___dummy,___uri): \
((gboolean )0))
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::impl_is"
-#line 147 "mn-pop3-mailbox.gob"
+#line 148 "mn-pop3-mailbox.gob"
g_return_val_if_fail (uri != NULL, (gboolean )0);
-#line 147 "mn-pop3-mailbox.gob"
+#line 148 "mn-pop3-mailbox.gob"
g_return_val_if_fail (MN_IS_URI (uri), (gboolean )0);
-#line 340 "mn-pop3-mailbox.c"
+#line 342 "mn-pop3-mailbox.c"
{
-#line 149 "mn-pop3-mailbox.gob"
+#line 150 "mn-pop3-mailbox.gob"
return MN_URI_IS_POP(uri);
}}
-#line 346 "mn-pop3-mailbox.c"
+#line 348 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 153 "mn-pop3-mailbox.gob"
+#line 154 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_greeting_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 353 "mn-pop3-mailbox.c"
+#line 355 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_greeting_cb"
-#line 153 "mn-pop3-mailbox.gob"
+#line 154 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 153 "mn-pop3-mailbox.gob"
+#line 154 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 153 "mn-pop3-mailbox.gob"
+#line 154 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 362 "mn-pop3-mailbox.c"
+#line 364 "mn-pop3-mailbox.c"
{
-#line 157 "mn-pop3-mailbox.gob"
+#line 158 "mn-pop3-mailbox.gob"
priv->session = session;
@@ -387,43 +389,43 @@ mn_pop3_mailbox_handle_greeting_cb (MNClientSession * session, MNClientSessionRe
default: return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
}}
-#line 391 "mn-pop3-mailbox.c"
+#line 393 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 184 "mn-pop3-mailbox.gob"
+#line 185 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_capa_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 397 "mn-pop3-mailbox.c"
+#line 399 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_capa_cb"
-#line 184 "mn-pop3-mailbox.gob"
+#line 185 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 184 "mn-pop3-mailbox.gob"
+#line 185 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 404 "mn-pop3-mailbox.c"
+#line 406 "mn-pop3-mailbox.c"
{
-#line 187 "mn-pop3-mailbox.gob"
+#line 188 "mn-pop3-mailbox.gob"
return mn_client_session_write(session, "CAPA");
}}
-#line 410 "mn-pop3-mailbox.c"
+#line 412 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 191 "mn-pop3-mailbox.gob"
+#line 192 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_capa_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 416 "mn-pop3-mailbox.c"
+#line 418 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_capa_cb"
-#line 191 "mn-pop3-mailbox.gob"
+#line 192 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 191 "mn-pop3-mailbox.gob"
+#line 192 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 191 "mn-pop3-mailbox.gob"
+#line 192 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 425 "mn-pop3-mailbox.c"
+#line 427 "mn-pop3-mailbox.c"
{
-#line 195 "mn-pop3-mailbox.gob"
+#line 196 "mn-pop3-mailbox.gob"
self_handle_list_response(priv, response);
@@ -508,22 +510,22 @@ mn_pop3_mailbox_handle_capa_cb (MNClientSession * session, MNClientSessionRespon
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
}}
-#line 512 "mn-pop3-mailbox.c"
+#line 514 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 280 "mn-pop3-mailbox.gob"
+#line 281 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_stls_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 518 "mn-pop3-mailbox.c"
+#line 520 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_stls_cb"
-#line 280 "mn-pop3-mailbox.gob"
+#line 281 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 280 "mn-pop3-mailbox.gob"
+#line 281 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 525 "mn-pop3-mailbox.c"
+#line 527 "mn-pop3-mailbox.c"
{
-#line 283 "mn-pop3-mailbox.gob"
+#line 284 "mn-pop3-mailbox.gob"
#ifdef WITH_SSL
return mn_client_session_write(session, "STLS");
@@ -531,24 +533,24 @@ mn_pop3_mailbox_enter_stls_cb (MNClientSession * session, MNClientSessionPrivate
g_return_val_if_reached(0);
#endif /* WITH_SSL */
}}
-#line 535 "mn-pop3-mailbox.c"
+#line 537 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 291 "mn-pop3-mailbox.gob"
+#line 292 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_stls_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 541 "mn-pop3-mailbox.c"
+#line 543 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_stls_cb"
-#line 291 "mn-pop3-mailbox.gob"
+#line 292 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 291 "mn-pop3-mailbox.gob"
+#line 292 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 291 "mn-pop3-mailbox.gob"
+#line 292 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 550 "mn-pop3-mailbox.c"
+#line 552 "mn-pop3-mailbox.c"
{
-#line 295 "mn-pop3-mailbox.gob"
+#line 296 "mn-pop3-mailbox.gob"
#ifdef WITH_SSL
switch (response->type)
@@ -569,22 +571,22 @@ mn_pop3_mailbox_handle_stls_cb (MNClientSession * session, MNClientSessionRespon
g_return_val_if_reached(0);
#endif /* WITH_SSL */
}}
-#line 573 "mn-pop3-mailbox.c"
+#line 575 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 316 "mn-pop3-mailbox.gob"
+#line 317 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_auth_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 579 "mn-pop3-mailbox.c"
+#line 581 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_auth_cb"
-#line 316 "mn-pop3-mailbox.gob"
+#line 317 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 316 "mn-pop3-mailbox.gob"
+#line 317 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 586 "mn-pop3-mailbox.c"
+#line 588 "mn-pop3-mailbox.c"
{
-#line 319 "mn-pop3-mailbox.gob"
+#line 320 "mn-pop3-mailbox.gob"
#ifdef WITH_SASL
if (mn_client_session_sasl_authentication_start(priv->session,
@@ -599,24 +601,24 @@ mn_pop3_mailbox_enter_auth_cb (MNClientSession * session, MNClientSessionPrivate
g_return_val_if_reached(0);
#endif /* WITH_SASL */
}}
-#line 603 "mn-pop3-mailbox.c"
+#line 605 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 334 "mn-pop3-mailbox.gob"
+#line 335 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_auth_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 609 "mn-pop3-mailbox.c"
+#line 611 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_auth_cb"
-#line 334 "mn-pop3-mailbox.gob"
+#line 335 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 334 "mn-pop3-mailbox.gob"
+#line 335 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 334 "mn-pop3-mailbox.gob"
+#line 335 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 618 "mn-pop3-mailbox.c"
+#line 620 "mn-pop3-mailbox.c"
{
-#line 338 "mn-pop3-mailbox.gob"
+#line 339 "mn-pop3-mailbox.gob"
#ifdef WITH_SASL
switch (response->type)
@@ -639,22 +641,22 @@ mn_pop3_mailbox_handle_auth_cb (MNClientSession * session, MNClientSessionRespon
g_return_val_if_reached(0);
#endif /* WITH_SASL */
}}
-#line 643 "mn-pop3-mailbox.c"
+#line 645 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 361 "mn-pop3-mailbox.gob"
+#line 362 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_apop_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 649 "mn-pop3-mailbox.c"
+#line 651 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_apop_cb"
-#line 361 "mn-pop3-mailbox.gob"
+#line 362 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 361 "mn-pop3-mailbox.gob"
+#line 362 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 656 "mn-pop3-mailbox.c"
+#line 658 "mn-pop3-mailbox.c"
{
-#line 364 "mn-pop3-mailbox.gob"
+#line 365 "mn-pop3-mailbox.gob"
MNMD5Context context;
char buf[33];
@@ -663,29 +665,29 @@ mn_pop3_mailbox_enter_apop_cb (MNClientSession * session, MNClientSessionPrivate
mn_md5_init(&context);
mn_md5_update(&context, priv->apop_timestamp, strlen(priv->apop_timestamp));
- mn_md5_update(&context, priv->mailbox->uri->password, strlen(priv->mailbox->uri->password));
+ mn_md5_update(&context, MN_AUTHENTICATED_MAILBOX(priv->self)->password, strlen(MN_AUTHENTICATED_MAILBOX(priv->self)->password));
mn_md5_end(&context, buf);
return mn_client_session_write(session, "APOP %s %s", priv->mailbox->uri->username, buf);
}}
-#line 672 "mn-pop3-mailbox.c"
+#line 674 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 378 "mn-pop3-mailbox.gob"
+#line 379 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_apop_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 678 "mn-pop3-mailbox.c"
+#line 680 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_apop_cb"
-#line 378 "mn-pop3-mailbox.gob"
+#line 379 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 378 "mn-pop3-mailbox.gob"
+#line 379 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 378 "mn-pop3-mailbox.gob"
+#line 379 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 687 "mn-pop3-mailbox.c"
+#line 689 "mn-pop3-mailbox.c"
{
-#line 382 "mn-pop3-mailbox.gob"
+#line 383 "mn-pop3-mailbox.gob"
switch (response->type)
{
@@ -699,112 +701,124 @@ mn_pop3_mailbox_handle_apop_cb (MNClientSession * session, MNClientSessionRespon
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
}}
-#line 703 "mn-pop3-mailbox.c"
+#line 705 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 396 "mn-pop3-mailbox.gob"
+#line 397 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_user_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 709 "mn-pop3-mailbox.c"
+#line 711 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_user_cb"
-#line 396 "mn-pop3-mailbox.gob"
+#line 397 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 396 "mn-pop3-mailbox.gob"
+#line 397 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 716 "mn-pop3-mailbox.c"
+#line 718 "mn-pop3-mailbox.c"
{
-#line 399 "mn-pop3-mailbox.gob"
+#line 400 "mn-pop3-mailbox.gob"
return mn_client_session_write(session, "USER %s", priv->mailbox->uri->username);
}}
-#line 722 "mn-pop3-mailbox.c"
+#line 724 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 403 "mn-pop3-mailbox.gob"
+#line 404 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_user_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 728 "mn-pop3-mailbox.c"
+#line 730 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_user_cb"
-#line 403 "mn-pop3-mailbox.gob"
+#line 404 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 403 "mn-pop3-mailbox.gob"
+#line 404 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 403 "mn-pop3-mailbox.gob"
+#line 404 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 737 "mn-pop3-mailbox.c"
+#line 739 "mn-pop3-mailbox.c"
{
-#line 407 "mn-pop3-mailbox.gob"
+#line 408 "mn-pop3-mailbox.gob"
switch (response->type)
{
- case RESPONSE_OK: return STATE_PASS;
- case RESPONSE_ERR: return RESULT_ERROR_QUIT;
- default: return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
+ case RESPONSE_OK:
+ return STATE_PASS;
+
+ case RESPONSE_ERR:
+ priv->authentication_failed = TRUE;
+ return RESULT_ERROR_QUIT;
+
+ default:
+ return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
}}
-#line 748 "mn-pop3-mailbox.c"
+#line 756 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 416 "mn-pop3-mailbox.gob"
+#line 423 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_pass_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 754 "mn-pop3-mailbox.c"
+#line 762 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_pass_cb"
-#line 416 "mn-pop3-mailbox.gob"
+#line 423 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 416 "mn-pop3-mailbox.gob"
+#line 423 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 761 "mn-pop3-mailbox.c"
+#line 769 "mn-pop3-mailbox.c"
{
-#line 419 "mn-pop3-mailbox.gob"
+#line 426 "mn-pop3-mailbox.gob"
- return mn_client_session_write(session, "PASS %s", priv->mailbox->uri->password);
+ return mn_client_session_write(session, "PASS %s", MN_AUTHENTICATED_MAILBOX(priv->self)->password);
}}
-#line 767 "mn-pop3-mailbox.c"
+#line 775 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 423 "mn-pop3-mailbox.gob"
+#line 430 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_pass_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 773 "mn-pop3-mailbox.c"
+#line 781 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_pass_cb"
-#line 423 "mn-pop3-mailbox.gob"
+#line 430 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 423 "mn-pop3-mailbox.gob"
+#line 430 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 423 "mn-pop3-mailbox.gob"
+#line 430 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 782 "mn-pop3-mailbox.c"
+#line 790 "mn-pop3-mailbox.c"
{
-#line 427 "mn-pop3-mailbox.gob"
+#line 434 "mn-pop3-mailbox.gob"
switch (response->type)
{
- case RESPONSE_OK: return self_session_authenticated(priv);
- case RESPONSE_ERR: return RESULT_ERROR_QUIT;
- default: return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
+ case RESPONSE_OK:
+ return self_session_authenticated(priv);
+
+ case RESPONSE_ERR:
+ priv->authentication_failed = TRUE;
+ return RESULT_ERROR_QUIT;
+
+ default:
+ return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
}}
-#line 793 "mn-pop3-mailbox.c"
+#line 807 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 436 "mn-pop3-mailbox.gob"
+#line 449 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_list_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 799 "mn-pop3-mailbox.c"
+#line 813 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_list_cb"
-#line 436 "mn-pop3-mailbox.gob"
+#line 449 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 436 "mn-pop3-mailbox.gob"
+#line 449 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 806 "mn-pop3-mailbox.c"
+#line 820 "mn-pop3-mailbox.c"
{
-#line 439 "mn-pop3-mailbox.gob"
+#line 452 "mn-pop3-mailbox.gob"
#ifdef WITH_MIME
return mn_client_session_write(session, "LIST");
@@ -812,24 +826,24 @@ mn_pop3_mailbox_enter_list_cb (MNClientSession * session, MNClientSessionPrivate
g_return_val_if_reached(0);
#endif
}}
-#line 816 "mn-pop3-mailbox.c"
+#line 830 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 447 "mn-pop3-mailbox.gob"
+#line 460 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_list_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 822 "mn-pop3-mailbox.c"
+#line 836 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_list_cb"
-#line 447 "mn-pop3-mailbox.gob"
+#line 460 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 447 "mn-pop3-mailbox.gob"
+#line 460 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 447 "mn-pop3-mailbox.gob"
+#line 460 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 831 "mn-pop3-mailbox.c"
+#line 845 "mn-pop3-mailbox.c"
{
-#line 451 "mn-pop3-mailbox.gob"
+#line 464 "mn-pop3-mailbox.gob"
#ifdef WITH_MIME
self_handle_list_response(priv, response);
@@ -865,22 +879,22 @@ mn_pop3_mailbox_handle_list_cb (MNClientSession * session, MNClientSessionRespon
g_return_val_if_reached(0);
#endif
}}
-#line 869 "mn-pop3-mailbox.c"
+#line 883 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 487 "mn-pop3-mailbox.gob"
+#line 500 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_retr_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 875 "mn-pop3-mailbox.c"
+#line 889 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_retr_cb"
-#line 487 "mn-pop3-mailbox.gob"
+#line 500 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 487 "mn-pop3-mailbox.gob"
+#line 500 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 882 "mn-pop3-mailbox.c"
+#line 896 "mn-pop3-mailbox.c"
{
-#line 490 "mn-pop3-mailbox.gob"
+#line 503 "mn-pop3-mailbox.gob"
#ifdef WITH_MIME
if (priv->current_message_number)
@@ -899,24 +913,24 @@ mn_pop3_mailbox_enter_retr_cb (MNClientSession * session, MNClientSessionPrivate
g_return_val_if_reached(0);
#endif
}}
-#line 903 "mn-pop3-mailbox.c"
+#line 917 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 509 "mn-pop3-mailbox.gob"
+#line 522 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_retr_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 909 "mn-pop3-mailbox.c"
+#line 923 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_retr_cb"
-#line 509 "mn-pop3-mailbox.gob"
+#line 522 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 509 "mn-pop3-mailbox.gob"
+#line 522 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 509 "mn-pop3-mailbox.gob"
+#line 522 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 918 "mn-pop3-mailbox.c"
+#line 932 "mn-pop3-mailbox.c"
{
-#line 513 "mn-pop3-mailbox.gob"
+#line 526 "mn-pop3-mailbox.gob"
#ifdef WITH_MIME
self_handle_list_response(priv, response);
@@ -955,22 +969,22 @@ mn_pop3_mailbox_handle_retr_cb (MNClientSession * session, MNClientSessionRespon
g_return_val_if_reached(0);
#endif
}}
-#line 959 "mn-pop3-mailbox.c"
+#line 973 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 552 "mn-pop3-mailbox.gob"
+#line 565 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_stat_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 965 "mn-pop3-mailbox.c"
+#line 979 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_stat_cb"
-#line 552 "mn-pop3-mailbox.gob"
+#line 565 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 552 "mn-pop3-mailbox.gob"
+#line 565 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 972 "mn-pop3-mailbox.c"
+#line 986 "mn-pop3-mailbox.c"
{
-#line 555 "mn-pop3-mailbox.gob"
+#line 568 "mn-pop3-mailbox.gob"
#ifndef WITH_MIME
return mn_client_session_write(session, "STAT");
@@ -978,24 +992,24 @@ mn_pop3_mailbox_enter_stat_cb (MNClientSession * session, MNClientSessionPrivate
g_return_val_if_reached(0);
#endif
}}
-#line 982 "mn-pop3-mailbox.c"
+#line 996 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 563 "mn-pop3-mailbox.gob"
+#line 576 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_stat_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 988 "mn-pop3-mailbox.c"
+#line 1002 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_stat_cb"
-#line 563 "mn-pop3-mailbox.gob"
+#line 576 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 563 "mn-pop3-mailbox.gob"
+#line 576 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 563 "mn-pop3-mailbox.gob"
+#line 576 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 997 "mn-pop3-mailbox.c"
+#line 1011 "mn-pop3-mailbox.c"
{
-#line 567 "mn-pop3-mailbox.gob"
+#line 580 "mn-pop3-mailbox.gob"
#ifndef WITH_MIME
switch (response->type)
@@ -1026,43 +1040,43 @@ mn_pop3_mailbox_handle_stat_cb (MNClientSession * session, MNClientSessionRespon
g_return_val_if_reached(0);
#endif
}}
-#line 1030 "mn-pop3-mailbox.c"
+#line 1044 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 598 "mn-pop3-mailbox.gob"
+#line 611 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_enter_quit_cb (MNClientSession * session, MNClientSessionPrivate * priv)
-#line 1036 "mn-pop3-mailbox.c"
+#line 1050 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::enter_quit_cb"
-#line 598 "mn-pop3-mailbox.gob"
+#line 611 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 598 "mn-pop3-mailbox.gob"
+#line 611 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1043 "mn-pop3-mailbox.c"
+#line 1057 "mn-pop3-mailbox.c"
{
-#line 601 "mn-pop3-mailbox.gob"
+#line 614 "mn-pop3-mailbox.gob"
return mn_client_session_write(session, "QUIT");
}}
-#line 1049 "mn-pop3-mailbox.c"
+#line 1063 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 605 "mn-pop3-mailbox.gob"
+#line 618 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_handle_quit_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 1055 "mn-pop3-mailbox.c"
+#line 1069 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_quit_cb"
-#line 605 "mn-pop3-mailbox.gob"
+#line 618 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 605 "mn-pop3-mailbox.gob"
+#line 618 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 605 "mn-pop3-mailbox.gob"
+#line 618 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1064 "mn-pop3-mailbox.c"
+#line 1078 "mn-pop3-mailbox.c"
{
-#line 609 "mn-pop3-mailbox.gob"
+#line 622 "mn-pop3-mailbox.gob"
switch (response->type)
{
@@ -1071,27 +1085,29 @@ mn_pop3_mailbox_handle_quit_cb (MNClientSession * session, MNClientSessionRespon
default: return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
}}
-#line 1075 "mn-pop3-mailbox.c"
+#line 1089 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 618 "mn-pop3-mailbox.gob"
-static void
-___19_mn_pop3_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
-#line 1081 "mn-pop3-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:POP3:Mailbox::impl_threaded_check"
-#line 618 "mn-pop3-mailbox.gob"
- g_return_if_fail (mailbox != NULL);
-#line 618 "mn-pop3-mailbox.gob"
- g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 1091 "mn-pop3-mailbox.c"
-{
-#line 620 "mn-pop3-mailbox.gob"
+#line 631 "mn-pop3-mailbox.gob"
+static MNAuthenticatedMailboxResult
+___19_mn_pop3_mailbox_impl_authenticated_check (MNAuthenticatedMailbox * authenticated_mailbox G_GNUC_UNUSED, GError ** err)
+#line 1095 "mn-pop3-mailbox.c"
+#define PARENT_HANDLER(___authenticated_mailbox,___err) \
+ ((MN_AUTHENTICATED_MAILBOX_CLASS(parent_class)->impl_authenticated_check)? \
+ (* MN_AUTHENTICATED_MAILBOX_CLASS(parent_class)->impl_authenticated_check)(___authenticated_mailbox,___err): \
+ ((MNAuthenticatedMailboxResult )0))
+{
+#define __GOB_FUNCTION__ "MN:POP3:Mailbox::impl_authenticated_check"
+#line 631 "mn-pop3-mailbox.gob"
+ g_return_val_if_fail (authenticated_mailbox != NULL, (MNAuthenticatedMailboxResult )0);
+#line 631 "mn-pop3-mailbox.gob"
+ g_return_val_if_fail (MN_IS_AUTHENTICATED_MAILBOX (authenticated_mailbox), (MNAuthenticatedMailboxResult )0);
+#line 1106 "mn-pop3-mailbox.c"
+{
+#line 634 "mn-pop3-mailbox.gob"
- Self *self = SELF(mailbox);
+ MNMailbox *mailbox = MN_MAILBOX(authenticated_mailbox);
+ Self *self = SELF(authenticated_mailbox);
MNClientSessionState states[] = {
{ STATE_GREETING, NULL, self_handle_greeting_cb },
{ STATE_CAPA, self_enter_capa_cb, self_handle_capa_cb },
@@ -1121,7 +1137,7 @@ ___19_mn_pop3_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
self_custom_handler_cb
};
MNClientSessionPrivate priv;
- GError *err = NULL;
+ gboolean status;
if (selfp->login_delay && selfp->authentication_timer)
{
@@ -1148,29 +1164,17 @@ ___19_mn_pop3_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
priv.mailbox = mailbox;
priv.self = self;
- if (! mn_client_session_run(states,
- &callbacks,
+ status = mn_client_session_run(states,
+ &callbacks,
#ifdef WITH_SSL
- MN_URI_IS_SSL(mailbox->uri),
+ MN_URI_IS_SSL(mailbox->uri),
#endif
- mailbox->uri->hostname,
- mailbox->uri->port,
- mailbox->uri->username,
- mailbox->uri->password,
- &priv,
- &err))
- {
- GDK_THREADS_ENTER();
- mn_mailbox_set_error(mailbox, "%s", err->message);
- gdk_flush();
- GDK_THREADS_LEAVE();
- g_error_free(err);
- }
-
- GDK_THREADS_ENTER();
- mn_mailbox_end_check(mailbox);
- gdk_flush();
- GDK_THREADS_LEAVE();
+ mailbox->uri->hostname,
+ mailbox->uri->port,
+ mailbox->uri->username,
+ MN_AUTHENTICATED_MAILBOX(self)->password,
+ &priv,
+ err);
g_free(priv.apop_timestamp);
eel_g_slist_free_deep(priv.auth_mechanisms);
@@ -1180,47 +1184,53 @@ ___19_mn_pop3_mailbox_impl_threaded_check (MNMailbox * mailbox G_GNUC_UNUSED)
if (priv.current_message)
g_string_free(priv.current_message, TRUE);
#endif
+
+ return status
+ ? MN_AUTHENTICATED_MAILBOX_OK
+ : (priv.authentication_failed
+ ? MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION
+ : MN_AUTHENTICATED_MAILBOX_ERROR_OTHER);
}}
-#line 1185 "mn-pop3-mailbox.c"
+#line 1195 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 712 "mn-pop3-mailbox.gob"
+#line 721 "mn-pop3-mailbox.gob"
static void
mn_pop3_mailbox_notice_cb (MNClientSession * session, const char * str, MNClientSessionPrivate * priv)
-#line 1192 "mn-pop3-mailbox.c"
+#line 1202 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::notice_cb"
-#line 712 "mn-pop3-mailbox.gob"
+#line 721 "mn-pop3-mailbox.gob"
g_return_if_fail (session != NULL);
-#line 712 "mn-pop3-mailbox.gob"
+#line 721 "mn-pop3-mailbox.gob"
g_return_if_fail (str != NULL);
-#line 712 "mn-pop3-mailbox.gob"
+#line 721 "mn-pop3-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 1201 "mn-pop3-mailbox.c"
+#line 1211 "mn-pop3-mailbox.c"
{
-#line 716 "mn-pop3-mailbox.gob"
+#line 725 "mn-pop3-mailbox.gob"
mn_mailbox_notice(priv->mailbox, "%s", str);
}}
-#line 1207 "mn-pop3-mailbox.c"
+#line 1217 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 720 "mn-pop3-mailbox.gob"
+#line 729 "mn-pop3-mailbox.gob"
static MNClientSessionResponse *
mn_pop3_mailbox_response_new_cb (MNClientSession * session, const char * input, MNClientSessionPrivate * priv)
-#line 1213 "mn-pop3-mailbox.c"
+#line 1223 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::response_new_cb"
-#line 720 "mn-pop3-mailbox.gob"
+#line 729 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (MNClientSessionResponse * )0);
-#line 720 "mn-pop3-mailbox.gob"
+#line 729 "mn-pop3-mailbox.gob"
g_return_val_if_fail (input != NULL, (MNClientSessionResponse * )0);
-#line 720 "mn-pop3-mailbox.gob"
+#line 729 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (MNClientSessionResponse * )0);
-#line 1222 "mn-pop3-mailbox.c"
+#line 1232 "mn-pop3-mailbox.c"
{
-#line 724 "mn-pop3-mailbox.gob"
+#line 733 "mn-pop3-mailbox.gob"
MNClientSessionResponse *response = NULL;
@@ -1229,7 +1239,7 @@ mn_pop3_mailbox_response_new_cb (MNClientSession * session, const char * input,
response = g_new0(MNClientSessionResponse, 1);
if (! strcmp(input, "."))
response->type = RESPONSE_LIST_END;
- else if (! strncmp(input, "..", 2))
+ else if (g_str_has_prefix(input, ".."))
{
response->type = RESPONSE_LIST_ITEM;
response->arguments = g_strdup(input + 1); /* skip the initial dot */
@@ -1242,7 +1252,7 @@ mn_pop3_mailbox_response_new_cb (MNClientSession * session, const char * input,
}
else
{
- if (! strncmp(input, "+ ", 2))
+ if (g_str_has_prefix(input, "+ "))
{
response = g_new0(MNClientSessionResponse, 1);
response->type = RESPONSE_CONTINUATION;
@@ -1253,12 +1263,12 @@ mn_pop3_mailbox_response_new_cb (MNClientSession * session, const char * input,
ResponseType type;
int after_status = 0;
- if (! strncmp(input, "+OK", 3))
+ if (g_str_has_prefix(input, "+OK"))
{
type = RESPONSE_OK;
after_status = 3;
}
- else if (! strncmp(input, "-ERR", 4))
+ else if (g_str_has_prefix(input, "-ERR"))
{
type = RESPONSE_ERR;
after_status = 4;
@@ -1279,46 +1289,46 @@ mn_pop3_mailbox_response_new_cb (MNClientSession * session, const char * input,
return response;
}}
-#line 1283 "mn-pop3-mailbox.c"
+#line 1293 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 783 "mn-pop3-mailbox.gob"
+#line 792 "mn-pop3-mailbox.gob"
static void
mn_pop3_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
-#line 1289 "mn-pop3-mailbox.c"
+#line 1299 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::response_free_cb"
-#line 783 "mn-pop3-mailbox.gob"
+#line 792 "mn-pop3-mailbox.gob"
g_return_if_fail (session != NULL);
-#line 783 "mn-pop3-mailbox.gob"
+#line 792 "mn-pop3-mailbox.gob"
g_return_if_fail (response != NULL);
-#line 783 "mn-pop3-mailbox.gob"
+#line 792 "mn-pop3-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 1298 "mn-pop3-mailbox.c"
+#line 1308 "mn-pop3-mailbox.c"
{
-#line 787 "mn-pop3-mailbox.gob"
+#line 796 "mn-pop3-mailbox.gob"
g_free(response->arguments);
g_free(response);
}}
-#line 1305 "mn-pop3-mailbox.c"
+#line 1315 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 792 "mn-pop3-mailbox.gob"
+#line 801 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_custom_handler_cb (MNClientSession * session, MNClientSessionResponse * response, int result, MNClientSessionPrivate * priv)
-#line 1311 "mn-pop3-mailbox.c"
+#line 1321 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::custom_handler_cb"
-#line 792 "mn-pop3-mailbox.gob"
+#line 801 "mn-pop3-mailbox.gob"
g_return_val_if_fail (session != NULL, (int )0);
-#line 792 "mn-pop3-mailbox.gob"
+#line 801 "mn-pop3-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 792 "mn-pop3-mailbox.gob"
+#line 801 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1320 "mn-pop3-mailbox.c"
+#line 1330 "mn-pop3-mailbox.c"
{
-#line 797 "mn-pop3-mailbox.gob"
+#line 806 "mn-pop3-mailbox.gob"
switch (result)
{
@@ -1334,20 +1344,20 @@ mn_pop3_mailbox_custom_handler_cb (MNClientSession * session, MNClientSessionRes
g_return_val_if_reached(0);
}
}}
-#line 1338 "mn-pop3-mailbox.c"
+#line 1348 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 813 "mn-pop3-mailbox.gob"
+#line 822 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_session_authenticate (MNClientSessionPrivate * priv)
-#line 1344 "mn-pop3-mailbox.c"
+#line 1354 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::session_authenticate"
-#line 813 "mn-pop3-mailbox.gob"
+#line 822 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1349 "mn-pop3-mailbox.c"
+#line 1359 "mn-pop3-mailbox.c"
{
-#line 815 "mn-pop3-mailbox.gob"
+#line 824 "mn-pop3-mailbox.gob"
if (priv->mailbox->uri->authmech)
{
@@ -1383,20 +1393,20 @@ mn_pop3_mailbox_session_authenticate (MNClientSessionPrivate * priv)
return STATE_USER;
}
}}
-#line 1387 "mn-pop3-mailbox.c"
+#line 1397 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 851 "mn-pop3-mailbox.gob"
+#line 860 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv, gboolean tried_apop)
-#line 1393 "mn-pop3-mailbox.c"
+#line 1403 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::session_authenticate_fallback"
-#line 851 "mn-pop3-mailbox.gob"
+#line 860 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1398 "mn-pop3-mailbox.c"
+#line 1408 "mn-pop3-mailbox.c"
{
-#line 854 "mn-pop3-mailbox.gob"
+#line 863 "mn-pop3-mailbox.gob"
if (! priv->mailbox->uri->authmech)
{
@@ -1412,22 +1422,23 @@ mn_pop3_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv, gb
}
}
+ priv->authentication_failed = TRUE;
return mn_client_session_error(priv->session, _("authentication failed"));
}}
-#line 1418 "mn-pop3-mailbox.c"
+#line 1429 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 872 "mn-pop3-mailbox.gob"
+#line 882 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_session_authenticated (MNClientSessionPrivate * priv)
-#line 1424 "mn-pop3-mailbox.c"
+#line 1435 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::session_authenticated"
-#line 872 "mn-pop3-mailbox.gob"
+#line 882 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1429 "mn-pop3-mailbox.c"
+#line 1440 "mn-pop3-mailbox.c"
{
-#line 874 "mn-pop3-mailbox.gob"
+#line 884 "mn-pop3-mailbox.gob"
priv->authenticated = TRUE;
if (priv->self->_priv->login_delay)
@@ -1439,20 +1450,20 @@ mn_pop3_mailbox_session_authenticated (MNClientSessionPrivate * priv)
}
return priv->login_delay_user ? STATE_CAPA : self_session_check_mail(priv);
}}
-#line 1443 "mn-pop3-mailbox.c"
+#line 1454 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 886 "mn-pop3-mailbox.gob"
+#line 896 "mn-pop3-mailbox.gob"
static int
mn_pop3_mailbox_session_check_mail (MNClientSessionPrivate * priv)
-#line 1449 "mn-pop3-mailbox.c"
+#line 1460 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::session_check_mail"
-#line 886 "mn-pop3-mailbox.gob"
+#line 896 "mn-pop3-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1454 "mn-pop3-mailbox.c"
+#line 1465 "mn-pop3-mailbox.c"
{
-#line 888 "mn-pop3-mailbox.gob"
+#line 898 "mn-pop3-mailbox.gob"
#ifdef WITH_MIME
return STATE_LIST;
@@ -1460,44 +1471,44 @@ mn_pop3_mailbox_session_check_mail (MNClientSessionPrivate * priv)
return STATE_STAT;
#endif
}}
-#line 1464 "mn-pop3-mailbox.c"
+#line 1475 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 896 "mn-pop3-mailbox.gob"
+#line 906 "mn-pop3-mailbox.gob"
static void
mn_pop3_mailbox_session_set_error_from_arguments (MNClientSessionPrivate * priv, MNClientSessionResponse * response)
-#line 1470 "mn-pop3-mailbox.c"
+#line 1481 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::session_set_error_from_arguments"
-#line 896 "mn-pop3-mailbox.gob"
+#line 906 "mn-pop3-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 896 "mn-pop3-mailbox.gob"
+#line 906 "mn-pop3-mailbox.gob"
g_return_if_fail (response != NULL);
-#line 1477 "mn-pop3-mailbox.c"
+#line 1488 "mn-pop3-mailbox.c"
{
-#line 899 "mn-pop3-mailbox.gob"
+#line 909 "mn-pop3-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 1486 "mn-pop3-mailbox.c"
+#line 1497 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
-#line 906 "mn-pop3-mailbox.gob"
+#line 916 "mn-pop3-mailbox.gob"
static void
mn_pop3_mailbox_handle_list_response (MNClientSessionPrivate * priv, MNClientSessionResponse * response)
-#line 1492 "mn-pop3-mailbox.c"
+#line 1503 "mn-pop3-mailbox.c"
{
#define __GOB_FUNCTION__ "MN:POP3:Mailbox::handle_list_response"
-#line 906 "mn-pop3-mailbox.gob"
+#line 916 "mn-pop3-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 906 "mn-pop3-mailbox.gob"
+#line 916 "mn-pop3-mailbox.gob"
g_return_if_fail (response != NULL);
-#line 1499 "mn-pop3-mailbox.c"
+#line 1510 "mn-pop3-mailbox.c"
{
-#line 909 "mn-pop3-mailbox.gob"
+#line 919 "mn-pop3-mailbox.gob"
switch (response->type)
{
@@ -1513,5 +1524,5 @@ mn_pop3_mailbox_handle_list_response (MNClientSessionPrivate * priv, MNClientSes
break;
}
}}
-#line 1517 "mn-pop3-mailbox.c"
+#line 1528 "mn-pop3-mailbox.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-pop3-mailbox.gob b/src/mn-pop3-mailbox.gob
@@ -28,7 +28,7 @@
requires 2.0.10
%headertop{
-#include "mn-mailbox.h"
+#include "mn-authenticated-mailbox.h"
%}
%{
#include "config.h"
@@ -37,7 +37,7 @@ requires 2.0.10
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <eel/eel.h>
#include "mn-mailbox-private.h"
@@ -91,6 +91,7 @@ requires 2.0.10
#ifdef WITH_SASL
const char *sasl_mechanism;
#endif
+ gboolean authentication_failed;
gboolean authenticated;
gboolean login_delay_user;
#ifdef WITH_MIME
@@ -117,7 +118,7 @@ requires 2.0.10
};
%}
-class MN:POP3:Mailbox from MN:Mailbox
+class MN:POP3:Mailbox from MN:Authenticated:Mailbox
{
private int login_delay;
private GTimer *authentication_timer destroywith g_timer_destroy;
@@ -369,7 +370,7 @@ class MN:POP3:Mailbox from MN:Mailbox
mn_md5_init(&context);
mn_md5_update(&context, priv->apop_timestamp, strlen(priv->apop_timestamp));
- mn_md5_update(&context, priv->mailbox->uri->password, strlen(priv->mailbox->uri->password));
+ mn_md5_update(&context, MN_AUTHENTICATED_MAILBOX(priv->self)->password, strlen(MN_AUTHENTICATED_MAILBOX(priv->self)->password));
mn_md5_end(&context, buf);
return mn_client_session_write(session, "APOP %s %s", priv->mailbox->uri->username, buf);
@@ -407,9 +408,15 @@ class MN:POP3:Mailbox from MN:Mailbox
{
switch (response->type)
{
- case RESPONSE_OK: return STATE_PASS;
- case RESPONSE_ERR: return RESULT_ERROR_QUIT;
- default: return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
+ case RESPONSE_OK:
+ return STATE_PASS;
+
+ case RESPONSE_ERR:
+ priv->authentication_failed = TRUE;
+ return RESULT_ERROR_QUIT;
+
+ default:
+ return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
}
@@ -417,7 +424,7 @@ class MN:POP3:Mailbox from MN:Mailbox
enter_pass_cb (MNClientSession *session (check null),
MNClientSessionPrivate *priv (check null))
{
- return mn_client_session_write(session, "PASS %s", priv->mailbox->uri->password);
+ return mn_client_session_write(session, "PASS %s", MN_AUTHENTICATED_MAILBOX(priv->self)->password);
}
private int
@@ -427,9 +434,15 @@ class MN:POP3:Mailbox from MN:Mailbox
{
switch (response->type)
{
- case RESPONSE_OK: return self_session_authenticated(priv);
- case RESPONSE_ERR: return RESULT_ERROR_QUIT;
- default: return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
+ case RESPONSE_OK:
+ return self_session_authenticated(priv);
+
+ case RESPONSE_ERR:
+ priv->authentication_failed = TRUE;
+ return RESULT_ERROR_QUIT;
+
+ default:
+ return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
}
}
@@ -615,10 +628,12 @@ class MN:POP3:Mailbox from MN:Mailbox
}
}
- override (MN:Mailbox) void
- impl_threaded_check (MN:Mailbox *mailbox (check null type))
+ override (MN:Authenticated:Mailbox) MNAuthenticatedMailboxResult
+ impl_authenticated_check (MN:Authenticated:Mailbox *authenticated_mailbox (check null type),
+ GError **err)
{
- Self *self = SELF(mailbox);
+ MNMailbox *mailbox = MN_MAILBOX(authenticated_mailbox);
+ Self *self = SELF(authenticated_mailbox);
MNClientSessionState states[] = {
{ STATE_GREETING, NULL, self_handle_greeting_cb },
{ STATE_CAPA, self_enter_capa_cb, self_handle_capa_cb },
@@ -648,7 +663,7 @@ class MN:POP3:Mailbox from MN:Mailbox
self_custom_handler_cb
};
MNClientSessionPrivate priv;
- GError *err = NULL;
+ gboolean status;
if (selfp->login_delay && selfp->authentication_timer)
{
@@ -675,29 +690,17 @@ class MN:POP3:Mailbox from MN:Mailbox
priv.mailbox = mailbox;
priv.self = self;
- if (! mn_client_session_run(states,
- &callbacks,
+ status = mn_client_session_run(states,
+ &callbacks,
#ifdef WITH_SSL
- MN_URI_IS_SSL(mailbox->uri),
+ MN_URI_IS_SSL(mailbox->uri),
#endif
- mailbox->uri->hostname,
- mailbox->uri->port,
- mailbox->uri->username,
- mailbox->uri->password,
- &priv,
- &err))
- {
- GDK_THREADS_ENTER();
- mn_mailbox_set_error(mailbox, "%s", err->message);
- gdk_flush();
- GDK_THREADS_LEAVE();
- g_error_free(err);
- }
-
- GDK_THREADS_ENTER();
- mn_mailbox_end_check(mailbox);
- gdk_flush();
- GDK_THREADS_LEAVE();
+ mailbox->uri->hostname,
+ mailbox->uri->port,
+ mailbox->uri->username,
+ MN_AUTHENTICATED_MAILBOX(self)->password,
+ &priv,
+ err);
g_free(priv.apop_timestamp);
eel_g_slist_free_deep(priv.auth_mechanisms);
@@ -707,8 +710,14 @@ class MN:POP3:Mailbox from MN:Mailbox
if (priv.current_message)
g_string_free(priv.current_message, TRUE);
#endif
- }
+ return status
+ ? MN_AUTHENTICATED_MAILBOX_OK
+ : (priv.authentication_failed
+ ? MN_AUTHENTICATED_MAILBOX_ERROR_AUTHENTICATION
+ : MN_AUTHENTICATED_MAILBOX_ERROR_OTHER);
+ }
+
private void
notice_cb (MNClientSession *session (check null),
const char *str (check null),
@@ -729,7 +738,7 @@ class MN:POP3:Mailbox from MN:Mailbox
response = g_new0(MNClientSessionResponse, 1);
if (! strcmp(input, "."))
response->type = RESPONSE_LIST_END;
- else if (! strncmp(input, "..", 2))
+ else if (g_str_has_prefix(input, ".."))
{
response->type = RESPONSE_LIST_ITEM;
response->arguments = g_strdup(input + 1); /* skip the initial dot */
@@ -742,7 +751,7 @@ class MN:POP3:Mailbox from MN:Mailbox
}
else
{
- if (! strncmp(input, "+ ", 2))
+ if (g_str_has_prefix(input, "+ "))
{
response = g_new0(MNClientSessionResponse, 1);
response->type = RESPONSE_CONTINUATION;
@@ -753,12 +762,12 @@ class MN:POP3:Mailbox from MN:Mailbox
ResponseType type;
int after_status = 0;
- if (! strncmp(input, "+OK", 3))
+ if (g_str_has_prefix(input, "+OK"))
{
type = RESPONSE_OK;
after_status = 3;
}
- else if (! strncmp(input, "-ERR", 4))
+ else if (g_str_has_prefix(input, "-ERR"))
{
type = RESPONSE_ERR;
after_status = 4;
@@ -866,6 +875,7 @@ class MN:POP3:Mailbox from MN:Mailbox
}
}
+ priv->authentication_failed = TRUE;
return mn_client_session_error(priv->session, _("authentication failed"));
}
diff --git a/src/mn-pop3-mailbox.h b/src/mn-pop3-mailbox.h
@@ -4,7 +4,7 @@
#include <glib-object.h>
-#include "mn-mailbox.h"
+#include "mn-authenticated-mailbox.h"
#ifndef __MN_POP3_MAILBOX_H__
#define __MN_POP3_MAILBOX_H__
@@ -36,7 +36,7 @@ typedef struct _MNPOP3MailboxPrivate MNPOP3MailboxPrivate;
typedef struct _MNPOP3Mailbox MNPOP3Mailbox;
#endif
struct _MNPOP3Mailbox {
- MNMailbox __parent__;
+ MNAuthenticatedMailbox __parent__;
/*< private >*/
MNPOP3MailboxPrivate *_priv;
};
@@ -46,7 +46,7 @@ struct _MNPOP3Mailbox {
*/
typedef struct _MNPOP3MailboxClass MNPOP3MailboxClass;
struct _MNPOP3MailboxClass {
- MNMailboxClass __parent__;
+ MNAuthenticatedMailboxClass __parent__;
};
diff --git a/src/mn-properties.c b/src/mn-properties.c
@@ -17,7 +17,7 @@
*/
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include <eel/eel.h>
#include "mn-conf.h"
@@ -38,6 +38,8 @@ typedef struct
GtkWidget *blink_check;
GtkWidget *command_new_mail_check;
GtkWidget *command_new_mail_entry;
+ GtkWidget *command_mail_read_check;
+ GtkWidget *command_mail_read_entry;
/* mailboxes tab */
GtkWidget *delay_label;
@@ -113,6 +115,8 @@ mn_properties_display (void)
"blink_check", &properties.blink_check,
"command_new_mail_check", &properties.command_new_mail_check,
"command_new_mail_entry", &properties.command_new_mail_entry,
+ "command_mail_read_check", &properties.command_mail_read_check,
+ "command_mail_read_entry", &properties.command_mail_read_entry,
"delay_label", &properties.delay_label,
"minutes_spin", &properties.minutes_spin,
"seconds_spin", &properties.seconds_spin,
@@ -148,6 +152,11 @@ mn_properties_display (void)
mn_setup_dnd(properties.scrolled);
size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+ gtk_size_group_add_widget(size_group, properties.command_new_mail_check);
+ gtk_size_group_add_widget(size_group, properties.command_mail_read_check);
+ g_object_unref(size_group);
+
+ size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
gtk_size_group_add_widget(size_group, properties.summary_autoclose_check);
gtk_size_group_add_widget(size_group, properties.summary_position_label);
gtk_size_group_add_widget(size_group, properties.summary_horizontal_offset_label);
@@ -173,17 +182,19 @@ mn_properties_display (void)
g_object_unref(position_store);
mn_conf_link(properties.dialog, MN_CONF_PROPERTIES_DIALOG,
+ properties.blink_check, MN_CONF_BLINK_ON_ERRORS,
+ properties.command_new_mail_check, MN_CONF_COMMANDS_NEW_MAIL_ENABLED,
+ properties.command_new_mail_entry, MN_CONF_COMMANDS_NEW_MAIL_COMMAND,
+ properties.command_mail_read_check, MN_CONF_COMMANDS_MAIL_READ_ENABLED,
+ properties.command_mail_read_entry, MN_CONF_COMMANDS_MAIL_READ_COMMAND,
properties.minutes_spin, MN_CONF_DELAY_MINUTES,
properties.seconds_spin, MN_CONF_DELAY_SECONDS,
- properties.blink_check, MN_CONF_BLINK_ON_ERRORS,
properties.summary_enable_check, MN_CONF_MAIL_SUMMARY_POPUP_ENABLE,
properties.summary_autoclose_check, MN_CONF_MAIL_SUMMARY_POPUP_AUTOCLOSE,
properties.summary_minutes_spin, MN_CONF_MAIL_SUMMARY_POPUP_AUTOCLOSE_DELAY_MINUTES,
properties.summary_seconds_spin, MN_CONF_MAIL_SUMMARY_POPUP_AUTOCLOSE_DELAY_SECONDS,
properties.summary_horizontal_offset_spin, MN_CONF_MAIL_SUMMARY_POPUP_HORIZONTAL_OFFSET,
properties.summary_vertical_offset_spin, MN_CONF_MAIL_SUMMARY_POPUP_VERTICAL_OFFSET,
- properties.command_new_mail_check, MN_CONF_COMMANDS_NEW_MAIL_ENABLED,
- properties.command_new_mail_entry, MN_CONF_COMMANDS_NEW_MAIL_COMMAND,
NULL);
mn_conf_link_combo_box_to_string(GTK_COMBO_BOX(properties.summary_position_combo),
POSITION_COLUMN_NICK,
@@ -254,6 +265,7 @@ static void
mn_properties_update_sensitivity (void)
{
gboolean command_new_mail_enabled;
+ gboolean command_mail_read_enabled;
gboolean must_poll;
GtkTreeSelection *selection;
gboolean has_selection;
@@ -261,7 +273,10 @@ mn_properties_update_sensitivity (void)
gboolean summary_autoclose_enabled = FALSE;
command_new_mail_enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(properties.command_new_mail_check));
+ command_mail_read_enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(properties.command_mail_read_check));
+
gtk_widget_set_sensitive(properties.command_new_mail_entry, command_new_mail_enabled);
+ gtk_widget_set_sensitive(properties.command_mail_read_entry, command_mail_read_enabled);
must_poll = mn_mailboxes_get_must_poll(mn_shell->mailboxes);
gtk_widget_set_sensitive(properties.minutes_spin, must_poll);
diff --git a/src/mn-sasl.c b/src/mn-sasl.c
@@ -18,7 +18,7 @@
#include "config.h"
#include <glib.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <sasl/sasl.h>
/*** variables ***************************************************************/
diff --git a/src/mn-shell-private.h b/src/mn-shell-private.h
@@ -20,7 +20,9 @@ struct _MNShellPrivate {
MNMailIcon * icon;
#line 48 "mn-shell.gob"
GtkWidget * about;
-#line 24 "mn-shell-private.h"
+#line 49 "mn-shell.gob"
+ int n_new;
+#line 26 "mn-shell-private.h"
};
#ifdef __cplusplus
diff --git a/src/mn-shell.c b/src/mn-shell.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:54 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -71,6 +71,7 @@ static void mn_shell_icon_activate_remove_h (MNMailIcon * icon, gpointer user_da
static void mn_shell_icon_destroy_h (GtkObject * object, gpointer user_data) G_GNUC_UNUSED;
static void mn_shell_update_sensitivity (MNShell * self) G_GNUC_UNUSED;
static void mn_shell_update_icon (MNShell * self) G_GNUC_UNUSED;
+static void mn_shell_execute_command (const char * conf_key) G_GNUC_UNUSED;
/* pointer to the class of our parent */
static GObjectClass *parent_class = NULL;
@@ -89,6 +90,7 @@ static GObjectClass *parent_class = NULL;
#define self_icon_destroy_h mn_shell_icon_destroy_h
#define self_update_sensitivity mn_shell_update_sensitivity
#define self_update_icon mn_shell_update_icon
+#define self_execute_command mn_shell_execute_command
#define self_new mn_shell_new
#define self_display_about mn_shell_display_about
#define self_run_welcome mn_shell_run_welcome
@@ -145,7 +147,7 @@ ___dispose (GObject *obj_self)
(* G_OBJECT_CLASS (parent_class)->dispose) (obj_self);
#line 46 "mn-shell.gob"
if(self->mailboxes) { g_object_unref ((gpointer) self->mailboxes); self->mailboxes = NULL; }
-#line 149 "mn-shell.c"
+#line 151 "mn-shell.c"
}
#undef __GOB_FUNCTION__
@@ -156,9 +158,9 @@ ___finalize(GObject *obj_self)
#define __GOB_FUNCTION__ "MN:Shell::finalize"
MNShell *self G_GNUC_UNUSED = MN_SHELL (obj_self);
gpointer priv G_GNUC_UNUSED = self->_priv;
-#line 70 "mn-shell.gob"
+#line 72 "mn-shell.gob"
___2_mn_shell_finalize(obj_self);
-#line 162 "mn-shell.c"
+#line 164 "mn-shell.c"
}
#undef __GOB_FUNCTION__
@@ -172,24 +174,24 @@ mn_shell_class_init (MNShellClass * c G_GNUC_UNUSED)
parent_class = g_type_class_ref (G_TYPE_OBJECT);
-#line 70 "mn-shell.gob"
+#line 72 "mn-shell.gob"
g_object_class->finalize = ___finalize;
-#line 178 "mn-shell.c"
+#line 180 "mn-shell.c"
g_object_class->dispose = ___dispose;
}
#undef __GOB_FUNCTION__
-#line 50 "mn-shell.gob"
+#line 51 "mn-shell.gob"
static void
mn_shell_init (MNShell * self G_GNUC_UNUSED)
-#line 185 "mn-shell.c"
+#line 187 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::init"
self->_priv = G_TYPE_INSTANCE_GET_PRIVATE(self,TYPE_SELF,MNShellPrivate);
#line 46 "mn-shell.gob"
self->mailboxes = mn_mailboxes_new();
-#line 191 "mn-shell.c"
+#line 193 "mn-shell.c"
{
-#line 51 "mn-shell.gob"
+#line 52 "mn-shell.gob"
g_return_if_fail(mn_shell == NULL);
mn_shell = self;
@@ -203,92 +205,77 @@ mn_shell_init (MNShell * self G_GNUC_UNUSED)
"swapped-signal::notify::must-poll", self_update_sensitivity, self,
"swapped-signal::list-changed", self_update_icon, self,
"swapped-signal::has-new-changed", self_update_icon, self,
+ "swapped-signal::messages-changed", self_update_icon, self,
"swapped-signal::error-changed", self_update_icon, self,
NULL);
mn_summary_popup_init();
-#line 212 "mn-shell.c"
+#line 215 "mn-shell.c"
}
}
#undef __GOB_FUNCTION__
-#line 70 "mn-shell.gob"
+#line 72 "mn-shell.gob"
static void
___2_mn_shell_finalize (GObject * object G_GNUC_UNUSED)
-#line 222 "mn-shell.c"
+#line 225 "mn-shell.c"
#define PARENT_HANDLER(___object) \
{ if(G_OBJECT_CLASS(parent_class)->finalize) \
(* G_OBJECT_CLASS(parent_class)->finalize)(___object); }
{
#define __GOB_FUNCTION__ "MN:Shell::finalize"
{
-#line 72 "mn-shell.gob"
+#line 74 "mn-shell.gob"
gtk_main_quit();
PARENT_HANDLER(object);
}}
-#line 234 "mn-shell.c"
+#line 237 "mn-shell.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 77 "mn-shell.gob"
+#line 79 "mn-shell.gob"
static void
mn_shell_mailboxes_messages_changed_h (MNMailboxes * mailboxes, gboolean has_new, gpointer user_data)
-#line 241 "mn-shell.c"
+#line 244 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::mailboxes_messages_changed_h"
-#line 77 "mn-shell.gob"
+#line 79 "mn-shell.gob"
g_return_if_fail (mailboxes != NULL);
-#line 77 "mn-shell.gob"
+#line 79 "mn-shell.gob"
g_return_if_fail (MN_IS_MAILBOXES (mailboxes));
-#line 77 "mn-shell.gob"
+#line 79 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 250 "mn-shell.c"
+#line 253 "mn-shell.c"
{
-#line 81 "mn-shell.gob"
+#line 83 "mn-shell.gob"
if (has_new)
{
gnome_triggers_do(_("You have new mail."), NULL, "mail-notification", "new-mail", NULL);
if (eel_gconf_get_boolean(MN_CONF_COMMANDS_NEW_MAIL_ENABLED))
- {
- char *command;
-
- command = eel_gconf_get_string(MN_CONF_COMMANDS_NEW_MAIL_COMMAND);
- if (command)
- {
- if (gnome_execute_shell(NULL, command) < 0)
- mn_error_dialog(NULL,
- NULL,
- NULL,
- _("A command error has occurred in Mail Notification"),
- _("Unable to execute new mail command: %s."),
- g_strerror(errno));
-
- g_free(command);
- }
- }
+ self_execute_command(MN_CONF_COMMANDS_NEW_MAIL_COMMAND);
}
}}
-#line 277 "mn-shell.c"
+#line 264 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 106 "mn-shell.gob"
+#line 92 "mn-shell.gob"
static void
mn_shell_init_icon (MNShell * self)
-#line 283 "mn-shell.c"
+#line 270 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::init_icon"
-#line 106 "mn-shell.gob"
+#line 92 "mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 106 "mn-shell.gob"
+#line 92 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 290 "mn-shell.c"
+#line 277 "mn-shell.c"
{
-#line 108 "mn-shell.gob"
+#line 94 "mn-shell.gob"
selfp->icon = MN_MAIL_ICON(mn_mail_icon_new());
@@ -306,20 +293,20 @@ mn_shell_init_icon (MNShell * self)
self_update_sensitivity(self);
self_update_icon(self);
}}
-#line 310 "mn-shell.c"
+#line 297 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 126 "mn-shell.gob"
+#line 112 "mn-shell.gob"
static void
mn_shell_notify_blink_on_errors_cb (GConfClient * client, guint cnxn_id, GConfEntry * entry, gpointer user_data)
-#line 316 "mn-shell.c"
+#line 303 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::notify_blink_on_errors_cb"
-#line 126 "mn-shell.gob"
+#line 112 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 321 "mn-shell.c"
+#line 308 "mn-shell.c"
{
-#line 131 "mn-shell.gob"
+#line 117 "mn-shell.gob"
Self *self = user_data;
@@ -327,215 +314,215 @@ mn_shell_notify_blink_on_errors_cb (GConfClient * client, guint cnxn_id, GConfEn
self_update_icon(self);
GDK_THREADS_LEAVE();
}}
-#line 331 "mn-shell.c"
+#line 318 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 139 "mn-shell.gob"
+#line 125 "mn-shell.gob"
static void
mn_shell_icon_activate_h (MNMailIcon * icon, gpointer user_data)
-#line 337 "mn-shell.c"
+#line 324 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_h"
-#line 139 "mn-shell.gob"
+#line 125 "mn-shell.gob"
g_return_if_fail (icon != NULL);
-#line 139 "mn-shell.gob"
+#line 125 "mn-shell.gob"
g_return_if_fail (MN_IS_MAIL_ICON (icon));
-#line 139 "mn-shell.gob"
+#line 125 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 346 "mn-shell.c"
+#line 333 "mn-shell.c"
{
-#line 142 "mn-shell.gob"
+#line 128 "mn-shell.gob"
mn_summary_dialog_display();
}}
-#line 352 "mn-shell.c"
+#line 339 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 146 "mn-shell.gob"
+#line 132 "mn-shell.gob"
static void
mn_shell_icon_activate_summary_h (MNMailIcon * icon, gpointer user_data)
-#line 358 "mn-shell.c"
+#line 345 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_summary_h"
-#line 146 "mn-shell.gob"
+#line 132 "mn-shell.gob"
g_return_if_fail (icon != NULL);
-#line 146 "mn-shell.gob"
+#line 132 "mn-shell.gob"
g_return_if_fail (MN_IS_MAIL_ICON (icon));
-#line 146 "mn-shell.gob"
+#line 132 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 367 "mn-shell.c"
+#line 354 "mn-shell.c"
{
-#line 149 "mn-shell.gob"
+#line 135 "mn-shell.gob"
mn_summary_dialog_display();
}}
-#line 373 "mn-shell.c"
+#line 360 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 153 "mn-shell.gob"
+#line 139 "mn-shell.gob"
static void
mn_shell_icon_activate_update_h (MNMailIcon * icon, gpointer user_data)
-#line 379 "mn-shell.c"
+#line 366 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_update_h"
-#line 153 "mn-shell.gob"
+#line 139 "mn-shell.gob"
g_return_if_fail (icon != NULL);
-#line 153 "mn-shell.gob"
+#line 139 "mn-shell.gob"
g_return_if_fail (MN_IS_MAIL_ICON (icon));
-#line 153 "mn-shell.gob"
+#line 139 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 388 "mn-shell.c"
+#line 375 "mn-shell.c"
{
-#line 156 "mn-shell.gob"
+#line 142 "mn-shell.gob"
Self *self = user_data;
mn_mailboxes_check(self->mailboxes);
}}
-#line 395 "mn-shell.c"
+#line 382 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 161 "mn-shell.gob"
+#line 147 "mn-shell.gob"
static void
mn_shell_icon_activate_properties_h (MNMailIcon * icon, gpointer user_data)
-#line 401 "mn-shell.c"
+#line 388 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_properties_h"
-#line 161 "mn-shell.gob"
+#line 147 "mn-shell.gob"
g_return_if_fail (icon != NULL);
-#line 161 "mn-shell.gob"
+#line 147 "mn-shell.gob"
g_return_if_fail (MN_IS_MAIL_ICON (icon));
-#line 161 "mn-shell.gob"
+#line 147 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 410 "mn-shell.c"
+#line 397 "mn-shell.c"
{
-#line 164 "mn-shell.gob"
+#line 150 "mn-shell.gob"
mn_properties_display();
}}
-#line 416 "mn-shell.c"
+#line 403 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 168 "mn-shell.gob"
+#line 154 "mn-shell.gob"
static void
mn_shell_icon_activate_help_h (MNMailIcon * icon, gpointer user_data)
-#line 422 "mn-shell.c"
+#line 409 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_help_h"
-#line 168 "mn-shell.gob"
+#line 154 "mn-shell.gob"
g_return_if_fail (icon != NULL);
-#line 168 "mn-shell.gob"
+#line 154 "mn-shell.gob"
g_return_if_fail (MN_IS_MAIL_ICON (icon));
-#line 168 "mn-shell.gob"
+#line 154 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 431 "mn-shell.c"
+#line 418 "mn-shell.c"
{
-#line 171 "mn-shell.gob"
+#line 157 "mn-shell.gob"
mn_display_help(NULL, NULL);
}}
-#line 437 "mn-shell.c"
+#line 424 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 175 "mn-shell.gob"
+#line 161 "mn-shell.gob"
static void
mn_shell_icon_activate_about_h (MNMailIcon * icon, gpointer user_data)
-#line 443 "mn-shell.c"
+#line 430 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_about_h"
-#line 175 "mn-shell.gob"
+#line 161 "mn-shell.gob"
g_return_if_fail (icon != NULL);
-#line 175 "mn-shell.gob"
+#line 161 "mn-shell.gob"
g_return_if_fail (MN_IS_MAIL_ICON (icon));
-#line 175 "mn-shell.gob"
+#line 161 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 452 "mn-shell.c"
+#line 439 "mn-shell.c"
{
-#line 178 "mn-shell.gob"
+#line 164 "mn-shell.gob"
Self *self = user_data;
self_display_about(self);
}}
-#line 459 "mn-shell.c"
+#line 446 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 183 "mn-shell.gob"
+#line 169 "mn-shell.gob"
static void
mn_shell_icon_activate_remove_h (MNMailIcon * icon, gpointer user_data)
-#line 465 "mn-shell.c"
+#line 452 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_activate_remove_h"
-#line 183 "mn-shell.gob"
+#line 169 "mn-shell.gob"
g_return_if_fail (icon != NULL);
-#line 183 "mn-shell.gob"
+#line 169 "mn-shell.gob"
g_return_if_fail (MN_IS_MAIL_ICON (icon));
-#line 183 "mn-shell.gob"
+#line 169 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 474 "mn-shell.c"
+#line 461 "mn-shell.c"
{
-#line 186 "mn-shell.gob"
+#line 172 "mn-shell.gob"
Self *self = user_data;
g_object_unref(self);
}}
-#line 481 "mn-shell.c"
+#line 468 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 191 "mn-shell.gob"
+#line 177 "mn-shell.gob"
static void
mn_shell_icon_destroy_h (GtkObject * object, gpointer user_data)
-#line 487 "mn-shell.c"
+#line 474 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::icon_destroy_h"
-#line 191 "mn-shell.gob"
+#line 177 "mn-shell.gob"
g_return_if_fail (object != NULL);
-#line 191 "mn-shell.gob"
+#line 177 "mn-shell.gob"
g_return_if_fail (GTK_IS_OBJECT (object));
-#line 191 "mn-shell.gob"
+#line 177 "mn-shell.gob"
g_return_if_fail (user_data != NULL);
-#line 496 "mn-shell.c"
+#line 483 "mn-shell.c"
{
-#line 194 "mn-shell.gob"
+#line 180 "mn-shell.gob"
Self *self = user_data;
/* The Notification Area applet has been terminated. Recreate the icon. */
self_init_icon(self);
}}
-#line 505 "mn-shell.c"
+#line 492 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 201 "mn-shell.gob"
+#line 187 "mn-shell.gob"
static void
mn_shell_update_sensitivity (MNShell * self)
-#line 511 "mn-shell.c"
+#line 498 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::update_sensitivity"
-#line 201 "mn-shell.gob"
+#line 187 "mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 201 "mn-shell.gob"
+#line 187 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 518 "mn-shell.c"
+#line 505 "mn-shell.c"
{
-#line 203 "mn-shell.gob"
+#line 189 "mn-shell.gob"
gtk_widget_set_sensitive(selfp->icon->update_item, mn_mailboxes_get_must_poll(self->mailboxes));
}}
-#line 524 "mn-shell.c"
+#line 511 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 207 "mn-shell.gob"
+#line 193 "mn-shell.gob"
static void
mn_shell_update_icon (MNShell * self)
-#line 530 "mn-shell.c"
+#line 517 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::update_icon"
-#line 207 "mn-shell.gob"
+#line 193 "mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 207 "mn-shell.gob"
+#line 193 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 537 "mn-shell.c"
+#line 524 "mn-shell.c"
{
-#line 209 "mn-shell.gob"
+#line 195 "mn-shell.gob"
GSList *mailboxes;
gboolean show = FALSE;
@@ -568,10 +555,17 @@ mn_shell_update_icon (MNShell * self)
if (mn_mailbox_get_has_new(mailbox))
{
+ int n_messages;
+
n_new++;
+
if (*new_string->str)
g_string_append_c(new_string, '\n');
g_string_append_printf(new_string, " %s", name);
+
+ n_messages = g_slist_length(mn_mailbox_get_messages(mailbox));
+ if (n_messages > 0)
+ g_string_append_printf(new_string, " (%i)", n_messages);
}
if (error)
@@ -622,6 +616,11 @@ mn_shell_update_icon (MNShell * self)
g_string_free(new_string, TRUE);
g_string_free(error_string, TRUE);
g_string_free(unsupported_string, TRUE);
+
+ if (selfp->n_new > 0 && n_new == 0 && eel_gconf_get_boolean(MN_CONF_COMMANDS_MAIL_READ_ENABLED))
+ self_execute_command(MN_CONF_COMMANDS_MAIL_READ_COMMAND);
+
+ selfp->n_new = n_new;
}
if (show || blink)
@@ -636,36 +635,68 @@ mn_shell_update_icon (MNShell * self)
if (tooltip)
g_string_free(tooltip, TRUE);
}}
-#line 640 "mn-shell.c"
+#line 639 "mn-shell.c"
#undef __GOB_FUNCTION__
+#line 308 "mn-shell.gob"
+static void
+mn_shell_execute_command (const char * conf_key)
+#line 645 "mn-shell.c"
+{
+#define __GOB_FUNCTION__ "MN:Shell::execute_command"
+#line 308 "mn-shell.gob"
+ g_return_if_fail (conf_key != NULL);
+#line 650 "mn-shell.c"
+{
#line 310 "mn-shell.gob"
+
+ char *command;
+
+ command = eel_gconf_get_string(conf_key);
+ if (command)
+ {
+ if (gnome_execute_shell(NULL, command) < 0)
+ mn_error_dialog(NULL,
+ NULL,
+ NULL,
+ _("A command error has occurred in Mail Notification"),
+ _("Unable to execute \"%s\": %s."),
+ command,
+ g_strerror(errno));
+
+ g_free(command);
+ }
+ }}
+#line 671 "mn-shell.c"
+#undef __GOB_FUNCTION__
+
+#line 329 "mn-shell.gob"
MNShell *
mn_shell_new (void)
-#line 646 "mn-shell.c"
+#line 677 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::new"
{
-#line 312 "mn-shell.gob"
+#line 331 "mn-shell.gob"
return MN_SHELL(GET_NEW);
}}
-#line 654 "mn-shell.c"
+#line 685 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 316 "mn-shell.gob"
+#line 335 "mn-shell.gob"
void
mn_shell_display_about (MNShell * self)
-#line 660 "mn-shell.c"
+#line 691 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::display_about"
-#line 316 "mn-shell.gob"
+#line 335 "mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 316 "mn-shell.gob"
+#line 335 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 667 "mn-shell.c"
+#line 698 "mn-shell.c"
{
-#line 318 "mn-shell.gob"
+#line 337 "mn-shell.gob"
if (selfp->about)
{
@@ -677,22 +708,22 @@ mn_shell_display_about (MNShell * self)
eel_add_weak_pointer(&selfp->about);
gtk_widget_show(GTK_WIDGET(selfp->about));
}}
-#line 681 "mn-shell.c"
+#line 712 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 330 "mn-shell.gob"
+#line 349 "mn-shell.gob"
void
mn_shell_run_welcome (MNShell * self)
-#line 687 "mn-shell.c"
+#line 718 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::run_welcome"
-#line 330 "mn-shell.gob"
+#line 349 "mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 330 "mn-shell.gob"
+#line 349 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 694 "mn-shell.c"
+#line 725 "mn-shell.c"
{
-#line 332 "mn-shell.gob"
+#line 351 "mn-shell.gob"
GtkWidget *dialog;
int response;
@@ -706,24 +737,24 @@ mn_shell_run_welcome (MNShell * self)
if (response == GTK_RESPONSE_OK)
mn_properties_display();
}}
-#line 710 "mn-shell.c"
+#line 741 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 346 "mn-shell.gob"
+#line 365 "mn-shell.gob"
void
mn_shell_report (MNShell * self, char ** report)
-#line 716 "mn-shell.c"
+#line 747 "mn-shell.c"
{
#define __GOB_FUNCTION__ "MN:Shell::report"
-#line 346 "mn-shell.gob"
+#line 365 "mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 346 "mn-shell.gob"
+#line 365 "mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 346 "mn-shell.gob"
+#line 365 "mn-shell.gob"
g_return_if_fail (report != NULL);
-#line 725 "mn-shell.c"
+#line 756 "mn-shell.c"
{
-#line 348 "mn-shell.gob"
+#line 367 "mn-shell.gob"
GString *string;
GSList *l;
@@ -749,5 +780,5 @@ mn_shell_report (MNShell * self, char ** report)
*report = string->str;
g_string_free(string, FALSE);
}}
-#line 753 "mn-shell.c"
+#line 784 "mn-shell.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-shell.gob b/src/mn-shell.gob
@@ -46,6 +46,7 @@ class MN:Shell from G:Object
public MNMailboxes *mailboxes = {mn_mailboxes_new()} unrefwith g_object_unref;
private MNMailIcon *icon;
private GtkWidget *about;
+ private int n_new;
init (self)
{
@@ -61,6 +62,7 @@ class MN:Shell from G:Object
"swapped-signal::notify::must-poll", self_update_sensitivity, self,
"swapped-signal::list-changed", self_update_icon, self,
"swapped-signal::has-new-changed", self_update_icon, self,
+ "swapped-signal::messages-changed", self_update_icon, self,
"swapped-signal::error-changed", self_update_icon, self,
NULL);
@@ -83,23 +85,7 @@ class MN:Shell from G:Object
{
gnome_triggers_do(_("You have new mail."), NULL, "mail-notification", "new-mail", NULL);
if (eel_gconf_get_boolean(MN_CONF_COMMANDS_NEW_MAIL_ENABLED))
- {
- char *command;
-
- command = eel_gconf_get_string(MN_CONF_COMMANDS_NEW_MAIL_COMMAND);
- if (command)
- {
- if (gnome_execute_shell(NULL, command) < 0)
- mn_error_dialog(NULL,
- NULL,
- NULL,
- _("A command error has occurred in Mail Notification"),
- _("Unable to execute new mail command: %s."),
- g_strerror(errno));
-
- g_free(command);
- }
- }
+ self_execute_command(MN_CONF_COMMANDS_NEW_MAIL_COMMAND);
}
}
@@ -238,10 +224,17 @@ class MN:Shell from G:Object
if (mn_mailbox_get_has_new(mailbox))
{
+ int n_messages;
+
n_new++;
+
if (*new_string->str)
g_string_append_c(new_string, '\n');
g_string_append_printf(new_string, " %s", name);
+
+ n_messages = g_slist_length(mn_mailbox_get_messages(mailbox));
+ if (n_messages > 0)
+ g_string_append_printf(new_string, " (%i)", n_messages);
}
if (error)
@@ -292,6 +285,11 @@ class MN:Shell from G:Object
g_string_free(new_string, TRUE);
g_string_free(error_string, TRUE);
g_string_free(unsupported_string, TRUE);
+
+ if (selfp->n_new > 0 && n_new == 0 && eel_gconf_get_boolean(MN_CONF_COMMANDS_MAIL_READ_ENABLED))
+ self_execute_command(MN_CONF_COMMANDS_MAIL_READ_COMMAND);
+
+ selfp->n_new = n_new;
}
if (show || blink)
@@ -307,6 +305,27 @@ class MN:Shell from G:Object
g_string_free(tooltip, TRUE);
}
+ private void
+ execute_command (const char *conf_key (check null))
+ {
+ char *command;
+
+ command = eel_gconf_get_string(conf_key);
+ if (command)
+ {
+ if (gnome_execute_shell(NULL, command) < 0)
+ mn_error_dialog(NULL,
+ NULL,
+ NULL,
+ _("A command error has occurred in Mail Notification"),
+ _("Unable to execute \"%s\": %s."),
+ command,
+ g_strerror(errno));
+
+ g_free(command);
+ }
+ }
+
public MNShell *
new (void)
{
diff --git a/src/mn-soup.c b/src/mn-soup.c
@@ -16,6 +16,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+#include "config.h"
+#include <glib/gi18n.h>
#include <eel/eel.h>
#include <libsoup/soup.h>
@@ -124,14 +126,25 @@ mn_soup_build_proxy_uri (void)
}
SoupSession *
-mn_soup_session_new (void)
+mn_soup_session_sync_new (void)
{
- char *proxy_uri;
+ char *proxy_text_uri;
+ SoupUri *proxy_uri = NULL;
SoupSession *session;
- proxy_uri = mn_soup_build_proxy_uri();
- session = soup_session_async_new_with_options(SOUP_SESSION_PROXY_URI, proxy_uri, NULL);
- g_free(proxy_uri);
+ proxy_text_uri = mn_soup_build_proxy_uri();
+ if (proxy_text_uri)
+ {
+ proxy_uri = soup_uri_new(proxy_text_uri);
+ if (! proxy_uri)
+ g_warning(_("unable to parse proxy URI \"%s\""), proxy_text_uri);
+ g_free(proxy_text_uri);
+ }
+
+ session = soup_session_sync_new_with_options(SOUP_SESSION_PROXY_URI, proxy_uri, NULL);
+
+ if (proxy_uri)
+ soup_uri_free(proxy_uri);
return session;
}
diff --git a/src/mn-soup.h b/src/mn-soup.h
@@ -21,6 +21,6 @@
#include <libsoup/soup.h>
-SoupSession *mn_soup_session_new (void);
+SoupSession *mn_soup_session_sync_new (void);
#endif /* _MN_SOUP_H */
diff --git a/src/mn-ssl.c b/src/mn-ssl.c
@@ -18,7 +18,7 @@
#include "config.h"
#include <glib.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
#include "mn-ssl.h"
diff --git a/src/mn-stock.c b/src/mn-stock.c
@@ -17,7 +17,7 @@
*/
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include "mn-stock.h"
#include "mn-util.h"
diff --git a/src/mn-summary-dialog.c b/src/mn-summary-dialog.c
@@ -17,7 +17,7 @@
*/
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <eel/eel.h>
#include "mn-util.h"
#include "mn-shell.h"
diff --git a/src/mn-summary-popup.c b/src/mn-summary-popup.c
@@ -17,7 +17,7 @@
*/
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <eel/eel.h>
#include "mn-summary.h"
#include "mn-util.h"
@@ -326,7 +326,8 @@ static gboolean
mn_summary_popup_timeout_cb (gpointer data)
{
GDK_THREADS_ENTER();
- gtk_widget_destroy(popup.popup);
+ if (popup.popup)
+ gtk_widget_destroy(popup.popup);
GDK_THREADS_LEAVE();
return FALSE; /* remove timeout */
diff --git a/src/mn-sylpheed-mailbox.c b/src/mn-sylpheed-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:52 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:33 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -27,7 +27,7 @@
#include "config.h"
#include <stdlib.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-private.h"
#include "mn-vfs.h"
#include "mn-util.h"
@@ -68,7 +68,7 @@ static void mn_sylpheed_mailbox_init (MNSylpheedMailbox * o) G_GNUC_UNUSED;
static void mn_sylpheed_mailbox_class_init (MNSylpheedMailboxClass * class) G_GNUC_UNUSED;
static GObject * ___2_mn_sylpheed_mailbox_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_params) G_GNUC_UNUSED;
static gboolean ___3_mn_sylpheed_mailbox_impl_is (MNMailbox * dummy, MNURI * uri) G_GNUC_UNUSED;
-static void ___4_mn_sylpheed_mailbox_impl_threaded_check (MNMailbox * self) G_GNUC_UNUSED;
+static void ___4_mn_sylpheed_mailbox_impl_check (MNMailbox * self) G_GNUC_UNUSED;
static GHashTable * mn_sylpheed_mailbox_get_seen_numbers (MNSylpheedMailbox * self) G_GNUC_UNUSED;
/* pointer to the class of our parent */
@@ -140,7 +140,7 @@ mn_sylpheed_mailbox_class_init (MNSylpheedMailboxClass * class G_GNUC_UNUSED)
#line 81 "mn-sylpheed-mailbox.gob"
mn_mailbox_class->impl_is = ___3_mn_sylpheed_mailbox_impl_is;
#line 98 "mn-sylpheed-mailbox.gob"
- mn_mailbox_class->impl_threaded_check = ___4_mn_sylpheed_mailbox_impl_threaded_check;
+ mn_mailbox_class->impl_check = ___4_mn_sylpheed_mailbox_impl_check;
#line 145 "mn-sylpheed-mailbox.c"
{
#line 53 "mn-sylpheed-mailbox.gob"
@@ -228,13 +228,13 @@ ___3_mn_sylpheed_mailbox_impl_is (MNMailbox * dummy G_GNUC_UNUSED, MNURI * uri)
#line 98 "mn-sylpheed-mailbox.gob"
static void
-___4_mn_sylpheed_mailbox_impl_threaded_check (MNMailbox * self G_GNUC_UNUSED)
+___4_mn_sylpheed_mailbox_impl_check (MNMailbox * self G_GNUC_UNUSED)
#line 233 "mn-sylpheed-mailbox.c"
#define PARENT_HANDLER(___self) \
- { if(MN_MAILBOX_CLASS(parent_class)->impl_threaded_check) \
- (* MN_MAILBOX_CLASS(parent_class)->impl_threaded_check)(___self); }
+ { if(MN_MAILBOX_CLASS(parent_class)->impl_check) \
+ (* MN_MAILBOX_CLASS(parent_class)->impl_check)(___self); }
{
-#define __GOB_FUNCTION__ "MN:Sylpheed:Mailbox::impl_threaded_check"
+#define __GOB_FUNCTION__ "MN:Sylpheed:Mailbox::impl_check"
#line 98 "mn-sylpheed-mailbox.gob"
g_return_if_fail (self != NULL);
#line 98 "mn-sylpheed-mailbox.gob"
diff --git a/src/mn-sylpheed-mailbox.gob b/src/mn-sylpheed-mailbox.gob
@@ -24,7 +24,7 @@ requires 2.0.10
%{
#include "config.h"
#include <stdlib.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-mailbox-private.h"
#include "mn-vfs.h"
#include "mn-util.h"
@@ -96,7 +96,7 @@ class MN:Sylpheed:Mailbox from MN:Mailbox
}
override (MN:Mailbox) void
- impl_threaded_check (MN:Mailbox *self (check null type))
+ impl_check (MN:Mailbox *self (check null type))
{
GnomeVFSResult result;
GnomeVFSResult close_result;
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.10) on Wed Oct 6 19:29:54 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:34 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-system-mailbox-properties.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include "mn-mailbox-properties.h"
diff --git a/src/mn-system-mailbox-properties.gob b/src/mn-system-mailbox-properties.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include "mn-mailbox-properties.h"
%}
diff --git a/src/mn-unsupported-mailbox.c b/src/mn-unsupported-mailbox.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:54 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:35 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -26,7 +26,7 @@
#line 24 "mn-unsupported-mailbox.gob"
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-stock.h"
#line 33 "mn-unsupported-mailbox.c"
diff --git a/src/mn-unsupported-mailbox.gob b/src/mn-unsupported-mailbox.gob
@@ -23,7 +23,7 @@ requires 2.0.10
%}
%{
#include "config.h"
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include "mn-stock.h"
%}
diff --git a/src/mn-uri.c b/src/mn-uri.c
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.10) on Wed Oct 6 19:29:54 2004
+/* Generated by GOB (v2.0.10) on Mon Oct 25 15:24:35 2004
(do not edit directly) */
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
@@ -32,7 +32,7 @@
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <eel/eel.h>
#include "mn-util.h"
@@ -415,6 +415,7 @@ mn_uri_parse (MNURI * self)
char path_buf[buflen];
char queries_buf[buflen];
gboolean has_location = FALSE;
+ gboolean has_password = FALSE;
gboolean has_authmech = FALSE;
gboolean has_port = FALSE;
gboolean has_path = FALSE;
@@ -441,17 +442,31 @@ mn_uri_parse (MNURI * self)
* For backward compatibility with previous versions of Mail
* Notification, we also support ;auth= (in lowercase).
*/
+
pat = g_strdup_printf("%%%i[^:]:%%%i[^;];%%*1[aA]%%*1[uU]%%*1[tT]%%*1[hH]=%%%is", len, len, len);
n = sscanf(auth_buf, pat, username_buf, password_buf, authmech_buf);
g_free(pat);
if (n >= 2)
{
+ has_password = TRUE;
if (n == 3)
has_authmech = TRUE;
}
else
- return; /* unparsable */
+ {
+ pat = g_strdup_printf("%%%i[^;];%%*1[aA]%%*1[uU]%%*1[tT]%%*1[hH]=%%%is", len, len);
+ n = sscanf(auth_buf, pat, username_buf, authmech_buf);
+ g_free(pat);
+
+ if (n >= 1)
+ {
+ if (n == 2)
+ has_authmech = TRUE;
+ }
+ else
+ return; /* unparsable */
+ }
if (has_location)
{
@@ -498,7 +513,8 @@ mn_uri_parse (MNURI * self)
self->scheme = gnome_vfs_unescape_string(scheme_buf, NULL);
self->username = gnome_vfs_unescape_string(username_buf, NULL);
- self->password = gnome_vfs_unescape_string(password_buf, NULL);
+ if (has_password)
+ self->password = gnome_vfs_unescape_string(password_buf, NULL);
if (has_authmech)
self->authmech = gnome_vfs_unescape_string(authmech_buf, NULL);
if (has_location)
@@ -522,22 +538,22 @@ mn_uri_parse (MNURI * self)
}
}
}}
-#line 526 "mn-uri.c"
+#line 542 "mn-uri.c"
#undef __GOB_FUNCTION__
-#line 306 "mn-uri.gob"
+#line 322 "mn-uri.gob"
static void
mn_uri_build (MNURI * self)
-#line 532 "mn-uri.c"
+#line 548 "mn-uri.c"
{
#define __GOB_FUNCTION__ "MN:URI::build"
-#line 306 "mn-uri.gob"
+#line 322 "mn-uri.gob"
g_return_if_fail (self != NULL);
-#line 306 "mn-uri.gob"
+#line 322 "mn-uri.gob"
g_return_if_fail (MN_IS_URI (self));
-#line 539 "mn-uri.c"
+#line 555 "mn-uri.c"
{
-#line 308 "mn-uri.gob"
+#line 324 "mn-uri.gob"
char *canonical = NULL;
@@ -553,7 +569,6 @@ mn_uri_build (MNURI * self)
int i;
g_return_if_fail(self->username != NULL);
- g_return_if_fail(self->password != NULL);
escaped = gnome_vfs_escape_string(self->scheme);
string = g_string_new(escaped);
@@ -563,9 +578,12 @@ mn_uri_build (MNURI * self)
g_string_append_printf(string, "://%s", escaped);
g_free(escaped);
- escaped = gnome_vfs_escape_string(self->password);
- g_string_append_printf(string, ":%s", escaped);
- g_free(escaped);
+ if (self->password)
+ {
+ escaped = gnome_vfs_escape_string(self->password);
+ g_string_append_printf(string, ":%s", escaped);
+ g_free(escaped);
+ }
if (self->authmech)
{
@@ -616,22 +634,22 @@ mn_uri_build (MNURI * self)
self->text = canonical;
}
}}
-#line 620 "mn-uri.c"
+#line 638 "mn-uri.c"
#undef __GOB_FUNCTION__
-#line 387 "mn-uri.gob"
+#line 405 "mn-uri.gob"
static void
mn_uri_set_human_readable (MNURI * self)
-#line 626 "mn-uri.c"
+#line 644 "mn-uri.c"
{
#define __GOB_FUNCTION__ "MN:URI::set_human_readable"
-#line 387 "mn-uri.gob"
+#line 405 "mn-uri.gob"
g_return_if_fail (self != NULL);
-#line 387 "mn-uri.gob"
+#line 405 "mn-uri.gob"
g_return_if_fail (MN_IS_URI (self));
-#line 633 "mn-uri.c"
+#line 651 "mn-uri.c"
{
-#line 389 "mn-uri.gob"
+#line 407 "mn-uri.gob"
g_return_if_fail(self->human_readable == NULL);
@@ -650,29 +668,36 @@ mn_uri_set_human_readable (MNURI * self)
else
self->human_readable = gnome_vfs_uri_to_string(self->vfs, GNOME_VFS_URI_HIDE_PASSWORD);
}
- else if (MN_URI_IS_POP(self) || MN_URI_IS_IMAP(self))
+ else if (MN_URI_IS_POP(self))
self->human_readable = g_strdup_printf("%s@%s", self->username, self->hostname);
+ else if (MN_URI_IS_IMAP(self))
+ {
+ const char *default_path = self_get_default_path(self->scheme);
+ self->human_readable = (self->path && (! default_path || strcmp(self->path, default_path)))
+ ? g_strdup_printf("%s@%s/%s", self->username, self->hostname, self->path)
+ : g_strdup_printf("%s@%s", self->username, self->hostname);
+ }
else if (MN_URI_IS_GMAIL(self))
self->human_readable = g_strdup_printf("%s@gmail.com", self->username);
else
self->human_readable = g_strdup(self->text);
}}
-#line 661 "mn-uri.c"
+#line 686 "mn-uri.c"
#undef __GOB_FUNCTION__
-#line 415 "mn-uri.gob"
+#line 440 "mn-uri.gob"
static void
mn_uri_post_init (MNURI * self)
-#line 667 "mn-uri.c"
+#line 692 "mn-uri.c"
{
#define __GOB_FUNCTION__ "MN:URI::post_init"
-#line 415 "mn-uri.gob"
+#line 440 "mn-uri.gob"
g_return_if_fail (self != NULL);
-#line 415 "mn-uri.gob"
+#line 440 "mn-uri.gob"
g_return_if_fail (MN_IS_URI (self));
-#line 674 "mn-uri.c"
+#line 699 "mn-uri.c"
{
-#line 417 "mn-uri.gob"
+#line 442 "mn-uri.gob"
const char *system_uri;
@@ -707,26 +732,26 @@ mn_uri_post_init (MNURI * self)
self_set_human_readable(self);
}}
-#line 711 "mn-uri.c"
+#line 736 "mn-uri.c"
#undef __GOB_FUNCTION__
-#line 452 "mn-uri.gob"
+#line 477 "mn-uri.gob"
MNURI *
mn_uri_new (const char * text_uri)
-#line 717 "mn-uri.c"
+#line 742 "mn-uri.c"
{
#define __GOB_FUNCTION__ "MN:URI::new"
-#line 452 "mn-uri.gob"
+#line 477 "mn-uri.gob"
g_return_val_if_fail (text_uri != NULL, (MNURI * )0);
-#line 722 "mn-uri.c"
+#line 747 "mn-uri.c"
{
-#line 454 "mn-uri.gob"
+#line 479 "mn-uri.gob"
Self *self;
char *scheme;
self = GET_NEW;
- self->text = ! strncmp(text_uri, "pop3:", 5) /* also handle obsolete pop3 locators */
+ self->text = g_str_has_prefix(text_uri, "pop3:") /* also handle obsolete pop3 locators */
? g_strconcat("pop://", text_uri + 5, NULL)
: g_strdup(text_uri);
@@ -739,24 +764,22 @@ mn_uri_new (const char * text_uri)
self_post_init(self);
return self;
}}
-#line 743 "mn-uri.c"
+#line 768 "mn-uri.c"
#undef __GOB_FUNCTION__
-#line 473 "mn-uri.gob"
+#line 498 "mn-uri.gob"
MNURI *
mn_uri_new_pop (gboolean ssl, gboolean stls, const char * username, const char * password, const char * authmech, const char * hostname, int port)
-#line 749 "mn-uri.c"
+#line 774 "mn-uri.c"
{
#define __GOB_FUNCTION__ "MN:URI::new_pop"
-#line 473 "mn-uri.gob"
+#line 498 "mn-uri.gob"
g_return_val_if_fail (username != NULL, (MNURI * )0);
-#line 473 "mn-uri.gob"
- g_return_val_if_fail (password != NULL, (MNURI * )0);
-#line 473 "mn-uri.gob"
+#line 498 "mn-uri.gob"
g_return_val_if_fail (hostname != NULL, (MNURI * )0);
-#line 758 "mn-uri.c"
+#line 781 "mn-uri.c"
{
-#line 481 "mn-uri.gob"
+#line 506 "mn-uri.gob"
Self *self;
@@ -774,26 +797,24 @@ mn_uri_new_pop (gboolean ssl, gboolean stls, const char * username, const char *
self_post_init(self);
return self;
}}
-#line 778 "mn-uri.c"
+#line 801 "mn-uri.c"
#undef __GOB_FUNCTION__
-#line 499 "mn-uri.gob"
+#line 524 "mn-uri.gob"
MNURI *
mn_uri_new_imap (gboolean ssl, gboolean starttls, const char * username, const char * password, const char * authmech, const char * hostname, int port, const char * mailbox)
-#line 784 "mn-uri.c"
+#line 807 "mn-uri.c"
{
#define __GOB_FUNCTION__ "MN:URI::new_imap"
-#line 499 "mn-uri.gob"
+#line 524 "mn-uri.gob"
g_return_val_if_fail (username != NULL, (MNURI * )0);
-#line 499 "mn-uri.gob"
- g_return_val_if_fail (password != NULL, (MNURI * )0);
-#line 499 "mn-uri.gob"
+#line 524 "mn-uri.gob"
g_return_val_if_fail (hostname != NULL, (MNURI * )0);
-#line 499 "mn-uri.gob"
+#line 524 "mn-uri.gob"
g_return_val_if_fail (mailbox != NULL, (MNURI * )0);
-#line 795 "mn-uri.c"
+#line 816 "mn-uri.c"
{
-#line 508 "mn-uri.gob"
+#line 533 "mn-uri.gob"
Self *self;
@@ -812,22 +833,20 @@ mn_uri_new_imap (gboolean ssl, gboolean starttls, const char * username, const c
self_post_init(self);
return self;
}}
-#line 816 "mn-uri.c"
+#line 837 "mn-uri.c"
#undef __GOB_FUNCTION__
-#line 527 "mn-uri.gob"
+#line 552 "mn-uri.gob"
MNURI *
mn_uri_new_gmail (const char * username, const char * password)
-#line 822 "mn-uri.c"
+#line 843 "mn-uri.c"
{
#define __GOB_FUNCTION__ "MN:URI::new_gmail"
-#line 527 "mn-uri.gob"
+#line 552 "mn-uri.gob"
g_return_val_if_fail (username != NULL, (MNURI * )0);
-#line 527 "mn-uri.gob"
- g_return_val_if_fail (password != NULL, (MNURI * )0);
-#line 829 "mn-uri.c"
+#line 848 "mn-uri.c"
{
-#line 530 "mn-uri.gob"
+#line 555 "mn-uri.gob"
Self *self;
@@ -840,5 +859,5 @@ mn_uri_new_gmail (const char * username, const char * password)
self_post_init(self);
return self;
}}
-#line 844 "mn-uri.c"
+#line 863 "mn-uri.c"
#undef __GOB_FUNCTION__
diff --git a/src/mn-uri.gob b/src/mn-uri.gob
@@ -61,7 +61,7 @@ requires 2.0.10
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
-#include <glib/gi18n-lib.h>
+#include <glib/gi18n.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <eel/eel.h>
#include "mn-util.h"
@@ -94,7 +94,7 @@ class MN:URI from G:Object
public char *scheme = NULL destroywith g_free;
public char *username = NULL destroywith g_free; /* if scheme is defined, always defined */
- public char *password = NULL destroywith g_free; /* if scheme is defined, always defined */
+ public char *password = NULL destroywith g_free;
public char *authmech = NULL destroywith g_free;
public char *hostname = NULL destroywith g_free;
public int port = -1;
@@ -195,6 +195,7 @@ class MN:URI from G:Object
char path_buf[buflen];
char queries_buf[buflen];
gboolean has_location = FALSE;
+ gboolean has_password = FALSE;
gboolean has_authmech = FALSE;
gboolean has_port = FALSE;
gboolean has_path = FALSE;
@@ -221,17 +222,31 @@ class MN:URI from G:Object
* For backward compatibility with previous versions of Mail
* Notification, we also support ;auth= (in lowercase).
*/
+
pat = g_strdup_printf("%%%i[^:]:%%%i[^;];%%*1[aA]%%*1[uU]%%*1[tT]%%*1[hH]=%%%is", len, len, len);
n = sscanf(auth_buf, pat, username_buf, password_buf, authmech_buf);
g_free(pat);
if (n >= 2)
{
+ has_password = TRUE;
if (n == 3)
has_authmech = TRUE;
}
else
- return; /* unparsable */
+ {
+ pat = g_strdup_printf("%%%i[^;];%%*1[aA]%%*1[uU]%%*1[tT]%%*1[hH]=%%%is", len, len);
+ n = sscanf(auth_buf, pat, username_buf, authmech_buf);
+ g_free(pat);
+
+ if (n >= 1)
+ {
+ if (n == 2)
+ has_authmech = TRUE;
+ }
+ else
+ return; /* unparsable */
+ }
if (has_location)
{
@@ -278,7 +293,8 @@ class MN:URI from G:Object
self->scheme = gnome_vfs_unescape_string(scheme_buf, NULL);
self->username = gnome_vfs_unescape_string(username_buf, NULL);
- self->password = gnome_vfs_unescape_string(password_buf, NULL);
+ if (has_password)
+ self->password = gnome_vfs_unescape_string(password_buf, NULL);
if (has_authmech)
self->authmech = gnome_vfs_unescape_string(authmech_buf, NULL);
if (has_location)
@@ -320,7 +336,6 @@ class MN:URI from G:Object
int i;
g_return_if_fail(self->username != NULL);
- g_return_if_fail(self->password != NULL);
escaped = gnome_vfs_escape_string(self->scheme);
string = g_string_new(escaped);
@@ -330,9 +345,12 @@ class MN:URI from G:Object
g_string_append_printf(string, "://%s", escaped);
g_free(escaped);
- escaped = gnome_vfs_escape_string(self->password);
- g_string_append_printf(string, ":%s", escaped);
- g_free(escaped);
+ if (self->password)
+ {
+ escaped = gnome_vfs_escape_string(self->password);
+ g_string_append_printf(string, ":%s", escaped);
+ g_free(escaped);
+ }
if (self->authmech)
{
@@ -404,8 +422,15 @@ class MN:URI from G:Object
else
self->human_readable = gnome_vfs_uri_to_string(self->vfs, GNOME_VFS_URI_HIDE_PASSWORD);
}
- else if (MN_URI_IS_POP(self) || MN_URI_IS_IMAP(self))
+ else if (MN_URI_IS_POP(self))
self->human_readable = g_strdup_printf("%s@%s", self->username, self->hostname);
+ else if (MN_URI_IS_IMAP(self))
+ {
+ const char *default_path = self_get_default_path(self->scheme);
+ self->human_readable = (self->path && (! default_path || strcmp(self->path, default_path)))
+ ? g_strdup_printf("%s@%s/%s", self->username, self->hostname, self->path)
+ : g_strdup_printf("%s@%s", self->username, self->hostname);
+ }
else if (MN_URI_IS_GMAIL(self))
self->human_readable = g_strdup_printf("%s@gmail.com", self->username);
else
@@ -456,7 +481,7 @@ class MN:URI from G:Object
char *scheme;
self = GET_NEW;
- self->text = ! strncmp(text_uri, "pop3:", 5) /* also handle obsolete pop3 locators */
+ self->text = g_str_has_prefix(text_uri, "pop3:") /* also handle obsolete pop3 locators */
? g_strconcat("pop://", text_uri + 5, NULL)
: g_strdup(text_uri);
@@ -474,7 +499,7 @@ class MN:URI from G:Object
new_pop (gboolean ssl,
gboolean stls,
const char *username (check null),
- const char *password (check null),
+ const char *password,
const char *authmech,
const char *hostname (check null),
int port)
@@ -500,7 +525,7 @@ class MN:URI from G:Object
new_imap (gboolean ssl,
gboolean starttls,
const char *username (check null),
- const char *password (check null),
+ const char *password,
const char *authmech,
const char *hostname (check null),
int port,
@@ -526,7 +551,7 @@ class MN:URI from G:Object
public MNURI *
new_gmail (const char *username (check null),
- const char *password (check null))
+ const char *password)
{
Self *self;
diff --git a/src/mn-util.c b/src/mn-util.c
@@ -872,16 +872,16 @@ mn_g_object_connect (gpointer object,
handler = g_new(SignalHandler, 1);
handler->instance = instance;
- if (! strncmp(signal_spec, "signal::", 8))
+ if (g_str_has_prefix(signal_spec, "signal::"))
handler->id = g_signal_connect(instance, signal_spec + 8, callback, data);
- else if (! strncmp(signal_spec, "swapped_signal", 16)
- || ! strncmp(signal_spec, "swapped-signal", 16))
+ else if (g_str_has_prefix(signal_spec, "swapped_signal")
+ || g_str_has_prefix(signal_spec, "swapped-signal"))
handler->id = g_signal_connect_swapped(instance, signal_spec + 16, callback, data);
- else if (! strncmp(signal_spec, "signal_after::", 14)
- || ! strncmp(signal_spec, "signal-after::", 14))
+ else if (g_str_has_prefix(signal_spec, "signal_after::")
+ || g_str_has_prefix(signal_spec, "signal-after::"))
handler->id = g_signal_connect_after(instance, signal_spec + 14, callback, data);
- else if (! strncmp(signal_spec, "swapped_signal_after::", 22)
- || ! strncmp(signal_spec, "swapped-signal-after::", 22))
+ else if (g_str_has_prefix(signal_spec, "swapped_signal_after::")
+ || g_str_has_prefix(signal_spec, "swapped-signal-after::"))
handler->id = g_signal_connect_data(instance, signal_spec + 22, callback, data, NULL, G_CONNECT_AFTER | G_CONNECT_SWAPPED);
else
g_critical(_("invalid signal specification \"%s\""), signal_spec);
diff --git a/src/mn-util.h b/src/mn-util.h
@@ -118,4 +118,7 @@ gpointer mn_g_object_connect (gpointer object,
const char *signal_spec,
...);
+#define MN_STRING_TO_POINTER(str) ((*str) ? (str) : NULL)
+#define MN_POINTER_TO_STRING(ptr) ((ptr) ? (ptr) : "")
+
#endif /* _MN_UTIL_H */
diff --git a/tests/Makefile.in b/tests/Makefile.in
@@ -205,6 +205,8 @@ WITH_MIME_FALSE = @WITH_MIME_FALSE@
WITH_MIME_TRUE = @WITH_MIME_TRUE@
WITH_POP3_FALSE = @WITH_POP3_FALSE@
WITH_POP3_OR_IMAP_FALSE = @WITH_POP3_OR_IMAP_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_FALSE = @WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_TRUE = @WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@
WITH_POP3_OR_IMAP_TRUE = @WITH_POP3_OR_IMAP_TRUE@
WITH_POP3_TRUE = @WITH_POP3_TRUE@
WITH_REGRESSION_TESTS_FALSE = @WITH_REGRESSION_TESTS_FALSE@
diff --git a/tests/test-uri.c b/tests/test-uri.c
@@ -22,6 +22,7 @@
static char *
build_uri (const char *scheme,
+ const char *password,
const char *authmech,
const char *hostname,
int port,
@@ -31,8 +32,10 @@ build_uri (const char *scheme,
GString *uri;
uri = g_string_new(scheme);
- g_string_append(uri, "://username:password");
+ g_string_append(uri, "://username");
+ if (password)
+ g_string_append_printf(uri, ":%s", password);
if (authmech)
g_string_append_printf(uri, ";AUTH=%s", authmech);
if (hostname)
@@ -49,6 +52,7 @@ build_uri (const char *scheme,
static char *
build_canonical_uri (const char *scheme,
+ const char *password,
const char *authmech,
const char *hostname,
int port,
@@ -87,6 +91,7 @@ build_canonical_uri (const char *scheme,
default_path = "INBOX";
return build_uri(scheme,
+ password,
authmech,
hostname,
port != default_port ? port : -1,
@@ -111,8 +116,9 @@ main (int argc, char **argv)
#define FOR(iterator, var) \
for (iterator = 0; iterator < G_N_ELEMENTS(var); iterator++)
- int a, b, c, d, e, f;
+ int a, b, c, d, e, f, g;
const char *schemes[] = { "pop", "pops", "imap", "imaps", "gmail" };
+ const char *passwords[] = { NULL, "password" };
const char *authmechs[] = { NULL, "CRAM-MD5" };
const char *hostnames[] = { NULL, "hostname", "[::1]" };
int ports[] = { -1, 110, 995, 143, 993, 555 };
@@ -124,11 +130,12 @@ main (int argc, char **argv)
g_type_init();
FOR(a, schemes)
- FOR(b, authmechs)
- FOR(c, hostnames)
- FOR(d, ports)
- FOR(e, paths)
- FOR(f, queries)
+ FOR(b, passwords)
+ FOR(c, authmechs)
+ FOR(d, hostnames)
+ FOR(e, ports)
+ FOR(f, paths)
+ FOR(g, queries)
{
char *uri;
char *canonical_uri;
@@ -136,8 +143,8 @@ main (int argc, char **argv)
n_uri++;
- uri = build_uri(schemes[a], authmechs[b], hostnames[c], ports[d], paths[e], queries[f]);
- canonical_uri = build_canonical_uri(schemes[a], authmechs[b], hostnames[c], ports[d], paths[e], queries[f]);
+ uri = build_uri(schemes[a], passwords[b], authmechs[c], hostnames[d], ports[e], paths[f], queries[g]);
+ canonical_uri = build_canonical_uri(schemes[a], passwords[b], authmechs[c], hostnames[d], ports[e], paths[f], queries[g]);
obj = mn_uri_new(uri);
if (canonical_uri)
diff --git a/ui/Makefile.am b/ui/Makefile.am
@@ -1,7 +1,12 @@
uidir = $(pkgdatadir)/ui
+if WITH_POP3_OR_IMAP_OR_GMAIL
+authentication_interfaces = authentication.glade
+authentication_projects = authentication.gladep
+endif
+
interfaces = \
- $(mail_summary_interfaces) \
+ $(authentication_interfaces) \
mailbox-properties.glade \
properties.glade \
summary-dialog.glade \
@@ -9,7 +14,7 @@ interfaces = \
welcome.glade
projects = \
- $(mail_summary_projects) \
+ $(authentication_projects) \
mailbox-properties.gladep \
properties.gladep \
summary-dialog.gladep \
diff --git a/ui/Makefile.in b/ui/Makefile.in
@@ -35,7 +35,7 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = ui
-DIST_COMMON = $(dist_ui_DATA) $(srcdir)/Makefile.am \
+DIST_COMMON = $(am__dist_ui_DATA_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/openssl.m4 \
@@ -48,6 +48,9 @@ CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
+am__dist_ui_DATA_DIST = authentication.glade mailbox-properties.glade \
+ properties.glade summary-dialog.glade summary-popup.glade \
+ welcome.glade
am__installdirs = "$(DESTDIR)$(uidir)"
dist_uiDATA_INSTALL = $(INSTALL_DATA)
DATA = $(dist_ui_DATA)
@@ -169,6 +172,8 @@ WITH_MIME_FALSE = @WITH_MIME_FALSE@
WITH_MIME_TRUE = @WITH_MIME_TRUE@
WITH_POP3_FALSE = @WITH_POP3_FALSE@
WITH_POP3_OR_IMAP_FALSE = @WITH_POP3_OR_IMAP_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_FALSE = @WITH_POP3_OR_IMAP_OR_GMAIL_FALSE@
+WITH_POP3_OR_IMAP_OR_GMAIL_TRUE = @WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@
WITH_POP3_OR_IMAP_TRUE = @WITH_POP3_OR_IMAP_TRUE@
WITH_POP3_TRUE = @WITH_POP3_TRUE@
WITH_REGRESSION_TESTS_FALSE = @WITH_REGRESSION_TESTS_FALSE@
@@ -208,8 +213,10 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
uidir = $(pkgdatadir)/ui
+@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@authentication_interfaces = authentication.glade
+@WITH_POP3_OR_IMAP_OR_GMAIL_TRUE@authentication_projects = authentication.gladep
interfaces = \
- $(mail_summary_interfaces) \
+ $(authentication_interfaces) \
mailbox-properties.glade \
properties.glade \
summary-dialog.glade \
@@ -217,7 +224,7 @@ interfaces = \
welcome.glade
projects = \
- $(mail_summary_projects) \
+ $(authentication_projects) \
mailbox-properties.gladep \
properties.gladep \
summary-dialog.gladep \
diff --git a/ui/authentication.glade b/ui/authentication.glade
@@ -0,0 +1,261 @@
+<?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="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button2">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Authenticate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </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="stock">gtk-dialog-authentication</property>
+ <property name="icon_size">6</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">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child>
+ <widget class="GtkLabel" id="label">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes"></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">True</property>
+ <property name="xalign">0</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="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child>
+ <widget class="GtkLabel" id="username_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Username:</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</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="mnemonic_widget">username_entry</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="username_entry">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child>
+ <widget class="GtkLabel" id="password_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Password:</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</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="mnemonic_widget">password_entry</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="password_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">False</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">True</property>
+ <signal name="changed" handler="mn_authenticated_mailbox_password_prompt_changed_h" object="dialog" last_modification_time="Sun, 10 Oct 2004 21:53:42 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</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/authentication.gladep b/ui/authentication.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 Authentication</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>
diff --git a/ui/properties.glade b/ui/properties.glade
@@ -82,41 +82,122 @@
<property name="border_width">12</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">6</property>
+ <property name="spacing">18</property>
<child>
- <widget class="GtkCheckButton" id="autostart_check">
+ <widget class="GtkVBox" id="vbox22">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Whether to start Mail Notification when you log into your GNOME session or not</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Start Mail Notification on GNOME login</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="mn_properties_autostart_toggled_h" last_modification_time="Mon, 23 Aug 2004 01:36:43 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
- <child>
- <widget class="GtkCheckButton" id="blink_check">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Whether the status icon should blink on errors or not</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Blink on errors</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
+ <child>
+ <widget class="GtkLabel" id="label36">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><span weight="bold">General</span></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</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="GtkHBox" id="hbox27">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label37">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"> </property>
+ <property name="use_underline">False</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>
+
+ <child>
+ <widget class="GtkVBox" id="vbox23">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkCheckButton" id="autostart_check">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Whether to start Mail Notification when you log into your GNOME session or not</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Start Mail Notification on GNOME login</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="mn_properties_autostart_toggled_h" last_modification_time="Mon, 23 Aug 2004 01:36:43 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="blink_check">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Whether the status icon should blink on errors or not</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Blink on errors</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</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>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -126,24 +207,24 @@
</child>
<child>
- <widget class="GtkHBox" id="hbox9">
+ <widget class="GtkVBox" id="vbox24">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">12</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkCheckButton" id="command_new_mail_check">
+ <widget class="GtkLabel" id="label38">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Whether to run a command when new mail arrives or not</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Run a command when new mail arrives:</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="mn_properties_toggled_h" last_modification_time="Sun, 27 Jul 2003 08:45:08 GMT"/>
+ <property name="label" translatable="yes"><span weight="bold">Commands</span></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
@@ -153,17 +234,152 @@
</child>
<child>
- <widget class="GtkEntry" id="command_new_mail_entry">
+ <widget class="GtkHBox" id="hbox28">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">The command to run when new mail arrives</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char" translatable="yes">*</property>
- <property name="activates_default">False</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label39">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"> </property>
+ <property name="use_underline">False</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>
+
+ <child>
+ <widget class="GtkVBox" id="vbox25">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox29">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child>
+ <widget class="GtkCheckButton" id="command_new_mail_check">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Whether to run a command when new mail arrives or not</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">When _new mail arrives:</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="mn_properties_toggled_h" last_modification_time="Sun, 27 Jul 2003 08:45:08 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="command_new_mail_entry">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">The command to run when new mail arrives</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox30">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child>
+ <widget class="GtkCheckButton" id="command_mail_read_check">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Whether to run a command when all mail is read or not</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">When _all mail is read:</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="mn_properties_toggled_h" last_modification_time="Sat, 09 Oct 2004 17:36:36 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="command_mail_read_entry">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">The command to run when all mail is read</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="padding">0</property>