commit 7a2c97e1f48cfb8cd6e21a1d619fd589dfa19ef0
parent dec3915e79a5123b105914a25177a33a3e14f641
Author: Jean-Yves Lefort <jylefort@brutele.be>
Date: Fri, 23 May 2008 01:50:03 +1000
mail-notification-5.4
* Core changes:
* Messages that the user has considered as read are
now remembered across sessions (#229167)
* IMAP changes:
* A regression introduced in 5.1 caused some read
messages to be reported as unread: fixed (#230425)
* Updated translations:
* French
* Polish (Tomasz Sałaciński)
Diffstat:
29 files changed, 4196 insertions(+), 3032 deletions(-)
diff --git a/NEWS b/NEWS
@@ -1,3 +1,17 @@
+5.4 May 22, 2008
+
+ * Core changes:
+ * Messages that the user has considered as read are
+ now remembered across sessions (#229167)
+
+ * IMAP changes:
+ * A regression introduced in 5.1 caused some read
+ messages to be reported as unread: fixed (#230425)
+
+ * Updated translations:
+ * French
+ * Polish (Tomasz Sałaciński)
+
5.3 April 27, 2008
* Core changes:
diff --git a/build/src/mn-imap-mailbox.c b/build/src/mn-imap-mailbox.c
@@ -225,115 +225,115 @@ static int mn_imap_mailbox_enter_search_recent_cb (MNClientSession * session, MN
#line 740 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_handle_search_recent_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv);
#line 228 "mn-imap-mailbox.c"
-#line 796 "src/mn-imap-mailbox.gob"
+#line 800 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_enter_fetch_uid_cb (MNClientSession * session, MNClientSessionPrivate * priv);
#line 231 "mn-imap-mailbox.c"
-#line 816 "src/mn-imap-mailbox.gob"
+#line 820 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_build_fetch_uid_set_cb (gpointer key, gpointer value, gpointer user_data);
#line 234 "mn-imap-mailbox.c"
-#line 828 "src/mn-imap-mailbox.gob"
+#line 832 "src/mn-imap-mailbox.gob"
static char * mn_imap_mailbox_parse_fetch_uid_response (const char * response);
#line 237 "mn-imap-mailbox.c"
-#line 851 "src/mn-imap-mailbox.gob"
+#line 855 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_handle_fetch_uid_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv);
#line 240 "mn-imap-mailbox.c"
-#line 921 "src/mn-imap-mailbox.gob"
+#line 925 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_enter_fetch_cb (MNClientSession * session, MNClientSessionPrivate * priv);
#line 243 "mn-imap-mailbox.c"
-#line 945 "src/mn-imap-mailbox.gob"
+#line 949 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_build_fetch_set_cb (gpointer key, gpointer value, gpointer user_data);
#line 246 "mn-imap-mailbox.c"
-#line 960 "src/mn-imap-mailbox.gob"
+#line 964 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_handle_fetch_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv);
#line 249 "mn-imap-mailbox.c"
-#line 1056 "src/mn-imap-mailbox.gob"
+#line 1060 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_enter_idle_cb (MNClientSession * session, MNClientSessionPrivate * priv);
#line 252 "mn-imap-mailbox.c"
-#line 1099 "src/mn-imap-mailbox.gob"
+#line 1103 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_handle_idle_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv);
#line 255 "mn-imap-mailbox.c"
-#line 1197 "src/mn-imap-mailbox.gob"
+#line 1201 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_enter_logout_cb (MNClientSession * session, MNClientSessionPrivate * priv);
#line 258 "mn-imap-mailbox.c"
-#line 1204 "src/mn-imap-mailbox.gob"
+#line 1208 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_handle_logout_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv);
#line 261 "mn-imap-mailbox.c"
-#line 1224 "src/mn-imap-mailbox.gob"
+#line 1228 "src/mn-imap-mailbox.gob"
static void ___21_mn_imap_mailbox_authenticated_check (MNAuthenticatedMailbox * mailbox);
#line 264 "mn-imap-mailbox.c"
-#line 1333 "src/mn-imap-mailbox.gob"
+#line 1337 "src/mn-imap-mailbox.gob"
static MNClientSessionResponse * mn_imap_mailbox_response_new_cb (MNClientSession * session, const char * input, MNClientSessionPrivate * priv);
#line 267 "mn-imap-mailbox.c"
-#line 1409 "src/mn-imap-mailbox.gob"
+#line 1413 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv);
#line 270 "mn-imap-mailbox.c"
-#line 1422 "src/mn-imap-mailbox.gob"
+#line 1426 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_default_handler (MNClientSessionResponse * response, MNClientSessionPrivate * priv, int error_code_when_bye);
#line 273 "mn-imap-mailbox.c"
-#line 1433 "src/mn-imap-mailbox.gob"
+#line 1437 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_pre_read_cb (MNClientSession * session, MNClientSessionPrivate * priv);
#line 276 "mn-imap-mailbox.c"
-#line 1454 "src/mn-imap-mailbox.gob"
+#line 1458 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_post_read_cb (MNClientSession * session, MNClientSessionPrivate * priv);
#line 279 "mn-imap-mailbox.c"
-#line 1471 "src/mn-imap-mailbox.gob"
+#line 1475 "src/mn-imap-mailbox.gob"
static gboolean mn_imap_mailbox_idle_inactivity_timeout_cb (gpointer data);
#line 282 "mn-imap-mailbox.c"
-#line 1492 "src/mn-imap-mailbox.gob"
+#line 1496 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_session_write (MNClientSessionPrivate * priv, const char * format, ...) G_GNUC_PRINTF(2, 3);
#line 285 "mn-imap-mailbox.c"
-#line 1512 "src/mn-imap-mailbox.gob"
+#line 1516 "src/mn-imap-mailbox.gob"
static gboolean mn_imap_mailbox_session_handle_capability_code (MNClientSessionPrivate * priv, MNClientSessionResponse * response);
#line 288 "mn-imap-mailbox.c"
-#line 1533 "src/mn-imap-mailbox.gob"
+#line 1537 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_session_parse_capabilities (MNClientSessionPrivate * priv, const char * capabilities);
#line 291 "mn-imap-mailbox.c"
-#line 1560 "src/mn-imap-mailbox.gob"
+#line 1564 "src/mn-imap-mailbox.gob"
static gboolean mn_imap_mailbox_session_has_capability (MNClientSessionPrivate * priv, const char * capability);
#line 294 "mn-imap-mailbox.c"
-#line 1575 "src/mn-imap-mailbox.gob"
+#line 1579 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_session_after_capability (MNClientSessionPrivate * priv);
#line 297 "mn-imap-mailbox.c"
-#line 1599 "src/mn-imap-mailbox.gob"
+#line 1603 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_session_authenticate (MNClientSessionPrivate * priv);
#line 300 "mn-imap-mailbox.c"
-#line 1639 "src/mn-imap-mailbox.gob"
+#line 1643 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv, gboolean tried_login);
#line 303 "mn-imap-mailbox.c"
-#line 1685 "src/mn-imap-mailbox.gob"
+#line 1689 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_session_detect_imapd (MNClientSession * session, MNClientSessionResponse * greeting_response, MNClientSessionPrivate * priv);
#line 306 "mn-imap-mailbox.c"
-#line 1709 "src/mn-imap-mailbox.gob"
+#line 1713 "src/mn-imap-mailbox.gob"
static int mn_imap_mailbox_session_got_messages (MNClientSessionPrivate * priv);
#line 309 "mn-imap-mailbox.c"
-#line 1747 "src/mn-imap-mailbox.gob"
+#line 1751 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_get_messages_list_cb (gpointer key, gpointer value, gpointer user_data);
#line 312 "mn-imap-mailbox.c"
-#line 1757 "src/mn-imap-mailbox.gob"
+#line 1761 "src/mn-imap-mailbox.gob"
static MessageInfo * mn_imap_mailbox_session_get_message_info (MNClientSessionPrivate * priv, int number);
#line 315 "mn-imap-mailbox.c"
-#line 1764 "src/mn-imap-mailbox.gob"
+#line 1768 "src/mn-imap-mailbox.gob"
static MessageInfo * mn_imap_mailbox_session_ensure_message_info (MNClientSessionPrivate * priv, int number);
#line 318 "mn-imap-mailbox.c"
-#line 1780 "src/mn-imap-mailbox.gob"
+#line 1784 "src/mn-imap-mailbox.gob"
static MessageInfo * mn_imap_mailbox_message_info_new (int number);
#line 321 "mn-imap-mailbox.c"
-#line 1791 "src/mn-imap-mailbox.gob"
+#line 1795 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_message_info_free (MessageInfo * info);
#line 324 "mn-imap-mailbox.c"
-#line 1808 "src/mn-imap-mailbox.gob"
+#line 1812 "src/mn-imap-mailbox.gob"
static char * mn_imap_mailbox_quote (const char * str);
#line 327 "mn-imap-mailbox.c"
-#line 1833 "src/mn-imap-mailbox.gob"
+#line 1837 "src/mn-imap-mailbox.gob"
static char * mn_imap_mailbox_utf8_to_imap_utf7 (const char * str);
#line 330 "mn-imap-mailbox.c"
-#line 1892 "src/mn-imap-mailbox.gob"
+#line 1896 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_imap_utf7_closeb64 (GString * out, guint32 v, guint32 i);
#line 333 "mn-imap-mailbox.c"
-#line 1928 "src/mn-imap-mailbox.gob"
+#line 1932 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_lock (MNIMAPMailbox * self);
#line 336 "mn-imap-mailbox.c"
-#line 1934 "src/mn-imap-mailbox.gob"
+#line 1938 "src/mn-imap-mailbox.gob"
static void mn_imap_mailbox_unlock (MNIMAPMailbox * self);
#line 339 "mn-imap-mailbox.c"
@@ -480,7 +480,7 @@ mn_imap_mailbox_class_init (MNIMAPMailboxClass * class G_GNUC_UNUSED)
mn_mailbox_class->parse_uri = ___4_mn_imap_mailbox_parse_uri;
#line 316 "src/mn-imap-mailbox.gob"
mn_mailbox_class->removed = ___6_mn_imap_mailbox_removed;
-#line 1224 "src/mn-imap-mailbox.gob"
+#line 1228 "src/mn-imap-mailbox.gob"
mn_authenticated_mailbox_class->authenticated_check = ___21_mn_imap_mailbox_authenticated_check;
#line 486 "mn-imap-mailbox.c"
g_object_class->finalize = ___finalize;
@@ -1346,9 +1346,13 @@ mn_imap_mailbox_handle_search_recent_cb (MNClientSession * session, MNClientSess
int n = atoi(strings[i]);
MessageInfo *info;
- info = self_session_ensure_message_info(priv, n);
-
- info->flags |= MN_MESSAGE_NEW;
+ info = self_session_get_message_info(priv, n);
+ if (info)
+ info->flags |= MN_MESSAGE_NEW;
+ /*
+ * Otherwise the message is recent but not unseen,
+ * and we must ignore it (fixes #230425).
+ */
}
g_strfreev(strings);
@@ -1359,17 +1363,17 @@ mn_imap_mailbox_handle_search_recent_cb (MNClientSession * session, MNClientSess
return self_default_handler(response, priv, MN_CLIENT_SESSION_ERROR_OTHER);
}}
-#line 1363 "mn-imap-mailbox.c"
+#line 1367 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 796 "src/mn-imap-mailbox.gob"
+#line 800 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_fetch_uid_cb (MNClientSession * session, MNClientSessionPrivate * priv)
{
-#line 1370 "mn-imap-mailbox.c"
+#line 1374 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_fetch_uid_cb"
{
-#line 798 "src/mn-imap-mailbox.gob"
+#line 802 "src/mn-imap-mailbox.gob"
GString *set;
int result;
@@ -1387,17 +1391,17 @@ mn_imap_mailbox_enter_fetch_uid_cb (MNClientSession * session, MNClientSessionPr
return result;
}}
-#line 1391 "mn-imap-mailbox.c"
+#line 1395 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 816 "src/mn-imap-mailbox.gob"
+#line 820 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_build_fetch_uid_set_cb (gpointer key, gpointer value, gpointer user_data)
{
-#line 1398 "mn-imap-mailbox.c"
+#line 1402 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::build_fetch_uid_set_cb"
{
-#line 818 "src/mn-imap-mailbox.gob"
+#line 822 "src/mn-imap-mailbox.gob"
MessageInfo *info = value;
GString *set = user_data;
@@ -1407,20 +1411,20 @@ mn_imap_mailbox_build_fetch_uid_set_cb (gpointer key, gpointer value, gpointer u
g_string_append_printf(set, "%i", info->number);
}}
-#line 1411 "mn-imap-mailbox.c"
+#line 1415 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 828 "src/mn-imap-mailbox.gob"
+#line 832 "src/mn-imap-mailbox.gob"
static char *
mn_imap_mailbox_parse_fetch_uid_response (const char * response)
{
-#line 1418 "mn-imap-mailbox.c"
+#line 1422 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::parse_fetch_uid_response"
-#line 828 "src/mn-imap-mailbox.gob"
+#line 832 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (char * )0);
-#line 1422 "mn-imap-mailbox.c"
+#line 1426 "mn-imap-mailbox.c"
{
-#line 830 "src/mn-imap-mailbox.gob"
+#line 834 "src/mn-imap-mailbox.gob"
char *start;
char *end;
@@ -1441,17 +1445,17 @@ mn_imap_mailbox_parse_fetch_uid_response (const char * response)
return g_strndup(start, end - start);
}}
-#line 1445 "mn-imap-mailbox.c"
+#line 1449 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 851 "src/mn-imap-mailbox.gob"
+#line 855 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_fetch_uid_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
{
-#line 1452 "mn-imap-mailbox.c"
+#line 1456 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_fetch_uid_cb"
{
-#line 855 "src/mn-imap-mailbox.gob"
+#line 859 "src/mn-imap-mailbox.gob"
if (response->continuation)
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
@@ -1517,17 +1521,17 @@ mn_imap_mailbox_handle_fetch_uid_cb (MNClientSession * session, MNClientSessionR
return self_default_handler(response, priv, MN_CLIENT_SESSION_ERROR_OTHER);
}}
-#line 1521 "mn-imap-mailbox.c"
+#line 1525 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 921 "src/mn-imap-mailbox.gob"
+#line 925 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_fetch_cb (MNClientSession * session, MNClientSessionPrivate * priv)
{
-#line 1528 "mn-imap-mailbox.c"
+#line 1532 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_fetch_cb"
{
-#line 923 "src/mn-imap-mailbox.gob"
+#line 927 "src/mn-imap-mailbox.gob"
GString *set;
int result;
@@ -1549,17 +1553,17 @@ mn_imap_mailbox_enter_fetch_cb (MNClientSession * session, MNClientSessionPrivat
return result;
}}
-#line 1553 "mn-imap-mailbox.c"
+#line 1557 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 945 "src/mn-imap-mailbox.gob"
+#line 949 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_build_fetch_set_cb (gpointer key, gpointer value, gpointer user_data)
{
-#line 1560 "mn-imap-mailbox.c"
+#line 1564 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::build_fetch_set_cb"
{
-#line 947 "src/mn-imap-mailbox.gob"
+#line 951 "src/mn-imap-mailbox.gob"
MessageInfo *info = value;
GString *set = user_data;
@@ -1572,17 +1576,17 @@ mn_imap_mailbox_build_fetch_set_cb (gpointer key, gpointer value, gpointer user_
g_string_append_printf(set, "%i", info->number);
}
}}
-#line 1576 "mn-imap-mailbox.c"
+#line 1580 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 960 "src/mn-imap-mailbox.gob"
+#line 964 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_fetch_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
{
-#line 1583 "mn-imap-mailbox.c"
+#line 1587 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_fetch_cb"
{
-#line 964 "src/mn-imap-mailbox.gob"
+#line 968 "src/mn-imap-mailbox.gob"
if (response->continuation)
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
@@ -1674,17 +1678,17 @@ mn_imap_mailbox_handle_fetch_cb (MNClientSession * session, MNClientSessionRespo
return self_default_handler(response, priv, MN_CLIENT_SESSION_ERROR_OTHER);
}}
-#line 1678 "mn-imap-mailbox.c"
+#line 1682 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1056 "src/mn-imap-mailbox.gob"
+#line 1060 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_idle_cb (MNClientSession * session, MNClientSessionPrivate * priv)
{
-#line 1685 "mn-imap-mailbox.c"
+#line 1689 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_idle_cb"
{
-#line 1059 "src/mn-imap-mailbox.gob"
+#line 1063 "src/mn-imap-mailbox.gob"
if (mn_mailbox_get_active(priv->mailbox))
{
@@ -1724,17 +1728,17 @@ mn_imap_mailbox_enter_idle_cb (MNClientSession * session, MNClientSessionPrivate
priv->idle_state = IDLE_STATE_PRE_IDLE;
return self_session_write(priv, "IDLE");
}}
-#line 1728 "mn-imap-mailbox.c"
+#line 1732 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1099 "src/mn-imap-mailbox.gob"
+#line 1103 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_idle_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
{
-#line 1735 "mn-imap-mailbox.c"
+#line 1739 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_idle_cb"
{
-#line 1103 "src/mn-imap-mailbox.gob"
+#line 1107 "src/mn-imap-mailbox.gob"
switch (priv->idle_state)
{
@@ -1828,31 +1832,31 @@ mn_imap_mailbox_handle_idle_cb (MNClientSession * session, MNClientSessionRespon
return self_default_handler(response, priv, MN_CLIENT_SESSION_ERROR_OTHER);
}}
-#line 1832 "mn-imap-mailbox.c"
+#line 1836 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1197 "src/mn-imap-mailbox.gob"
+#line 1201 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_enter_logout_cb (MNClientSession * session, MNClientSessionPrivate * priv)
{
-#line 1839 "mn-imap-mailbox.c"
+#line 1843 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::enter_logout_cb"
{
-#line 1200 "src/mn-imap-mailbox.gob"
+#line 1204 "src/mn-imap-mailbox.gob"
return self_session_write(priv, "LOGOUT");
}}
-#line 1846 "mn-imap-mailbox.c"
+#line 1850 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1204 "src/mn-imap-mailbox.gob"
+#line 1208 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_handle_logout_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
{
-#line 1853 "mn-imap-mailbox.c"
+#line 1857 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::handle_logout_cb"
{
-#line 1208 "src/mn-imap-mailbox.gob"
+#line 1212 "src/mn-imap-mailbox.gob"
if (response->continuation)
return MN_CLIENT_SESSION_RESULT_BAD_RESPONSE_FOR_CONTEXT;
@@ -1868,20 +1872,20 @@ mn_imap_mailbox_handle_logout_cb (MNClientSession * session, MNClientSessionResp
else
return MN_CLIENT_SESSION_RESULT_CONTINUE;
}}
-#line 1872 "mn-imap-mailbox.c"
+#line 1876 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1224 "src/mn-imap-mailbox.gob"
+#line 1228 "src/mn-imap-mailbox.gob"
static void
___21_mn_imap_mailbox_authenticated_check (MNAuthenticatedMailbox * mailbox G_GNUC_UNUSED)
-#line 1878 "mn-imap-mailbox.c"
+#line 1882 "mn-imap-mailbox.c"
#define PARENT_HANDLER(___mailbox) \
{ if(MN_AUTHENTICATED_MAILBOX_CLASS(parent_class)->authenticated_check) \
(* MN_AUTHENTICATED_MAILBOX_CLASS(parent_class)->authenticated_check)(___mailbox); }
{
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::authenticated_check"
{
-#line 1226 "src/mn-imap-mailbox.gob"
+#line 1230 "src/mn-imap-mailbox.gob"
Self *self = SELF(mailbox);
static const MNClientSessionState states[] = {
@@ -1988,18 +1992,18 @@ ___21_mn_imap_mailbox_authenticated_check (MNAuthenticatedMailbox * mailbox G_GN
gdk_flush();
GDK_THREADS_LEAVE();
}}
-#line 1992 "mn-imap-mailbox.c"
+#line 1996 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
-#line 1333 "src/mn-imap-mailbox.gob"
+#line 1337 "src/mn-imap-mailbox.gob"
static MNClientSessionResponse *
mn_imap_mailbox_response_new_cb (MNClientSession * session, const char * input, MNClientSessionPrivate * priv)
{
-#line 2000 "mn-imap-mailbox.c"
+#line 2004 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::response_new_cb"
{
-#line 1337 "src/mn-imap-mailbox.gob"
+#line 1341 "src/mn-imap-mailbox.gob"
MNClientSessionResponse *response = NULL;
@@ -2071,17 +2075,17 @@ mn_imap_mailbox_response_new_cb (MNClientSession * session, const char * input,
return response;
}}
-#line 2075 "mn-imap-mailbox.c"
+#line 2079 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1409 "src/mn-imap-mailbox.gob"
+#line 1413 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResponse * response, MNClientSessionPrivate * priv)
{
-#line 2082 "mn-imap-mailbox.c"
+#line 2086 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::response_free_cb"
{
-#line 1413 "src/mn-imap-mailbox.gob"
+#line 1417 "src/mn-imap-mailbox.gob"
g_free(response->continuation);
g_free(response->tag);
@@ -2090,39 +2094,39 @@ mn_imap_mailbox_response_free_cb (MNClientSession * session, MNClientSessionResp
g_free(response->arguments);
g_free(response);
}}
-#line 2094 "mn-imap-mailbox.c"
+#line 2098 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1422 "src/mn-imap-mailbox.gob"
+#line 1426 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_default_handler (MNClientSessionResponse * response, MNClientSessionPrivate * priv, int error_code_when_bye)
{
-#line 2101 "mn-imap-mailbox.c"
+#line 2105 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::default_handler"
-#line 1422 "src/mn-imap-mailbox.gob"
+#line 1426 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (int )0);
-#line 1422 "src/mn-imap-mailbox.gob"
+#line 1426 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 2107 "mn-imap-mailbox.c"
+#line 2111 "mn-imap-mailbox.c"
{
-#line 1426 "src/mn-imap-mailbox.gob"
+#line 1430 "src/mn-imap-mailbox.gob"
if (! response->tag && IS_BYE(response))
return mn_client_session_set_error_from_response(priv->session, error_code_when_bye, response->arguments);
else
return MN_CLIENT_SESSION_RESULT_CONTINUE;
}}
-#line 2116 "mn-imap-mailbox.c"
+#line 2120 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1433 "src/mn-imap-mailbox.gob"
+#line 1437 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_pre_read_cb (MNClientSession * session, MNClientSessionPrivate * priv)
{
-#line 2123 "mn-imap-mailbox.c"
+#line 2127 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::pre_read_cb"
{
-#line 1436 "src/mn-imap-mailbox.gob"
+#line 1440 "src/mn-imap-mailbox.gob"
if (priv->idle_state == IDLE_STATE_IDLE)
{
@@ -2140,17 +2144,17 @@ mn_imap_mailbox_pre_read_cb (MNClientSession * session, MNClientSessionPrivate *
self_unlock(self);
}
}}
-#line 2144 "mn-imap-mailbox.c"
+#line 2148 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1454 "src/mn-imap-mailbox.gob"
+#line 1458 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_post_read_cb (MNClientSession * session, MNClientSessionPrivate * priv)
{
-#line 2151 "mn-imap-mailbox.c"
+#line 2155 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::post_read_cb"
{
-#line 1457 "src/mn-imap-mailbox.gob"
+#line 1461 "src/mn-imap-mailbox.gob"
Self *self = priv->self;
@@ -2164,17 +2168,17 @@ mn_imap_mailbox_post_read_cb (MNClientSession * session, MNClientSessionPrivate
self_unlock(self);
}}
-#line 2168 "mn-imap-mailbox.c"
+#line 2172 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1471 "src/mn-imap-mailbox.gob"
+#line 1475 "src/mn-imap-mailbox.gob"
static gboolean
mn_imap_mailbox_idle_inactivity_timeout_cb (gpointer data)
{
-#line 2175 "mn-imap-mailbox.c"
+#line 2179 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::idle_inactivity_timeout_cb"
{
-#line 1473 "src/mn-imap-mailbox.gob"
+#line 1477 "src/mn-imap-mailbox.gob"
Self *self = data;
@@ -2192,22 +2196,22 @@ mn_imap_mailbox_idle_inactivity_timeout_cb (gpointer data)
return FALSE;
}}
-#line 2196 "mn-imap-mailbox.c"
+#line 2200 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1492 "src/mn-imap-mailbox.gob"
+#line 1496 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_write (MNClientSessionPrivate * priv, const char * format, ...)
{
-#line 2203 "mn-imap-mailbox.c"
+#line 2207 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_write"
-#line 1492 "src/mn-imap-mailbox.gob"
+#line 1496 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 1492 "src/mn-imap-mailbox.gob"
+#line 1496 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (format != NULL, (int )0);
-#line 2209 "mn-imap-mailbox.c"
+#line 2213 "mn-imap-mailbox.c"
{
-#line 1496 "src/mn-imap-mailbox.gob"
+#line 1500 "src/mn-imap-mailbox.gob"
char *command;
int result;
@@ -2223,22 +2227,22 @@ mn_imap_mailbox_session_write (MNClientSessionPrivate * priv, const char * forma
return result;
}}
-#line 2227 "mn-imap-mailbox.c"
+#line 2231 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1512 "src/mn-imap-mailbox.gob"
+#line 1516 "src/mn-imap-mailbox.gob"
static gboolean
mn_imap_mailbox_session_handle_capability_code (MNClientSessionPrivate * priv, MNClientSessionResponse * response)
{
-#line 2234 "mn-imap-mailbox.c"
+#line 2238 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_handle_capability_code"
-#line 1512 "src/mn-imap-mailbox.gob"
+#line 1516 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (gboolean )0);
-#line 1512 "src/mn-imap-mailbox.gob"
+#line 1516 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (response != NULL, (gboolean )0);
-#line 2240 "mn-imap-mailbox.c"
+#line 2244 "mn-imap-mailbox.c"
{
-#line 1515 "src/mn-imap-mailbox.gob"
+#line 1519 "src/mn-imap-mailbox.gob"
if (response->code)
{
@@ -2256,20 +2260,20 @@ mn_imap_mailbox_session_handle_capability_code (MNClientSessionPrivate * priv, M
return FALSE;
}}
-#line 2260 "mn-imap-mailbox.c"
+#line 2264 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1533 "src/mn-imap-mailbox.gob"
+#line 1537 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_session_parse_capabilities (MNClientSessionPrivate * priv, const char * capabilities)
{
-#line 2267 "mn-imap-mailbox.c"
+#line 2271 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_parse_capabilities"
-#line 1533 "src/mn-imap-mailbox.gob"
+#line 1537 "src/mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 2271 "mn-imap-mailbox.c"
+#line 2275 "mn-imap-mailbox.c"
{
-#line 1536 "src/mn-imap-mailbox.gob"
+#line 1540 "src/mn-imap-mailbox.gob"
g_strfreev(priv->capabilities);
priv->capabilities = NULL;
@@ -2293,22 +2297,22 @@ mn_imap_mailbox_session_parse_capabilities (MNClientSessionPrivate * priv, const
else
priv->capabilities = g_new0(char *, 1);
}}
-#line 2297 "mn-imap-mailbox.c"
+#line 2301 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1560 "src/mn-imap-mailbox.gob"
+#line 1564 "src/mn-imap-mailbox.gob"
static gboolean
mn_imap_mailbox_session_has_capability (MNClientSessionPrivate * priv, const char * capability)
{
-#line 2304 "mn-imap-mailbox.c"
+#line 2308 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_has_capability"
-#line 1560 "src/mn-imap-mailbox.gob"
+#line 1564 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (gboolean )0);
-#line 1560 "src/mn-imap-mailbox.gob"
+#line 1564 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (capability != NULL, (gboolean )0);
-#line 2310 "mn-imap-mailbox.c"
+#line 2314 "mn-imap-mailbox.c"
{
-#line 1563 "src/mn-imap-mailbox.gob"
+#line 1567 "src/mn-imap-mailbox.gob"
int i;
@@ -2320,20 +2324,20 @@ mn_imap_mailbox_session_has_capability (MNClientSessionPrivate * priv, const cha
return FALSE;
}}
-#line 2324 "mn-imap-mailbox.c"
+#line 2328 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1575 "src/mn-imap-mailbox.gob"
+#line 1579 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_after_capability (MNClientSessionPrivate * priv)
{
-#line 2331 "mn-imap-mailbox.c"
+#line 2335 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_after_capability"
-#line 1575 "src/mn-imap-mailbox.gob"
+#line 1579 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 2335 "mn-imap-mailbox.c"
+#line 2339 "mn-imap-mailbox.c"
{
-#line 1577 "src/mn-imap-mailbox.gob"
+#line 1581 "src/mn-imap-mailbox.gob"
if (priv->authenticated)
return STATE_EXAMINE;
@@ -2355,20 +2359,20 @@ mn_imap_mailbox_session_after_capability (MNClientSessionPrivate * priv)
return self_session_authenticate(priv);
}
}}
-#line 2359 "mn-imap-mailbox.c"
+#line 2363 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1599 "src/mn-imap-mailbox.gob"
+#line 1603 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_authenticate (MNClientSessionPrivate * priv)
{
-#line 2366 "mn-imap-mailbox.c"
+#line 2370 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_authenticate"
-#line 1599 "src/mn-imap-mailbox.gob"
+#line 1603 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 2370 "mn-imap-mailbox.c"
+#line 2374 "mn-imap-mailbox.c"
{
-#line 1601 "src/mn-imap-mailbox.gob"
+#line 1605 "src/mn-imap-mailbox.gob"
#if WITH_SASL
g_slist_free(priv->sasl_remaining_mechanisms);
@@ -2406,20 +2410,20 @@ mn_imap_mailbox_session_authenticate (MNClientSessionPrivate * priv)
return STATE_LOGIN;
}
}}
-#line 2410 "mn-imap-mailbox.c"
+#line 2414 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1639 "src/mn-imap-mailbox.gob"
+#line 1643 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv, gboolean tried_login)
{
-#line 2417 "mn-imap-mailbox.c"
+#line 2421 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_authenticate_fallback"
-#line 1639 "src/mn-imap-mailbox.gob"
+#line 1643 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 2421 "mn-imap-mailbox.c"
+#line 2425 "mn-imap-mailbox.c"
{
-#line 1642 "src/mn-imap-mailbox.gob"
+#line 1646 "src/mn-imap-mailbox.gob"
if (! priv->pi_mailbox->authmech)
{
@@ -2462,24 +2466,24 @@ mn_imap_mailbox_session_authenticate_fallback (MNClientSessionPrivate * priv, gb
return STATE_LOGOUT;
}
}}
-#line 2466 "mn-imap-mailbox.c"
+#line 2470 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1685 "src/mn-imap-mailbox.gob"
+#line 1689 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_session_detect_imapd (MNClientSession * session, MNClientSessionResponse * greeting_response, MNClientSessionPrivate * priv)
{
-#line 2473 "mn-imap-mailbox.c"
+#line 2477 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_detect_imapd"
-#line 1685 "src/mn-imap-mailbox.gob"
+#line 1689 "src/mn-imap-mailbox.gob"
g_return_if_fail (session != NULL);
-#line 1685 "src/mn-imap-mailbox.gob"
+#line 1689 "src/mn-imap-mailbox.gob"
g_return_if_fail (greeting_response != NULL);
-#line 1685 "src/mn-imap-mailbox.gob"
+#line 1689 "src/mn-imap-mailbox.gob"
g_return_if_fail (priv != NULL);
-#line 2481 "mn-imap-mailbox.c"
+#line 2485 "mn-imap-mailbox.c"
{
-#line 1689 "src/mn-imap-mailbox.gob"
+#line 1693 "src/mn-imap-mailbox.gob"
if (greeting_response->arguments)
{
@@ -2499,20 +2503,20 @@ mn_imap_mailbox_session_detect_imapd (MNClientSession * session, MNClientSession
}
}
}}
-#line 2503 "mn-imap-mailbox.c"
+#line 2507 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1709 "src/mn-imap-mailbox.gob"
+#line 1713 "src/mn-imap-mailbox.gob"
static int
mn_imap_mailbox_session_got_messages (MNClientSessionPrivate * priv)
{
-#line 2510 "mn-imap-mailbox.c"
+#line 2514 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_got_messages"
-#line 1709 "src/mn-imap-mailbox.gob"
+#line 1713 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (int )0);
-#line 2514 "mn-imap-mailbox.c"
+#line 2518 "mn-imap-mailbox.c"
{
-#line 1711 "src/mn-imap-mailbox.gob"
+#line 1715 "src/mn-imap-mailbox.gob"
GSList *messages = NULL;
@@ -2548,17 +2552,17 @@ mn_imap_mailbox_session_got_messages (MNClientSessionPrivate * priv)
return STATE_IDLE;
}}
-#line 2552 "mn-imap-mailbox.c"
+#line 2556 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1747 "src/mn-imap-mailbox.gob"
+#line 1751 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_get_messages_list_cb (gpointer key, gpointer value, gpointer user_data)
{
-#line 2559 "mn-imap-mailbox.c"
+#line 2563 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::get_messages_list_cb"
{
-#line 1749 "src/mn-imap-mailbox.gob"
+#line 1753 "src/mn-imap-mailbox.gob"
MessageInfo *info = value;
GSList **list = user_data;
@@ -2566,37 +2570,37 @@ mn_imap_mailbox_get_messages_list_cb (gpointer key, gpointer value, gpointer use
if (info->message)
*list = g_slist_prepend(*list, info->message);
}}
-#line 2570 "mn-imap-mailbox.c"
+#line 2574 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1757 "src/mn-imap-mailbox.gob"
+#line 1761 "src/mn-imap-mailbox.gob"
static MessageInfo *
mn_imap_mailbox_session_get_message_info (MNClientSessionPrivate * priv, int number)
{
-#line 2577 "mn-imap-mailbox.c"
+#line 2581 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_get_message_info"
-#line 1757 "src/mn-imap-mailbox.gob"
+#line 1761 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (MessageInfo * )0);
-#line 2581 "mn-imap-mailbox.c"
+#line 2585 "mn-imap-mailbox.c"
{
-#line 1760 "src/mn-imap-mailbox.gob"
+#line 1764 "src/mn-imap-mailbox.gob"
return g_hash_table_lookup(priv->messages, GINT_TO_POINTER(number));
}}
-#line 2587 "mn-imap-mailbox.c"
+#line 2591 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1764 "src/mn-imap-mailbox.gob"
+#line 1768 "src/mn-imap-mailbox.gob"
static MessageInfo *
mn_imap_mailbox_session_ensure_message_info (MNClientSessionPrivate * priv, int number)
{
-#line 2594 "mn-imap-mailbox.c"
+#line 2598 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::session_ensure_message_info"
-#line 1764 "src/mn-imap-mailbox.gob"
+#line 1768 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (priv != NULL, (MessageInfo * )0);
-#line 2598 "mn-imap-mailbox.c"
+#line 2602 "mn-imap-mailbox.c"
{
-#line 1767 "src/mn-imap-mailbox.gob"
+#line 1771 "src/mn-imap-mailbox.gob"
MessageInfo *info;
@@ -2609,17 +2613,17 @@ mn_imap_mailbox_session_ensure_message_info (MNClientSessionPrivate * priv, int
return info;
}}
-#line 2613 "mn-imap-mailbox.c"
+#line 2617 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1780 "src/mn-imap-mailbox.gob"
+#line 1784 "src/mn-imap-mailbox.gob"
static MessageInfo *
mn_imap_mailbox_message_info_new (int number)
{
-#line 2620 "mn-imap-mailbox.c"
+#line 2624 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::message_info_new"
{
-#line 1782 "src/mn-imap-mailbox.gob"
+#line 1786 "src/mn-imap-mailbox.gob"
MessageInfo *info;
@@ -2628,27 +2632,27 @@ mn_imap_mailbox_message_info_new (int number)
return info;
}}
-#line 2632 "mn-imap-mailbox.c"
+#line 2636 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1791 "src/mn-imap-mailbox.gob"
+#line 1795 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_message_info_free (MessageInfo * info)
{
-#line 2639 "mn-imap-mailbox.c"
+#line 2643 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::message_info_free"
-#line 1791 "src/mn-imap-mailbox.gob"
+#line 1795 "src/mn-imap-mailbox.gob"
g_return_if_fail (info != NULL);
-#line 2643 "mn-imap-mailbox.c"
+#line 2647 "mn-imap-mailbox.c"
{
-#line 1793 "src/mn-imap-mailbox.gob"
+#line 1797 "src/mn-imap-mailbox.gob"
if (info->message)
g_object_unref(info->message);
g_free(info->mid);
g_free(info);
}}
-#line 2652 "mn-imap-mailbox.c"
+#line 2656 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
/**
@@ -2659,17 +2663,17 @@ mn_imap_mailbox_message_info_free (MessageInfo * info)
*
* Return value: the quoted string.
**/
-#line 1808 "src/mn-imap-mailbox.gob"
+#line 1812 "src/mn-imap-mailbox.gob"
static char *
mn_imap_mailbox_quote (const char * str)
{
-#line 2667 "mn-imap-mailbox.c"
+#line 2671 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::quote"
-#line 1808 "src/mn-imap-mailbox.gob"
+#line 1812 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (str != NULL, (char * )0);
-#line 2671 "mn-imap-mailbox.c"
+#line 2675 "mn-imap-mailbox.c"
{
-#line 1810 "src/mn-imap-mailbox.gob"
+#line 1814 "src/mn-imap-mailbox.gob"
GString *quoted;
int i;
@@ -2684,7 +2688,7 @@ mn_imap_mailbox_quote (const char * str)
return g_string_free(quoted, FALSE);
}}
-#line 2688 "mn-imap-mailbox.c"
+#line 2692 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
/**
@@ -2695,17 +2699,17 @@ mn_imap_mailbox_quote (const char * str)
*
* Return value: the string converted to modified UTF-7.
**/
-#line 1833 "src/mn-imap-mailbox.gob"
+#line 1837 "src/mn-imap-mailbox.gob"
static char *
mn_imap_mailbox_utf8_to_imap_utf7 (const char * str)
{
-#line 2703 "mn-imap-mailbox.c"
+#line 2707 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::utf8_to_imap_utf7"
-#line 1833 "src/mn-imap-mailbox.gob"
+#line 1837 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (str != NULL, (char * )0);
-#line 2707 "mn-imap-mailbox.c"
+#line 2711 "mn-imap-mailbox.c"
{
-#line 1835 "src/mn-imap-mailbox.gob"
+#line 1839 "src/mn-imap-mailbox.gob"
gunichar c;
guint32 x, v = 0;
@@ -2762,20 +2766,20 @@ mn_imap_mailbox_utf8_to_imap_utf7 (const char * str)
return g_string_free(out, FALSE);
}}
-#line 2766 "mn-imap-mailbox.c"
+#line 2770 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1892 "src/mn-imap-mailbox.gob"
+#line 1896 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_imap_utf7_closeb64 (GString * out, guint32 v, guint32 i)
{
-#line 2773 "mn-imap-mailbox.c"
+#line 2777 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::imap_utf7_closeb64"
-#line 1892 "src/mn-imap-mailbox.gob"
+#line 1896 "src/mn-imap-mailbox.gob"
g_return_if_fail (out != NULL);
-#line 2777 "mn-imap-mailbox.c"
+#line 2781 "mn-imap-mailbox.c"
{
-#line 1894 "src/mn-imap-mailbox.gob"
+#line 1898 "src/mn-imap-mailbox.gob"
/*
* Taken from the Ximian Evolution sources (camel-utf8.c) and
@@ -2792,22 +2796,22 @@ mn_imap_mailbox_imap_utf7_closeb64 (GString * out, guint32 v, guint32 i)
g_string_append_c(out, '-');
}}
-#line 2796 "mn-imap-mailbox.c"
+#line 2800 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1911 "src/mn-imap-mailbox.gob"
+#line 1915 "src/mn-imap-mailbox.gob"
char *
mn_imap_mailbox_build_name (const char * username, const char * server, const char * mailbox)
{
-#line 2803 "mn-imap-mailbox.c"
+#line 2807 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::build_name"
-#line 1911 "src/mn-imap-mailbox.gob"
+#line 1915 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (username != NULL, (char * )0);
-#line 1911 "src/mn-imap-mailbox.gob"
+#line 1915 "src/mn-imap-mailbox.gob"
g_return_val_if_fail (server != NULL, (char * )0);
-#line 2809 "mn-imap-mailbox.c"
+#line 2813 "mn-imap-mailbox.c"
{
-#line 1915 "src/mn-imap-mailbox.gob"
+#line 1919 "src/mn-imap-mailbox.gob"
GString *name;
@@ -2820,43 +2824,43 @@ mn_imap_mailbox_build_name (const char * username, const char * server, const ch
return g_string_free(name, FALSE);
}}
-#line 2824 "mn-imap-mailbox.c"
+#line 2828 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1928 "src/mn-imap-mailbox.gob"
+#line 1932 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_lock (MNIMAPMailbox * self)
{
-#line 2831 "mn-imap-mailbox.c"
+#line 2835 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::lock"
-#line 1928 "src/mn-imap-mailbox.gob"
+#line 1932 "src/mn-imap-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 1928 "src/mn-imap-mailbox.gob"
+#line 1932 "src/mn-imap-mailbox.gob"
g_return_if_fail (MN_IS_IMAP_MAILBOX (self));
-#line 2837 "mn-imap-mailbox.c"
+#line 2841 "mn-imap-mailbox.c"
{
-#line 1930 "src/mn-imap-mailbox.gob"
+#line 1934 "src/mn-imap-mailbox.gob"
g_mutex_lock(selfp->mutex);
}}
-#line 2843 "mn-imap-mailbox.c"
+#line 2847 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1934 "src/mn-imap-mailbox.gob"
+#line 1938 "src/mn-imap-mailbox.gob"
static void
mn_imap_mailbox_unlock (MNIMAPMailbox * self)
{
-#line 2850 "mn-imap-mailbox.c"
+#line 2854 "mn-imap-mailbox.c"
#define __GOB_FUNCTION__ "MN:IMAP:Mailbox::unlock"
-#line 1934 "src/mn-imap-mailbox.gob"
+#line 1938 "src/mn-imap-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 1934 "src/mn-imap-mailbox.gob"
+#line 1938 "src/mn-imap-mailbox.gob"
g_return_if_fail (MN_IS_IMAP_MAILBOX (self));
-#line 2856 "mn-imap-mailbox.c"
+#line 2860 "mn-imap-mailbox.c"
{
-#line 1936 "src/mn-imap-mailbox.gob"
+#line 1940 "src/mn-imap-mailbox.gob"
g_mutex_unlock(selfp->mutex);
}}
-#line 2862 "mn-imap-mailbox.c"
+#line 2866 "mn-imap-mailbox.c"
#undef __GOB_FUNCTION__
diff --git a/build/src/mn-imap-mailbox.h b/build/src/mn-imap-mailbox.h
@@ -72,7 +72,7 @@ struct _MNIMAPMailboxClass {
* Public methods
*/
GType mn_imap_mailbox_get_type (void) G_GNUC_CONST;
-#line 1911 "src/mn-imap-mailbox.gob"
+#line 1915 "src/mn-imap-mailbox.gob"
char * mn_imap_mailbox_build_name (const char * username,
const char * server,
const char * mailbox);
diff --git a/build/src/mn-mailbox-private.h b/build/src/mn-mailbox-private.h
@@ -34,42 +34,40 @@ typedef enum
#line 36 "mn-mailbox-private.h"
struct _MNMailboxPrivate {
-#line 122 "src/mn-mailbox.gob"
+#line 133 "src/mn-mailbox.gob"
gboolean _active;
-#line 190 "src/mn-mailbox.gob"
+#line 215 "src/mn-mailbox.gob"
unsigned int check_timeout_id;
-#line 199 "src/mn-mailbox.gob"
+#line 224 "src/mn-mailbox.gob"
gboolean poll;
-#line 246 "src/mn-mailbox.gob"
- GSList * all_messages;
-#line 255 "src/mn-mailbox.gob"
- GHashTable * all_messages_mid_hash_table;
-#line 262 "src/mn-mailbox.gob"
- GHashTable * all_messages_considered_as_read;
-#line 268 "src/mn-mailbox.gob"
- GHashTable * messages_hash_table;
-#line 1024 "src/mn-mailbox.gob"
+#line 271 "src/mn-mailbox.gob"
+ gboolean all_messages_set;
+#line 274 "src/mn-mailbox.gob"
+ GHashTable * all_messages;
+#line 277 "src/mn-mailbox.gob"
+ GHashTable * all_messages_by_mid;
+#line 1126 "src/mn-mailbox.gob"
gboolean checking_enabled;
-#line 54 "mn-mailbox-private.h"
+#line 52 "mn-mailbox-private.h"
};
-#line 279 "src/mn-mailbox.gob"
+#line 291 "src/mn-mailbox.gob"
void mn_mailbox_set_messages (MNMailbox * self, GSList * messages);
-#line 58 "mn-mailbox-private.h"
-#line 422 "src/mn-mailbox.gob"
+#line 56 "mn-mailbox-private.h"
+#line 510 "src/mn-mailbox.gob"
void mn_mailbox_set_error (MNMailbox * self, const char * format, ...) G_GNUC_PRINTF(2, 3);
-#line 61 "mn-mailbox-private.h"
-#line 1026 "src/mn-mailbox.gob"
+#line 59 "mn-mailbox-private.h"
+#line 1128 "src/mn-mailbox.gob"
void mn_mailbox_enable_checking (MNMailbox * self);
-#line 64 "mn-mailbox-private.h"
-#line 1037 "src/mn-mailbox.gob"
+#line 62 "mn-mailbox-private.h"
+#line 1139 "src/mn-mailbox.gob"
void mn_mailbox_notice (MNMailbox * self, const char * format, ...) G_GNUC_PRINTF(2, 3);
-#line 67 "mn-mailbox-private.h"
-#line 1055 "src/mn-mailbox.gob"
+#line 65 "mn-mailbox-private.h"
+#line 1157 "src/mn-mailbox.gob"
void mn_mailbox_warning (MNMailbox * self, const char * format, ...) G_GNUC_PRINTF(2, 3);
-#line 70 "mn-mailbox-private.h"
-#line 1072 "src/mn-mailbox.gob"
+#line 68 "mn-mailbox-private.h"
+#line 1174 "src/mn-mailbox.gob"
MNMessage * mn_mailbox_get_message_from_mid (MNMailbox * self, const char * mid);
-#line 73 "mn-mailbox-private.h"
+#line 71 "mn-mailbox-private.h"
#ifdef __cplusplus
}
diff --git a/build/src/mn-mailbox.c b/build/src/mn-mailbox.c
@@ -52,6 +52,7 @@
#include "mn-message.h"
#include "mn-conf.h"
#include "mn-locked-callback.h"
+#include "mn-shell.h"
struct _MNMailboxConfiguration
{
@@ -64,11 +65,21 @@ GType mn_mailbox_types[MN_MAILBOX_MAX_TYPES + 1];
typedef struct
{
+ MNMailbox *self;
+ GHashTable *messages;
+ GHashTable *messages_considered_as_read;
+ gboolean display_seen_mail;
+} FilterMessagesInfo;
+
+typedef struct
+{
GHashTable *other;
gboolean changed;
} CompareMessagesInfo;
-#line 72 "mn-mailbox.c"
+static unsigned int cleanup_messages_considered_as_read_idle_id = 0;
+
+#line 83 "mn-mailbox.c"
/* self casting macros */
#define SELF(x) MN_MAILBOX(x)
#define SELF_CONST(x) MN_MAILBOX_CONST(x)
@@ -87,56 +98,68 @@ 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);
#line 0 "src/mn-mailbox.gob"
static void mn_mailbox_class_init (MNMailboxClass * c);
-#line 91 "mn-mailbox.c"
-#line 130 "src/mn-mailbox.gob"
+#line 102 "mn-mailbox.c"
+#line 141 "src/mn-mailbox.gob"
static void mn_mailbox_set_active (MNMailbox * self, gboolean value);
-#line 94 "mn-mailbox.c"
+#line 105 "mn-mailbox.c"
static void ___real_mn_mailbox_added (MNMailbox * self);
static void ___real_mn_mailbox_removed (MNMailbox * self);
-#line 234 "src/mn-mailbox.gob"
+#line 259 "src/mn-mailbox.gob"
static void mn_mailbox_update_check_timeout (MNMailbox * self);
-#line 99 "mn-mailbox.c"
-#line 297 "src/mn-mailbox.gob"
+#line 110 "mn-mailbox.c"
+#line 330 "src/mn-mailbox.gob"
static void mn_mailbox_filter_messages (MNMailbox * self);
-#line 102 "mn-mailbox.c"
-#line 363 "src/mn-mailbox.gob"
-static gboolean mn_mailbox_remove_stale_messages_cb (gpointer key, MNMessage * message, GHashTable * messages);
-#line 105 "mn-mailbox.c"
-#line 381 "src/mn-mailbox.gob"
+#line 113 "mn-mailbox.c"
+#line 366 "src/mn-mailbox.gob"
+static void mn_mailbox_filter_messages_cb (const char * id, MNMessage * message, FilterMessagesInfo * info);
+#line 116 "mn-mailbox.c"
+#line 395 "src/mn-mailbox.gob"
static gboolean mn_mailbox_compare_messages (GHashTable * messages1, GHashTable * messages2);
-#line 108 "mn-mailbox.c"
-#line 393 "src/mn-mailbox.gob"
+#line 119 "mn-mailbox.c"
+#line 407 "src/mn-mailbox.gob"
static void mn_mailbox_compare_messages_cb (const char * id, MNMessage * message, CompareMessagesInfo * info);
-#line 111 "mn-mailbox.c"
-#line 415 "src/mn-mailbox.gob"
+#line 122 "mn-mailbox.c"
+#line 416 "src/mn-mailbox.gob"
+static void mn_mailbox_queue_cleanup_messages_considered_as_read (void);
+#line 125 "mn-mailbox.c"
+#line 423 "src/mn-mailbox.gob"
+static gboolean mn_mailbox_cleanup_messages_considered_as_read_cb (gpointer data);
+#line 128 "mn-mailbox.c"
+#line 444 "src/mn-mailbox.gob"
+static void mn_mailbox_cleanup_messages_considered_as_read (void);
+#line 131 "mn-mailbox.c"
+#line 472 "src/mn-mailbox.gob"
+static gboolean mn_mailbox_cleanup_messages_considered_as_read_remove_cb (const char * id, gpointer value, gpointer user_data);
+#line 134 "mn-mailbox.c"
+#line 503 "src/mn-mailbox.gob"
static void mn_mailbox_messages_changed (MNMailbox * self, gboolean has_new);
-#line 114 "mn-mailbox.c"
-#line 508 "src/mn-mailbox.gob"
+#line 137 "mn-mailbox.c"
+#line 596 "src/mn-mailbox.gob"
static void mn_mailbox_init (MNMailbox * self);
-#line 117 "mn-mailbox.c"
-#line 513 "src/mn-mailbox.gob"
+#line 140 "mn-mailbox.c"
+#line 604 "src/mn-mailbox.gob"
static void mn_mailbox_finalize (MNMailbox * self);
-#line 120 "mn-mailbox.c"
-#line 524 "src/mn-mailbox.gob"
+#line 143 "mn-mailbox.c"
+#line 615 "src/mn-mailbox.gob"
static void mn_mailbox_notify_display_seen_messages_cb (GConfClient * client, unsigned int cnxn_id, GConfEntry * entry, gpointer user_data);
-#line 123 "mn-mailbox.c"
-#line 709 "src/mn-mailbox.gob"
+#line 146 "mn-mailbox.c"
+#line 626 "src/mn-mailbox.gob"
+static void mn_mailbox_notify_messages_considered_as_read_cb (GConfClient * client, unsigned int cnxn_id, GConfEntry * entry, gpointer user_data);
+#line 149 "mn-mailbox.c"
+#line 811 "src/mn-mailbox.gob"
static MNMailbox * mn_mailbox_parse_obsolete_uri (const char * uri);
-#line 126 "mn-mailbox.c"
-#line 933 "src/mn-mailbox.gob"
+#line 152 "mn-mailbox.c"
+#line 1035 "src/mn-mailbox.gob"
static gboolean mn_mailbox_check_timeout_cb (gpointer data);
-#line 129 "mn-mailbox.c"
-#line 943 "src/mn-mailbox.gob"
+#line 155 "mn-mailbox.c"
+#line 1045 "src/mn-mailbox.gob"
static gboolean mn_mailbox_validate (MNMailbox * self, GError ** err);
-#line 132 "mn-mailbox.c"
+#line 158 "mn-mailbox.c"
static void ___real_mn_mailbox_seal (MNMailbox * self);
-#line 1007 "src/mn-mailbox.gob"
+#line 1109 "src/mn-mailbox.gob"
static MNMailbox * mn_mailbox_parse_uri (MNMailbox * self, const char * uri) G_GNUC_UNUSED;
-#line 136 "mn-mailbox.c"
+#line 162 "mn-mailbox.c"
static void ___real_mn_mailbox_check (MNMailbox * self);
-#line 1078 "src/mn-mailbox.gob"
-static void mn_mailbox_consider_as_read_real (MNMailbox * self, MNMessage * message);
-#line 140 "mn-mailbox.c"
/*
* Signal connection wrapper macro shortcuts
@@ -226,15 +249,20 @@ static GObjectClass *parent_class = NULL;
#define self_update_check_timeout mn_mailbox_update_check_timeout
#define self_set_messages mn_mailbox_set_messages
#define self_filter_messages mn_mailbox_filter_messages
-#define self_remove_stale_messages_cb mn_mailbox_remove_stale_messages_cb
+#define self_filter_messages_cb mn_mailbox_filter_messages_cb
#define self_compare_messages mn_mailbox_compare_messages
#define self_compare_messages_cb mn_mailbox_compare_messages_cb
+#define self_queue_cleanup_messages_considered_as_read mn_mailbox_queue_cleanup_messages_considered_as_read
+#define self_cleanup_messages_considered_as_read_cb mn_mailbox_cleanup_messages_considered_as_read_cb
+#define self_cleanup_messages_considered_as_read mn_mailbox_cleanup_messages_considered_as_read
+#define self_cleanup_messages_considered_as_read_remove_cb mn_mailbox_cleanup_messages_considered_as_read_remove_cb
#define self_messages_changed mn_mailbox_messages_changed
#define self_set_error mn_mailbox_set_error
#define self_init_types mn_mailbox_init_types
#define self_get_class_from_name mn_mailbox_get_class_from_name
#define self_get_type_from_name mn_mailbox_get_type_from_name
#define self_notify_display_seen_messages_cb mn_mailbox_notify_display_seen_messages_cb
+#define self_notify_messages_considered_as_read_cb mn_mailbox_notify_messages_considered_as_read_cb
#define self_new mn_mailbox_new
#define self_new_from_xml_node mn_mailbox_new_from_xml_node
#define self_xml_node_new mn_mailbox_xml_node_new
@@ -253,9 +281,6 @@ static GObjectClass *parent_class = NULL;
#define self_notice mn_mailbox_notice
#define self_warning mn_mailbox_warning
#define self_get_message_from_mid mn_mailbox_get_message_from_mid
-#define self_consider_as_read_real mn_mailbox_consider_as_read_real
-#define self_consider_as_read mn_mailbox_consider_as_read
-#define self_consider_as_read_list mn_mailbox_consider_as_read_list
#define self_get_command mn_mailbox_get_command
#define self_has_command mn_mailbox_has_command
GType
@@ -307,53 +332,47 @@ ___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 513 "src/mn-mailbox.gob"
+#line 604 "src/mn-mailbox.gob"
mn_mailbox_finalize (self);
-#line 313 "mn-mailbox.c"
+#line 338 "mn-mailbox.c"
if(G_OBJECT_CLASS(parent_class)->finalize) \
(* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
-#line 167 "src/mn-mailbox.gob"
+#line 192 "src/mn-mailbox.gob"
if(self->runtime_name) { g_free ((gpointer) self->runtime_name); self->runtime_name = NULL; }
-#line 318 "mn-mailbox.c"
-#line 169 "src/mn-mailbox.gob"
+#line 343 "mn-mailbox.c"
+#line 194 "src/mn-mailbox.gob"
if(self->name) { g_free ((gpointer) self->name); self->name = NULL; }
-#line 321 "mn-mailbox.c"
-#line 172 "src/mn-mailbox.gob"
+#line 346 "mn-mailbox.c"
+#line 197 "src/mn-mailbox.gob"
if(self->open_command) { g_free ((gpointer) self->open_command); self->open_command = NULL; }
-#line 324 "mn-mailbox.c"
-#line 175 "src/mn-mailbox.gob"
+#line 349 "mn-mailbox.c"
+#line 200 "src/mn-mailbox.gob"
if(self->mark_as_read_command) { g_free ((gpointer) self->mark_as_read_command); self->mark_as_read_command = NULL; }
-#line 327 "mn-mailbox.c"
-#line 178 "src/mn-mailbox.gob"
+#line 352 "mn-mailbox.c"
+#line 203 "src/mn-mailbox.gob"
if(self->mark_as_spam_command) { g_free ((gpointer) self->mark_as_spam_command); self->mark_as_spam_command = NULL; }
-#line 330 "mn-mailbox.c"
-#line 181 "src/mn-mailbox.gob"
+#line 355 "mn-mailbox.c"
+#line 206 "src/mn-mailbox.gob"
if(self->delete_command) { g_free ((gpointer) self->delete_command); self->delete_command = NULL; }
-#line 333 "mn-mailbox.c"
-#line 184 "src/mn-mailbox.gob"
+#line 358 "mn-mailbox.c"
+#line 209 "src/mn-mailbox.gob"
if(self->stock_id) { g_free ((gpointer) self->stock_id); self->stock_id = NULL; }
-#line 336 "mn-mailbox.c"
-#line 187 "src/mn-mailbox.gob"
+#line 361 "mn-mailbox.c"
+#line 212 "src/mn-mailbox.gob"
if(self->format) { g_free ((gpointer) self->format); self->format = NULL; }
-#line 339 "mn-mailbox.c"
-#line 246 "src/mn-mailbox.gob"
- if(self->_priv->all_messages) { mn_g_object_slist_free ((gpointer) self->_priv->all_messages); self->_priv->all_messages = NULL; }
-#line 342 "mn-mailbox.c"
-#line 255 "src/mn-mailbox.gob"
- if(self->_priv->all_messages_mid_hash_table) { g_hash_table_destroy ((gpointer) self->_priv->all_messages_mid_hash_table); self->_priv->all_messages_mid_hash_table = NULL; }
-#line 345 "mn-mailbox.c"
-#line 262 "src/mn-mailbox.gob"
- if(self->_priv->all_messages_considered_as_read) { g_hash_table_destroy ((gpointer) self->_priv->all_messages_considered_as_read); self->_priv->all_messages_considered_as_read = NULL; }
-#line 348 "mn-mailbox.c"
-#line 265 "src/mn-mailbox.gob"
- if(self->messages) { mn_g_object_ptr_array_free ((gpointer) self->messages); self->messages = NULL; }
-#line 351 "mn-mailbox.c"
-#line 268 "src/mn-mailbox.gob"
- if(self->_priv->messages_hash_table) { g_hash_table_destroy ((gpointer) self->_priv->messages_hash_table); self->_priv->messages_hash_table = NULL; }
-#line 354 "mn-mailbox.c"
-#line 418 "src/mn-mailbox.gob"
+#line 364 "mn-mailbox.c"
+#line 274 "src/mn-mailbox.gob"
+ if(self->_priv->all_messages) { g_hash_table_destroy ((gpointer) self->_priv->all_messages); self->_priv->all_messages = NULL; }
+#line 367 "mn-mailbox.c"
+#line 277 "src/mn-mailbox.gob"
+ if(self->_priv->all_messages_by_mid) { g_hash_table_destroy ((gpointer) self->_priv->all_messages_by_mid); self->_priv->all_messages_by_mid = NULL; }
+#line 370 "mn-mailbox.c"
+#line 280 "src/mn-mailbox.gob"
+ if(self->messages) { g_hash_table_destroy ((gpointer) self->messages); self->messages = NULL; }
+#line 373 "mn-mailbox.c"
+#line 506 "src/mn-mailbox.gob"
if(self->error) { g_free ((gpointer) self->error); self->error = NULL; }
-#line 357 "mn-mailbox.c"
+#line 376 "mn-mailbox.c"
}
#undef __GOB_FUNCTION__
@@ -366,10 +385,10 @@ mn_mailbox_class_init (MNMailboxClass * c G_GNUC_UNUSED)
g_type_class_add_private(c,sizeof(MNMailboxPrivate));
#line 56 "src/mn-mailbox.gob"
c->default_check_delay = -1;
-#line 370 "mn-mailbox.c"
+#line 389 "mn-mailbox.c"
#line 56 "src/mn-mailbox.gob"
c->enable_checking_when_added = TRUE;
-#line 373 "mn-mailbox.c"
+#line 392 "mn-mailbox.c"
parent_class = g_type_class_ref (G_TYPE_OBJECT);
@@ -399,22 +418,22 @@ mn_mailbox_class_init (MNMailboxClass * 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("src/mn-mailbox.gob line 415: Type mismatch of \"messages_changed\" signal signature");
+ g_error("src/mn-mailbox.gob line 503: Type mismatch of \"messages_changed\" signal signature");
}
-#line 143 "src/mn-mailbox.gob"
+#line 154 "src/mn-mailbox.gob"
c->added = ___real_mn_mailbox_added;
-#line 159 "src/mn-mailbox.gob"
+#line 170 "src/mn-mailbox.gob"
c->removed = ___real_mn_mailbox_removed;
-#line 410 "mn-mailbox.c"
+#line 429 "mn-mailbox.c"
c->messages_changed = NULL;
-#line 992 "src/mn-mailbox.gob"
+#line 1094 "src/mn-mailbox.gob"
c->seal = ___real_mn_mailbox_seal;
-#line 414 "mn-mailbox.c"
+#line 433 "mn-mailbox.c"
c->parse_uri = NULL;
-#line 1010 "src/mn-mailbox.gob"
+#line 1112 "src/mn-mailbox.gob"
c->check = ___real_mn_mailbox_check;
-#line 418 "mn-mailbox.c"
+#line 437 "mn-mailbox.c"
g_object_class->finalize = ___finalize;
g_object_class->get_property = ___object_get_property;
g_object_class->set_property = ___object_set_property;
@@ -533,34 +552,34 @@ mn_mailbox_class_init (MNMailboxClass * c G_GNUC_UNUSED)
}
}
#undef __GOB_FUNCTION__
-#line 508 "src/mn-mailbox.gob"
+#line 596 "src/mn-mailbox.gob"
static void
mn_mailbox_init (MNMailbox * self G_GNUC_UNUSED)
{
-#line 541 "mn-mailbox.c"
+#line 560 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::init"
self->_priv = G_TYPE_INSTANCE_GET_PRIVATE(self,MN_TYPE_MAILBOX,MNMailboxPrivate);
-#line 161 "src/mn-mailbox.gob"
+#line 172 "src/mn-mailbox.gob"
self->_priv->poll = TRUE;
-#line 546 "mn-mailbox.c"
-#line 255 "src/mn-mailbox.gob"
- self->_priv->all_messages_mid_hash_table = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref);
-#line 549 "mn-mailbox.c"
-#line 262 "src/mn-mailbox.gob"
- self->_priv->all_messages_considered_as_read = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref);
-#line 552 "mn-mailbox.c"
-#line 265 "src/mn-mailbox.gob"
- self->messages = g_ptr_array_new();
-#line 555 "mn-mailbox.c"
-#line 268 "src/mn-mailbox.gob"
- self->_priv->messages_hash_table = g_hash_table_new(g_str_hash, g_str_equal);
-#line 558 "mn-mailbox.c"
+#line 565 "mn-mailbox.c"
+#line 274 "src/mn-mailbox.gob"
+ self->_priv->all_messages = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref);
+#line 568 "mn-mailbox.c"
+#line 277 "src/mn-mailbox.gob"
+ self->_priv->all_messages_by_mid = g_hash_table_new(g_str_hash, g_str_equal);
+#line 571 "mn-mailbox.c"
+#line 280 "src/mn-mailbox.gob"
+ self->messages = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref);
+#line 574 "mn-mailbox.c"
{
-#line 509 "src/mn-mailbox.gob"
+#line 597 "src/mn-mailbox.gob"
- mn_g_object_gconf_notification_add_gdk_locked(self, MN_CONF_DISPLAY_SEEN_MAIL, self_notify_display_seen_messages_cb, self);
+ mn_g_object_gconf_notifications_add_gdk_locked(self,
+ MN_CONF_DISPLAY_SEEN_MAIL, self_notify_display_seen_messages_cb, self,
+ MN_CONF_MESSAGES_CONSIDERED_AS_READ, self_notify_messages_considered_as_read_cb, self,
+ NULL);
-#line 564 "mn-mailbox.c"
+#line 583 "mn-mailbox.c"
}
}
#undef __GOB_FUNCTION__
@@ -579,63 +598,63 @@ ___object_set_property (GObject *object,
switch (property_id) {
case PROP_NAME:
{
-#line 170 "src/mn-mailbox.gob"
+#line 195 "src/mn-mailbox.gob"
{ char *old = self->name; self->name = g_value_dup_string (VAL); g_free (old); }
-#line 585 "mn-mailbox.c"
+#line 604 "mn-mailbox.c"
}
break;
case PROP_OPEN_COMMAND:
{
-#line 173 "src/mn-mailbox.gob"
+#line 198 "src/mn-mailbox.gob"
{ char *old = self->open_command; self->open_command = g_value_dup_string (VAL); g_free (old); }
-#line 592 "mn-mailbox.c"
+#line 611 "mn-mailbox.c"
}
break;
case PROP_MARK_AS_READ_COMMAND:
{
-#line 176 "src/mn-mailbox.gob"
+#line 201 "src/mn-mailbox.gob"
{ char *old = self->mark_as_read_command; self->mark_as_read_command = g_value_dup_string (VAL); g_free (old); }
-#line 599 "mn-mailbox.c"
+#line 618 "mn-mailbox.c"
}
break;
case PROP_MARK_AS_SPAM_COMMAND:
{
-#line 179 "src/mn-mailbox.gob"
+#line 204 "src/mn-mailbox.gob"
{ char *old = self->mark_as_spam_command; self->mark_as_spam_command = g_value_dup_string (VAL); g_free (old); }
-#line 606 "mn-mailbox.c"
+#line 625 "mn-mailbox.c"
}
break;
case PROP_DELETE_COMMAND:
{
-#line 182 "src/mn-mailbox.gob"
+#line 207 "src/mn-mailbox.gob"
{ char *old = self->delete_command; self->delete_command = g_value_dup_string (VAL); g_free (old); }
-#line 613 "mn-mailbox.c"
+#line 632 "mn-mailbox.c"
}
break;
case PROP_STOCK_ID:
{
-#line 185 "src/mn-mailbox.gob"
+#line 210 "src/mn-mailbox.gob"
{ char *old = self->stock_id; self->stock_id = g_value_dup_string (VAL); g_free (old); }
-#line 620 "mn-mailbox.c"
+#line 639 "mn-mailbox.c"
}
break;
case PROP_FORMAT:
{
-#line 188 "src/mn-mailbox.gob"
+#line 213 "src/mn-mailbox.gob"
{ char *old = self->format; self->format = g_value_dup_string (VAL); g_free (old); }
-#line 627 "mn-mailbox.c"
+#line 646 "mn-mailbox.c"
}
break;
case PROP_CHECK_DELAY:
{
-#line 195 "src/mn-mailbox.gob"
+#line 220 "src/mn-mailbox.gob"
self->check_delay = g_value_get_int (VAL);
-#line 634 "mn-mailbox.c"
+#line 653 "mn-mailbox.c"
}
break;
case PROP_POLL:
{
-#line 202 "src/mn-mailbox.gob"
+#line 227 "src/mn-mailbox.gob"
gboolean new_poll = g_value_get_boolean(VAL);
@@ -652,14 +671,14 @@ self->check_delay = g_value_get_int (VAL);
g_object_notify(G_OBJECT(self), "manually-checkable");
}
-#line 656 "mn-mailbox.c"
+#line 675 "mn-mailbox.c"
}
break;
case PROP_ERROR:
{
-#line 419 "src/mn-mailbox.gob"
+#line 507 "src/mn-mailbox.gob"
{ char *old = self->error; self->error = g_value_dup_string (VAL); g_free (old); }
-#line 663 "mn-mailbox.c"
+#line 682 "mn-mailbox.c"
}
break;
default:
@@ -688,92 +707,92 @@ ___object_get_property (GObject *object,
switch (property_id) {
case PROP_NAME:
{
-#line 170 "src/mn-mailbox.gob"
+#line 195 "src/mn-mailbox.gob"
g_value_set_string (VAL, self->name);
-#line 694 "mn-mailbox.c"
+#line 713 "mn-mailbox.c"
}
break;
case PROP_OPEN_COMMAND:
{
-#line 173 "src/mn-mailbox.gob"
+#line 198 "src/mn-mailbox.gob"
g_value_set_string (VAL, self->open_command);
-#line 701 "mn-mailbox.c"
+#line 720 "mn-mailbox.c"
}
break;
case PROP_MARK_AS_READ_COMMAND:
{
-#line 176 "src/mn-mailbox.gob"
+#line 201 "src/mn-mailbox.gob"
g_value_set_string (VAL, self->mark_as_read_command);
-#line 708 "mn-mailbox.c"
+#line 727 "mn-mailbox.c"
}
break;
case PROP_MARK_AS_SPAM_COMMAND:
{
-#line 179 "src/mn-mailbox.gob"
+#line 204 "src/mn-mailbox.gob"
g_value_set_string (VAL, self->mark_as_spam_command);
-#line 715 "mn-mailbox.c"
+#line 734 "mn-mailbox.c"
}
break;
case PROP_DELETE_COMMAND:
{
-#line 182 "src/mn-mailbox.gob"
+#line 207 "src/mn-mailbox.gob"
g_value_set_string (VAL, self->delete_command);
-#line 722 "mn-mailbox.c"
+#line 741 "mn-mailbox.c"
}
break;
case PROP_STOCK_ID:
{
-#line 185 "src/mn-mailbox.gob"
+#line 210 "src/mn-mailbox.gob"
g_value_set_string (VAL, self->stock_id);
-#line 729 "mn-mailbox.c"
+#line 748 "mn-mailbox.c"
}
break;
case PROP_FORMAT:
{
-#line 188 "src/mn-mailbox.gob"
+#line 213 "src/mn-mailbox.gob"
g_value_set_string (VAL, self->format);
-#line 736 "mn-mailbox.c"
+#line 755 "mn-mailbox.c"
}
break;
case PROP_CHECK_DELAY:
{
-#line 195 "src/mn-mailbox.gob"
+#line 220 "src/mn-mailbox.gob"
g_value_set_int (VAL, self->check_delay);
-#line 743 "mn-mailbox.c"
+#line 762 "mn-mailbox.c"
}
break;
case PROP_POLL:
{
-#line 219 "src/mn-mailbox.gob"
+#line 244 "src/mn-mailbox.gob"
g_value_set_boolean(VAL, selfp->poll);
-#line 752 "mn-mailbox.c"
+#line 771 "mn-mailbox.c"
}
break;
case PROP_MANUALLY_CHECKABLE:
{
-#line 230 "src/mn-mailbox.gob"
+#line 255 "src/mn-mailbox.gob"
g_value_set_boolean(VAL, selfp->checking_enabled && selfp->poll);
-#line 761 "mn-mailbox.c"
+#line 780 "mn-mailbox.c"
}
break;
case PROP_MESSAGES:
{
-#line 275 "src/mn-mailbox.gob"
+#line 287 "src/mn-mailbox.gob"
g_value_set_pointer(VAL, self->messages);
-#line 770 "mn-mailbox.c"
+#line 789 "mn-mailbox.c"
}
break;
case PROP_ERROR:
{
-#line 419 "src/mn-mailbox.gob"
+#line 507 "src/mn-mailbox.gob"
g_value_set_string (VAL, self->error);
-#line 777 "mn-mailbox.c"
+#line 796 "mn-mailbox.c"
}
break;
default:
@@ -789,42 +808,42 @@ g_value_set_string (VAL, self->error);
#undef __GOB_FUNCTION__
-#line 124 "src/mn-mailbox.gob"
+#line 135 "src/mn-mailbox.gob"
gboolean
mn_mailbox_get_active (MNMailbox * self)
{
-#line 797 "mn-mailbox.c"
+#line 816 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_active"
-#line 124 "src/mn-mailbox.gob"
+#line 135 "src/mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 124 "src/mn-mailbox.gob"
+#line 135 "src/mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (gboolean )0);
-#line 803 "mn-mailbox.c"
+#line 822 "mn-mailbox.c"
{
-#line 126 "src/mn-mailbox.gob"
+#line 137 "src/mn-mailbox.gob"
return g_atomic_int_get(&selfp->_active);
}}
-#line 809 "mn-mailbox.c"
+#line 828 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 130 "src/mn-mailbox.gob"
+#line 141 "src/mn-mailbox.gob"
static void
mn_mailbox_set_active (MNMailbox * self, gboolean value)
{
-#line 816 "mn-mailbox.c"
+#line 835 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::set_active"
-#line 130 "src/mn-mailbox.gob"
+#line 141 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 130 "src/mn-mailbox.gob"
+#line 141 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 822 "mn-mailbox.c"
+#line 841 "mn-mailbox.c"
{
-#line 132 "src/mn-mailbox.gob"
+#line 143 "src/mn-mailbox.gob"
g_atomic_int_set(&selfp->_active, value);
}}
-#line 828 "mn-mailbox.c"
+#line 847 "mn-mailbox.c"
#undef __GOB_FUNCTION__
/**
@@ -834,22 +853,22 @@ mn_mailbox_set_active (MNMailbox * self, gboolean value)
* This signal gets emitted after the mailbox is added to the
* mailboxes list.
**/
-#line 143 "src/mn-mailbox.gob"
+#line 154 "src/mn-mailbox.gob"
void
mn_mailbox_added (MNMailbox * self)
{
-#line 842 "mn-mailbox.c"
+#line 861 "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 143 "src/mn-mailbox.gob"
+#line 154 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 143 "src/mn-mailbox.gob"
+#line 154 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 853 "mn-mailbox.c"
+#line 872 "mn-mailbox.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -862,21 +881,21 @@ memset (&___param_values, 0, sizeof (___param_values));
g_value_unset (&___param_values[0]);
}
-#line 143 "src/mn-mailbox.gob"
+#line 154 "src/mn-mailbox.gob"
static void
___real_mn_mailbox_added (MNMailbox * self)
{
-#line 870 "mn-mailbox.c"
+#line 889 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::added"
{
-#line 145 "src/mn-mailbox.gob"
+#line 156 "src/mn-mailbox.gob"
self_set_active(self, TRUE);
if (SELF_GET_CLASS(self)->enable_checking_when_added)
self_enable_checking(self);
}}
-#line 880 "mn-mailbox.c"
+#line 899 "mn-mailbox.c"
#undef __GOB_FUNCTION__
/**
@@ -886,22 +905,22 @@ ___real_mn_mailbox_added (MNMailbox * self)
* This signal gets emitted after the mailbox is removed from the
* mailboxes list.
**/
-#line 159 "src/mn-mailbox.gob"
+#line 170 "src/mn-mailbox.gob"
void
mn_mailbox_removed (MNMailbox * self)
{
-#line 894 "mn-mailbox.c"
+#line 913 "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 159 "src/mn-mailbox.gob"
+#line 170 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 159 "src/mn-mailbox.gob"
+#line 170 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 905 "mn-mailbox.c"
+#line 924 "mn-mailbox.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -914,126 +933,140 @@ memset (&___param_values, 0, sizeof (___param_values));
g_value_unset (&___param_values[0]);
}
-#line 159 "src/mn-mailbox.gob"
+#line 170 "src/mn-mailbox.gob"
static void
___real_mn_mailbox_removed (MNMailbox * self)
{
-#line 922 "mn-mailbox.c"
+#line 941 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::removed"
{
-#line 161 "src/mn-mailbox.gob"
+#line 172 "src/mn-mailbox.gob"
self_set_active(self, FALSE);
mn_source_clear(&selfp->check_timeout_id);
+
+ /*
+ * Do not queue a cleanup of the messages-considered-as-read GConf
+ * setting: it should not be done if the mailbox is only being
+ * replaced (eg. from mn_mailbox_properties_dialog_apply()).
+ *
+ * If however the mailbox is being permanently removed, its
+ * messages considered as read will be cleaned up the next time
+ * another mailbox is checked, which is good enough.
+ *
+ * Note that we could queue a cleanup from here by adding and
+ * testing a "gboolean replacing" signal parameter, but it is not
+ * worth the effort.
+ */
}}
-#line 931 "mn-mailbox.c"
+#line 964 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 185 "src/mn-mailbox.gob"
+#line 210 "src/mn-mailbox.gob"
gchar *
mn_mailbox_get_stock_id (MNMailbox * self)
{
-#line 938 "mn-mailbox.c"
+#line 971 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_stock_id"
{
-#line 185 "src/mn-mailbox.gob"
+#line 210 "src/mn-mailbox.gob"
gchar* val; g_object_get (G_OBJECT (self), "stock_id", &val, NULL); return val;
}}
-#line 944 "mn-mailbox.c"
+#line 977 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 185 "src/mn-mailbox.gob"
+#line 210 "src/mn-mailbox.gob"
void
mn_mailbox_set_stock_id (MNMailbox * self, gchar * val)
{
-#line 951 "mn-mailbox.c"
+#line 984 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::set_stock_id"
{
-#line 185 "src/mn-mailbox.gob"
+#line 210 "src/mn-mailbox.gob"
g_object_set (G_OBJECT (self), "stock_id", val, NULL);
}}
-#line 957 "mn-mailbox.c"
+#line 990 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 188 "src/mn-mailbox.gob"
+#line 213 "src/mn-mailbox.gob"
gchar *
mn_mailbox_get_format (MNMailbox * self)
{
-#line 964 "mn-mailbox.c"
+#line 997 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_format"
{
-#line 188 "src/mn-mailbox.gob"
+#line 213 "src/mn-mailbox.gob"
gchar* val; g_object_get (G_OBJECT (self), "format", &val, NULL); return val;
}}
-#line 970 "mn-mailbox.c"
+#line 1003 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 188 "src/mn-mailbox.gob"
+#line 213 "src/mn-mailbox.gob"
void
mn_mailbox_set_format (MNMailbox * self, gchar * val)
{
-#line 977 "mn-mailbox.c"
+#line 1010 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::set_format"
{
-#line 188 "src/mn-mailbox.gob"
+#line 213 "src/mn-mailbox.gob"
g_object_set (G_OBJECT (self), "format", val, NULL);
}}
-#line 983 "mn-mailbox.c"
+#line 1016 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 219 "src/mn-mailbox.gob"
+#line 244 "src/mn-mailbox.gob"
gboolean
mn_mailbox_get_poll (MNMailbox * self)
{
-#line 990 "mn-mailbox.c"
+#line 1023 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_poll"
{
-#line 200 "src/mn-mailbox.gob"
+#line 225 "src/mn-mailbox.gob"
gboolean val; g_object_get (G_OBJECT (self), "poll", &val, NULL); return val;
}}
-#line 996 "mn-mailbox.c"
+#line 1029 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 202 "src/mn-mailbox.gob"
+#line 227 "src/mn-mailbox.gob"
void
mn_mailbox_set_poll (MNMailbox * self, gboolean val)
{
-#line 1003 "mn-mailbox.c"
+#line 1036 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::set_poll"
{
-#line 200 "src/mn-mailbox.gob"
+#line 225 "src/mn-mailbox.gob"
g_object_set (G_OBJECT (self), "poll", val, NULL);
}}
-#line 1009 "mn-mailbox.c"
+#line 1042 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 230 "src/mn-mailbox.gob"
+#line 255 "src/mn-mailbox.gob"
gboolean
mn_mailbox_get_manually_checkable (MNMailbox * self)
{
-#line 1016 "mn-mailbox.c"
+#line 1049 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_manually_checkable"
{
-#line 228 "src/mn-mailbox.gob"
+#line 253 "src/mn-mailbox.gob"
gboolean val; g_object_get (G_OBJECT (self), "manually_checkable", &val, NULL); return val;
}}
-#line 1022 "mn-mailbox.c"
+#line 1055 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 234 "src/mn-mailbox.gob"
+#line 259 "src/mn-mailbox.gob"
static void
mn_mailbox_update_check_timeout (MNMailbox * self)
{
-#line 1029 "mn-mailbox.c"
+#line 1062 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::update_check_timeout"
-#line 234 "src/mn-mailbox.gob"
+#line 259 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 234 "src/mn-mailbox.gob"
+#line 259 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1035 "mn-mailbox.c"
+#line 1068 "mn-mailbox.c"
{
-#line 236 "src/mn-mailbox.gob"
+#line 261 "src/mn-mailbox.gob"
g_assert(self_get_active(self) == TRUE);
g_assert(selfp->checking_enabled == TRUE);
@@ -1042,131 +1075,133 @@ mn_mailbox_update_check_timeout (MNMailbox * self)
if (selfp->poll && self->runtime_check_delay > 0)
selfp->check_timeout_id = gdk_threads_add_timeout(self->runtime_check_delay * 1000, self_check_timeout_cb, self);
}}
-#line 1046 "mn-mailbox.c"
+#line 1079 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 279 "src/mn-mailbox.gob"
+#line 291 "src/mn-mailbox.gob"
void
mn_mailbox_set_messages (MNMailbox * self, GSList * messages)
{
-#line 1053 "mn-mailbox.c"
+#line 1086 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::set_messages"
-#line 279 "src/mn-mailbox.gob"
+#line 291 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 279 "src/mn-mailbox.gob"
+#line 291 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1059 "mn-mailbox.c"
+#line 1092 "mn-mailbox.c"
{
-#line 281 "src/mn-mailbox.gob"
+#line 293 "src/mn-mailbox.gob"
- mn_g_object_slist_free(selfp->all_messages);
- selfp->all_messages = mn_g_object_slist_copy(messages);
+ GSList *l;
+
+ selfp->all_messages_set = TRUE;
+
+ g_hash_table_remove_all(selfp->all_messages);
+ g_hash_table_remove_all(selfp->all_messages_by_mid);
+
+ MN_LIST_FOREACH(l, messages)
+ {
+ MNMessage *message = l->data;
+
+ g_hash_table_replace(selfp->all_messages, message->id, g_object_ref(message));
+
+ if (message->mid)
+ /* do not ref message, it is owned by all_messages */
+ g_hash_table_replace(selfp->all_messages_by_mid, message->mid, message);
+ }
+
+ /*
+ * Some messages might be gone, queue a cleanup of the
+ * considered-as-read GConf setting.
+ */
+ self_queue_cleanup_messages_considered_as_read();
self_filter_messages(self);
}}
-#line 1068 "mn-mailbox.c"
+#line 1122 "mn-mailbox.c"
#undef __GOB_FUNCTION__
/**
* mn_mailbox_filter_messages:
* @self: the mailbox to act upon
*
- * Filters @self->all_messages with the "seen mail" filter and
- * @selfp->all_messages_considered_as_read, and stores the resulting
- * list in @self->messages. Additionally, if @self->messages has
- * changed, emits the "messages-changed" signal.
+ * Filters @self->all_messages with the "seen mail" filter and the
+ * considered-as-read GConf list, and stores the resulting set in
+ * @self->messages. Additionally, if @self->messages has changed,
+ * emits the "messages-changed" signal.
**/
-#line 297 "src/mn-mailbox.gob"
+#line 330 "src/mn-mailbox.gob"
static void
mn_mailbox_filter_messages (MNMailbox * self)
{
-#line 1084 "mn-mailbox.c"
+#line 1138 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::filter_messages"
-#line 297 "src/mn-mailbox.gob"
+#line 330 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 297 "src/mn-mailbox.gob"
+#line 330 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1090 "mn-mailbox.c"
+#line 1144 "mn-mailbox.c"
{
-#line 299 "src/mn-mailbox.gob"
+#line 332 "src/mn-mailbox.gob"
- GPtrArray *messages;
- GHashTable *all_messages_hash_table;
- GHashTable *messages_hash_table;
- gboolean display_seen_mail;
- GSList *l;
+ FilterMessagesInfo info;
gboolean changed = FALSE;
gboolean has_new = FALSE;
/* filter messages */
- messages = g_ptr_array_new();
self->timestamp = 0;
- all_messages_hash_table = g_hash_table_new(g_str_hash, g_str_equal);
- messages_hash_table = g_hash_table_new(g_str_hash, g_str_equal);
+ info.self = self;
+ info.messages = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref);
+ info.messages_considered_as_read = mn_conf_get_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ);
+ info.display_seen_mail = mn_conf_get_bool(MN_CONF_DISPLAY_SEEN_MAIL);
- display_seen_mail = mn_conf_get_bool(MN_CONF_DISPLAY_SEEN_MAIL);
+ g_hash_table_foreach(selfp->all_messages, (GHFunc) self_filter_messages_cb, &info);
- MN_LIST_FOREACH(l, selfp->all_messages)
- {
- MNMessage *message = l->data;
-
- g_hash_table_replace(all_messages_hash_table, message->id, message);
-
- if (message->mid)
- g_hash_table_replace(selfp->all_messages_mid_hash_table, message->mid, g_object_ref(message));
-
- if ((display_seen_mail || (message->flags & MN_MESSAGE_NEW) != 0)
- && ! g_hash_table_lookup(selfp->all_messages_considered_as_read, message->id))
- {
- if (message->sent_time > self->timestamp)
- self->timestamp = message->sent_time;
-
- g_ptr_array_add(messages, g_object_ref(message));
- g_hash_table_replace(messages_hash_table, message->id, message);
- }
- }
-
- /* remove stale messages */
- g_hash_table_foreach_remove(selfp->all_messages_mid_hash_table, (GHRFunc) self_remove_stale_messages_cb, all_messages_hash_table);
- g_hash_table_foreach_remove(selfp->all_messages_considered_as_read, (GHRFunc) self_remove_stale_messages_cb, all_messages_hash_table);
-
- g_hash_table_destroy(all_messages_hash_table);
+ g_hash_table_destroy(info.messages_considered_as_read);
/* detect changes */
- if (self_compare_messages(selfp->messages_hash_table, messages_hash_table))
+ if (self_compare_messages(self->messages, info.messages))
changed = TRUE;
- if (self_compare_messages(messages_hash_table, selfp->messages_hash_table))
+ if (self_compare_messages(info.messages, self->messages))
changed = has_new = TRUE;
- mn_g_object_ptr_array_free(self->messages);
- self->messages = messages;
-
- g_hash_table_destroy(selfp->messages_hash_table);
- selfp->messages_hash_table = messages_hash_table;
+ g_hash_table_destroy(self->messages);
+ self->messages = info.messages;
g_object_notify(G_OBJECT(self), "messages");
if (changed)
self_messages_changed(self, has_new);
}}
-#line 1156 "mn-mailbox.c"
+#line 1180 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 363 "src/mn-mailbox.gob"
-static gboolean
-mn_mailbox_remove_stale_messages_cb (gpointer key, MNMessage * message, GHashTable * messages)
+#line 366 "src/mn-mailbox.gob"
+static void
+mn_mailbox_filter_messages_cb (const char * id, MNMessage * message, FilterMessagesInfo * info)
{
-#line 1163 "mn-mailbox.c"
-#define __GOB_FUNCTION__ "MN:Mailbox::remove_stale_messages_cb"
+#line 1187 "mn-mailbox.c"
+#define __GOB_FUNCTION__ "MN:Mailbox::filter_messages_cb"
{
-#line 367 "src/mn-mailbox.gob"
+#line 370 "src/mn-mailbox.gob"
- return g_hash_table_lookup(messages, message->id) == NULL;
+ Self *self = info->self;
+
+ if (! info->display_seen_mail && (message->flags & MN_MESSAGE_NEW) == 0)
+ return;
+
+ if (g_hash_table_lookup(info->messages_considered_as_read, message->id))
+ return;
+
+ if (message->sent_time > self->timestamp)
+ self->timestamp = message->sent_time;
+
+ g_hash_table_replace(info->messages, message->id, g_object_ref(message));
}}
-#line 1170 "mn-mailbox.c"
+#line 1205 "mn-mailbox.c"
#undef __GOB_FUNCTION__
/**
@@ -1179,14 +1214,14 @@ mn_mailbox_remove_stale_messages_cb (gpointer key, MNMessage * message, GHashTab
* Return value: %TRUE if @messages1 contains messages not present
* in @messages2, %FALSE otherwise.
**/
-#line 381 "src/mn-mailbox.gob"
+#line 395 "src/mn-mailbox.gob"
static gboolean
mn_mailbox_compare_messages (GHashTable * messages1, GHashTable * messages2)
{
-#line 1187 "mn-mailbox.c"
+#line 1222 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::compare_messages"
{
-#line 383 "src/mn-mailbox.gob"
+#line 397 "src/mn-mailbox.gob"
CompareMessagesInfo info;
@@ -1196,40 +1231,132 @@ mn_mailbox_compare_messages (GHashTable * messages1, GHashTable * messages2)
return info.changed;
}}
-#line 1200 "mn-mailbox.c"
+#line 1235 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 393 "src/mn-mailbox.gob"
+#line 407 "src/mn-mailbox.gob"
static void
mn_mailbox_compare_messages_cb (const char * id, MNMessage * message, CompareMessagesInfo * info)
{
-#line 1207 "mn-mailbox.c"
+#line 1242 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::compare_messages_cb"
{
-#line 397 "src/mn-mailbox.gob"
+#line 411 "src/mn-mailbox.gob"
if (! info->changed && ! g_hash_table_lookup(info->other, id))
info->changed = TRUE;
}}
-#line 1215 "mn-mailbox.c"
+#line 1250 "mn-mailbox.c"
+#undef __GOB_FUNCTION__
+
+#line 416 "src/mn-mailbox.gob"
+static void
+mn_mailbox_queue_cleanup_messages_considered_as_read (void)
+{
+#line 1257 "mn-mailbox.c"
+#define __GOB_FUNCTION__ "MN:Mailbox::queue_cleanup_messages_considered_as_read"
+{
+#line 418 "src/mn-mailbox.gob"
+
+ if (! cleanup_messages_considered_as_read_idle_id)
+ cleanup_messages_considered_as_read_idle_id = gdk_threads_add_idle(self_cleanup_messages_considered_as_read_cb, NULL);
+ }}
+#line 1265 "mn-mailbox.c"
+#undef __GOB_FUNCTION__
+
+#line 423 "src/mn-mailbox.gob"
+static gboolean
+mn_mailbox_cleanup_messages_considered_as_read_cb (gpointer data)
+{
+#line 1272 "mn-mailbox.c"
+#define __GOB_FUNCTION__ "MN:Mailbox::cleanup_messages_considered_as_read_cb"
+{
+#line 425 "src/mn-mailbox.gob"
+
+ self_cleanup_messages_considered_as_read();
+
+ cleanup_messages_considered_as_read_idle_id = 0;
+ return FALSE; /* remove source */
+ }}
+#line 1282 "mn-mailbox.c"
+#undef __GOB_FUNCTION__
+
+#line 444 "src/mn-mailbox.gob"
+static void
+mn_mailbox_cleanup_messages_considered_as_read (void)
+{
+#line 1289 "mn-mailbox.c"
+#define __GOB_FUNCTION__ "MN:Mailbox::cleanup_messages_considered_as_read"
+{
+#line 446 "src/mn-mailbox.gob"
+
+ GList *l;
+ GHashTable *set;
+
+ /*
+ * If there is a mailbox which has not been successfully checked
+ * yet, abort. Otherwise, the messages of that mailbox could be
+ * mistakenly cleaned up.
+ */
+ MN_LIST_FOREACH(l, mn_shell->mailboxes->list)
+ {
+ MNMailbox *mailbox = l->data;
+
+ if (! mailbox->_priv->all_messages_set)
+ return;
+ }
+
+ set = mn_conf_get_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ);
+
+ if (g_hash_table_foreach_remove(set, (GHRFunc) self_cleanup_messages_considered_as_read_remove_cb, NULL))
+ /* one or more messages were removed, reflect the changes */
+ mn_conf_set_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ, set);
+
+ g_hash_table_destroy(set);
+ }}
+#line 1318 "mn-mailbox.c"
+#undef __GOB_FUNCTION__
+
+#line 472 "src/mn-mailbox.gob"
+static gboolean
+mn_mailbox_cleanup_messages_considered_as_read_remove_cb (const char * id, gpointer value, gpointer user_data)
+{
+#line 1325 "mn-mailbox.c"
+#define __GOB_FUNCTION__ "MN:Mailbox::cleanup_messages_considered_as_read_remove_cb"
+{
+#line 476 "src/mn-mailbox.gob"
+
+ GList *l;
+
+ MN_LIST_FOREACH(l, mn_shell->mailboxes->list)
+ {
+ MNMailbox *mailbox = l->data;
+
+ if (g_hash_table_lookup(mailbox->_priv->all_messages, id))
+ return FALSE; /* message still exists, do not remove it */
+ }
+
+ return TRUE; /* message no longer exists, remove it */
+ }}
+#line 1342 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 415 "src/mn-mailbox.gob"
+#line 503 "src/mn-mailbox.gob"
static void
mn_mailbox_messages_changed (MNMailbox * self, gboolean has_new)
{
-#line 1222 "mn-mailbox.c"
+#line 1349 "mn-mailbox.c"
GValue ___param_values[2];
GValue ___return_val;
memset (&___return_val, 0, sizeof (___return_val));
memset (&___param_values, 0, sizeof (___param_values));
-#line 415 "src/mn-mailbox.gob"
+#line 503 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 415 "src/mn-mailbox.gob"
+#line 503 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1233 "mn-mailbox.c"
+#line 1360 "mn-mailbox.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -1248,19 +1375,19 @@ memset (&___param_values, 0, sizeof (___param_values));
g_value_unset (&___param_values[1]);
}
-#line 422 "src/mn-mailbox.gob"
+#line 510 "src/mn-mailbox.gob"
void
mn_mailbox_set_error (MNMailbox * self, const char * format, ...)
{
-#line 1256 "mn-mailbox.c"
+#line 1383 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::set_error"
-#line 422 "src/mn-mailbox.gob"
+#line 510 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 422 "src/mn-mailbox.gob"
+#line 510 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1262 "mn-mailbox.c"
+#line 1389 "mn-mailbox.c"
{
-#line 424 "src/mn-mailbox.gob"
+#line 512 "src/mn-mailbox.gob"
char *error = NULL;
@@ -1270,17 +1397,17 @@ 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 1274 "mn-mailbox.c"
+#line 1401 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 434 "src/mn-mailbox.gob"
+#line 522 "src/mn-mailbox.gob"
void
mn_mailbox_init_types (void)
{
-#line 1281 "mn-mailbox.c"
+#line 1408 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::init_types"
{
-#line 436 "src/mn-mailbox.gob"
+#line 524 "src/mn-mailbox.gob"
int i = 0;
@@ -1313,20 +1440,20 @@ mn_mailbox_init_types (void)
#endif
mn_mailbox_types[i] = 0;
}}
-#line 1317 "mn-mailbox.c"
+#line 1444 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 470 "src/mn-mailbox.gob"
+#line 558 "src/mn-mailbox.gob"
MNMailboxClass *
mn_mailbox_get_class_from_name (const char * type)
{
-#line 1324 "mn-mailbox.c"
+#line 1451 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_class_from_name"
-#line 470 "src/mn-mailbox.gob"
+#line 558 "src/mn-mailbox.gob"
g_return_val_if_fail (type != NULL, (MNMailboxClass * )0);
-#line 1328 "mn-mailbox.c"
+#line 1455 "mn-mailbox.c"
{
-#line 472 "src/mn-mailbox.gob"
+#line 560 "src/mn-mailbox.gob"
int i;
@@ -1343,20 +1470,20 @@ mn_mailbox_get_class_from_name (const char * type)
return NULL;
}}
-#line 1347 "mn-mailbox.c"
+#line 1474 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 489 "src/mn-mailbox.gob"
+#line 577 "src/mn-mailbox.gob"
GType
mn_mailbox_get_type_from_name (const char * type)
{
-#line 1354 "mn-mailbox.c"
+#line 1481 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_type_from_name"
-#line 489 "src/mn-mailbox.gob"
+#line 577 "src/mn-mailbox.gob"
g_return_val_if_fail (type != NULL, (GType )0);
-#line 1358 "mn-mailbox.c"
+#line 1485 "mn-mailbox.c"
{
-#line 491 "src/mn-mailbox.gob"
+#line 579 "src/mn-mailbox.gob"
SelfClass *class;
@@ -1373,18 +1500,18 @@ mn_mailbox_get_type_from_name (const char * type)
return 0;
}}
-#line 1377 "mn-mailbox.c"
+#line 1504 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 513 "src/mn-mailbox.gob"
+#line 604 "src/mn-mailbox.gob"
static void
mn_mailbox_finalize (MNMailbox * self)
{
-#line 1385 "mn-mailbox.c"
+#line 1512 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::finalize"
{
-#line 514 "src/mn-mailbox.gob"
+#line 605 "src/mn-mailbox.gob"
/*
* Even though we clear the source in removed(), it might have
@@ -1394,36 +1521,52 @@ mn_mailbox_finalize (MNMailbox * self)
if (selfp->check_timeout_id)
g_source_remove(selfp->check_timeout_id);
}}
-#line 1398 "mn-mailbox.c"
+#line 1525 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 524 "src/mn-mailbox.gob"
+#line 615 "src/mn-mailbox.gob"
static void
mn_mailbox_notify_display_seen_messages_cb (GConfClient * client, unsigned int cnxn_id, GConfEntry * entry, gpointer user_data)
{
-#line 1405 "mn-mailbox.c"
+#line 1532 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::notify_display_seen_messages_cb"
{
-#line 529 "src/mn-mailbox.gob"
+#line 620 "src/mn-mailbox.gob"
+
+ Self *self = user_data;
+
+ self_filter_messages(self);
+ }}
+#line 1541 "mn-mailbox.c"
+#undef __GOB_FUNCTION__
+
+#line 626 "src/mn-mailbox.gob"
+static void
+mn_mailbox_notify_messages_considered_as_read_cb (GConfClient * client, unsigned int cnxn_id, GConfEntry * entry, gpointer user_data)
+{
+#line 1548 "mn-mailbox.c"
+#define __GOB_FUNCTION__ "MN:Mailbox::notify_messages_considered_as_read_cb"
+{
+#line 631 "src/mn-mailbox.gob"
Self *self = user_data;
self_filter_messages(self);
}}
-#line 1414 "mn-mailbox.c"
+#line 1557 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 536 "src/mn-mailbox.gob"
+#line 638 "src/mn-mailbox.gob"
MNMailbox *
mn_mailbox_new (const char * type, ...)
{
-#line 1421 "mn-mailbox.c"
+#line 1564 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::new"
-#line 536 "src/mn-mailbox.gob"
+#line 638 "src/mn-mailbox.gob"
g_return_val_if_fail (type != NULL, (MNMailbox * )0);
-#line 1425 "mn-mailbox.c"
+#line 1568 "mn-mailbox.c"
{
-#line 538 "src/mn-mailbox.gob"
+#line 640 "src/mn-mailbox.gob"
va_list args;
GType type_id;
@@ -1441,20 +1584,20 @@ mn_mailbox_new (const char * type, ...)
return SELF(object);
}}
-#line 1445 "mn-mailbox.c"
+#line 1588 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 556 "src/mn-mailbox.gob"
+#line 658 "src/mn-mailbox.gob"
MNMailbox *
mn_mailbox_new_from_xml_node (xmlNode * node, GError ** err)
{
-#line 1452 "mn-mailbox.c"
+#line 1595 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::new_from_xml_node"
-#line 556 "src/mn-mailbox.gob"
+#line 658 "src/mn-mailbox.gob"
g_return_val_if_fail (node != NULL, (MNMailbox * )0);
-#line 1456 "mn-mailbox.c"
+#line 1599 "mn-mailbox.c"
{
-#line 558 "src/mn-mailbox.gob"
+#line 660 "src/mn-mailbox.gob"
char *type;
Self *self = NULL;
@@ -1485,22 +1628,22 @@ mn_mailbox_new_from_xml_node (xmlNode * node, GError ** err)
g_free(type);
return self;
}}
-#line 1489 "mn-mailbox.c"
+#line 1632 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 589 "src/mn-mailbox.gob"
+#line 691 "src/mn-mailbox.gob"
xmlNode *
mn_mailbox_xml_node_new (MNMailbox * self)
{
-#line 1496 "mn-mailbox.c"
+#line 1639 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::xml_node_new"
-#line 589 "src/mn-mailbox.gob"
+#line 691 "src/mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (xmlNode * )0);
-#line 589 "src/mn-mailbox.gob"
+#line 691 "src/mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (xmlNode * )0);
-#line 1502 "mn-mailbox.c"
+#line 1645 "mn-mailbox.c"
{
-#line 591 "src/mn-mailbox.gob"
+#line 693 "src/mn-mailbox.gob"
xmlNode *node;
@@ -1510,20 +1653,20 @@ mn_mailbox_xml_node_new (MNMailbox * self)
return node;
}}
-#line 1514 "mn-mailbox.c"
+#line 1657 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 601 "src/mn-mailbox.gob"
+#line 703 "src/mn-mailbox.gob"
MNMailbox *
mn_mailbox_new_from_uri (const char * uri)
{
-#line 1521 "mn-mailbox.c"
+#line 1664 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::new_from_uri"
-#line 601 "src/mn-mailbox.gob"
+#line 703 "src/mn-mailbox.gob"
g_return_val_if_fail (uri != NULL, (MNMailbox * )0);
-#line 1525 "mn-mailbox.c"
+#line 1668 "mn-mailbox.c"
{
-#line 603 "src/mn-mailbox.gob"
+#line 705 "src/mn-mailbox.gob"
int i;
@@ -1542,39 +1685,39 @@ mn_mailbox_new_from_uri (const char * uri)
return NULL;
}}
-#line 1546 "mn-mailbox.c"
+#line 1689 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 622 "src/mn-mailbox.gob"
+#line 724 "src/mn-mailbox.gob"
MNMailbox *
mn_mailbox_new_from_configuration (MNMailboxConfiguration * config)
{
-#line 1553 "mn-mailbox.c"
+#line 1696 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::new_from_configuration"
-#line 622 "src/mn-mailbox.gob"
+#line 724 "src/mn-mailbox.gob"
g_return_val_if_fail (config != NULL, (MNMailbox * )0);
-#line 1557 "mn-mailbox.c"
+#line 1700 "mn-mailbox.c"
{
-#line 624 "src/mn-mailbox.gob"
+#line 726 "src/mn-mailbox.gob"
return g_object_newv(config->type, config->n_parameters, config->parameters);
}}
-#line 1563 "mn-mailbox.c"
+#line 1706 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 628 "src/mn-mailbox.gob"
+#line 730 "src/mn-mailbox.gob"
MNMailboxConfiguration *
mn_mailbox_get_configuration (MNMailbox * self)
{
-#line 1570 "mn-mailbox.c"
+#line 1713 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_configuration"
-#line 628 "src/mn-mailbox.gob"
+#line 730 "src/mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (MNMailboxConfiguration * )0);
-#line 628 "src/mn-mailbox.gob"
+#line 730 "src/mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (MNMailboxConfiguration * )0);
-#line 1576 "mn-mailbox.c"
+#line 1719 "mn-mailbox.c"
{
-#line 630 "src/mn-mailbox.gob"
+#line 732 "src/mn-mailbox.gob"
GObject *object = G_OBJECT(self);
GArray *parameters;
@@ -1607,20 +1750,20 @@ mn_mailbox_get_configuration (MNMailbox * self)
return config;
}}
-#line 1611 "mn-mailbox.c"
+#line 1754 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 663 "src/mn-mailbox.gob"
+#line 765 "src/mn-mailbox.gob"
void
mn_mailbox_configuration_free (MNMailboxConfiguration * config)
{
-#line 1618 "mn-mailbox.c"
+#line 1761 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::configuration_free"
-#line 663 "src/mn-mailbox.gob"
+#line 765 "src/mn-mailbox.gob"
g_return_if_fail (config != NULL);
-#line 1622 "mn-mailbox.c"
+#line 1765 "mn-mailbox.c"
{
-#line 665 "src/mn-mailbox.gob"
+#line 767 "src/mn-mailbox.gob"
int i;
@@ -1630,20 +1773,20 @@ mn_mailbox_configuration_free (MNMailboxConfiguration * config)
g_free(config->parameters);
g_free(config);
}}
-#line 1634 "mn-mailbox.c"
+#line 1777 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 675 "src/mn-mailbox.gob"
+#line 777 "src/mn-mailbox.gob"
MNMailbox *
mn_mailbox_new_from_obsolete_uri (const char * uri)
{
-#line 1641 "mn-mailbox.c"
+#line 1784 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::new_from_obsolete_uri"
-#line 675 "src/mn-mailbox.gob"
+#line 777 "src/mn-mailbox.gob"
g_return_val_if_fail (uri != NULL, (MNMailbox * )0);
-#line 1645 "mn-mailbox.c"
+#line 1788 "mn-mailbox.c"
{
-#line 677 "src/mn-mailbox.gob"
+#line 779 "src/mn-mailbox.gob"
char *real_uri;
char *scheme;
@@ -1675,20 +1818,20 @@ mn_mailbox_new_from_obsolete_uri (const char * uri)
return self;
}}
-#line 1679 "mn-mailbox.c"
+#line 1822 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 709 "src/mn-mailbox.gob"
+#line 811 "src/mn-mailbox.gob"
static MNMailbox *
mn_mailbox_parse_obsolete_uri (const char * uri)
{
-#line 1686 "mn-mailbox.c"
+#line 1829 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::parse_obsolete_uri"
-#line 709 "src/mn-mailbox.gob"
+#line 811 "src/mn-mailbox.gob"
g_return_val_if_fail (uri != NULL, (MNMailbox * )0);
-#line 1690 "mn-mailbox.c"
+#line 1833 "mn-mailbox.c"
{
-#line 711 "src/mn-mailbox.gob"
+#line 813 "src/mn-mailbox.gob"
int len;
int buflen;
@@ -1910,17 +2053,17 @@ mn_mailbox_parse_obsolete_uri (const char * uri)
return self;
}}
-#line 1914 "mn-mailbox.c"
+#line 2057 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 933 "src/mn-mailbox.gob"
+#line 1035 "src/mn-mailbox.gob"
static gboolean
mn_mailbox_check_timeout_cb (gpointer data)
{
-#line 1921 "mn-mailbox.c"
+#line 2064 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::check_timeout_cb"
{
-#line 935 "src/mn-mailbox.gob"
+#line 1037 "src/mn-mailbox.gob"
Self *self = data;
@@ -1928,22 +2071,22 @@ mn_mailbox_check_timeout_cb (gpointer data)
return TRUE; /* continue */
}}
-#line 1932 "mn-mailbox.c"
+#line 2075 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 943 "src/mn-mailbox.gob"
+#line 1045 "src/mn-mailbox.gob"
static gboolean
mn_mailbox_validate (MNMailbox * self, GError ** err)
{
-#line 1939 "mn-mailbox.c"
+#line 2082 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::validate"
-#line 943 "src/mn-mailbox.gob"
+#line 1045 "src/mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 943 "src/mn-mailbox.gob"
+#line 1045 "src/mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (gboolean )0);
-#line 1945 "mn-mailbox.c"
+#line 2088 "mn-mailbox.c"
{
-#line 945 "src/mn-mailbox.gob"
+#line 1047 "src/mn-mailbox.gob"
GParamSpec **properties;
unsigned int n_properties;
@@ -1979,7 +2122,7 @@ mn_mailbox_validate (MNMailbox * self, GError ** err)
return status;
}}
-#line 1983 "mn-mailbox.c"
+#line 2126 "mn-mailbox.c"
#undef __GOB_FUNCTION__
/**
@@ -1993,30 +2136,30 @@ mn_mailbox_validate (MNMailbox * self, GError ** err)
* properties dialog. That would not be possible from init(), since
* these properties are only set after the mailbox is constructed.
**/
-#line 992 "src/mn-mailbox.gob"
+#line 1094 "src/mn-mailbox.gob"
void
mn_mailbox_seal (MNMailbox * self)
{
-#line 2001 "mn-mailbox.c"
+#line 2144 "mn-mailbox.c"
MNMailboxClass *klass;
-#line 992 "src/mn-mailbox.gob"
+#line 1094 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 992 "src/mn-mailbox.gob"
+#line 1094 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 2007 "mn-mailbox.c"
+#line 2150 "mn-mailbox.c"
klass = MN_MAILBOX_GET_CLASS(self);
if(klass->seal)
(*klass->seal)(self);
}
-#line 992 "src/mn-mailbox.gob"
+#line 1094 "src/mn-mailbox.gob"
static void
___real_mn_mailbox_seal (MNMailbox * self G_GNUC_UNUSED)
{
-#line 2017 "mn-mailbox.c"
+#line 2160 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::seal"
{
-#line 994 "src/mn-mailbox.gob"
+#line 1096 "src/mn-mailbox.gob"
if (self->name)
{
@@ -2028,22 +2171,22 @@ ___real_mn_mailbox_seal (MNMailbox * self G_GNUC_UNUSED)
? self->check_delay
: SELF_GET_CLASS(self)->default_check_delay;
}}
-#line 2032 "mn-mailbox.c"
+#line 2175 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1007 "src/mn-mailbox.gob"
+#line 1109 "src/mn-mailbox.gob"
static MNMailbox *
mn_mailbox_parse_uri (MNMailbox * self, const char * uri)
{
-#line 2039 "mn-mailbox.c"
+#line 2182 "mn-mailbox.c"
MNMailboxClass *klass;
-#line 1007 "src/mn-mailbox.gob"
+#line 1109 "src/mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (MNMailbox * )0);
-#line 1007 "src/mn-mailbox.gob"
+#line 1109 "src/mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (MNMailbox * )0);
-#line 1007 "src/mn-mailbox.gob"
+#line 1109 "src/mn-mailbox.gob"
g_return_val_if_fail (uri != NULL, (MNMailbox * )0);
-#line 2047 "mn-mailbox.c"
+#line 2190 "mn-mailbox.c"
klass = MN_MAILBOX_GET_CLASS(self);
if(klass->parse_uri)
@@ -2052,50 +2195,50 @@ mn_mailbox_parse_uri (MNMailbox * self, const char * uri)
return (MNMailbox * )(0);
}
-#line 1010 "src/mn-mailbox.gob"
+#line 1112 "src/mn-mailbox.gob"
void
mn_mailbox_check (MNMailbox * self)
{
-#line 2060 "mn-mailbox.c"
+#line 2203 "mn-mailbox.c"
MNMailboxClass *klass;
-#line 1010 "src/mn-mailbox.gob"
+#line 1112 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 1010 "src/mn-mailbox.gob"
+#line 1112 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 2066 "mn-mailbox.c"
+#line 2209 "mn-mailbox.c"
klass = MN_MAILBOX_GET_CLASS(self);
if(klass->check)
(*klass->check)(self);
}
-#line 1010 "src/mn-mailbox.gob"
+#line 1112 "src/mn-mailbox.gob"
static void
___real_mn_mailbox_check (MNMailbox * self G_GNUC_UNUSED)
{
-#line 2076 "mn-mailbox.c"
+#line 2219 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::check"
{
-#line 1012 "src/mn-mailbox.gob"
+#line 1114 "src/mn-mailbox.gob"
g_assert(self_get_active(self) == TRUE);
g_assert(selfp->checking_enabled == TRUE);
}}
-#line 2084 "mn-mailbox.c"
+#line 2227 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1026 "src/mn-mailbox.gob"
+#line 1128 "src/mn-mailbox.gob"
void
mn_mailbox_enable_checking (MNMailbox * self)
{
-#line 2091 "mn-mailbox.c"
+#line 2234 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::enable_checking"
-#line 1026 "src/mn-mailbox.gob"
+#line 1128 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 1026 "src/mn-mailbox.gob"
+#line 1128 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 2097 "mn-mailbox.c"
+#line 2240 "mn-mailbox.c"
{
-#line 1028 "src/mn-mailbox.gob"
+#line 1130 "src/mn-mailbox.gob"
selfp->checking_enabled = TRUE;
g_object_notify(G_OBJECT(self), "manually-checkable");
@@ -2103,24 +2246,24 @@ mn_mailbox_enable_checking (MNMailbox * self)
self_update_check_timeout(self);
self_check(self);
}}
-#line 2107 "mn-mailbox.c"
+#line 2250 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1037 "src/mn-mailbox.gob"
+#line 1139 "src/mn-mailbox.gob"
void
mn_mailbox_notice (MNMailbox * self, const char * format, ...)
{
-#line 2114 "mn-mailbox.c"
+#line 2257 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::notice"
-#line 1037 "src/mn-mailbox.gob"
+#line 1139 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 1037 "src/mn-mailbox.gob"
+#line 1139 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1037 "src/mn-mailbox.gob"
+#line 1139 "src/mn-mailbox.gob"
g_return_if_fail (format != NULL);
-#line 2122 "mn-mailbox.c"
+#line 2265 "mn-mailbox.c"
{
-#line 1039 "src/mn-mailbox.gob"
+#line 1141 "src/mn-mailbox.gob"
char *message;
@@ -2135,24 +2278,24 @@ mn_mailbox_notice (MNMailbox * self, const char * format, ...)
mn_info(_("%s: %s"), self->runtime_name, message);
g_free(message);
}}
-#line 2139 "mn-mailbox.c"
+#line 2282 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1055 "src/mn-mailbox.gob"
+#line 1157 "src/mn-mailbox.gob"
void
mn_mailbox_warning (MNMailbox * self, const char * format, ...)
{
-#line 2146 "mn-mailbox.c"
+#line 2289 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::warning"
-#line 1055 "src/mn-mailbox.gob"
+#line 1157 "src/mn-mailbox.gob"
g_return_if_fail (self != NULL);
-#line 1055 "src/mn-mailbox.gob"
+#line 1157 "src/mn-mailbox.gob"
g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1055 "src/mn-mailbox.gob"
+#line 1157 "src/mn-mailbox.gob"
g_return_if_fail (format != NULL);
-#line 2154 "mn-mailbox.c"
+#line 2297 "mn-mailbox.c"
{
-#line 1057 "src/mn-mailbox.gob"
+#line 1159 "src/mn-mailbox.gob"
char *message;
@@ -2167,127 +2310,45 @@ mn_mailbox_warning (MNMailbox * self, const char * format, ...)
g_warning(_("%s: %s"), self->runtime_name, message);
g_free(message);
}}
-#line 2171 "mn-mailbox.c"
+#line 2314 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1072 "src/mn-mailbox.gob"
+#line 1174 "src/mn-mailbox.gob"
MNMessage *
mn_mailbox_get_message_from_mid (MNMailbox * self, const char * mid)
{
-#line 2178 "mn-mailbox.c"
+#line 2321 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_message_from_mid"
-#line 1072 "src/mn-mailbox.gob"
+#line 1174 "src/mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (MNMessage * )0);
-#line 1072 "src/mn-mailbox.gob"
+#line 1174 "src/mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (MNMessage * )0);
-#line 1072 "src/mn-mailbox.gob"
+#line 1174 "src/mn-mailbox.gob"
g_return_val_if_fail (mid != NULL, (MNMessage * )0);
-#line 2186 "mn-mailbox.c"
+#line 2329 "mn-mailbox.c"
{
-#line 1074 "src/mn-mailbox.gob"
+#line 1176 "src/mn-mailbox.gob"
- return g_hash_table_lookup(selfp->all_messages_mid_hash_table, mid);
+ return g_hash_table_lookup(selfp->all_messages_by_mid, mid);
}}
-#line 2192 "mn-mailbox.c"
+#line 2335 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1078 "src/mn-mailbox.gob"
-static void
-mn_mailbox_consider_as_read_real (MNMailbox * self, MNMessage * message)
-{
-#line 2199 "mn-mailbox.c"
-#define __GOB_FUNCTION__ "MN:Mailbox::consider_as_read_real"
-#line 1078 "src/mn-mailbox.gob"
- g_return_if_fail (self != NULL);
-#line 1078 "src/mn-mailbox.gob"
- g_return_if_fail (MN_IS_MAILBOX (self));
-#line 1078 "src/mn-mailbox.gob"
- g_return_if_fail (message != NULL);
-#line 1078 "src/mn-mailbox.gob"
- g_return_if_fail (MN_IS_MESSAGE (message));
-#line 2209 "mn-mailbox.c"
-{
-#line 1080 "src/mn-mailbox.gob"
-
- g_hash_table_replace(selfp->all_messages_considered_as_read, message->id, g_object_ref(message));
- }}
-#line 2215 "mn-mailbox.c"
-#undef __GOB_FUNCTION__
-
-#line 1094 "src/mn-mailbox.gob"
-void
-mn_mailbox_consider_as_read (MNMessage * message)
-{
-#line 2222 "mn-mailbox.c"
-#define __GOB_FUNCTION__ "MN:Mailbox::consider_as_read"
-#line 1094 "src/mn-mailbox.gob"
- g_return_if_fail (message != NULL);
-#line 1094 "src/mn-mailbox.gob"
- g_return_if_fail (MN_IS_MESSAGE (message));
-#line 2228 "mn-mailbox.c"
-{
-#line 1096 "src/mn-mailbox.gob"
-
- Self *self;
-
- self = message->mailbox;
- g_assert(self != NULL);
-
- self_consider_as_read_real(self, message);
-
- self_filter_messages(self);
- }}
-#line 2241 "mn-mailbox.c"
-#undef __GOB_FUNCTION__
-
-#line 1112 "src/mn-mailbox.gob"
-void
-mn_mailbox_consider_as_read_list (GSList * messages)
-{
-#line 2248 "mn-mailbox.c"
-#define __GOB_FUNCTION__ "MN:Mailbox::consider_as_read_list"
-{
-#line 1114 "src/mn-mailbox.gob"
-
- Self *self = NULL;
- GSList *l;
-
- MN_LIST_FOREACH(l, messages)
- {
- MNMessage *message = l->data;
-
- if (self)
- g_assert(self == message->mailbox);
- else
- {
- self = message->mailbox;
- g_assert(self != NULL);
- }
-
- self_consider_as_read_real(self, message);
- }
-
- if (self) /* non empty list */
- self_filter_messages(self);
- }}
-#line 2274 "mn-mailbox.c"
-#undef __GOB_FUNCTION__
-
-#line 1137 "src/mn-mailbox.gob"
+#line 1180 "src/mn-mailbox.gob"
char *
mn_mailbox_get_command (MNMailbox * self, const char * id)
{
-#line 2281 "mn-mailbox.c"
+#line 2342 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::get_command"
-#line 1137 "src/mn-mailbox.gob"
+#line 1180 "src/mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (char * )0);
-#line 1137 "src/mn-mailbox.gob"
+#line 1180 "src/mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (char * )0);
-#line 1137 "src/mn-mailbox.gob"
+#line 1180 "src/mn-mailbox.gob"
g_return_val_if_fail (id != NULL, (char * )0);
-#line 2289 "mn-mailbox.c"
+#line 2350 "mn-mailbox.c"
{
-#line 1139 "src/mn-mailbox.gob"
+#line 1182 "src/mn-mailbox.gob"
char *prop;
char *command;
@@ -2304,24 +2365,24 @@ mn_mailbox_get_command (MNMailbox * self, const char * id)
return command;
}}
-#line 2308 "mn-mailbox.c"
+#line 2369 "mn-mailbox.c"
#undef __GOB_FUNCTION__
-#line 1156 "src/mn-mailbox.gob"
+#line 1199 "src/mn-mailbox.gob"
gboolean
mn_mailbox_has_command (MNMailbox * self, const char * id)
{
-#line 2315 "mn-mailbox.c"
+#line 2376 "mn-mailbox.c"
#define __GOB_FUNCTION__ "MN:Mailbox::has_command"
-#line 1156 "src/mn-mailbox.gob"
+#line 1199 "src/mn-mailbox.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 1156 "src/mn-mailbox.gob"
+#line 1199 "src/mn-mailbox.gob"
g_return_val_if_fail (MN_IS_MAILBOX (self), (gboolean )0);
-#line 1156 "src/mn-mailbox.gob"
+#line 1199 "src/mn-mailbox.gob"
g_return_val_if_fail (id != NULL, (gboolean )0);
-#line 2323 "mn-mailbox.c"
+#line 2384 "mn-mailbox.c"
{
-#line 1158 "src/mn-mailbox.gob"
+#line 1201 "src/mn-mailbox.gob"
char *command;
gboolean has;
@@ -2332,5 +2393,5 @@ mn_mailbox_has_command (MNMailbox * self, const char * id)
return has;
}}
-#line 2336 "mn-mailbox.c"
+#line 2397 "mn-mailbox.c"
#undef __GOB_FUNCTION__
diff --git a/build/src/mn-mailbox.h b/build/src/mn-mailbox.h
@@ -58,7 +58,7 @@ struct _MNMailbox {
char * format;
int runtime_check_delay;
int check_delay;
- GPtrArray * messages;
+ GHashTable * messages;
time_t timestamp;
char * error;
/*< private >*/
@@ -87,94 +87,88 @@ struct _MNMailboxClass {
* Public methods
*/
GType mn_mailbox_get_type (void) G_GNUC_CONST;
-#line 124 "src/mn-mailbox.gob"
+#line 135 "src/mn-mailbox.gob"
gboolean mn_mailbox_get_active (MNMailbox * self);
#line 93 "mn-mailbox.h"
-#line 143 "src/mn-mailbox.gob"
+#line 154 "src/mn-mailbox.gob"
void mn_mailbox_added (MNMailbox * self);
#line 96 "mn-mailbox.h"
-#line 159 "src/mn-mailbox.gob"
+#line 170 "src/mn-mailbox.gob"
void mn_mailbox_removed (MNMailbox * self);
#line 99 "mn-mailbox.h"
-#line 185 "src/mn-mailbox.gob"
+#line 210 "src/mn-mailbox.gob"
gchar * mn_mailbox_get_stock_id (MNMailbox * self);
#line 102 "mn-mailbox.h"
-#line 185 "src/mn-mailbox.gob"
+#line 210 "src/mn-mailbox.gob"
void mn_mailbox_set_stock_id (MNMailbox * self,
gchar * val);
#line 106 "mn-mailbox.h"
-#line 188 "src/mn-mailbox.gob"
+#line 213 "src/mn-mailbox.gob"
gchar * mn_mailbox_get_format (MNMailbox * self);
#line 109 "mn-mailbox.h"
-#line 188 "src/mn-mailbox.gob"
+#line 213 "src/mn-mailbox.gob"
void mn_mailbox_set_format (MNMailbox * self,
gchar * val);
#line 113 "mn-mailbox.h"
-#line 219 "src/mn-mailbox.gob"
+#line 244 "src/mn-mailbox.gob"
gboolean mn_mailbox_get_poll (MNMailbox * self);
#line 116 "mn-mailbox.h"
-#line 202 "src/mn-mailbox.gob"
+#line 227 "src/mn-mailbox.gob"
void mn_mailbox_set_poll (MNMailbox * self,
gboolean val);
#line 120 "mn-mailbox.h"
-#line 230 "src/mn-mailbox.gob"
+#line 255 "src/mn-mailbox.gob"
gboolean mn_mailbox_get_manually_checkable (MNMailbox * self);
#line 123 "mn-mailbox.h"
-#line 434 "src/mn-mailbox.gob"
+#line 522 "src/mn-mailbox.gob"
void mn_mailbox_init_types (void);
#line 126 "mn-mailbox.h"
-#line 470 "src/mn-mailbox.gob"
+#line 558 "src/mn-mailbox.gob"
MNMailboxClass * mn_mailbox_get_class_from_name (const char * type);
#line 129 "mn-mailbox.h"
-#line 489 "src/mn-mailbox.gob"
+#line 577 "src/mn-mailbox.gob"
GType mn_mailbox_get_type_from_name (const char * type);
#line 132 "mn-mailbox.h"
-#line 536 "src/mn-mailbox.gob"
+#line 638 "src/mn-mailbox.gob"
MNMailbox * mn_mailbox_new (const char * type,
...) G_GNUC_NULL_TERMINATED;
#line 136 "mn-mailbox.h"
-#line 556 "src/mn-mailbox.gob"
+#line 658 "src/mn-mailbox.gob"
MNMailbox * mn_mailbox_new_from_xml_node (xmlNode * node,
GError ** err);
#line 140 "mn-mailbox.h"
-#line 589 "src/mn-mailbox.gob"
+#line 691 "src/mn-mailbox.gob"
xmlNode * mn_mailbox_xml_node_new (MNMailbox * self);
#line 143 "mn-mailbox.h"
-#line 601 "src/mn-mailbox.gob"
+#line 703 "src/mn-mailbox.gob"
MNMailbox * mn_mailbox_new_from_uri (const char * uri);
#line 146 "mn-mailbox.h"
-#line 622 "src/mn-mailbox.gob"
+#line 724 "src/mn-mailbox.gob"
MNMailbox * mn_mailbox_new_from_configuration (MNMailboxConfiguration * config);
#line 149 "mn-mailbox.h"
-#line 628 "src/mn-mailbox.gob"
+#line 730 "src/mn-mailbox.gob"
MNMailboxConfiguration * mn_mailbox_get_configuration (MNMailbox * self);
#line 152 "mn-mailbox.h"
-#line 663 "src/mn-mailbox.gob"
+#line 765 "src/mn-mailbox.gob"
void mn_mailbox_configuration_free (MNMailboxConfiguration * config);
#line 155 "mn-mailbox.h"
-#line 675 "src/mn-mailbox.gob"
+#line 777 "src/mn-mailbox.gob"
MNMailbox * mn_mailbox_new_from_obsolete_uri (const char * uri);
#line 158 "mn-mailbox.h"
-#line 992 "src/mn-mailbox.gob"
+#line 1094 "src/mn-mailbox.gob"
void mn_mailbox_seal (MNMailbox * self);
#line 161 "mn-mailbox.h"
-#line 1010 "src/mn-mailbox.gob"
+#line 1112 "src/mn-mailbox.gob"
void mn_mailbox_check (MNMailbox * self);
#line 164 "mn-mailbox.h"
-#line 1094 "src/mn-mailbox.gob"
-void mn_mailbox_consider_as_read (MNMessage * message);
-#line 167 "mn-mailbox.h"
-#line 1112 "src/mn-mailbox.gob"
-void mn_mailbox_consider_as_read_list (GSList * messages);
-#line 170 "mn-mailbox.h"
-#line 1137 "src/mn-mailbox.gob"
+#line 1180 "src/mn-mailbox.gob"
char * mn_mailbox_get_command (MNMailbox * self,
const char * id);
-#line 174 "mn-mailbox.h"
-#line 1156 "src/mn-mailbox.gob"
+#line 168 "mn-mailbox.h"
+#line 1199 "src/mn-mailbox.gob"
gboolean mn_mailbox_has_command (MNMailbox * self,
const char * id);
-#line 178 "mn-mailbox.h"
+#line 172 "mn-mailbox.h"
/*
* Signal connection wrapper macros
@@ -225,7 +219,7 @@ gboolean mn_mailbox_has_command (MNMailbox * self,
#define MN_MAILBOX_PROP_POLL(arg) "poll", __extension__ ({gboolean z = (arg); z;})
#define MN_MAILBOX_GET_PROP_POLL(arg) "poll", __extension__ ({gboolean *z = (arg); z;})
#define MN_MAILBOX_GET_PROP_MANUALLY_CHECKABLE(arg) "manually_checkable", __extension__ ({gboolean *z = (arg); z;})
-#define MN_MAILBOX_GET_PROP_MESSAGES(arg) "messages", __extension__ ({GPtrArray * *z = (arg); z;})
+#define MN_MAILBOX_GET_PROP_MESSAGES(arg) "messages", __extension__ ({GHashTable * *z = (arg); z;})
#define MN_MAILBOX_PROP_ERROR(arg) "error", __extension__ ({gchar *z = (arg); z;})
#define MN_MAILBOX_GET_PROP_ERROR(arg) "error", __extension__ ({gchar **z = (arg); z;})
#else /* __GNUC__ && !__STRICT_ANSI__ */
@@ -248,7 +242,7 @@ gboolean mn_mailbox_has_command (MNMailbox * self,
#define MN_MAILBOX_PROP_POLL(arg) "poll",(gboolean )(arg)
#define MN_MAILBOX_GET_PROP_POLL(arg) "poll",(gboolean *)(arg)
#define MN_MAILBOX_GET_PROP_MANUALLY_CHECKABLE(arg) "manually_checkable",(gboolean *)(arg)
-#define MN_MAILBOX_GET_PROP_MESSAGES(arg) "messages",(GPtrArray * *)(arg)
+#define MN_MAILBOX_GET_PROP_MESSAGES(arg) "messages",(GHashTable * *)(arg)
#define MN_MAILBOX_PROP_ERROR(arg) "error",(gchar *)(arg)
#define MN_MAILBOX_GET_PROP_ERROR(arg) "error",(gchar **)(arg)
#endif /* __GNUC__ && !__STRICT_ANSI__ */
diff --git a/build/src/mn-mailboxes.c b/build/src/mn-mailboxes.c
@@ -78,60 +78,63 @@ static void ___real_mn_mailboxes_messages_changed (MNMailboxes * self, gboolean
#line 135 "src/mn-mailboxes.gob"
static void mn_mailboxes_messages_changed (MNMailboxes * self, gboolean has_new);
#line 81 "mn-mailboxes.c"
-#line 162 "src/mn-mailboxes.gob"
-static int mn_mailboxes_messages_sort_cb (MNMessage ** a, MNMessage ** b);
+#line 155 "src/mn-mailboxes.gob"
+static void mn_mailboxes_messages_changed_cb (const char * id, MNMessage * message, Self * self);
#line 84 "mn-mailboxes.c"
-#line 178 "src/mn-mailboxes.gob"
-static void mn_mailboxes_error_changed (MNMailboxes * self);
+#line 164 "src/mn-mailboxes.gob"
+static int mn_mailboxes_messages_sort_cb (MNMessage ** a, MNMessage ** b);
#line 87 "mn-mailboxes.c"
-#line 201 "src/mn-mailboxes.gob"
-static void mn_mailboxes_init (MNMailboxes * self);
+#line 180 "src/mn-mailboxes.gob"
+static void mn_mailboxes_error_changed (MNMailboxes * self);
#line 90 "mn-mailboxes.c"
-#line 256 "src/mn-mailboxes.gob"
-static void mn_mailboxes_finalize (MNMailboxes * self);
+#line 203 "src/mn-mailboxes.gob"
+static void mn_mailboxes_init (MNMailboxes * self);
#line 93 "mn-mailboxes.c"
-#line 274 "src/mn-mailboxes.gob"
-static void mn_mailboxes_connect_mailbox_signals (MNMailboxes * self, MNMailbox * mailbox);
+#line 258 "src/mn-mailboxes.gob"
+static void mn_mailboxes_finalize (MNMailboxes * self);
#line 96 "mn-mailboxes.c"
-#line 285 "src/mn-mailboxes.gob"
-static void mn_mailboxes_disconnect_mailbox_signals (MNMailboxes * self, MNMailbox * mailbox);
+#line 276 "src/mn-mailboxes.gob"
+static void mn_mailboxes_connect_mailbox_signals (MNMailboxes * self, MNMailbox * mailbox);
#line 99 "mn-mailboxes.c"
-#line 296 "src/mn-mailboxes.gob"
-static void mn_mailboxes_load (MNMailboxes * self);
+#line 287 "src/mn-mailboxes.gob"
+static void mn_mailboxes_disconnect_mailbox_signals (MNMailboxes * self, MNMailbox * mailbox);
#line 102 "mn-mailboxes.c"
-#line 312 "src/mn-mailboxes.gob"
-static void mn_mailboxes_add_error (GString ** errors, int * n_errors, const char * format, ...) G_GNUC_PRINTF(3, 4);
+#line 298 "src/mn-mailboxes.gob"
+static void mn_mailboxes_load (MNMailboxes * self);
#line 105 "mn-mailboxes.c"
-#line 332 "src/mn-mailboxes.gob"
-static gboolean mn_mailboxes_load_real (MNMailboxes * self, GError ** err);
+#line 314 "src/mn-mailboxes.gob"
+static void mn_mailboxes_add_error (GString ** errors, int * n_errors, const char * format, ...) G_GNUC_PRINTF(3, 4);
#line 108 "mn-mailboxes.c"
-#line 417 "src/mn-mailboxes.gob"
-static void mn_mailboxes_save (MNMailboxes * self);
+#line 334 "src/mn-mailboxes.gob"
+static gboolean mn_mailboxes_load_real (MNMailboxes * self, GError ** err);
#line 111 "mn-mailboxes.c"
-#line 429 "src/mn-mailboxes.gob"
-static gboolean mn_mailboxes_save_real (MNMailboxes * self, GError ** err);
+#line 419 "src/mn-mailboxes.gob"
+static void mn_mailboxes_save (MNMailboxes * self);
#line 114 "mn-mailboxes.c"
-#line 543 "src/mn-mailboxes.gob"
-static void mn_mailboxes_mailbox_messages_changed_h (MNMailbox * mailbox, gboolean has_new, gpointer user_data);
+#line 431 "src/mn-mailboxes.gob"
+static gboolean mn_mailboxes_save_real (MNMailboxes * self, GError ** err);
#line 117 "mn-mailboxes.c"
-#line 556 "src/mn-mailboxes.gob"
-static void mn_mailboxes_mailbox_notify_h (GObject * object, GParamSpec * pspec, gpointer user_data);
+#line 545 "src/mn-mailboxes.gob"
+static void mn_mailboxes_mailbox_messages_changed_h (MNMailbox * mailbox, gboolean has_new, gpointer user_data);
#line 120 "mn-mailboxes.c"
-#line 567 "src/mn-mailboxes.gob"
-static void mn_mailboxes_mailbox_notify_error_h (GObject * object, GParamSpec * pspec, gpointer user_data);
+#line 561 "src/mn-mailboxes.gob"
+static void mn_mailboxes_mailbox_notify_h (GObject * object, GParamSpec * pspec, gpointer user_data);
#line 123 "mn-mailboxes.c"
-#line 581 "src/mn-mailboxes.gob"
-static void mn_mailboxes_mailbox_notify_manually_checkable_h (GObject * object, GParamSpec * pspec, gpointer user_data);
+#line 572 "src/mn-mailboxes.gob"
+static void mn_mailboxes_mailbox_notify_error_h (GObject * object, GParamSpec * pspec, gpointer user_data);
#line 126 "mn-mailboxes.c"
-#line 606 "src/mn-mailboxes.gob"
-static void mn_mailboxes_add_real (MNMailboxes * self, MNMailbox * mailbox);
+#line 586 "src/mn-mailboxes.gob"
+static void mn_mailboxes_mailbox_notify_manually_checkable_h (GObject * object, GParamSpec * pspec, gpointer user_data);
#line 129 "mn-mailboxes.c"
-#line 634 "src/mn-mailboxes.gob"
-static void mn_mailboxes_remove_real (MNMailboxes * self, MNMailbox * mailbox);
+#line 611 "src/mn-mailboxes.gob"
+static void mn_mailboxes_add_real (MNMailboxes * self, MNMailbox * mailbox);
#line 132 "mn-mailboxes.c"
-#line 661 "src/mn-mailboxes.gob"
-static gboolean mn_mailboxes_queue_idle_cb (gpointer data);
+#line 639 "src/mn-mailboxes.gob"
+static void mn_mailboxes_remove_real (MNMailboxes * self, MNMailbox * mailbox);
#line 135 "mn-mailboxes.c"
+#line 666 "src/mn-mailboxes.gob"
+static gboolean mn_mailboxes_queue_idle_cb (gpointer data);
+#line 138 "mn-mailboxes.c"
/*
* Signal connection wrapper macro shortcuts
@@ -278,6 +281,7 @@ static GObjectClass *parent_class = NULL;
#define self_mailbox_notify mn_mailboxes_mailbox_notify
#define self_list_changed mn_mailboxes_list_changed
#define self_messages_changed mn_mailboxes_messages_changed
+#define self_messages_changed_cb mn_mailboxes_messages_changed_cb
#define self_messages_sort_cb mn_mailboxes_messages_sort_cb
#define self_error_changed mn_mailboxes_error_changed
#define self_get_manually_checkable mn_mailboxes_get_manually_checkable
@@ -351,23 +355,23 @@ ___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 256 "src/mn-mailboxes.gob"
+#line 258 "src/mn-mailboxes.gob"
mn_mailboxes_finalize (self);
-#line 357 "mn-mailboxes.c"
+#line 361 "mn-mailboxes.c"
if(G_OBJECT_CLASS(parent_class)->finalize) \
(* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
#line 47 "src/mn-mailboxes.gob"
if(self->messages) { mn_g_object_ptr_array_free ((gpointer) self->messages); self->messages = NULL; }
-#line 362 "mn-mailboxes.c"
+#line 366 "mn-mailboxes.c"
#line 50 "src/mn-mailboxes.gob"
if(self->messages_hash_table) { g_hash_table_destroy ((gpointer) self->messages_hash_table); self->messages_hash_table = NULL; }
-#line 365 "mn-mailboxes.c"
+#line 369 "mn-mailboxes.c"
#line 52 "src/mn-mailboxes.gob"
if(self->_priv->add_queue) { mn_g_object_slist_free ((gpointer) self->_priv->add_queue); self->_priv->add_queue = NULL; }
-#line 368 "mn-mailboxes.c"
+#line 372 "mn-mailboxes.c"
#line 53 "src/mn-mailboxes.gob"
if(self->_priv->remove_queue) { mn_g_object_slist_free ((gpointer) self->_priv->remove_queue); self->_priv->remove_queue = NULL; }
-#line 371 "mn-mailboxes.c"
+#line 375 "mn-mailboxes.c"
}
#undef __GOB_FUNCTION__
@@ -451,13 +455,13 @@ mn_mailboxes_class_init (MNMailboxesClass * c G_GNUC_UNUSED)
c->mailbox_added = ___real_mn_mailboxes_mailbox_added;
#line 87 "src/mn-mailboxes.gob"
c->mailbox_removed = ___real_mn_mailboxes_mailbox_removed;
-#line 455 "mn-mailboxes.c"
+#line 459 "mn-mailboxes.c"
c->mailbox_notify = NULL;
#line 114 "src/mn-mailboxes.gob"
c->list_changed = ___real_mn_mailboxes_list_changed;
#line 135 "src/mn-mailboxes.gob"
c->messages_changed = ___real_mn_mailboxes_messages_changed;
-#line 461 "mn-mailboxes.c"
+#line 465 "mn-mailboxes.c"
c->error_changed = NULL;
g_object_class->finalize = ___finalize;
g_object_class->get_property = ___object_get_property;
@@ -476,21 +480,21 @@ mn_mailboxes_class_init (MNMailboxesClass * c G_GNUC_UNUSED)
}
}
#undef __GOB_FUNCTION__
-#line 201 "src/mn-mailboxes.gob"
+#line 203 "src/mn-mailboxes.gob"
static void
mn_mailboxes_init (MNMailboxes * self G_GNUC_UNUSED)
{
-#line 484 "mn-mailboxes.c"
+#line 488 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::init"
self->_priv = G_TYPE_INSTANCE_GET_PRIVATE(self,MN_TYPE_MAILBOXES,MNMailboxesPrivate);
#line 47 "src/mn-mailboxes.gob"
self->messages = g_ptr_array_new();
-#line 489 "mn-mailboxes.c"
+#line 493 "mn-mailboxes.c"
#line 50 "src/mn-mailboxes.gob"
self->messages_hash_table = g_hash_table_new(g_str_hash, g_str_equal);
-#line 492 "mn-mailboxes.c"
+#line 496 "mn-mailboxes.c"
{
-#line 202 "src/mn-mailboxes.gob"
+#line 204 "src/mn-mailboxes.gob"
char *filename;
gboolean exists;
@@ -544,7 +548,7 @@ mn_mailboxes_init (MNMailboxes * self G_GNUC_UNUSED)
mn_g_slist_free_deep(gconf_mailboxes);
}
-#line 548 "mn-mailboxes.c"
+#line 552 "mn-mailboxes.c"
}
}
#undef __GOB_FUNCTION__
@@ -563,7 +567,7 @@ ___object_get_property (GObject *object,
switch (property_id) {
case PROP_MANUALLY_CHECKABLE:
{
-#line 183 "src/mn-mailboxes.gob"
+#line 185 "src/mn-mailboxes.gob"
GList *l;
gboolean value = FALSE;
@@ -581,7 +585,7 @@ ___object_get_property (GObject *object,
g_value_set_boolean(VAL, value);
-#line 585 "mn-mailboxes.c"
+#line 589 "mn-mailboxes.c"
}
break;
default:
@@ -601,7 +605,7 @@ ___object_get_property (GObject *object,
static void
mn_mailboxes_mailbox_added (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 605 "mn-mailboxes.c"
+#line 609 "mn-mailboxes.c"
GValue ___param_values[2];
GValue ___return_val;
@@ -616,7 +620,7 @@ memset (&___param_values, 0, sizeof (___param_values));
g_return_if_fail (mailbox != NULL);
#line 70 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 620 "mn-mailboxes.c"
+#line 624 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -638,7 +642,7 @@ memset (&___param_values, 0, sizeof (___param_values));
static void
___real_mn_mailboxes_mailbox_added (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 642 "mn-mailboxes.c"
+#line 646 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::mailbox_added"
{
#line 72 "src/mn-mailboxes.gob"
@@ -648,14 +652,14 @@ ___real_mn_mailboxes_mailbox_added (MNMailboxes * self, MNMailbox * mailbox)
/* emit the "added" signal on the mailbox */
mn_mailbox_added(mailbox);
}}
-#line 652 "mn-mailboxes.c"
+#line 656 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
#line 87 "src/mn-mailboxes.gob"
static void
mn_mailboxes_mailbox_removed (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 659 "mn-mailboxes.c"
+#line 663 "mn-mailboxes.c"
GValue ___param_values[2];
GValue ___return_val;
@@ -670,7 +674,7 @@ memset (&___param_values, 0, sizeof (___param_values));
g_return_if_fail (mailbox != NULL);
#line 87 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 674 "mn-mailboxes.c"
+#line 678 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -692,7 +696,7 @@ memset (&___param_values, 0, sizeof (___param_values));
static void
___real_mn_mailboxes_mailbox_removed (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 696 "mn-mailboxes.c"
+#line 700 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::mailbox_removed"
{
#line 89 "src/mn-mailboxes.gob"
@@ -706,14 +710,14 @@ ___real_mn_mailboxes_mailbox_removed (MNMailboxes * self, MNMailbox * mailbox)
self_messages_changed(self, FALSE);
self_error_changed(self);
}}
-#line 710 "mn-mailboxes.c"
+#line 714 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
#line 101 "src/mn-mailboxes.gob"
static void
mn_mailboxes_mailbox_notify (MNMailboxes * self, MNMailbox * mailbox, GParamSpec * pspec)
{
-#line 717 "mn-mailboxes.c"
+#line 721 "mn-mailboxes.c"
GValue ___param_values[3];
GValue ___return_val;
@@ -730,7 +734,7 @@ memset (&___param_values, 0, sizeof (___param_values));
g_return_if_fail (MN_IS_MAILBOX (mailbox));
#line 101 "src/mn-mailboxes.gob"
g_return_if_fail (pspec != NULL);
-#line 734 "mn-mailboxes.c"
+#line 738 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -758,7 +762,7 @@ memset (&___param_values, 0, sizeof (___param_values));
static void
mn_mailboxes_list_changed (MNMailboxes * self)
{
-#line 762 "mn-mailboxes.c"
+#line 766 "mn-mailboxes.c"
GValue ___param_values[1];
GValue ___return_val;
@@ -769,7 +773,7 @@ memset (&___param_values, 0, sizeof (___param_values));
g_return_if_fail (self != NULL);
#line 114 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 773 "mn-mailboxes.c"
+#line 777 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -786,7 +790,7 @@ memset (&___param_values, 0, sizeof (___param_values));
static void
___real_mn_mailboxes_list_changed (MNMailboxes * self)
{
-#line 790 "mn-mailboxes.c"
+#line 794 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::list_changed"
{
#line 116 "src/mn-mailboxes.gob"
@@ -794,14 +798,14 @@ ___real_mn_mailboxes_list_changed (MNMailboxes * self)
/* manually-checkable has possibly changed */
g_object_notify(G_OBJECT(self), "manually-checkable");
}}
-#line 798 "mn-mailboxes.c"
+#line 802 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
#line 135 "src/mn-mailboxes.gob"
static void
mn_mailboxes_messages_changed (MNMailboxes * self, gboolean has_new)
{
-#line 805 "mn-mailboxes.c"
+#line 809 "mn-mailboxes.c"
GValue ___param_values[2];
GValue ___return_val;
@@ -812,7 +816,7 @@ memset (&___param_values, 0, sizeof (___param_values));
g_return_if_fail (self != NULL);
#line 135 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 816 "mn-mailboxes.c"
+#line 820 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -834,7 +838,7 @@ memset (&___param_values, 0, sizeof (___param_values));
static void
___real_mn_mailboxes_messages_changed (MNMailboxes * self, gboolean has_new)
{
-#line 838 "mn-mailboxes.c"
+#line 842 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::messages_changed"
{
#line 137 "src/mn-mailboxes.gob"
@@ -849,53 +853,61 @@ ___real_mn_mailboxes_messages_changed (MNMailboxes * self, gboolean has_new)
MN_LIST_FOREACH(l, self->list)
{
MNMailbox *mailbox = l->data;
- int i;
-
- MN_ARRAY_FOREACH(i, mailbox->messages)
- {
- MNMessage *message = g_ptr_array_index(mailbox->messages, i);
- g_ptr_array_add(self->messages, g_object_ref(message));
- g_hash_table_insert(self->messages_hash_table, message->id, message);
- }
+ g_hash_table_foreach(mailbox->messages, (GHFunc) self_messages_changed_cb, self);
}
g_ptr_array_sort(self->messages, (GCompareFunc) self_messages_sort_cb);
}}
-#line 866 "mn-mailboxes.c"
+#line 863 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 162 "src/mn-mailboxes.gob"
+#line 155 "src/mn-mailboxes.gob"
+static void
+mn_mailboxes_messages_changed_cb (const char * id, MNMessage * message, Self * self)
+{
+#line 870 "mn-mailboxes.c"
+#define __GOB_FUNCTION__ "MN:Mailboxes::messages_changed_cb"
+{
+#line 159 "src/mn-mailboxes.gob"
+
+ g_ptr_array_add(self->messages, g_object_ref(message));
+ g_hash_table_insert(self->messages_hash_table, message->id, message);
+ }}
+#line 878 "mn-mailboxes.c"
+#undef __GOB_FUNCTION__
+
+#line 164 "src/mn-mailboxes.gob"
static int
mn_mailboxes_messages_sort_cb (MNMessage ** a, MNMessage ** b)
{
-#line 873 "mn-mailboxes.c"
+#line 885 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::messages_sort_cb"
{
-#line 164 "src/mn-mailboxes.gob"
+#line 166 "src/mn-mailboxes.gob"
/* sort by sent time in descending order */
return (*b)->sent_time - (*a)->sent_time;
}}
-#line 881 "mn-mailboxes.c"
+#line 893 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 178 "src/mn-mailboxes.gob"
+#line 180 "src/mn-mailboxes.gob"
static void
mn_mailboxes_error_changed (MNMailboxes * self)
{
-#line 888 "mn-mailboxes.c"
+#line 900 "mn-mailboxes.c"
GValue ___param_values[1];
GValue ___return_val;
memset (&___return_val, 0, sizeof (___return_val));
memset (&___param_values, 0, sizeof (___param_values));
-#line 178 "src/mn-mailboxes.gob"
+#line 180 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 178 "src/mn-mailboxes.gob"
+#line 180 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 899 "mn-mailboxes.c"
+#line 911 "mn-mailboxes.c"
___param_values[0].g_type = 0;
g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
@@ -909,28 +921,28 @@ memset (&___param_values, 0, sizeof (___param_values));
g_value_unset (&___param_values[0]);
}
-#line 183 "src/mn-mailboxes.gob"
+#line 185 "src/mn-mailboxes.gob"
gboolean
mn_mailboxes_get_manually_checkable (MNMailboxes * self)
{
-#line 917 "mn-mailboxes.c"
+#line 929 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::get_manually_checkable"
{
-#line 181 "src/mn-mailboxes.gob"
+#line 183 "src/mn-mailboxes.gob"
gboolean val; g_object_get (G_OBJECT (self), "manually_checkable", &val, NULL); return val;
}}
-#line 923 "mn-mailboxes.c"
+#line 935 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 256 "src/mn-mailboxes.gob"
+#line 258 "src/mn-mailboxes.gob"
static void
mn_mailboxes_finalize (MNMailboxes * self)
{
-#line 931 "mn-mailboxes.c"
+#line 943 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::finalize"
{
-#line 257 "src/mn-mailboxes.gob"
+#line 259 "src/mn-mailboxes.gob"
GList *l;
@@ -947,26 +959,26 @@ mn_mailboxes_finalize (MNMailboxes * self)
if (selfp->queue_idle_id)
g_source_remove(selfp->queue_idle_id);
}}
-#line 951 "mn-mailboxes.c"
+#line 963 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 274 "src/mn-mailboxes.gob"
+#line 276 "src/mn-mailboxes.gob"
static void
mn_mailboxes_connect_mailbox_signals (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 958 "mn-mailboxes.c"
+#line 970 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::connect_mailbox_signals"
-#line 274 "src/mn-mailboxes.gob"
+#line 276 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 274 "src/mn-mailboxes.gob"
+#line 276 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 274 "src/mn-mailboxes.gob"
+#line 276 "src/mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 274 "src/mn-mailboxes.gob"
+#line 276 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 968 "mn-mailboxes.c"
+#line 980 "mn-mailboxes.c"
{
-#line 276 "src/mn-mailboxes.gob"
+#line 278 "src/mn-mailboxes.gob"
g_object_connect(mailbox,
"signal::messages-changed", self_mailbox_messages_changed_h, self,
@@ -975,26 +987,26 @@ mn_mailboxes_connect_mailbox_signals (MNMailboxes * self, MNMailbox * mailbox)
"signal::notify::manually-checkable", self_mailbox_notify_manually_checkable_h, self,
NULL);
}}
-#line 979 "mn-mailboxes.c"
+#line 991 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 285 "src/mn-mailboxes.gob"
+#line 287 "src/mn-mailboxes.gob"
static void
mn_mailboxes_disconnect_mailbox_signals (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 986 "mn-mailboxes.c"
+#line 998 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::disconnect_mailbox_signals"
-#line 285 "src/mn-mailboxes.gob"
+#line 287 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 285 "src/mn-mailboxes.gob"
+#line 287 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 285 "src/mn-mailboxes.gob"
+#line 287 "src/mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 285 "src/mn-mailboxes.gob"
+#line 287 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 996 "mn-mailboxes.c"
+#line 1008 "mn-mailboxes.c"
{
-#line 287 "src/mn-mailboxes.gob"
+#line 289 "src/mn-mailboxes.gob"
g_object_disconnect(mailbox,
"any-signal", self_mailbox_messages_changed_h, self,
@@ -1003,22 +1015,22 @@ mn_mailboxes_disconnect_mailbox_signals (MNMailboxes * self, MNMailbox * mailbox
"any-signal", self_mailbox_notify_manually_checkable_h, self,
NULL);
}}
-#line 1007 "mn-mailboxes.c"
+#line 1019 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 296 "src/mn-mailboxes.gob"
+#line 298 "src/mn-mailboxes.gob"
static void
mn_mailboxes_load (MNMailboxes * self)
{
-#line 1014 "mn-mailboxes.c"
+#line 1026 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::load"
-#line 296 "src/mn-mailboxes.gob"
+#line 298 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 296 "src/mn-mailboxes.gob"
+#line 298 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 1020 "mn-mailboxes.c"
+#line 1032 "mn-mailboxes.c"
{
-#line 298 "src/mn-mailboxes.gob"
+#line 300 "src/mn-mailboxes.gob"
GError *err = NULL;
@@ -1031,22 +1043,22 @@ mn_mailboxes_load (MNMailboxes * self)
if (self->must_save_after_load)
self_save(self);
}}
-#line 1035 "mn-mailboxes.c"
+#line 1047 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 312 "src/mn-mailboxes.gob"
+#line 314 "src/mn-mailboxes.gob"
static void
mn_mailboxes_add_error (GString ** errors, int * n_errors, const char * format, ...)
{
-#line 1042 "mn-mailboxes.c"
+#line 1054 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::add_error"
-#line 312 "src/mn-mailboxes.gob"
+#line 314 "src/mn-mailboxes.gob"
g_return_if_fail (errors != NULL);
-#line 312 "src/mn-mailboxes.gob"
+#line 314 "src/mn-mailboxes.gob"
g_return_if_fail (n_errors != NULL);
-#line 1048 "mn-mailboxes.c"
+#line 1060 "mn-mailboxes.c"
{
-#line 317 "src/mn-mailboxes.gob"
+#line 319 "src/mn-mailboxes.gob"
char *message;
@@ -1061,22 +1073,22 @@ mn_mailboxes_add_error (GString ** errors, int * n_errors, const char * format,
(*n_errors)++;
}}
-#line 1065 "mn-mailboxes.c"
+#line 1077 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 332 "src/mn-mailboxes.gob"
+#line 334 "src/mn-mailboxes.gob"
static gboolean
mn_mailboxes_load_real (MNMailboxes * self, GError ** err)
{
-#line 1072 "mn-mailboxes.c"
+#line 1084 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::load_real"
-#line 332 "src/mn-mailboxes.gob"
+#line 334 "src/mn-mailboxes.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 332 "src/mn-mailboxes.gob"
+#line 334 "src/mn-mailboxes.gob"
g_return_val_if_fail (MN_IS_MAILBOXES (self), (gboolean )0);
-#line 1078 "mn-mailboxes.c"
+#line 1090 "mn-mailboxes.c"
{
-#line 334 "src/mn-mailboxes.gob"
+#line 336 "src/mn-mailboxes.gob"
char *filename;
xmlDoc *doc;
@@ -1159,22 +1171,22 @@ mn_mailboxes_load_real (MNMailboxes * self, GError ** err)
return status;
}}
-#line 1163 "mn-mailboxes.c"
+#line 1175 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 417 "src/mn-mailboxes.gob"
+#line 419 "src/mn-mailboxes.gob"
static void
mn_mailboxes_save (MNMailboxes * self)
{
-#line 1170 "mn-mailboxes.c"
+#line 1182 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::save"
-#line 417 "src/mn-mailboxes.gob"
+#line 419 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 417 "src/mn-mailboxes.gob"
+#line 419 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 1176 "mn-mailboxes.c"
+#line 1188 "mn-mailboxes.c"
{
-#line 419 "src/mn-mailboxes.gob"
+#line 421 "src/mn-mailboxes.gob"
GError *err = NULL;
@@ -1184,22 +1196,22 @@ mn_mailboxes_save (MNMailboxes * self)
g_error_free(err);
}
}}
-#line 1188 "mn-mailboxes.c"
+#line 1200 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 429 "src/mn-mailboxes.gob"
+#line 431 "src/mn-mailboxes.gob"
static gboolean
mn_mailboxes_save_real (MNMailboxes * self, GError ** err)
{
-#line 1195 "mn-mailboxes.c"
+#line 1207 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::save_real"
-#line 429 "src/mn-mailboxes.gob"
+#line 431 "src/mn-mailboxes.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 429 "src/mn-mailboxes.gob"
+#line 431 "src/mn-mailboxes.gob"
g_return_val_if_fail (MN_IS_MAILBOXES (self), (gboolean )0);
-#line 1201 "mn-mailboxes.c"
+#line 1213 "mn-mailboxes.c"
{
-#line 431 "src/mn-mailboxes.gob"
+#line 433 "src/mn-mailboxes.gob"
int indent;
xmlDoc *doc;
@@ -1311,36 +1323,39 @@ mn_mailboxes_save_real (MNMailboxes * self, GError ** err)
return status;
}}
-#line 1315 "mn-mailboxes.c"
+#line 1327 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 543 "src/mn-mailboxes.gob"
+#line 545 "src/mn-mailboxes.gob"
static void
mn_mailboxes_mailbox_messages_changed_h (MNMailbox * mailbox, gboolean has_new, gpointer user_data)
{
-#line 1322 "mn-mailboxes.c"
+#line 1334 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::mailbox_messages_changed_h"
{
-#line 547 "src/mn-mailboxes.gob"
+#line 549 "src/mn-mailboxes.gob"
Self *self = user_data;
+ int num_messages;
+
+ num_messages = g_hash_table_size(mailbox->messages);
- mn_info(ngettext("%s has %i new message", "%s has %i new messages", mailbox->messages->len),
- mailbox->runtime_name, mailbox->messages->len);
+ mn_info(ngettext("%s has %i new message", "%s has %i new messages", num_messages),
+ mailbox->runtime_name, num_messages);
self_messages_changed(self, has_new);
}}
-#line 1334 "mn-mailboxes.c"
+#line 1349 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 556 "src/mn-mailboxes.gob"
+#line 561 "src/mn-mailboxes.gob"
static void
mn_mailboxes_mailbox_notify_h (GObject * object, GParamSpec * pspec, gpointer user_data)
{
-#line 1341 "mn-mailboxes.c"
+#line 1356 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::mailbox_notify_h"
{
-#line 558 "src/mn-mailboxes.gob"
+#line 563 "src/mn-mailboxes.gob"
Self *self = user_data;
char *detailed_signal;
@@ -1349,17 +1364,17 @@ mn_mailboxes_mailbox_notify_h (GObject * object, GParamSpec * pspec, gpointer us
g_signal_emit_by_name(self, detailed_signal, object, pspec);
g_free(detailed_signal);
}}
-#line 1353 "mn-mailboxes.c"
+#line 1368 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 567 "src/mn-mailboxes.gob"
+#line 572 "src/mn-mailboxes.gob"
static void
mn_mailboxes_mailbox_notify_error_h (GObject * object, GParamSpec * pspec, gpointer user_data)
{
-#line 1360 "mn-mailboxes.c"
+#line 1375 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::mailbox_notify_error_h"
{
-#line 571 "src/mn-mailboxes.gob"
+#line 576 "src/mn-mailboxes.gob"
Self *self = user_data;
MNMailbox *mailbox = MN_MAILBOX(object);
@@ -1369,39 +1384,39 @@ mn_mailboxes_mailbox_notify_error_h (GObject * object, GParamSpec * pspec, gpoin
self_error_changed(self);
}}
-#line 1373 "mn-mailboxes.c"
+#line 1388 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 581 "src/mn-mailboxes.gob"
+#line 586 "src/mn-mailboxes.gob"
static void
mn_mailboxes_mailbox_notify_manually_checkable_h (GObject * object, GParamSpec * pspec, gpointer user_data)
{
-#line 1380 "mn-mailboxes.c"
+#line 1395 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::mailbox_notify_manually_checkable_h"
{
-#line 585 "src/mn-mailboxes.gob"
+#line 590 "src/mn-mailboxes.gob"
Self *self = user_data;
/* manually-checkable has possibly changed */
g_object_notify(G_OBJECT(self), "manually-checkable");
}}
-#line 1390 "mn-mailboxes.c"
+#line 1405 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 592 "src/mn-mailboxes.gob"
+#line 597 "src/mn-mailboxes.gob"
void
mn_mailboxes_check (MNMailboxes * self)
{
-#line 1397 "mn-mailboxes.c"
+#line 1412 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::check"
-#line 592 "src/mn-mailboxes.gob"
+#line 597 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 592 "src/mn-mailboxes.gob"
+#line 597 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 1403 "mn-mailboxes.c"
+#line 1418 "mn-mailboxes.c"
{
-#line 594 "src/mn-mailboxes.gob"
+#line 599 "src/mn-mailboxes.gob"
GList *l;
@@ -1413,51 +1428,51 @@ mn_mailboxes_check (MNMailboxes * self)
mn_mailbox_check(mailbox);
}
}}
-#line 1417 "mn-mailboxes.c"
+#line 1432 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 606 "src/mn-mailboxes.gob"
+#line 611 "src/mn-mailboxes.gob"
static void
mn_mailboxes_add_real (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 1424 "mn-mailboxes.c"
+#line 1439 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::add_real"
-#line 606 "src/mn-mailboxes.gob"
+#line 611 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 606 "src/mn-mailboxes.gob"
+#line 611 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 606 "src/mn-mailboxes.gob"
+#line 611 "src/mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 606 "src/mn-mailboxes.gob"
+#line 611 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 1434 "mn-mailboxes.c"
+#line 1449 "mn-mailboxes.c"
{
-#line 608 "src/mn-mailboxes.gob"
+#line 613 "src/mn-mailboxes.gob"
g_object_ref(mailbox);
self->list = g_list_insert_sorted(self->list, mailbox, self_compare_by_name_func);
self_mailbox_added(self, mailbox);
}}
-#line 1442 "mn-mailboxes.c"
+#line 1457 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 614 "src/mn-mailboxes.gob"
+#line 619 "src/mn-mailboxes.gob"
void
mn_mailboxes_add (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 1449 "mn-mailboxes.c"
+#line 1464 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::add"
-#line 614 "src/mn-mailboxes.gob"
+#line 619 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 614 "src/mn-mailboxes.gob"
+#line 619 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 614 "src/mn-mailboxes.gob"
+#line 619 "src/mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 614 "src/mn-mailboxes.gob"
+#line 619 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 1459 "mn-mailboxes.c"
+#line 1474 "mn-mailboxes.c"
{
-#line 616 "src/mn-mailboxes.gob"
+#line 621 "src/mn-mailboxes.gob"
self_add_real(self, mailbox);
self_list_changed(self);
@@ -1465,26 +1480,26 @@ mn_mailboxes_add (MNMailboxes * self, MNMailbox * mailbox)
if (! MN_IS_TEST_MAILBOX(mailbox))
self_save(self);
}}
-#line 1469 "mn-mailboxes.c"
+#line 1484 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 624 "src/mn-mailboxes.gob"
+#line 629 "src/mn-mailboxes.gob"
void
mn_mailboxes_queue_add (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 1476 "mn-mailboxes.c"
+#line 1491 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::queue_add"
-#line 624 "src/mn-mailboxes.gob"
+#line 629 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 624 "src/mn-mailboxes.gob"
+#line 629 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 624 "src/mn-mailboxes.gob"
+#line 629 "src/mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 624 "src/mn-mailboxes.gob"
+#line 629 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 1486 "mn-mailboxes.c"
+#line 1501 "mn-mailboxes.c"
{
-#line 626 "src/mn-mailboxes.gob"
+#line 631 "src/mn-mailboxes.gob"
g_object_ref(mailbox);
selfp->add_queue = g_slist_append(selfp->add_queue, mailbox);
@@ -1492,77 +1507,77 @@ mn_mailboxes_queue_add (MNMailboxes * self, MNMailbox * mailbox)
if (! selfp->queue_idle_id)
selfp->queue_idle_id = gdk_threads_add_idle(self_queue_idle_cb, self);
}}
-#line 1496 "mn-mailboxes.c"
+#line 1511 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 634 "src/mn-mailboxes.gob"
+#line 639 "src/mn-mailboxes.gob"
static void
mn_mailboxes_remove_real (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 1503 "mn-mailboxes.c"
+#line 1518 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::remove_real"
-#line 634 "src/mn-mailboxes.gob"
+#line 639 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 634 "src/mn-mailboxes.gob"
+#line 639 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 634 "src/mn-mailboxes.gob"
+#line 639 "src/mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 634 "src/mn-mailboxes.gob"
+#line 639 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 1513 "mn-mailboxes.c"
+#line 1528 "mn-mailboxes.c"
{
-#line 636 "src/mn-mailboxes.gob"
+#line 641 "src/mn-mailboxes.gob"
self->list = g_list_remove(self->list, mailbox);
self_mailbox_removed(self, mailbox);
g_object_unref(mailbox);
}}
-#line 1521 "mn-mailboxes.c"
+#line 1536 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 642 "src/mn-mailboxes.gob"
+#line 647 "src/mn-mailboxes.gob"
void
mn_mailboxes_remove (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 1528 "mn-mailboxes.c"
+#line 1543 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::remove"
-#line 642 "src/mn-mailboxes.gob"
+#line 647 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 642 "src/mn-mailboxes.gob"
+#line 647 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 642 "src/mn-mailboxes.gob"
+#line 647 "src/mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 642 "src/mn-mailboxes.gob"
+#line 647 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 1538 "mn-mailboxes.c"
+#line 1553 "mn-mailboxes.c"
{
-#line 644 "src/mn-mailboxes.gob"
+#line 649 "src/mn-mailboxes.gob"
self_remove_real(self, mailbox);
self_list_changed(self);
if (! MN_IS_TEST_MAILBOX(mailbox))
self_save(self);
}}
-#line 1547 "mn-mailboxes.c"
+#line 1562 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 651 "src/mn-mailboxes.gob"
+#line 656 "src/mn-mailboxes.gob"
void
mn_mailboxes_queue_remove (MNMailboxes * self, MNMailbox * mailbox)
{
-#line 1554 "mn-mailboxes.c"
+#line 1569 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::queue_remove"
-#line 651 "src/mn-mailboxes.gob"
+#line 656 "src/mn-mailboxes.gob"
g_return_if_fail (self != NULL);
-#line 651 "src/mn-mailboxes.gob"
+#line 656 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOXES (self));
-#line 651 "src/mn-mailboxes.gob"
+#line 656 "src/mn-mailboxes.gob"
g_return_if_fail (mailbox != NULL);
-#line 651 "src/mn-mailboxes.gob"
+#line 656 "src/mn-mailboxes.gob"
g_return_if_fail (MN_IS_MAILBOX (mailbox));
-#line 1564 "mn-mailboxes.c"
+#line 1579 "mn-mailboxes.c"
{
-#line 653 "src/mn-mailboxes.gob"
+#line 658 "src/mn-mailboxes.gob"
g_object_ref(mailbox);
selfp->remove_queue = g_slist_append(selfp->remove_queue, mailbox);
@@ -1570,17 +1585,17 @@ mn_mailboxes_queue_remove (MNMailboxes * self, MNMailbox * mailbox)
if (! selfp->queue_idle_id)
selfp->queue_idle_id = gdk_threads_add_idle(self_queue_idle_cb, self);
}}
-#line 1574 "mn-mailboxes.c"
+#line 1589 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 661 "src/mn-mailboxes.gob"
+#line 666 "src/mn-mailboxes.gob"
static gboolean
mn_mailboxes_queue_idle_cb (gpointer data)
{
-#line 1581 "mn-mailboxes.c"
+#line 1596 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::queue_idle_cb"
{
-#line 663 "src/mn-mailboxes.gob"
+#line 668 "src/mn-mailboxes.gob"
Self *self = data;
GSList *l;
@@ -1601,36 +1616,36 @@ mn_mailboxes_queue_idle_cb (gpointer data)
selfp->queue_idle_id = 0;
return FALSE; /* remove */
}}
-#line 1605 "mn-mailboxes.c"
+#line 1620 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 684 "src/mn-mailboxes.gob"
+#line 689 "src/mn-mailboxes.gob"
int
mn_mailboxes_compare_by_name_func (gconstpointer a, gconstpointer b)
{
-#line 1612 "mn-mailboxes.c"
+#line 1627 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::compare_by_name_func"
{
-#line 686 "src/mn-mailboxes.gob"
+#line 691 "src/mn-mailboxes.gob"
MNMailbox *mailbox_a = (MNMailbox *) a;
MNMailbox *mailbox_b = (MNMailbox *) b;
return g_utf8_collate(mailbox_a->runtime_name, mailbox_b->runtime_name);
}}
-#line 1622 "mn-mailboxes.c"
+#line 1637 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
-#line 693 "src/mn-mailboxes.gob"
+#line 698 "src/mn-mailboxes.gob"
MNMailboxes *
mn_mailboxes_new (void)
{
-#line 1629 "mn-mailboxes.c"
+#line 1644 "mn-mailboxes.c"
#define __GOB_FUNCTION__ "MN:Mailboxes::new"
{
-#line 695 "src/mn-mailboxes.gob"
+#line 700 "src/mn-mailboxes.gob"
return GET_NEW;
}}
-#line 1636 "mn-mailboxes.c"
+#line 1651 "mn-mailboxes.c"
#undef __GOB_FUNCTION__
diff --git a/build/src/mn-mailboxes.h b/build/src/mn-mailboxes.h
@@ -65,33 +65,33 @@ struct _MNMailboxesClass {
* Public methods
*/
GType mn_mailboxes_get_type (void) G_GNUC_CONST;
-#line 183 "src/mn-mailboxes.gob"
+#line 185 "src/mn-mailboxes.gob"
gboolean mn_mailboxes_get_manually_checkable (MNMailboxes * self);
#line 71 "mn-mailboxes.h"
-#line 592 "src/mn-mailboxes.gob"
+#line 597 "src/mn-mailboxes.gob"
void mn_mailboxes_check (MNMailboxes * self);
#line 74 "mn-mailboxes.h"
-#line 614 "src/mn-mailboxes.gob"
+#line 619 "src/mn-mailboxes.gob"
void mn_mailboxes_add (MNMailboxes * self,
MNMailbox * mailbox);
#line 78 "mn-mailboxes.h"
-#line 624 "src/mn-mailboxes.gob"
+#line 629 "src/mn-mailboxes.gob"
void mn_mailboxes_queue_add (MNMailboxes * self,
MNMailbox * mailbox);
#line 82 "mn-mailboxes.h"
-#line 642 "src/mn-mailboxes.gob"
+#line 647 "src/mn-mailboxes.gob"
void mn_mailboxes_remove (MNMailboxes * self,
MNMailbox * mailbox);
#line 86 "mn-mailboxes.h"
-#line 651 "src/mn-mailboxes.gob"
+#line 656 "src/mn-mailboxes.gob"
void mn_mailboxes_queue_remove (MNMailboxes * self,
MNMailbox * mailbox);
#line 90 "mn-mailboxes.h"
-#line 684 "src/mn-mailboxes.gob"
+#line 689 "src/mn-mailboxes.gob"
int mn_mailboxes_compare_by_name_func (gconstpointer a,
gconstpointer b);
#line 94 "mn-mailboxes.h"
-#line 693 "src/mn-mailboxes.gob"
+#line 698 "src/mn-mailboxes.gob"
MNMailboxes * mn_mailboxes_new (void);
#line 97 "mn-mailboxes.h"
diff --git a/build/src/mn-maildir-mailbox-backend.c b/build/src/mn-maildir-mailbox-backend.c
@@ -69,7 +69,7 @@ static void mn_maildir_mailbox_backend_monitor_directory (MNMaildirMailboxBacken
#line 105 "src/mn-maildir-mailbox-backend.gob"
static gboolean mn_maildir_mailbox_backend_scan_directory (MNMaildirMailboxBackend * self, int check_id, const char * dir, gboolean new, GSList ** messages, int * num_errors, GError ** err);
#line 72 "mn-maildir-mailbox-backend.c"
-#line 228 "src/mn-maildir-mailbox-backend.gob"
+#line 240 "src/mn-maildir-mailbox-backend.gob"
static void ___7_mn_maildir_mailbox_backend_check (MNVFSMailboxBackend * backend, int check_id);
#line 75 "mn-maildir-mailbox-backend.c"
@@ -142,7 +142,7 @@ mn_maildir_mailbox_backend_class_init (MNMaildirMailboxBackendClass * class G_GN
mn_vfs_mailbox_backend_class->monitor_cb = ___2_mn_maildir_mailbox_backend_monitor_cb;
#line 80 "src/mn-maildir-mailbox-backend.gob"
mn_vfs_mailbox_backend_class->is = ___4_mn_maildir_mailbox_backend_is;
-#line 228 "src/mn-maildir-mailbox-backend.gob"
+#line 240 "src/mn-maildir-mailbox-backend.gob"
mn_vfs_mailbox_backend_class->check = ___7_mn_maildir_mailbox_backend_check;
#line 148 "mn-maildir-mailbox-backend.c"
{
@@ -312,7 +312,7 @@ mn_maildir_mailbox_backend_scan_directory (MNMaildirMailboxBackend * self, int c
{
char *mid;
MNMessageFlags flags = 0;
- MNVFSMessage *message;
+ MNVFSMessage *message = NULL;
if (mn_reentrant_mailbox_check_aborted(MN_REENTRANT_MAILBOX(backend->mailbox), check_id))
{
@@ -340,13 +340,25 @@ mn_maildir_mailbox_backend_scan_directory (MNMaildirMailboxBackend * self, int c
mid = g_strndup(file_info->name, info - file_info->name);
}
+ /*
+ * Hold the GDK lock while using
+ * mn_mailbox_get_message_from_mid(), since for
+ * MNReentrantMailbox, mail checks can run concurrently, so
+ * another check could be modifying the MID hash table.
+ */
+ GDK_THREADS_ENTER();
+
message = MN_VFS_MESSAGE(mn_mailbox_get_message_from_mid(MN_MAILBOX(backend->mailbox), mid));
if (message)
message = mn_vfs_message_new_from_message(message,
uri,
file_info->name,
flags);
- else
+
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+
+ if (! message)
{
GError *tmp_err = NULL;
@@ -401,20 +413,20 @@ mn_maildir_mailbox_backend_scan_directory (MNMaildirMailboxBackend * self, int c
return FALSE;
}}
-#line 405 "mn-maildir-mailbox-backend.c"
+#line 417 "mn-maildir-mailbox-backend.c"
#undef __GOB_FUNCTION__
-#line 228 "src/mn-maildir-mailbox-backend.gob"
+#line 240 "src/mn-maildir-mailbox-backend.gob"
static void
___7_mn_maildir_mailbox_backend_check (MNVFSMailboxBackend * backend G_GNUC_UNUSED, int check_id)
-#line 411 "mn-maildir-mailbox-backend.c"
+#line 423 "mn-maildir-mailbox-backend.c"
#define PARENT_HANDLER(___backend,___check_id) \
{ if(MN_VFS_MAILBOX_BACKEND_CLASS(parent_class)->check) \
(* MN_VFS_MAILBOX_BACKEND_CLASS(parent_class)->check)(___backend,___check_id); }
{
#define __GOB_FUNCTION__ "MN:Maildir:Mailbox:Backend::check"
{
-#line 230 "src/mn-maildir-mailbox-backend.gob"
+#line 242 "src/mn-maildir-mailbox-backend.gob"
Self *self = SELF(backend);
GSList *messages = NULL;
@@ -455,6 +467,6 @@ ___7_mn_maildir_mailbox_backend_check (MNVFSMailboxBackend * backend G_GNUC_UNUS
if (err)
g_error_free(err);
}}
-#line 459 "mn-maildir-mailbox-backend.c"
+#line 471 "mn-maildir-mailbox-backend.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER
diff --git a/build/src/mn-message-private.h b/build/src/mn-message-private.h
@@ -23,10 +23,10 @@ typedef enum
typedef GError *(*MNMessageActionPerformCallback) (MNMessage *message, gpointer data);
#line 26 "mn-message-private.h"
-#line 375 "src/mn-message.gob"
+#line 376 "src/mn-message.gob"
void mn_message_perform_action_in_thread (MNMessageActionRequest * request, MNMessageActionPerformCallback callback, gpointer user_data);
#line 29 "mn-message-private.h"
-#line 422 "src/mn-message.gob"
+#line 423 "src/mn-message.gob"
void mn_message_action_done (MNMessageActionRequest * request, GError * err);
#line 32 "mn-message-private.h"
diff --git a/build/src/mn-message.c b/build/src/mn-message.c
@@ -28,6 +28,7 @@
#include <glib/gi18n.h>
#include <gnome.h>
#include <libgnomevfs/gnome-vfs.h>
+#include "mn-conf.h"
#include "mn-util.h"
typedef struct
@@ -37,7 +38,7 @@ typedef struct
gpointer user_data;
} PerformInfo;
-#line 41 "mn-message.c"
+#line 42 "mn-message.c"
/* self casting macros */
#define SELF(x) MN_MESSAGE(x)
#define SELF_CONST(x) MN_MESSAGE_CONST(x)
@@ -56,69 +57,69 @@ 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);
#line 0 "src/mn-message.gob"
static void mn_message_init (MNMessage * o);
-#line 60 "mn-message.c"
+#line 61 "mn-message.c"
#line 0 "src/mn-message.gob"
static void mn_message_class_init (MNMessageClass * c);
-#line 63 "mn-message.c"
-#line 224 "src/mn-message.gob"
+#line 64 "mn-message.c"
+#line 225 "src/mn-message.gob"
static void mn_message_constructor (MNMessage * self);
-#line 66 "mn-message.c"
-#line 266 "src/mn-message.gob"
+#line 67 "mn-message.c"
+#line 267 "src/mn-message.gob"
static gboolean mn_message_subst_command_cb (const char * name, char ** value, gpointer data);
-#line 69 "mn-message.c"
-#line 296 "src/mn-message.gob"
+#line 70 "mn-message.c"
+#line 297 "src/mn-message.gob"
static gboolean mn_message_execute_command_real (MNMessage * self, const char * command, GError ** err);
-#line 72 "mn-message.c"
-#line 324 "src/mn-message.gob"
+#line 73 "mn-message.c"
+#line 325 "src/mn-message.gob"
static gboolean mn_message_execute_command (MNMessage * self, const char * id, GError ** err);
-#line 75 "mn-message.c"
-#line 393 "src/mn-message.gob"
+#line 76 "mn-message.c"
+#line 394 "src/mn-message.gob"
static void mn_message_perform_action_in_thread_cb (PerformInfo * info);
-#line 78 "mn-message.c"
-#line 411 "src/mn-message.gob"
+#line 79 "mn-message.c"
+#line 412 "src/mn-message.gob"
static void mn_message_action_done_real (MNMessage * self, MNMessageAction * action, GError * err, MNMessageActionResultCallback callback, gpointer data);
-#line 81 "mn-message.c"
+#line 82 "mn-message.c"
static gboolean ___real_mn_message_builtin_can_open (MNMessage * self);
-#line 439 "src/mn-message.gob"
+#line 440 "src/mn-message.gob"
static gboolean mn_message_builtin_can_open (MNMessage * self);
-#line 85 "mn-message.c"
+#line 86 "mn-message.c"
static void ___real_mn_message_builtin_open (MNMessage * self, MNMessageActionRequest * request);
-#line 445 "src/mn-message.gob"
+#line 446 "src/mn-message.gob"
static void mn_message_builtin_open (MNMessage * self, MNMessageActionRequest * request);
-#line 89 "mn-message.c"
-#line 455 "src/mn-message.gob"
+#line 90 "mn-message.c"
+#line 456 "src/mn-message.gob"
static void mn_message_open_done (MNMessage * self, GError * err);
-#line 92 "mn-message.c"
+#line 93 "mn-message.c"
static gboolean ___real_mn_message_builtin_can_mark_as_read (MNMessage * self);
-#line 462 "src/mn-message.gob"
+#line 463 "src/mn-message.gob"
static gboolean mn_message_builtin_can_mark_as_read (MNMessage * self);
-#line 96 "mn-message.c"
-#line 468 "src/mn-message.gob"
+#line 97 "mn-message.c"
+#line 469 "src/mn-message.gob"
static void mn_message_builtin_mark_as_read (MNMessage * self, MNMessageActionRequest * request);
-#line 99 "mn-message.c"
-#line 471 "src/mn-message.gob"
+#line 100 "mn-message.c"
+#line 472 "src/mn-message.gob"
static void mn_message_mark_as_read_done (MNMessage * self, GError * err);
-#line 102 "mn-message.c"
+#line 103 "mn-message.c"
static gboolean ___real_mn_message_builtin_can_mark_as_spam (MNMessage * self);
-#line 478 "src/mn-message.gob"
+#line 479 "src/mn-message.gob"
static gboolean mn_message_builtin_can_mark_as_spam (MNMessage * self);
-#line 106 "mn-message.c"
-#line 484 "src/mn-message.gob"
+#line 107 "mn-message.c"
+#line 485 "src/mn-message.gob"
static void mn_message_builtin_mark_as_spam (MNMessage * self, MNMessageActionRequest * request);
-#line 109 "mn-message.c"
-#line 487 "src/mn-message.gob"
+#line 110 "mn-message.c"
+#line 488 "src/mn-message.gob"
static void mn_message_mark_as_spam_done (MNMessage * self, GError * err);
-#line 112 "mn-message.c"
+#line 113 "mn-message.c"
static gboolean ___real_mn_message_builtin_can_delete (MNMessage * self);
-#line 494 "src/mn-message.gob"
+#line 495 "src/mn-message.gob"
static gboolean mn_message_builtin_can_delete (MNMessage * self);
-#line 116 "mn-message.c"
-#line 500 "src/mn-message.gob"
+#line 117 "mn-message.c"
+#line 501 "src/mn-message.gob"
static void mn_message_builtin_delete (MNMessage * self, MNMessageActionRequest * request);
-#line 119 "mn-message.c"
-#line 503 "src/mn-message.gob"
+#line 120 "mn-message.c"
+#line 504 "src/mn-message.gob"
static void mn_message_delete_done (MNMessage * self, GError * err);
-#line 122 "mn-message.c"
+#line 123 "mn-message.c"
enum {
PROP_0,
@@ -160,6 +161,8 @@ static GObjectClass *parent_class = NULL;
#define self_builtin_can_delete mn_message_builtin_can_delete
#define self_builtin_delete mn_message_builtin_delete
#define self_delete_done mn_message_delete_done
+#define self_consider_as_read mn_message_consider_as_read
+#define self_consider_as_read_list mn_message_consider_as_read_list
#define self_new mn_message_new
#define self_xml_node_new mn_message_xml_node_new
GType
@@ -205,7 +208,7 @@ GET_NEW_VARG (const char *first, ...)
}
-#line 91 "src/mn-message.gob"
+#line 92 "src/mn-message.gob"
static const MNMessageAction message_actions[] = {
{
@@ -250,7 +253,7 @@ static const MNMessageAction message_actions[] = {
}
};
-#line 254 "mn-message.c"
+#line 257 "mn-message.c"
static GObject *
___constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties)
@@ -260,9 +263,9 @@ ___constructor (GType type, guint n_construct_properties, GObjectConstructParam
MNMessage *self;
obj_self = G_OBJECT_CLASS (parent_class)->constructor (type, n_construct_properties, construct_properties);
self = MN_MESSAGE (obj_self);
-#line 224 "src/mn-message.gob"
+#line 225 "src/mn-message.gob"
mn_message_constructor (self);
-#line 266 "mn-message.c"
+#line 269 "mn-message.c"
return obj_self;
}
#undef __GOB_FUNCTION__
@@ -275,21 +278,21 @@ ___finalize(GObject *obj_self)
MNMessage *self G_GNUC_UNUSED = MN_MESSAGE (obj_self);
if(G_OBJECT_CLASS(parent_class)->finalize) \
(* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
-#line 163 "src/mn-message.gob"
+#line 164 "src/mn-message.gob"
if(self->id) { g_free ((gpointer) self->id); self->id = NULL; }
-#line 281 "mn-message.c"
-#line 178 "src/mn-message.gob"
- if(self->mid) { g_free ((gpointer) self->mid); self->mid = NULL; }
#line 284 "mn-message.c"
-#line 182 "src/mn-message.gob"
- if(self->from) { g_free ((gpointer) self->from); self->from = NULL; }
+#line 179 "src/mn-message.gob"
+ if(self->mid) { g_free ((gpointer) self->mid); self->mid = NULL; }
#line 287 "mn-message.c"
-#line 186 "src/mn-message.gob"
- if(self->subject) { g_free ((gpointer) self->subject); self->subject = NULL; }
+#line 183 "src/mn-message.gob"
+ if(self->from) { g_free ((gpointer) self->from); self->from = NULL; }
#line 290 "mn-message.c"
-#line 190 "src/mn-message.gob"
- if(self->uri) { g_free ((gpointer) self->uri); self->uri = NULL; }
+#line 187 "src/mn-message.gob"
+ if(self->subject) { g_free ((gpointer) self->subject); self->subject = NULL; }
#line 293 "mn-message.c"
+#line 191 "src/mn-message.gob"
+ if(self->uri) { g_free ((gpointer) self->uri); self->uri = NULL; }
+#line 296 "mn-message.c"
}
#undef __GOB_FUNCTION__
@@ -307,21 +310,21 @@ mn_message_class_init (MNMessageClass * c G_GNUC_UNUSED)
parent_class = g_type_class_ref (G_TYPE_OBJECT);
-#line 439 "src/mn-message.gob"
+#line 440 "src/mn-message.gob"
c->builtin_can_open = ___real_mn_message_builtin_can_open;
-#line 445 "src/mn-message.gob"
+#line 446 "src/mn-message.gob"
c->builtin_open = ___real_mn_message_builtin_open;
-#line 462 "src/mn-message.gob"
+#line 463 "src/mn-message.gob"
c->builtin_can_mark_as_read = ___real_mn_message_builtin_can_mark_as_read;
-#line 317 "mn-message.c"
+#line 320 "mn-message.c"
c->builtin_mark_as_read = NULL;
-#line 478 "src/mn-message.gob"
+#line 479 "src/mn-message.gob"
c->builtin_can_mark_as_spam = ___real_mn_message_builtin_can_mark_as_spam;
-#line 321 "mn-message.c"
+#line 324 "mn-message.c"
c->builtin_mark_as_spam = NULL;
-#line 494 "src/mn-message.gob"
+#line 495 "src/mn-message.gob"
c->builtin_can_delete = ___real_mn_message_builtin_can_delete;
-#line 325 "mn-message.c"
+#line 328 "mn-message.c"
c->builtin_delete = NULL;
g_object_class->constructor = ___constructor;
g_object_class->finalize = ___finalize;
@@ -432,58 +435,58 @@ ___object_set_property (GObject *object,
switch (property_id) {
case PROP_MAILBOX:
{
-#line 146 "src/mn-message.gob"
+#line 147 "src/mn-message.gob"
self->mailbox = g_value_get_pointer (VAL);
-#line 438 "mn-message.c"
+#line 441 "mn-message.c"
}
break;
case PROP_SENT_TIME:
{
-#line 150 "src/mn-message.gob"
+#line 151 "src/mn-message.gob"
self->sent_time = g_value_get_ulong (VAL);
-#line 445 "mn-message.c"
+#line 448 "mn-message.c"
}
break;
case PROP_ID:
{
-#line 164 "src/mn-message.gob"
+#line 165 "src/mn-message.gob"
{ char *old = self->id; self->id = g_value_dup_string (VAL); g_free (old); }
-#line 452 "mn-message.c"
+#line 455 "mn-message.c"
}
break;
case PROP_MID:
{
-#line 179 "src/mn-message.gob"
+#line 180 "src/mn-message.gob"
{ char *old = self->mid; self->mid = g_value_dup_string (VAL); g_free (old); }
-#line 459 "mn-message.c"
+#line 462 "mn-message.c"
}
break;
case PROP_FROM:
{
-#line 183 "src/mn-message.gob"
+#line 184 "src/mn-message.gob"
{ char *old = self->from; self->from = g_value_dup_string (VAL); g_free (old); }
-#line 466 "mn-message.c"
+#line 469 "mn-message.c"
}
break;
case PROP_SUBJECT:
{
-#line 187 "src/mn-message.gob"
+#line 188 "src/mn-message.gob"
{ char *old = self->subject; self->subject = g_value_dup_string (VAL); g_free (old); }
-#line 473 "mn-message.c"
+#line 476 "mn-message.c"
}
break;
case PROP_URI:
{
-#line 191 "src/mn-message.gob"
+#line 192 "src/mn-message.gob"
{ char *old = self->uri; self->uri = g_value_dup_string (VAL); g_free (old); }
-#line 480 "mn-message.c"
+#line 483 "mn-message.c"
}
break;
case PROP_FLAGS:
{
-#line 200 "src/mn-message.gob"
+#line 201 "src/mn-message.gob"
self->flags = g_value_get_uint (VAL);
-#line 487 "mn-message.c"
+#line 490 "mn-message.c"
}
break;
default:
@@ -512,67 +515,67 @@ ___object_get_property (GObject *object,
switch (property_id) {
case PROP_MAILBOX:
{
-#line 146 "src/mn-message.gob"
+#line 147 "src/mn-message.gob"
g_value_set_pointer (VAL, self->mailbox);
-#line 518 "mn-message.c"
+#line 521 "mn-message.c"
}
break;
case PROP_SENT_TIME:
{
-#line 150 "src/mn-message.gob"
+#line 151 "src/mn-message.gob"
g_value_set_ulong (VAL, self->sent_time);
-#line 525 "mn-message.c"
+#line 528 "mn-message.c"
}
break;
case PROP_ID:
{
-#line 164 "src/mn-message.gob"
+#line 165 "src/mn-message.gob"
g_value_set_string (VAL, self->id);
-#line 532 "mn-message.c"
+#line 535 "mn-message.c"
}
break;
case PROP_MID:
{
-#line 179 "src/mn-message.gob"
+#line 180 "src/mn-message.gob"
g_value_set_string (VAL, self->mid);
-#line 539 "mn-message.c"
+#line 542 "mn-message.c"
}
break;
case PROP_FROM:
{
-#line 183 "src/mn-message.gob"
+#line 184 "src/mn-message.gob"
g_value_set_string (VAL, self->from);
-#line 546 "mn-message.c"
+#line 549 "mn-message.c"
}
break;
case PROP_SUBJECT:
{
-#line 187 "src/mn-message.gob"
+#line 188 "src/mn-message.gob"
g_value_set_string (VAL, self->subject);
-#line 553 "mn-message.c"
+#line 556 "mn-message.c"
}
break;
case PROP_URI:
{
-#line 191 "src/mn-message.gob"
+#line 192 "src/mn-message.gob"
g_value_set_string (VAL, self->uri);
-#line 560 "mn-message.c"
+#line 563 "mn-message.c"
}
break;
case PROP_FILENAME:
{
-#line 195 "src/mn-message.gob"
+#line 196 "src/mn-message.gob"
g_value_take_string(VAL, self->uri ? gnome_vfs_get_local_path_from_uri(self->uri) : NULL);
-#line 569 "mn-message.c"
+#line 572 "mn-message.c"
}
break;
case PROP_FLAGS:
{
-#line 200 "src/mn-message.gob"
+#line 201 "src/mn-message.gob"
g_value_set_uint (VAL, self->flags);
-#line 576 "mn-message.c"
+#line 579 "mn-message.c"
}
break;
default:
@@ -589,17 +592,17 @@ g_value_set_uint (VAL, self->flags);
-#line 202 "src/mn-message.gob"
+#line 203 "src/mn-message.gob"
MNMessageAction *
mn_message_get_action (const char * name)
{
-#line 597 "mn-message.c"
+#line 600 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::get_action"
-#line 202 "src/mn-message.gob"
+#line 203 "src/mn-message.gob"
g_return_val_if_fail (name != NULL, (MNMessageAction * )0);
-#line 601 "mn-message.c"
+#line 604 "mn-message.c"
{
-#line 204 "src/mn-message.gob"
+#line 205 "src/mn-message.gob"
static GHashTable *actions = NULL;
@@ -619,17 +622,17 @@ mn_message_get_action (const char * name)
return g_hash_table_lookup(actions, name);
}}
-#line 623 "mn-message.c"
+#line 626 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 224 "src/mn-message.gob"
+#line 225 "src/mn-message.gob"
static void
mn_message_constructor (MNMessage * self)
{
-#line 630 "mn-message.c"
+#line 633 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::constructor"
{
-#line 225 "src/mn-message.gob"
+#line 226 "src/mn-message.gob"
g_assert(MN_IS_MAILBOX(self->mailbox));
@@ -670,17 +673,17 @@ mn_message_constructor (MNMessage * self)
if (! self->subject)
self->subject = g_strdup("");
}}
-#line 674 "mn-message.c"
+#line 677 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 266 "src/mn-message.gob"
+#line 267 "src/mn-message.gob"
static gboolean
mn_message_subst_command_cb (const char * name, char ** value, gpointer data)
{
-#line 681 "mn-message.c"
+#line 684 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::subst_command_cb"
{
-#line 268 "src/mn-message.gob"
+#line 269 "src/mn-message.gob"
Self *self = data;
GParamSpec **properties;
@@ -708,24 +711,24 @@ mn_message_subst_command_cb (const char * name, char ** value, gpointer data)
return status;
}}
-#line 712 "mn-message.c"
+#line 715 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 296 "src/mn-message.gob"
+#line 297 "src/mn-message.gob"
static gboolean
mn_message_execute_command_real (MNMessage * self, const char * command, GError ** err)
{
-#line 719 "mn-message.c"
+#line 722 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::execute_command_real"
-#line 296 "src/mn-message.gob"
+#line 297 "src/mn-message.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 296 "src/mn-message.gob"
+#line 297 "src/mn-message.gob"
g_return_val_if_fail (MN_IS_MESSAGE (self), (gboolean )0);
-#line 296 "src/mn-message.gob"
+#line 297 "src/mn-message.gob"
g_return_val_if_fail (command != NULL, (gboolean )0);
-#line 727 "mn-message.c"
+#line 730 "mn-message.c"
{
-#line 300 "src/mn-message.gob"
+#line 301 "src/mn-message.gob"
char *subst;
int status;
@@ -745,24 +748,24 @@ mn_message_execute_command_real (MNMessage * self, const char * command, GError
return TRUE;
}}
-#line 749 "mn-message.c"
+#line 752 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 324 "src/mn-message.gob"
+#line 325 "src/mn-message.gob"
static gboolean
mn_message_execute_command (MNMessage * self, const char * id, GError ** err)
{
-#line 756 "mn-message.c"
+#line 759 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::execute_command"
-#line 324 "src/mn-message.gob"
+#line 325 "src/mn-message.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 324 "src/mn-message.gob"
+#line 325 "src/mn-message.gob"
g_return_val_if_fail (MN_IS_MESSAGE (self), (gboolean )0);
-#line 324 "src/mn-message.gob"
+#line 325 "src/mn-message.gob"
g_return_val_if_fail (id != NULL, (gboolean )0);
-#line 764 "mn-message.c"
+#line 767 "mn-message.c"
{
-#line 326 "src/mn-message.gob"
+#line 327 "src/mn-message.gob"
char *command;
GError *tmp_err = NULL;
@@ -780,48 +783,48 @@ mn_message_execute_command (MNMessage * self, const char * id, GError ** err)
g_free(command);
return TRUE;
}}
-#line 784 "mn-message.c"
+#line 787 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 344 "src/mn-message.gob"
+#line 345 "src/mn-message.gob"
gboolean
mn_message_can_perform_action (MNMessage * self, MNMessageAction * action)
{
-#line 791 "mn-message.c"
+#line 794 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::can_perform_action"
-#line 344 "src/mn-message.gob"
+#line 345 "src/mn-message.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 344 "src/mn-message.gob"
+#line 345 "src/mn-message.gob"
g_return_val_if_fail (MN_IS_MESSAGE (self), (gboolean )0);
-#line 344 "src/mn-message.gob"
+#line 345 "src/mn-message.gob"
g_return_val_if_fail (action != NULL, (gboolean )0);
-#line 799 "mn-message.c"
+#line 802 "mn-message.c"
{
-#line 346 "src/mn-message.gob"
+#line 347 "src/mn-message.gob"
return mn_mailbox_has_command(self->mailbox, action->name)
|| action->can_perform(self);
}}
-#line 806 "mn-message.c"
+#line 809 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 351 "src/mn-message.gob"
+#line 352 "src/mn-message.gob"
void
mn_message_perform_action (MNMessage * self, MNMessageAction * action, MNMessageActionResultCallback callback, gpointer data)
{
-#line 813 "mn-message.c"
+#line 816 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::perform_action"
-#line 351 "src/mn-message.gob"
+#line 352 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 351 "src/mn-message.gob"
+#line 352 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 351 "src/mn-message.gob"
+#line 352 "src/mn-message.gob"
g_return_if_fail (action != NULL);
-#line 351 "src/mn-message.gob"
+#line 352 "src/mn-message.gob"
g_return_if_fail (callback != NULL);
-#line 823 "mn-message.c"
+#line 826 "mn-message.c"
{
-#line 356 "src/mn-message.gob"
+#line 357 "src/mn-message.gob"
GError *err = NULL;
@@ -840,22 +843,22 @@ mn_message_perform_action (MNMessage * self, MNMessageAction * action, MNMessage
action->perform(self, request);
}
}}
-#line 844 "mn-message.c"
+#line 847 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 375 "src/mn-message.gob"
+#line 376 "src/mn-message.gob"
void
mn_message_perform_action_in_thread (MNMessageActionRequest * request, MNMessageActionPerformCallback callback, gpointer user_data)
{
-#line 851 "mn-message.c"
+#line 854 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::perform_action_in_thread"
-#line 375 "src/mn-message.gob"
+#line 376 "src/mn-message.gob"
g_return_if_fail (request != NULL);
-#line 375 "src/mn-message.gob"
+#line 376 "src/mn-message.gob"
g_return_if_fail (callback != NULL);
-#line 857 "mn-message.c"
+#line 860 "mn-message.c"
{
-#line 379 "src/mn-message.gob"
+#line 380 "src/mn-message.gob"
PerformInfo *info;
@@ -869,17 +872,17 @@ mn_message_perform_action_in_thread (MNMessageActionRequest * request, MNMessage
mn_thread_create((GThreadFunc) self_perform_action_in_thread_cb, info);
}}
-#line 873 "mn-message.c"
+#line 876 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 393 "src/mn-message.gob"
+#line 394 "src/mn-message.gob"
static void
mn_message_perform_action_in_thread_cb (PerformInfo * info)
{
-#line 880 "mn-message.c"
+#line 883 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::perform_action_in_thread_cb"
{
-#line 395 "src/mn-message.gob"
+#line 396 "src/mn-message.gob"
GError *err;
@@ -895,42 +898,42 @@ mn_message_perform_action_in_thread_cb (PerformInfo * info)
gdk_flush();
GDK_THREADS_LEAVE();
}}
-#line 899 "mn-message.c"
+#line 902 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 411 "src/mn-message.gob"
+#line 412 "src/mn-message.gob"
static void
mn_message_action_done_real (MNMessage * self, MNMessageAction * action, GError * err, MNMessageActionResultCallback callback, gpointer data)
{
-#line 906 "mn-message.c"
+#line 909 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::action_done_real"
-#line 411 "src/mn-message.gob"
+#line 412 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 411 "src/mn-message.gob"
+#line 412 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 411 "src/mn-message.gob"
+#line 412 "src/mn-message.gob"
g_return_if_fail (action != NULL);
-#line 914 "mn-message.c"
+#line 917 "mn-message.c"
{
-#line 417 "src/mn-message.gob"
+#line 418 "src/mn-message.gob"
action->done(self, err);
callback(action, err, data);
}}
-#line 921 "mn-message.c"
+#line 924 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 422 "src/mn-message.gob"
+#line 423 "src/mn-message.gob"
void
mn_message_action_done (MNMessageActionRequest * request, GError * err)
{
-#line 928 "mn-message.c"
+#line 931 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::action_done"
-#line 422 "src/mn-message.gob"
+#line 423 "src/mn-message.gob"
g_return_if_fail (request != NULL);
-#line 932 "mn-message.c"
+#line 935 "mn-message.c"
{
-#line 424 "src/mn-message.gob"
+#line 425 "src/mn-message.gob"
Self *self = request->message;
@@ -939,34 +942,34 @@ mn_message_action_done (MNMessageActionRequest * request, GError * err)
g_object_unref(request->message);
g_free(request);
}}
-#line 943 "mn-message.c"
+#line 946 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 433 "src/mn-message.gob"
+#line 434 "src/mn-message.gob"
GQuark
mn_message_action_error_quark (void)
{
-#line 950 "mn-message.c"
+#line 953 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::action_error_quark"
{
-#line 435 "src/mn-message.gob"
+#line 436 "src/mn-message.gob"
return g_quark_from_static_string("mn-message-action-error");
}}
-#line 957 "mn-message.c"
+#line 960 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 439 "src/mn-message.gob"
+#line 440 "src/mn-message.gob"
static gboolean
mn_message_builtin_can_open (MNMessage * self)
{
-#line 964 "mn-message.c"
+#line 967 "mn-message.c"
MNMessageClass *klass;
-#line 439 "src/mn-message.gob"
+#line 440 "src/mn-message.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 439 "src/mn-message.gob"
+#line 440 "src/mn-message.gob"
g_return_val_if_fail (MN_IS_MESSAGE (self), (gboolean )0);
-#line 970 "mn-message.c"
+#line 973 "mn-message.c"
klass = MN_MESSAGE_GET_CLASS(self);
if(klass->builtin_can_open)
@@ -974,44 +977,44 @@ mn_message_builtin_can_open (MNMessage * self)
else
return (gboolean )(0);
}
-#line 439 "src/mn-message.gob"
+#line 440 "src/mn-message.gob"
static gboolean
___real_mn_message_builtin_can_open (MNMessage * self G_GNUC_UNUSED)
{
-#line 982 "mn-message.c"
+#line 985 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::builtin_can_open"
{
-#line 441 "src/mn-message.gob"
+#line 442 "src/mn-message.gob"
return self->uri != NULL;
}}
-#line 989 "mn-message.c"
+#line 992 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 445 "src/mn-message.gob"
+#line 446 "src/mn-message.gob"
static void
mn_message_builtin_open (MNMessage * self, MNMessageActionRequest * request)
{
-#line 996 "mn-message.c"
+#line 999 "mn-message.c"
MNMessageClass *klass;
-#line 445 "src/mn-message.gob"
+#line 446 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 445 "src/mn-message.gob"
+#line 446 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 1002 "mn-message.c"
+#line 1005 "mn-message.c"
klass = MN_MESSAGE_GET_CLASS(self);
if(klass->builtin_open)
(*klass->builtin_open)(self,request);
}
-#line 445 "src/mn-message.gob"
+#line 446 "src/mn-message.gob"
static void
___real_mn_message_builtin_open (MNMessage * self G_GNUC_UNUSED, MNMessageActionRequest * request)
{
-#line 1012 "mn-message.c"
+#line 1015 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::builtin_open"
{
-#line 447 "src/mn-message.gob"
+#line 448 "src/mn-message.gob"
GError *err = NULL;
@@ -1019,40 +1022,40 @@ ___real_mn_message_builtin_open (MNMessage * self G_GNUC_UNUSED, MNMessageAction
self_action_done(request, err);
}}
-#line 1023 "mn-message.c"
+#line 1026 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 455 "src/mn-message.gob"
+#line 456 "src/mn-message.gob"
static void
mn_message_open_done (MNMessage * self, GError * err)
{
-#line 1030 "mn-message.c"
+#line 1033 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::open_done"
-#line 455 "src/mn-message.gob"
+#line 456 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 455 "src/mn-message.gob"
+#line 456 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 1036 "mn-message.c"
+#line 1039 "mn-message.c"
{
-#line 457 "src/mn-message.gob"
+#line 458 "src/mn-message.gob"
if (! err)
- mn_mailbox_consider_as_read(self);
+ self_consider_as_read(self); /* [1] */
}}
-#line 1043 "mn-message.c"
+#line 1046 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 462 "src/mn-message.gob"
+#line 463 "src/mn-message.gob"
static gboolean
mn_message_builtin_can_mark_as_read (MNMessage * self)
{
-#line 1050 "mn-message.c"
+#line 1053 "mn-message.c"
MNMessageClass *klass;
-#line 462 "src/mn-message.gob"
+#line 463 "src/mn-message.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 462 "src/mn-message.gob"
+#line 463 "src/mn-message.gob"
g_return_val_if_fail (MN_IS_MESSAGE (self), (gboolean )0);
-#line 1056 "mn-message.c"
+#line 1059 "mn-message.c"
klass = MN_MESSAGE_GET_CLASS(self);
if(klass->builtin_can_mark_as_read)
@@ -1060,68 +1063,68 @@ mn_message_builtin_can_mark_as_read (MNMessage * self)
else
return (gboolean )(0);
}
-#line 462 "src/mn-message.gob"
+#line 463 "src/mn-message.gob"
static gboolean
___real_mn_message_builtin_can_mark_as_read (MNMessage * self G_GNUC_UNUSED)
{
-#line 1068 "mn-message.c"
+#line 1071 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::builtin_can_mark_as_read"
{
-#line 464 "src/mn-message.gob"
+#line 465 "src/mn-message.gob"
return SELF_GET_CLASS(self)->builtin_mark_as_read != NULL;
}}
-#line 1075 "mn-message.c"
+#line 1078 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 468 "src/mn-message.gob"
+#line 469 "src/mn-message.gob"
static void
mn_message_builtin_mark_as_read (MNMessage * self, MNMessageActionRequest * request)
{
-#line 1082 "mn-message.c"
+#line 1085 "mn-message.c"
MNMessageClass *klass;
-#line 468 "src/mn-message.gob"
+#line 469 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 468 "src/mn-message.gob"
+#line 469 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 1088 "mn-message.c"
+#line 1091 "mn-message.c"
klass = MN_MESSAGE_GET_CLASS(self);
if(klass->builtin_mark_as_read)
(*klass->builtin_mark_as_read)(self,request);
}
-#line 471 "src/mn-message.gob"
+#line 472 "src/mn-message.gob"
static void
mn_message_mark_as_read_done (MNMessage * self, GError * err)
{
-#line 1099 "mn-message.c"
+#line 1102 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::mark_as_read_done"
-#line 471 "src/mn-message.gob"
+#line 472 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 471 "src/mn-message.gob"
+#line 472 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 1105 "mn-message.c"
+#line 1108 "mn-message.c"
{
-#line 473 "src/mn-message.gob"
+#line 474 "src/mn-message.gob"
if (! err)
- mn_mailbox_consider_as_read(self);
+ self_consider_as_read(self); /* [1] */
}}
-#line 1112 "mn-message.c"
+#line 1115 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 478 "src/mn-message.gob"
+#line 479 "src/mn-message.gob"
static gboolean
mn_message_builtin_can_mark_as_spam (MNMessage * self)
{
-#line 1119 "mn-message.c"
+#line 1122 "mn-message.c"
MNMessageClass *klass;
-#line 478 "src/mn-message.gob"
+#line 479 "src/mn-message.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 478 "src/mn-message.gob"
+#line 479 "src/mn-message.gob"
g_return_val_if_fail (MN_IS_MESSAGE (self), (gboolean )0);
-#line 1125 "mn-message.c"
+#line 1128 "mn-message.c"
klass = MN_MESSAGE_GET_CLASS(self);
if(klass->builtin_can_mark_as_spam)
@@ -1129,68 +1132,68 @@ mn_message_builtin_can_mark_as_spam (MNMessage * self)
else
return (gboolean )(0);
}
-#line 478 "src/mn-message.gob"
+#line 479 "src/mn-message.gob"
static gboolean
___real_mn_message_builtin_can_mark_as_spam (MNMessage * self G_GNUC_UNUSED)
{
-#line 1137 "mn-message.c"
+#line 1140 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::builtin_can_mark_as_spam"
{
-#line 480 "src/mn-message.gob"
+#line 481 "src/mn-message.gob"
return SELF_GET_CLASS(self)->builtin_mark_as_spam != NULL;
}}
-#line 1144 "mn-message.c"
+#line 1147 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 484 "src/mn-message.gob"
+#line 485 "src/mn-message.gob"
static void
mn_message_builtin_mark_as_spam (MNMessage * self, MNMessageActionRequest * request)
{
-#line 1151 "mn-message.c"
+#line 1154 "mn-message.c"
MNMessageClass *klass;
-#line 484 "src/mn-message.gob"
+#line 485 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 484 "src/mn-message.gob"
+#line 485 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 1157 "mn-message.c"
+#line 1160 "mn-message.c"
klass = MN_MESSAGE_GET_CLASS(self);
if(klass->builtin_mark_as_spam)
(*klass->builtin_mark_as_spam)(self,request);
}
-#line 487 "src/mn-message.gob"
+#line 488 "src/mn-message.gob"
static void
mn_message_mark_as_spam_done (MNMessage * self, GError * err)
{
-#line 1168 "mn-message.c"
+#line 1171 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::mark_as_spam_done"
-#line 487 "src/mn-message.gob"
+#line 488 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 487 "src/mn-message.gob"
+#line 488 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 1174 "mn-message.c"
+#line 1177 "mn-message.c"
{
-#line 489 "src/mn-message.gob"
+#line 490 "src/mn-message.gob"
if (! err)
- mn_mailbox_consider_as_read(self);
+ self_consider_as_read(self); /* [1] */
}}
-#line 1181 "mn-message.c"
+#line 1184 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 494 "src/mn-message.gob"
+#line 495 "src/mn-message.gob"
static gboolean
mn_message_builtin_can_delete (MNMessage * self)
{
-#line 1188 "mn-message.c"
+#line 1191 "mn-message.c"
MNMessageClass *klass;
-#line 494 "src/mn-message.gob"
+#line 495 "src/mn-message.gob"
g_return_val_if_fail (self != NULL, (gboolean )0);
-#line 494 "src/mn-message.gob"
+#line 495 "src/mn-message.gob"
g_return_val_if_fail (MN_IS_MESSAGE (self), (gboolean )0);
-#line 1194 "mn-message.c"
+#line 1197 "mn-message.c"
klass = MN_MESSAGE_GET_CLASS(self);
if(klass->builtin_can_delete)
@@ -1198,70 +1201,145 @@ mn_message_builtin_can_delete (MNMessage * self)
else
return (gboolean )(0);
}
-#line 494 "src/mn-message.gob"
+#line 495 "src/mn-message.gob"
static gboolean
___real_mn_message_builtin_can_delete (MNMessage * self G_GNUC_UNUSED)
{
-#line 1206 "mn-message.c"
+#line 1209 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::builtin_can_delete"
{
-#line 496 "src/mn-message.gob"
+#line 497 "src/mn-message.gob"
return SELF_GET_CLASS(self)->builtin_delete != NULL;
}}
-#line 1213 "mn-message.c"
+#line 1216 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 500 "src/mn-message.gob"
+#line 501 "src/mn-message.gob"
static void
mn_message_builtin_delete (MNMessage * self, MNMessageActionRequest * request)
{
-#line 1220 "mn-message.c"
+#line 1223 "mn-message.c"
MNMessageClass *klass;
-#line 500 "src/mn-message.gob"
+#line 501 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 500 "src/mn-message.gob"
+#line 501 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 1226 "mn-message.c"
+#line 1229 "mn-message.c"
klass = MN_MESSAGE_GET_CLASS(self);
if(klass->builtin_delete)
(*klass->builtin_delete)(self,request);
}
-#line 503 "src/mn-message.gob"
+#line 504 "src/mn-message.gob"
static void
mn_message_delete_done (MNMessage * self, GError * err)
{
-#line 1237 "mn-message.c"
+#line 1240 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::delete_done"
-#line 503 "src/mn-message.gob"
+#line 504 "src/mn-message.gob"
g_return_if_fail (self != NULL);
-#line 503 "src/mn-message.gob"
+#line 504 "src/mn-message.gob"
g_return_if_fail (MN_IS_MESSAGE (self));
-#line 1243 "mn-message.c"
+#line 1246 "mn-message.c"
{
-#line 505 "src/mn-message.gob"
+#line 506 "src/mn-message.gob"
if (! err)
- mn_mailbox_consider_as_read(self);
+ self_consider_as_read(self); /* [1] */
+ }}
+#line 1253 "mn-message.c"
+#undef __GOB_FUNCTION__
+
+#line 511 "src/mn-message.gob"
+void
+mn_message_consider_as_read (MNMessage * self)
+{
+#line 1260 "mn-message.c"
+#define __GOB_FUNCTION__ "MN:Message::consider_as_read"
+#line 511 "src/mn-message.gob"
+ g_return_if_fail (self != NULL);
+#line 511 "src/mn-message.gob"
+ g_return_if_fail (MN_IS_MESSAGE (self));
+#line 1266 "mn-message.c"
+{
+#line 513 "src/mn-message.gob"
+
+ GSList *list;
+ GSList *l;
+ gboolean exists = FALSE;
+
+ list = mn_conf_get_string_list(MN_CONF_MESSAGES_CONSIDERED_AS_READ);
+
+ MN_LIST_FOREACH(l, list)
+ {
+ const char *id = l->data;
+
+ if (! strcmp(id, self->id))
+ {
+ exists = TRUE;
+ break;
+ }
+ }
+
+ if (! exists)
+ {
+ list = g_slist_prepend(list, g_strdup(self->id));
+
+ mn_conf_set_string_list(MN_CONF_MESSAGES_CONSIDERED_AS_READ, list);
+ }
+
+ mn_g_slist_free_deep(list);
+ }}
+#line 1296 "mn-message.c"
+#undef __GOB_FUNCTION__
+
+#line 545 "src/mn-message.gob"
+void
+mn_message_consider_as_read_list (GList * messages)
+{
+#line 1303 "mn-message.c"
+#define __GOB_FUNCTION__ "MN:Message::consider_as_read_list"
+{
+#line 547 "src/mn-message.gob"
+
+ GHashTable *set;
+ unsigned int old_size;
+ GList *l;
+
+ set = mn_conf_get_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ);
+
+ old_size = g_hash_table_size(set);
+
+ MN_LIST_FOREACH(l, messages)
+ {
+ MNMessage *message = l->data;
+
+ g_hash_table_replace(set, g_strdup(message->id), GINT_TO_POINTER(TRUE));
+ }
+
+ if (g_hash_table_size(set) != old_size)
+ mn_conf_set_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ, set);
+
+ g_hash_table_destroy(set);
}}
-#line 1250 "mn-message.c"
+#line 1328 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 510 "src/mn-message.gob"
+#line 569 "src/mn-message.gob"
MNMessage *
mn_message_new (MNMailbox * mailbox, time_t sent_time, const char * id, const char * mid, const char * from, const char * subject, const char * uri, MNMessageFlags flags)
{
-#line 1257 "mn-message.c"
+#line 1335 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::new"
-#line 510 "src/mn-message.gob"
+#line 569 "src/mn-message.gob"
g_return_val_if_fail (mailbox != NULL, (MNMessage * )0);
-#line 510 "src/mn-message.gob"
+#line 569 "src/mn-message.gob"
g_return_val_if_fail (MN_IS_MAILBOX (mailbox), (MNMessage * )0);
-#line 1263 "mn-message.c"
+#line 1341 "mn-message.c"
{
-#line 519 "src/mn-message.gob"
+#line 578 "src/mn-message.gob"
return GET_NEW_VARG(MN_MESSAGE_PROP_MAILBOX(mailbox),
MN_MESSAGE_PROP_SENT_TIME(sent_time),
@@ -1273,22 +1351,22 @@ mn_message_new (MNMailbox * mailbox, time_t sent_time, const char * id, const ch
MN_MESSAGE_PROP_FLAGS(flags),
NULL);
}}
-#line 1277 "mn-message.c"
+#line 1355 "mn-message.c"
#undef __GOB_FUNCTION__
-#line 531 "src/mn-message.gob"
+#line 590 "src/mn-message.gob"
xmlNode *
mn_message_xml_node_new (MNMessage * self)
{
-#line 1284 "mn-message.c"
+#line 1362 "mn-message.c"
#define __GOB_FUNCTION__ "MN:Message::xml_node_new"
-#line 531 "src/mn-message.gob"
+#line 590 "src/mn-message.gob"
g_return_val_if_fail (self != NULL, (xmlNode * )0);
-#line 531 "src/mn-message.gob"
+#line 590 "src/mn-message.gob"
g_return_val_if_fail (MN_IS_MESSAGE (self), (xmlNode * )0);
-#line 1290 "mn-message.c"
+#line 1368 "mn-message.c"
{
-#line 533 "src/mn-message.gob"
+#line 592 "src/mn-message.gob"
xmlNode *node;
@@ -1303,5 +1381,5 @@ mn_message_xml_node_new (MNMessage * self)
return node;
}}
-#line 1307 "mn-message.c"
+#line 1385 "mn-message.c"
#undef __GOB_FUNCTION__
diff --git a/build/src/mn-message.h b/build/src/mn-message.h
@@ -106,23 +106,29 @@ struct _MNMessageClass {
* Public methods
*/
GType mn_message_get_type (void) G_GNUC_CONST;
-#line 202 "src/mn-message.gob"
+#line 203 "src/mn-message.gob"
MNMessageAction * mn_message_get_action (const char * name);
#line 112 "mn-message.h"
-#line 344 "src/mn-message.gob"
+#line 345 "src/mn-message.gob"
gboolean mn_message_can_perform_action (MNMessage * self,
MNMessageAction * action);
#line 116 "mn-message.h"
-#line 351 "src/mn-message.gob"
+#line 352 "src/mn-message.gob"
void mn_message_perform_action (MNMessage * self,
MNMessageAction * action,
MNMessageActionResultCallback callback,
gpointer data);
#line 122 "mn-message.h"
-#line 433 "src/mn-message.gob"
+#line 434 "src/mn-message.gob"
GQuark mn_message_action_error_quark (void);
#line 125 "mn-message.h"
-#line 510 "src/mn-message.gob"
+#line 511 "src/mn-message.gob"
+void mn_message_consider_as_read (MNMessage * self);
+#line 128 "mn-message.h"
+#line 545 "src/mn-message.gob"
+void mn_message_consider_as_read_list (GList * messages);
+#line 131 "mn-message.h"
+#line 569 "src/mn-message.gob"
MNMessage * mn_message_new (MNMailbox * mailbox,
time_t sent_time,
const char * id,
@@ -131,10 +137,10 @@ MNMessage * mn_message_new (MNMailbox * mailbox,
const char * subject,
const char * uri,
MNMessageFlags flags);
-#line 135 "mn-message.h"
-#line 531 "src/mn-message.gob"
+#line 141 "mn-message.h"
+#line 590 "src/mn-message.gob"
xmlNode * mn_message_xml_node_new (MNMessage * self);
-#line 138 "mn-message.h"
+#line 144 "mn-message.h"
/*
* Argument wrapping macros
diff --git a/build/src/mn-shell.c b/build/src/mn-shell.c
@@ -169,25 +169,25 @@ static void mn_shell_update_icon (MNShell * self);
#line 569 "src/mn-shell.gob"
static void mn_shell_update_tooltip (MNShell * self);
#line 172 "mn-shell.c"
-#line 717 "src/mn-shell.gob"
+#line 719 "src/mn-shell.gob"
static int mn_shell_new_mailboxes_compare_cb (MNMailbox * a, MNMailbox * b);
#line 175 "mn-shell.c"
-#line 736 "src/mn-shell.gob"
+#line 738 "src/mn-shell.gob"
static GtkWidget * mn_shell_tooltip_section_new (GtkVBox ** vbox, const char * title);
#line 178 "mn-shell.c"
-#line 756 "src/mn-shell.gob"
+#line 758 "src/mn-shell.gob"
static void mn_shell_tooltip_text_section_new (GtkVBox ** vbox, const char * title, const char * text);
#line 181 "mn-shell.c"
-#line 773 "src/mn-shell.gob"
+#line 775 "src/mn-shell.gob"
static void mn_shell_open_latest_message (MNShell * self);
#line 184 "mn-shell.c"
-#line 790 "src/mn-shell.gob"
+#line 792 "src/mn-shell.gob"
static void mn_shell_open_latest_message_done_cb (MNMessageAction * action, GError * err, gpointer data);
#line 187 "mn-shell.c"
-#line 846 "src/mn-shell.gob"
+#line 848 "src/mn-shell.gob"
static void mn_shell_show_window (MNShell * self, GType type, GtkWidget ** ptr, guint32 timestamp);
#line 190 "mn-shell.c"
-#line 874 "src/mn-shell.gob"
+#line 876 "src/mn-shell.gob"
static void mn_shell_mailbox_properties_dialog_weak_notify_cb (gpointer data, GObject * former_object);
#line 193 "mn-shell.c"
@@ -1064,7 +1064,7 @@ mn_shell_update_icon (MNShell * self)
{
MNMailbox *mailbox = l->data;
- if (mailbox->messages->len != 0)
+ if (g_hash_table_size(mailbox->messages) != 0)
has_new = TRUE;
if (mailbox->error)
blink = TRUE;
@@ -1127,7 +1127,7 @@ mn_shell_update_tooltip (MNShell * self)
{
MNMailbox *mailbox = la->data;
- if (mailbox->messages->len != 0)
+ if (g_hash_table_size(mailbox->messages) != 0)
new_mailboxes = g_slist_insert_sorted(new_mailboxes, mailbox, (GCompareFunc) self_new_mailboxes_compare_cb);
if (mailbox->error)
@@ -1142,12 +1142,14 @@ mn_shell_update_tooltip (MNShell * self)
{
MNMailbox *mailbox = lb->data;
- g_assert(mailbox->messages->len != 0);
+ g_assert(g_hash_table_size(mailbox->messages) != 0);
if (*string->str)
g_string_append_c(string, '\n');
- g_string_append_printf(string, _("%s (%i)"), mailbox->runtime_name, mailbox->messages->len);
+ g_string_append_printf(string, _("%s (%i)"),
+ mailbox->runtime_name,
+ (int) g_hash_table_size(mailbox->messages));
}
g_slist_free(new_mailboxes);
@@ -1258,17 +1260,17 @@ mn_shell_update_tooltip (MNShell * self)
else
mn_mail_icon_set_tip(self->icon, _("You have no new mail."));
}}
-#line 1262 "mn-shell.c"
+#line 1264 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 717 "src/mn-shell.gob"
+#line 719 "src/mn-shell.gob"
static int
mn_shell_new_mailboxes_compare_cb (MNMailbox * a, MNMailbox * b)
{
-#line 1269 "mn-shell.c"
+#line 1271 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::new_mailboxes_compare_cb"
{
-#line 719 "src/mn-shell.gob"
+#line 721 "src/mn-shell.gob"
int cmp;
@@ -1278,29 +1280,29 @@ mn_shell_new_mailboxes_compare_cb (MNMailbox * a, MNMailbox * b)
return cmp;
/* sort by number of messages (descending order) */
- cmp = b->messages->len - a->messages->len;
+ cmp = (int) g_hash_table_size(b->messages) - g_hash_table_size(a->messages);
if (cmp != 0)
return cmp;
/* sort by name (ascending order) */
return mn_mailboxes_compare_by_name_func(a, b);
}}
-#line 1289 "mn-shell.c"
+#line 1291 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 736 "src/mn-shell.gob"
+#line 738 "src/mn-shell.gob"
static GtkWidget *
mn_shell_tooltip_section_new (GtkVBox ** vbox, const char * title)
{
-#line 1296 "mn-shell.c"
+#line 1298 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::tooltip_section_new"
-#line 736 "src/mn-shell.gob"
+#line 738 "src/mn-shell.gob"
g_return_val_if_fail (vbox != NULL, (GtkWidget * )0);
-#line 736 "src/mn-shell.gob"
+#line 738 "src/mn-shell.gob"
g_return_val_if_fail (title != NULL, (GtkWidget * )0);
-#line 1302 "mn-shell.c"
+#line 1304 "mn-shell.c"
{
-#line 739 "src/mn-shell.gob"
+#line 741 "src/mn-shell.gob"
GtkWidget *section;
GtkWidget *label;
@@ -1317,24 +1319,24 @@ mn_shell_tooltip_section_new (GtkVBox ** vbox, const char * title)
return alignment;
}}
-#line 1321 "mn-shell.c"
+#line 1323 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 756 "src/mn-shell.gob"
+#line 758 "src/mn-shell.gob"
static void
mn_shell_tooltip_text_section_new (GtkVBox ** vbox, const char * title, const char * text)
{
-#line 1328 "mn-shell.c"
+#line 1330 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::tooltip_text_section_new"
-#line 756 "src/mn-shell.gob"
+#line 758 "src/mn-shell.gob"
g_return_if_fail (vbox != NULL);
-#line 756 "src/mn-shell.gob"
+#line 758 "src/mn-shell.gob"
g_return_if_fail (title != NULL);
-#line 756 "src/mn-shell.gob"
+#line 758 "src/mn-shell.gob"
g_return_if_fail (text != NULL);
-#line 1336 "mn-shell.c"
+#line 1338 "mn-shell.c"
{
-#line 760 "src/mn-shell.gob"
+#line 762 "src/mn-shell.gob"
GtkWidget *alignment;
GtkWidget *label;
@@ -1347,22 +1349,22 @@ mn_shell_tooltip_text_section_new (GtkVBox ** vbox, const char * title, const ch
gtk_container_add(GTK_CONTAINER(alignment), label);
}}
-#line 1351 "mn-shell.c"
+#line 1353 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 773 "src/mn-shell.gob"
+#line 775 "src/mn-shell.gob"
static void
mn_shell_open_latest_message (MNShell * self)
{
-#line 1358 "mn-shell.c"
+#line 1360 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::open_latest_message"
-#line 773 "src/mn-shell.gob"
+#line 775 "src/mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 773 "src/mn-shell.gob"
+#line 775 "src/mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 1364 "mn-shell.c"
+#line 1366 "mn-shell.c"
{
-#line 775 "src/mn-shell.gob"
+#line 777 "src/mn-shell.gob"
MNMessage *message;
MNMessageAction *action;
@@ -1377,167 +1379,167 @@ mn_shell_open_latest_message (MNShell * self)
mn_message_perform_action(message, action, self_open_latest_message_done_cb, NULL);
}}
-#line 1381 "mn-shell.c"
+#line 1383 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 790 "src/mn-shell.gob"
+#line 792 "src/mn-shell.gob"
static void
mn_shell_open_latest_message_done_cb (MNMessageAction * action, GError * err, gpointer data)
{
-#line 1388 "mn-shell.c"
+#line 1390 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::open_latest_message_done_cb"
{
-#line 792 "src/mn-shell.gob"
+#line 794 "src/mn-shell.gob"
if (err && ! g_error_matches(err, MN_MESSAGE_ACTION_ERROR, MN_MESSAGE_ACTION_ERROR_CANCELLED))
mn_show_error_dialog(NULL, _("Unable to open the latest message"), "%s", err->message);
}}
-#line 1396 "mn-shell.c"
+#line 1398 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 797 "src/mn-shell.gob"
+#line 799 "src/mn-shell.gob"
MNShell *
mn_shell_new (DBusGConnection * session_bus, DBusGProxy * session_bus_proxy)
{
-#line 1403 "mn-shell.c"
+#line 1405 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::new"
-#line 797 "src/mn-shell.gob"
+#line 799 "src/mn-shell.gob"
g_return_val_if_fail (session_bus != NULL, (MNShell * )0);
-#line 797 "src/mn-shell.gob"
+#line 799 "src/mn-shell.gob"
g_return_val_if_fail (session_bus_proxy != NULL, (MNShell * )0);
-#line 1409 "mn-shell.c"
+#line 1411 "mn-shell.c"
{
-#line 800 "src/mn-shell.gob"
+#line 802 "src/mn-shell.gob"
return GET_NEW_VARG(MN_SHELL_PROP_SESSION_BUS(session_bus),
MN_SHELL_PROP_SESSION_BUS_PROXY(session_bus_proxy),
NULL);
}}
-#line 1417 "mn-shell.c"
+#line 1419 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 806 "src/mn-shell.gob"
+#line 808 "src/mn-shell.gob"
void
mn_shell_consider_new_mail_as_read (MNShell * self)
{
-#line 1424 "mn-shell.c"
+#line 1426 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::consider_new_mail_as_read"
-#line 806 "src/mn-shell.gob"
+#line 808 "src/mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 806 "src/mn-shell.gob"
+#line 808 "src/mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 1430 "mn-shell.c"
+#line 1432 "mn-shell.c"
{
-#line 808 "src/mn-shell.gob"
+#line 810 "src/mn-shell.gob"
GList *l;
MN_LIST_FOREACH(l, self->mailboxes->list)
{
MNMailbox *mailbox = l->data;
- GSList *list;
+ GList *list;
- list = mn_g_ptr_array_to_slist(mailbox->messages);
- mn_mailbox_consider_as_read_list(list);
- g_slist_free(list);
+ list = g_hash_table_get_values(mailbox->messages);
+ mn_message_consider_as_read_list(list);
+ g_list_free(list);
}
}}
-#line 1446 "mn-shell.c"
+#line 1448 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 822 "src/mn-shell.gob"
+#line 824 "src/mn-shell.gob"
void
mn_shell_update (MNShell * self)
{
-#line 1453 "mn-shell.c"
+#line 1455 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::update"
-#line 822 "src/mn-shell.gob"
+#line 824 "src/mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 822 "src/mn-shell.gob"
+#line 824 "src/mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 1459 "mn-shell.c"
+#line 1461 "mn-shell.c"
{
-#line 824 "src/mn-shell.gob"
+#line 826 "src/mn-shell.gob"
mn_mailboxes_check(self->mailboxes);
}}
-#line 1465 "mn-shell.c"
+#line 1467 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 828 "src/mn-shell.gob"
+#line 830 "src/mn-shell.gob"
void
mn_shell_quit (MNShell * self)
{
-#line 1472 "mn-shell.c"
+#line 1474 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::quit"
-#line 828 "src/mn-shell.gob"
+#line 830 "src/mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 828 "src/mn-shell.gob"
+#line 830 "src/mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 1478 "mn-shell.c"
+#line 1480 "mn-shell.c"
{
-#line 830 "src/mn-shell.gob"
+#line 832 "src/mn-shell.gob"
g_object_unref(self);
}}
-#line 1484 "mn-shell.c"
+#line 1486 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 834 "src/mn-shell.gob"
+#line 836 "src/mn-shell.gob"
void
mn_shell_show_properties_dialog (MNShell * self, guint32 timestamp)
{
-#line 1491 "mn-shell.c"
+#line 1493 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::show_properties_dialog"
-#line 834 "src/mn-shell.gob"
+#line 836 "src/mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 834 "src/mn-shell.gob"
+#line 836 "src/mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 1497 "mn-shell.c"
+#line 1499 "mn-shell.c"
{
-#line 836 "src/mn-shell.gob"
+#line 838 "src/mn-shell.gob"
self_show_window(self, MN_TYPE_PROPERTIES_DIALOG, &selfp->properties_dialog, timestamp);
}}
-#line 1503 "mn-shell.c"
+#line 1505 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 840 "src/mn-shell.gob"
+#line 842 "src/mn-shell.gob"
void
mn_shell_show_about_dialog (MNShell * self, guint32 timestamp)
{
-#line 1510 "mn-shell.c"
+#line 1512 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::show_about_dialog"
-#line 840 "src/mn-shell.gob"
+#line 842 "src/mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 840 "src/mn-shell.gob"
+#line 842 "src/mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 1516 "mn-shell.c"
+#line 1518 "mn-shell.c"
{
-#line 842 "src/mn-shell.gob"
+#line 844 "src/mn-shell.gob"
self_show_window(self, MN_TYPE_ABOUT_DIALOG, &selfp->about_dialog, timestamp);
}}
-#line 1522 "mn-shell.c"
+#line 1524 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 846 "src/mn-shell.gob"
+#line 848 "src/mn-shell.gob"
static void
mn_shell_show_window (MNShell * self, GType type, GtkWidget ** ptr, guint32 timestamp)
{
-#line 1529 "mn-shell.c"
+#line 1531 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::show_window"
-#line 846 "src/mn-shell.gob"
+#line 848 "src/mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 846 "src/mn-shell.gob"
+#line 848 "src/mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 846 "src/mn-shell.gob"
+#line 848 "src/mn-shell.gob"
g_return_if_fail (type != 0);
-#line 846 "src/mn-shell.gob"
+#line 848 "src/mn-shell.gob"
g_return_if_fail (ptr != NULL);
-#line 1539 "mn-shell.c"
+#line 1541 "mn-shell.c"
{
-#line 851 "src/mn-shell.gob"
+#line 853 "src/mn-shell.gob"
if (*ptr)
{
@@ -1553,66 +1555,66 @@ mn_shell_show_window (MNShell * self, GType type, GtkWidget ** ptr, guint32 time
gtk_widget_show(*ptr);
}}
-#line 1557 "mn-shell.c"
+#line 1559 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 867 "src/mn-shell.gob"
+#line 869 "src/mn-shell.gob"
void
mn_shell_add_mailbox_properties_dialog (MNShell * self, MNMailboxPropertiesDialog * dialog)
{
-#line 1564 "mn-shell.c"
+#line 1566 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::add_mailbox_properties_dialog"
-#line 867 "src/mn-shell.gob"
+#line 869 "src/mn-shell.gob"
g_return_if_fail (self != NULL);
-#line 867 "src/mn-shell.gob"
+#line 869 "src/mn-shell.gob"
g_return_if_fail (MN_IS_SHELL (self));
-#line 867 "src/mn-shell.gob"
+#line 869 "src/mn-shell.gob"
g_return_if_fail (dialog != NULL);
-#line 867 "src/mn-shell.gob"
+#line 869 "src/mn-shell.gob"
g_return_if_fail (MN_IS_MAILBOX_PROPERTIES_DIALOG (dialog));
-#line 1574 "mn-shell.c"
+#line 1576 "mn-shell.c"
{
-#line 869 "src/mn-shell.gob"
+#line 871 "src/mn-shell.gob"
selfp->mailbox_properties_dialogs = g_slist_append(selfp->mailbox_properties_dialogs, dialog);
g_object_weak_ref(G_OBJECT(dialog), self_mailbox_properties_dialog_weak_notify_cb, self);
}}
-#line 1581 "mn-shell.c"
+#line 1583 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 874 "src/mn-shell.gob"
+#line 876 "src/mn-shell.gob"
static void
mn_shell_mailbox_properties_dialog_weak_notify_cb (gpointer data, GObject * former_object)
{
-#line 1588 "mn-shell.c"
+#line 1590 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::mailbox_properties_dialog_weak_notify_cb"
{
-#line 877 "src/mn-shell.gob"
+#line 879 "src/mn-shell.gob"
Self *self = data;
selfp->mailbox_properties_dialogs = g_slist_remove(selfp->mailbox_properties_dialogs, former_object);
}}
-#line 1597 "mn-shell.c"
+#line 1599 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 883 "src/mn-shell.gob"
+#line 885 "src/mn-shell.gob"
MNMailboxPropertiesDialog *
mn_shell_get_mailbox_properties_dialog (MNShell * self, MNMailbox * mailbox)
{
-#line 1604 "mn-shell.c"
+#line 1606 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::get_mailbox_properties_dialog"
-#line 883 "src/mn-shell.gob"
+#line 885 "src/mn-shell.gob"
g_return_val_if_fail (self != NULL, (MNMailboxPropertiesDialog * )0);
-#line 883 "src/mn-shell.gob"
+#line 885 "src/mn-shell.gob"
g_return_val_if_fail (MN_IS_SHELL (self), (MNMailboxPropertiesDialog * )0);
-#line 883 "src/mn-shell.gob"
+#line 885 "src/mn-shell.gob"
g_return_val_if_fail (mailbox != NULL, (MNMailboxPropertiesDialog * )0);
-#line 883 "src/mn-shell.gob"
+#line 885 "src/mn-shell.gob"
g_return_val_if_fail (MN_IS_MAILBOX (mailbox), (MNMailboxPropertiesDialog * )0);
-#line 1614 "mn-shell.c"
+#line 1616 "mn-shell.c"
{
-#line 885 "src/mn-shell.gob"
+#line 887 "src/mn-shell.gob"
GSList *l;
@@ -1632,22 +1634,22 @@ mn_shell_get_mailbox_properties_dialog (MNShell * self, MNMailbox * mailbox)
return NULL;
}}
-#line 1636 "mn-shell.c"
+#line 1638 "mn-shell.c"
#undef __GOB_FUNCTION__
-#line 905 "src/mn-shell.gob"
+#line 907 "src/mn-shell.gob"
char *
mn_shell_get_summary (MNShell * self)
{
-#line 1643 "mn-shell.c"
+#line 1645 "mn-shell.c"
#define __GOB_FUNCTION__ "MN:Shell::get_summary"
-#line 905 "src/mn-shell.gob"
+#line 907 "src/mn-shell.gob"
g_return_val_if_fail (self != NULL, (char * )0);
-#line 905 "src/mn-shell.gob"
+#line 907 "src/mn-shell.gob"
g_return_val_if_fail (MN_IS_SHELL (self), (char * )0);
-#line 1649 "mn-shell.c"
+#line 1651 "mn-shell.c"
{
-#line 907 "src/mn-shell.gob"
+#line 909 "src/mn-shell.gob"
int indent;
xmlDoc *doc;
@@ -1678,7 +1680,7 @@ mn_shell_get_summary (MNShell * self)
return summary;
}}
-#line 1682 "mn-shell.c"
+#line 1684 "mn-shell.c"
#undef __GOB_FUNCTION__
static const GEnumValue _mn_action_values[] = {
{ MN_ACTION_LAUNCH_MAIL_READER, (char *)"MN_ACTION_LAUNCH_MAIL_READER", (char *)"launch-mail-reader" },
diff --git a/build/src/mn-shell.h b/build/src/mn-shell.h
@@ -74,36 +74,36 @@ struct _MNShellClass {
* Public methods
*/
GType mn_shell_get_type (void) G_GNUC_CONST;
-#line 797 "src/mn-shell.gob"
+#line 799 "src/mn-shell.gob"
MNShell * mn_shell_new (DBusGConnection * session_bus,
DBusGProxy * session_bus_proxy);
#line 81 "mn-shell.h"
-#line 806 "src/mn-shell.gob"
+#line 808 "src/mn-shell.gob"
void mn_shell_consider_new_mail_as_read (MNShell * self);
#line 84 "mn-shell.h"
-#line 822 "src/mn-shell.gob"
+#line 824 "src/mn-shell.gob"
void mn_shell_update (MNShell * self);
#line 87 "mn-shell.h"
-#line 828 "src/mn-shell.gob"
+#line 830 "src/mn-shell.gob"
void mn_shell_quit (MNShell * self);
#line 90 "mn-shell.h"
-#line 834 "src/mn-shell.gob"
+#line 836 "src/mn-shell.gob"
void mn_shell_show_properties_dialog (MNShell * self,
guint32 timestamp);
#line 94 "mn-shell.h"
-#line 840 "src/mn-shell.gob"
+#line 842 "src/mn-shell.gob"
void mn_shell_show_about_dialog (MNShell * self,
guint32 timestamp);
#line 98 "mn-shell.h"
-#line 867 "src/mn-shell.gob"
+#line 869 "src/mn-shell.gob"
void mn_shell_add_mailbox_properties_dialog (MNShell * self,
MNMailboxPropertiesDialog * dialog);
#line 102 "mn-shell.h"
-#line 883 "src/mn-shell.gob"
+#line 885 "src/mn-shell.gob"
MNMailboxPropertiesDialog * mn_shell_get_mailbox_properties_dialog (MNShell * self,
MNMailbox * mailbox);
#line 106 "mn-shell.h"
-#line 905 "src/mn-shell.gob"
+#line 907 "src/mn-shell.gob"
char * mn_shell_get_summary (MNShell * self);
#line 109 "mn-shell.h"
diff --git a/data/mail-notification.schemas.in.in b/data/mail-notification.schemas.in.in
@@ -325,5 +325,16 @@
mail summary.</long>
</locale>
</schema>
+ <schema>
+ <key>/schemas/apps/mail-notification/messages-considered-as-read</key>
+ <applyto>/apps/mail-notification/messages-considered-as-read</applyto>
+ <owner>mail-notification</owner>
+ <type>list</type>
+ <list_type>string</list_type>
+ <locale name="C">
+ <short>Messages to consider as read</short>
+ <long>The list of messages to consider as read and ignore.</long>
+ </locale>
+ </schema>
</schemalist>
</gconfschemafile>
diff --git a/help/C/mail-notification-C.omf.in b/help/C/mail-notification-C.omf.in
@@ -12,9 +12,9 @@
Mail Notification Manual
</title>
<date>
- 2008-04-27
+ 2008-05-22
</date>
- <version identifier="2.24" date="2008-04-27" description="Version 2.24"/>
+ <version identifier="2.25" date="2008-05-22" description="Version 2.25"/>
<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 "5.3">
- <!ENTITY manrevision "2.24">
- <!ENTITY date "Sunday, April 27, 2008">
+ <!ENTITY appversion "5.4">
+ <!ENTITY manrevision "2.25">
+ <!ENTITY date "Thursday, May 22, 2008">
<!ENTITY project "The Mail Notification Project">
@@ -26,7 +26,7 @@
<!ENTITY gnomevfs "<link linkend="gnomevfs">GnomeVFS</link>">
]>
-<!-- $Id: mail-notification.xml,v 1.186 2008-04-27 14:49:32 jylefort Exp $ -->
+<!-- $Id: mail-notification.xml,v 1.187 2008-05-22 15:44:32 jylefort Exp $ -->
<!-- Mail Notification Manual -->
<!-- Copyright (C) 2003-2008 Jean-Yves Lefort -->
@@ -112,6 +112,17 @@
</revdescription>
</revision>
<revision>
+ <revnumber>Mail Notification Manual V2.24</revnumber>
+ <date>Sunday, April 27, 2008</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.23</revnumber>
<date>Thursday, March 20, 2008</date>
<revdescription>
diff --git a/jbsrc/jb.c b/jbsrc/jb.c
@@ -708,4 +708,4 @@ jb_package_add_resources (void)
}
}
-JB_MAIN("mail-notification", "5.3", "Mail Notification")
+JB_MAIN("mail-notification", "5.4", "Mail Notification")
diff --git a/po/fr.po b/po/fr.po
@@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: mail-notification 5.3\n"
+"Project-Id-Version: mail-notification 5.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-04-27 16:50+0200\n"
-"PO-Revision-Date: 2008-04-27 16:51+0200\n"
+"POT-Creation-Date: 2008-05-22 17:39+0200\n"
+"PO-Revision-Date: 2008-05-22 17:46+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"
@@ -44,7 +44,7 @@ msgstr "Clignoter lors d'erreurs"
#: ../data/mail-notification.schemas.in.in.h:3
msgid "Click action"
-msgstr "Action du click"
+msgstr "Action du clic"
#: ../data/mail-notification.schemas.in.in.h:4
msgid "Display a message count in the status icon"
@@ -107,60 +107,61 @@ msgid "Message popups position"
msgstr "Position des popups"
#: ../data/mail-notification.schemas.in.in.h:18
+msgid "Messages to consider as read"
+msgstr "Les messages à considérer comme lus"
+
+#: ../data/mail-notification.schemas.in.in.h:19
msgid "New mail command"
msgstr "Commande de nouveau courrier"
-#: ../data/mail-notification.schemas.in.in.h:19
+#: ../data/mail-notification.schemas.in.in.h:20
msgid "New mail sound"
msgstr "Son de nouveau courrier"
-#: ../data/mail-notification.schemas.in.in.h:20
+#: ../data/mail-notification.schemas.in.in.h:21
msgid "Play a sound when new mail arrives"
msgstr "Emettre un son lorsque du nouveau courrier arrive"
-#: ../data/mail-notification.schemas.in.in.h:21
+#: ../data/mail-notification.schemas.in.in.h:22
msgid "Play sound command"
msgstr "Commande de lecture de son"
-#: ../data/mail-notification.schemas.in.in.h:22
+#: ../data/mail-notification.schemas.in.in.h:23
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.in.h:23
+#: ../data/mail-notification.schemas.in.in.h:24
msgid "Run a command when new mail arrives"
msgstr "Exécuter une commande lorsque du nouveau courrier arrive"
-#: ../data/mail-notification.schemas.in.in.h:24
+#: ../data/mail-notification.schemas.in.in.h:25
msgid "Run a command when the message list changes"
msgstr "Exécuter une commande lorsque la liste des messages change"
-#: ../data/mail-notification.schemas.in.in.h:25
+#: ../data/mail-notification.schemas.in.in.h:26
msgid "Seconds to wait before expiring message popups"
msgstr "Délai d'expiration des popups, en secondes"
-#: ../data/mail-notification.schemas.in.in.h:26
+#: ../data/mail-notification.schemas.in.in.h:27
msgid ""
"The action to perform when the icon is clicked. Must be \"launch-mail-reader"
"\", \"open-latest-message\", \"consider-new-mail-as-read\" or \"update-mail-"
"status\"."
-msgstr ""
-"L'action à effectuer lorsque l'icône est clickée. Doit être « launch-mail-"
-"reader », « open-latest-message », « consider-new-mail-as-read » ou « update-"
-"mail-status »."
+msgstr "L'action à effectuer lorsque l'icône est cliquée. Doit être « launch-mail-reader », « open-latest-message », « consider-new-mail-as-read » ou « update-mail-status »."
-#: ../data/mail-notification.schemas.in.in.h:27
+#: ../data/mail-notification.schemas.in.in.h:28
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.in.h:28
+#: ../data/mail-notification.schemas.in.in.h:29
msgid "The command to run when new mail arrives."
msgstr "La commande à exécuter lorsque du nouveau courrier arrive."
-#: ../data/mail-notification.schemas.in.in.h:29
+#: ../data/mail-notification.schemas.in.in.h:30
msgid "The command to run when the message list changes."
msgstr "La commande à exécuter lorsque la liste des messages change."
-#: ../data/mail-notification.schemas.in.in.h:31
+#: ../data/mail-notification.schemas.in.in.h:32
#, no-c-format
msgid ""
"The command to use to play a sound file. The string %file will be "
@@ -169,11 +170,11 @@ msgstr ""
"La commande à utiliser pour lire un fichier son. La chaîne de caractères %"
"file sera remplacée par le nom du fichier son à jouer."
-#: ../data/mail-notification.schemas.in.in.h:32
+#: ../data/mail-notification.schemas.in.in.h:33
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.in.h:33
+#: ../data/mail-notification.schemas.in.in.h:34
msgid ""
"The list of character sets to attempt conversion from when uncompliant 8-bit "
"data is encountered in message headers. The first character set allowing a "
@@ -188,7 +189,11 @@ msgstr ""
"l'avertisseur de courrier doit être relancé pour que les changements "
"prennent effet."
-#: ../data/mail-notification.schemas.in.in.h:34
+#: ../data/mail-notification.schemas.in.in.h:35
+msgid "The list of messages to consider as read and ignore."
+msgstr "La liste des messages à considérer comme lus et à ignorer."
+
+#: ../data/mail-notification.schemas.in.in.h:36
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
@@ -196,20 +201,20 @@ msgstr ""
"La liste des serveurs SSL/TLS (hôte:port) de confiance auxquels il manque un "
"certificat X509."
-#: ../data/mail-notification.schemas.in.in.h:35
+#: ../data/mail-notification.schemas.in.in.h:37
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.in.h:36
+#: ../data/mail-notification.schemas.in.in.h:38
msgid "The maximum number of messages to display in the tooltip mail summary."
msgstr ""
"Le nombre maximum de messages à afficher dans l'aperçu du courrier du ballon "
"d'aide."
-#: ../data/mail-notification.schemas.in.in.h:37
+#: ../data/mail-notification.schemas.in.in.h:39
msgid ""
"The maximum number of popups to display simultaneously. If this limit is "
"exceeded, only the most recent messages will be displayed. If the /apps/mail-"
@@ -222,7 +227,7 @@ msgstr ""
"notification/popups/position a la valeur \"attached\", cette limite sera "
"ignorée et un seul popup sera autorisé."
-#: ../data/mail-notification.schemas.in.in.h:38
+#: ../data/mail-notification.schemas.in.in.h:40
msgid ""
"The ordered list of actions to include in the message popups. Each element "
"must be \"open\", \"mark-as-read\", \"mark-as-spam\" or \"delete\"."
@@ -230,15 +235,15 @@ msgstr ""
"La liste triée d'actions à inclure dans les popups. Chaque élément doit être "
"« open », « mark-as-read », « mark-as-spam » ou « delete »."
-#: ../data/mail-notification.schemas.in.in.h:39
+#: ../data/mail-notification.schemas.in.in.h:41
msgid "The position of the message popups. Must be \"attached\" or \"free\"."
msgstr "La position des popups. Doit être « attached » ou « free »."
-#: ../data/mail-notification.schemas.in.in.h:40
+#: ../data/mail-notification.schemas.in.in.h:42
msgid "The sound file to play when new mail arrives."
msgstr "Le fichier son à lire lorsque du nouveau courrier arrive."
-#: ../data/mail-notification.schemas.in.in.h:41
+#: ../data/mail-notification.schemas.in.in.h:43
msgid ""
"The type of mail summary to display in the icon's tooltip. Must be \"standard"
"\", \"compact\" or \"none\"."
@@ -246,34 +251,34 @@ msgstr ""
"Le type d'aperçu du courrier à afficher dans le ballon d'aide de l'icône. "
"Doit être « standard », « compact » ou « none »."
-#: ../data/mail-notification.schemas.in.in.h:42
+#: ../data/mail-notification.schemas.in.in.h:44
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.in.h:43
+#: ../data/mail-notification.schemas.in.in.h:45
msgid "Tooltip mail summary"
msgstr "Aperçu du courrier dans le ballon d'aide"
-#: ../data/mail-notification.schemas.in.in.h:44
+#: ../data/mail-notification.schemas.in.in.h:46
msgid "Trusted servers list"
msgstr "Liste des serveurs de confiance"
-#: ../data/mail-notification.schemas.in.in.h:45
+#: ../data/mail-notification.schemas.in.in.h:47
msgid "Whether the status icon should blink on errors or not."
msgstr "Si l'icône de statut doit clignoter lors d'erreurs ou pas."
-#: ../data/mail-notification.schemas.in.in.h:46
+#: ../data/mail-notification.schemas.in.in.h:48
msgid "Whether to display a message count in the status icon or not."
msgstr ""
"Si le nombre de messages doit être affiché dans l'icône de statut ou pas."
-#: ../data/mail-notification.schemas.in.in.h:47
+#: ../data/mail-notification.schemas.in.in.h:49
msgid "Whether to display an icon when there is no new mail or not."
msgstr ""
"Si une icône doit être affichée lorsqu'il n'y a pas de nouveau courrier ou "
"pas."
-#: ../data/mail-notification.schemas.in.in.h:48
+#: ../data/mail-notification.schemas.in.in.h:50
msgid ""
"Whether to display mail which is still marked as unread but has been seen or "
"not."
@@ -281,11 +286,11 @@ msgstr ""
"Si le courrier qui est encore marqué comme non lu mais qui a été vu\n"
"doit être affiché ou pas."
-#: ../data/mail-notification.schemas.in.in.h:49
+#: ../data/mail-notification.schemas.in.in.h:51
msgid "Whether to enable message popups or not."
msgstr "Si les popups doivent être activés ou pas."
-#: ../data/mail-notification.schemas.in.in.h:50
+#: ../data/mail-notification.schemas.in.in.h:52
msgid ""
"Whether to expire message popups or not. Must be \"default\", \"false\" or "
"\"true\"."
@@ -293,28 +298,28 @@ msgstr ""
"Si l'expiration des popups doit être activée ou pas. Doit être « default », « "
"false » ou « true »."
-#: ../data/mail-notification.schemas.in.in.h:51
+#: ../data/mail-notification.schemas.in.in.h:53
msgid "Whether to play a sound when new mail arrives or not."
msgstr ""
"Si un fichier son doit être lu lorsque du nouveau courrier arrive ou pas."
-#: ../data/mail-notification.schemas.in.in.h:52
+#: ../data/mail-notification.schemas.in.in.h:54
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.in.h:53
+#: ../data/mail-notification.schemas.in.in.h:55
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.in.h:54
+#: ../data/mail-notification.schemas.in.in.h:56
msgid "Whether to run a command when the message list changes or not."
msgstr ""
"Si une commande doit être exécutée lorsque la liste des messages change ou "
"pas."
-#: ../data/mail-notification.schemas.in.in.h:55
+#: ../data/mail-notification.schemas.in.in.h:57
msgid "Width of properties dialog"
msgstr "Largeur de la boîte de dialogue contenant les propriétés"
@@ -676,13 +681,13 @@ msgstr "Sujet"
msgid "Sent"
msgstr "Envoyé"
-#: ../src/mn-conf.c:249
+#: ../src/mn-conf.c:250
#, c-format
msgid "cannot find default value of configuration key \"%s\""
msgstr ""
"impossible de trouver la valeur par défaut de la clé de configuration « %s »"
-#: ../src/mn-conf.c:254
+#: ../src/mn-conf.c:255
msgid ""
"The default configuration has not been installed properly. Please check your "
"Mail Notification installation."
@@ -690,25 +695,25 @@ msgstr ""
"La configuration par défaut n'a pas été installée correctement. Veuillez "
"vérifier votre installation de l'avertisseur de courrier."
-#: ../src/mn-conf.c:291
+#: ../src/mn-conf.c:292
msgid "A directory creation error has occurred"
msgstr "Une erreur de création de répertoire s'est produite"
-#: ../src/mn-conf.c:292
+#: ../src/mn-conf.c:293
#, c-format
msgid "Unable to create directory \"%s\": %s."
msgstr "Impossible de créer le répertoire « %s » : %s."
-#: ../src/mn-conf.c:361
+#: ../src/mn-conf.c:362
#, c-format
msgid "recursively unsetting %s"
msgstr "en train de supprimer récursivement %s"
-#: ../src/mn-conf.c:365
+#: ../src/mn-conf.c:366
msgid "syncing the GConf database"
msgstr "en train de synchroniser la base de données GConf"
-#: ../src/mn-conf.c:368
+#: ../src/mn-conf.c:369
msgid "completed"
msgstr "terminé"
@@ -842,7 +847,7 @@ msgstr "impossible de dire la position de %s : %s"
msgid "unable to close %s: %s"
msgstr "impossible de fermer %s : %s"
-#: ../src/mn-hotmail-mailbox.gob:286 ../src/mn-imap-mailbox.gob:1680
+#: ../src/mn-hotmail-mailbox.gob:286 ../src/mn-imap-mailbox.gob:1684
#: ../src/mn-pop3-mailbox.gob:1165
msgid "authentication failed"
msgstr "l'authentification a échoué"
@@ -894,7 +899,7 @@ msgstr ""
msgid "unable to login"
msgstr "impossible d'ouvrir la session"
-#: ../src/mn-imap-mailbox.gob:1063
+#: ../src/mn-imap-mailbox.gob:1067
msgid ""
"\"Use the IDLE extension\" set to \"never\" in the mailbox properties, "
"logging out"
@@ -902,12 +907,12 @@ msgstr ""
"la valeur de l'option « Utiliser l'extension IDLE » dans les propriétés de la "
"boîte aux lettres est « jamais », fermeture de session"
-#: ../src/mn-imap-mailbox.gob:1074
+#: ../src/mn-imap-mailbox.gob:1078
#, c-format
msgid "the remote server runs %s, not using the IDLE extension"
msgstr "le serveur distant utilise %s, l'extension IDLE ne sera pas utilisée"
-#: ../src/mn-imap-mailbox.gob:1079
+#: ../src/mn-imap-mailbox.gob:1083
#, c-format
msgid ""
"the remote server runs %s, the IDLE extension might not function properly"
@@ -915,16 +920,16 @@ msgstr ""
"le serveur distant utilise %s, il se peut que l'extension IDLE ne fonctionne "
"pas correctement"
-#: ../src/mn-imap-mailbox.gob:1088
+#: ../src/mn-imap-mailbox.gob:1092
msgid "the remote server does not support the IDLE extension, logging out"
msgstr ""
"le serveur distant ne supporte pas l'extension IDLE, fermeture de session"
-#: ../src/mn-imap-mailbox.gob:1590 ../src/mn-pop3-mailbox.gob:309
+#: ../src/mn-imap-mailbox.gob:1594 ../src/mn-pop3-mailbox.gob:309
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:1614 ../src/mn-pop3-mailbox.gob:1080
+#: ../src/mn-imap-mailbox.gob:1618 ../src/mn-pop3-mailbox.gob:1080
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
@@ -932,23 +937,23 @@ 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:1624 ../src/mn-pop3-mailbox.gob:1100
+#: ../src/mn-imap-mailbox.gob:1628 ../src/mn-pop3-mailbox.gob:1100
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr "mécanisme d'authentification inconnu « %s »"
-#: ../src/mn-imap-mailbox.gob:1656 ../src/mn-pop3-mailbox.gob:1136
+#: ../src/mn-imap-mailbox.gob:1660 ../src/mn-pop3-mailbox.gob:1136
#, c-format
msgid "disabling mechanism \"%s\" and retrying SASL authentication"
msgstr ""
"désactivation du mécanisme « %s » et nouvelle tentative d'authentification "
"SASL"
-#: ../src/mn-imap-mailbox.gob:1668
+#: ../src/mn-imap-mailbox.gob:1672
msgid "falling back to IMAP LOGIN authentication"
msgstr "rétrogradation vers l'authentification IMAP LOGIN"
-#: ../src/mn-imap-mailbox.gob:1724 ../src/mn-pop3-mailbox.gob:744
+#: ../src/mn-imap-mailbox.gob:1728 ../src/mn-pop3-mailbox.gob:744
#, c-format
msgid "cannot retrieve %i message"
msgid_plural "cannot retrieve %i messages"
@@ -1027,63 +1032,63 @@ msgstr "boîte aux lettres %s"
msgid "detecting mailbox type..."
msgstr "détection du type de boîte aux lettres en cours..."
-#: ../src/mn-mailbox.gob:565
+#: ../src/mn-mailbox.gob:667
#, c-format
msgid "\"type\" attribute missing"
msgstr "attribut « type » manquant"
-#: ../src/mn-mailbox.gob:572
+#: ../src/mn-mailbox.gob:674
#, c-format
msgid "unknown mailbox type \"%s\""
msgstr "type de boîte aux lettres « %s » inconnu"
-#: ../src/mn-mailbox.gob:971
+#: ../src/mn-mailbox.gob:1073
#, c-format
msgid "property \"%s\" has no value"
msgstr "la propriété « %s » n'a pas de valeur"
-#: ../src/mn-mailbox.gob:1050 ../src/mn-mailbox.gob:1068
-#: ../src/mn-shell.gob:624
+#: ../src/mn-mailbox.gob:1152 ../src/mn-mailbox.gob:1170
+#: ../src/mn-shell.gob:626
#, c-format
msgid "%s: %s"
msgstr "%s : %s"
-#: ../src/mn-mailboxes.gob:248
+#: ../src/mn-mailboxes.gob:250
msgid "An error has occurred while importing old mailboxes"
msgstr ""
"Une erreur s'est produite lors de l'importation des anciennes boîtes aux "
"lettres"
-#: ../src/mn-mailboxes.gob:303
+#: ../src/mn-mailboxes.gob:305
msgid "Unable to load the mailboxes configuration"
msgstr "Impossible de charger la configuration des boîtes aux lettres"
-#: ../src/mn-mailboxes.gob:350
+#: ../src/mn-mailboxes.gob:352
#, c-format
msgid "Unable to parse the XML document."
msgstr "Impossible d'interpréter le document XML."
-#: ../src/mn-mailboxes.gob:357
+#: ../src/mn-mailboxes.gob:359
#, c-format
msgid "The root element is missing."
msgstr "L'élément racine est manquant."
-#: ../src/mn-mailboxes.gob:363
+#: ../src/mn-mailboxes.gob:365
#, c-format
msgid "The root element \"%s\" is invalid."
msgstr "L'élément racine « %s » est invalide."
-#: ../src/mn-mailboxes.gob:385
+#: ../src/mn-mailboxes.gob:387
#, c-format
msgid "On line %i: %s."
msgstr "A la ligne %i : %s."
-#: ../src/mn-mailboxes.gob:390
+#: ../src/mn-mailboxes.gob:392
#, c-format
msgid "On line %i: unknown element \"%s\"."
msgstr "A la ligne %i : élément « %s » inconnu."
-#: ../src/mn-mailboxes.gob:399
+#: ../src/mn-mailboxes.gob:401
msgid "An error has occurred while loading the mailboxes configuration"
msgid_plural "Errors have occurred while loading the mailboxes configuration"
msgstr[0] ""
@@ -1093,55 +1098,55 @@ msgstr[1] ""
"Des erreurs se sont produites lors du chargement de la configuration des "
"boîtes aux lettres"
-#: ../src/mn-mailboxes.gob:424
+#: ../src/mn-mailboxes.gob:426
msgid "Unable to save the mailboxes configuration"
msgstr "Impossible de sauvegarder la configuration des boîtes aux lettres"
-#: ../src/mn-mailboxes.gob:469 ../src/mn-vfs.c:233
+#: ../src/mn-mailboxes.gob:471 ../src/mn-vfs.c:233
#, c-format
msgid "Unable to remove %s: %s."
msgstr "Impossible d'enlever %s : %s."
-#: ../src/mn-mailboxes.gob:477
+#: ../src/mn-mailboxes.gob:479
#, c-format
msgid "Unable to create %s: %s."
msgstr "Impossible de créer %s : %s."
-#: ../src/mn-mailboxes.gob:484
+#: ../src/mn-mailboxes.gob:486
#, c-format
msgid "Unable to open %s for writing: %s."
msgstr "Impossible d'ouvrir %s en mode écriture : %s."
-#: ../src/mn-mailboxes.gob:491
+#: ../src/mn-mailboxes.gob:493
#, c-format
msgid "Unable to write the XML document."
msgstr "Impossible d'écrire le document XML."
-#: ../src/mn-mailboxes.gob:497
+#: ../src/mn-mailboxes.gob:499
#, c-format
msgid "Unable to close %s: %s."
msgstr "Impossible de fermer %s : %s."
-#: ../src/mn-mailboxes.gob:507 ../src/mn-mailboxes.gob:514 ../src/mn-vfs.c:251
+#: ../src/mn-mailboxes.gob:509 ../src/mn-mailboxes.gob:516 ../src/mn-vfs.c:251
#: ../src/mn-vfs.c:259
#, c-format
msgid "Unable to rename %s to %s: %s."
msgstr "Impossible de renommer %s en %s : %s."
#. non fatal
-#: ../src/mn-mailboxes.gob:520 ../src/mn-vfs.c:269
+#: ../src/mn-mailboxes.gob:522 ../src/mn-vfs.c:269
#, c-format
msgid "unable to delete %s: %s"
msgstr "impossible de supprimer %s : %s"
-#: ../src/mn-mailboxes.gob:550
+#: ../src/mn-mailboxes.gob:555
#, c-format
msgid "%s has %i new message"
msgid_plural "%s has %i new messages"
msgstr[0] "%s a %i nouveau message"
msgstr[1] "%s a %i nouveaux messages"
-#: ../src/mn-mailboxes.gob:576
+#: ../src/mn-mailboxes.gob:581
#, c-format
msgid "%s reported an error: %s"
msgstr "%s a indiqué une erreur : %s"
@@ -1151,17 +1156,17 @@ msgstr "%s a indiqué une erreur : %s"
msgid "unable to open folder \"%s\": %s"
msgstr "impossible d'ouvrir le dossier « %s » : %s"
-#: ../src/mn-maildir-mailbox-backend.gob:219
+#: ../src/mn-maildir-mailbox-backend.gob:231
#, c-format
msgid "unable to close folder \"%s\": %s"
msgstr "impossible de fermer le dossier « %s » : %s"
-#: ../src/mn-maildir-mailbox-backend.gob:222
+#: ../src/mn-maildir-mailbox-backend.gob:234
#, c-format
msgid "error while reading folder \"%s\": %s"
msgstr "erreur lors de la lecture du dossier « %s » : %s"
-#: ../src/mn-maildir-mailbox-backend.gob:253
+#: ../src/mn-maildir-mailbox-backend.gob:265
#: ../src/mn-mh-mailbox-backend.gob:210
#: ../src/mn-sylpheed-mailbox-backend.gob:311
#, c-format
@@ -1311,38 +1316,38 @@ msgid "unable to parse MIME message"
msgstr "impossible d'interpréter le message MIME"
#. translators: header capitalization
-#: ../src/mn-message.gob:97
+#: ../src/mn-message.gob:98
msgid "Open"
msgstr "Ouvrir"
-#: ../src/mn-message.gob:98
+#: ../src/mn-message.gob:99
msgid "Unable to open message"
msgstr "Impossible d'ouvrir le message"
#. translators: header capitalization
-#: ../src/mn-message.gob:107
+#: ../src/mn-message.gob:108
msgid "Mark as Read"
msgstr "Marquer comme lu"
-#: ../src/mn-message.gob:108
+#: ../src/mn-message.gob:109
msgid "Unable to mark message as read"
msgstr "Impossible de marquer le message comme lu"
#. translators: header capitalization
-#: ../src/mn-message.gob:117
+#: ../src/mn-message.gob:118
msgid "Mark as Spam"
msgstr "Marquer comme indésirable"
-#: ../src/mn-message.gob:118 ../src/mn-message.gob:128
+#: ../src/mn-message.gob:119 ../src/mn-message.gob:129
msgid "Unable to mark message as spam"
msgstr "Impossible de marquer le message comme indésirable"
#. translators: header capitalization
-#: ../src/mn-message.gob:127
+#: ../src/mn-message.gob:128
msgid "Delete"
msgstr "Supprimer"
-#: ../src/mn-message.gob:336 ../src/mn-sound-player.gob:133
+#: ../src/mn-message.gob:337 ../src/mn-sound-player.gob:133
#: ../src/mn-sound-player.gob:169 ../src/mn-util.c:1577
#, c-format
msgid "Unable to execute \"%s\": %s."
@@ -1541,7 +1546,7 @@ msgstr ""
"Vous pouvez configurer un lecteur de courrier en choisissant <b>Système → "
"Préférences → Applications préférées</b>."
-#: ../src/mn-shell.gob:443 ../src/mn-shell.gob:449 ../src/mn-shell.gob:794
+#: ../src/mn-shell.gob:443 ../src/mn-shell.gob:449 ../src/mn-shell.gob:796
msgid "Unable to open the latest message"
msgstr "Impossible d'ouvrir le dernier message"
@@ -1550,7 +1555,7 @@ msgstr "Impossible d'ouvrir le dernier message"
msgid "Messages of mailbox \"%s\" cannot be opened."
msgstr "Les messages de la boîte aux lettres « %s » ne peuvent être ouverts."
-#: ../src/mn-shell.gob:450 ../src/mn-shell.gob:714
+#: ../src/mn-shell.gob:450 ../src/mn-shell.gob:716
msgid "You have no new mail."
msgstr "Vous n'avez pas de nouveau courrier."
@@ -1560,21 +1565,21 @@ msgid "%s (%i)"
msgstr "%s (%i)"
#. translators: header capitalization
-#: ../src/mn-shell.gob:610
+#: ../src/mn-shell.gob:612
msgid "Mailboxes Having New Mail"
msgstr "Boîtes aux lettres ayant du nouveau courrier"
#. translators: header capitalization
-#: ../src/mn-shell.gob:629
+#: ../src/mn-shell.gob:631
msgid "Errors"
msgstr "Erreurs"
#. translators: header capitalization
-#: ../src/mn-shell.gob:649
+#: ../src/mn-shell.gob:651
msgid "Mail Summary"
msgstr "Aperçu du courrier"
-#: ../src/mn-shell.gob:689
+#: ../src/mn-shell.gob:691
#, c-format
msgid "<span style=\"italic\">%i message is not displayed</span>"
msgid_plural "<span style=\"italic\">%i messages are not displayed</span>"
@@ -1919,7 +1924,7 @@ msgstr "A_utre :"
#. translators: header capitalization
#: ../ui/properties-dialog.glade.h:2
msgid "<span weight=\"bold\">Click Action</span>"
-msgstr "<span weight=\"bold\">Action du click</span>"
+msgstr "<span weight=\"bold\">Action du clic</span>"
#. translators: header capitalization
#: ../ui/properties-dialog.glade.h:4
diff --git a/po/pl.po b/po/pl.po
@@ -12,377 +12,341 @@ msgid ""
msgstr ""
"Project-Id-Version: mail-notification 4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-11-25 01:43+0100\n"
+"POT-Creation-Date: 2008-05-15 22:17+0200\n"
"PO-Revision-Date: 2007-11-23 00:46+0100\n"
"Last-Translator: Tomasz Sałaciński <tsalacinski@gmail.com>\n"
"Language-Team: Polish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
-#: data/GNOME_MailNotification_Automation.server.in.in.h:1
-msgid "Mail Notification automation"
-msgstr "Automatyzacja Zawiadomienia Pocztowego"
-
-#: data/GNOME_MailNotification_Automation.server.in.in.h:2
-msgid "Mail Notification automation factory"
-msgstr "Fabryka automatyzacji Zawiadomienia Pocztowego"
-
-#: data/mail-notification-properties.desktop.in.h:1
+#: ../data/mail-notification-properties.desktop.in.h:1
msgid "Configure Mail Notification"
msgstr "Konfiguracja zawiadomienia pocztowego"
-#: 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:194 src/mn-main.c:281
+#: ../data/mail-notification-properties.desktop.in.h:2
+#: ../data/mail-notification.desktop.in.h:2 ../src/mn-mail-icon.gob:296
+#: ../src/mn-main.c:107 ../src/mn-main.c:437 ../src/mn-main.c:458
+#: ../src/mn-main.c:509
msgid "Mail Notification"
msgstr "Zawiadomienie pocztowe"
-#: data/mail-notification.desktop.in.h:1
+#: ../data/mail-notification.desktop.in.h:1
msgid "Get notified when new mail arrives"
msgstr "Otrzymaj zawiadomienie po nadejściu nowej poczty"
-#: data/mail-notification.schemas.in.h:1
-msgid "Automatically close the mail summary popup"
-msgstr "Automatycznie zamknij wyskakujące okienko streszczenia poczty"
+#: ../data/mail-notification.schemas.in.in.h:1
+msgid "Always display an icon"
+msgstr "Z_awsze pokazuj ikonę w tacce systemowej"
-#: data/mail-notification.schemas.in.h:2
+#: ../data/mail-notification.schemas.in.in.h:2
msgid "Blink on errors"
msgstr "Miganie przy błędach"
-#: data/mail-notification.schemas.in.h:3
-msgid "Delay between mail checks (minutes part)."
-msgstr "Zwłoka pomiędzy sprawdzaniem poczty (minuty)."
+#: ../data/mail-notification.schemas.in.in.h:3
+msgid "Click action"
+msgstr "Akcja po kliknięciu"
-#: data/mail-notification.schemas.in.h:4
-msgid "Delay between mail checks (seconds part)."
-msgstr "Zwłoka pomiędzy sprawdzaniem poczty (sekundy)."
+#: ../data/mail-notification.schemas.in.in.h:4
+msgid "Display a message count in the status icon"
+msgstr "Pokaż ilość wiadomości na ikonie w obszarze powiadamiania"
-#: data/mail-notification.schemas.in.h:5
-msgid "Display mail summary in tooltip"
-msgstr "Wyświetlanie streszczenia poczty w obszarze powiadamiania"
+# These messages are not translated in any PO file
+#: ../data/mail-notification.schemas.in.in.h:5
+msgid "Display seen mail"
+msgstr "_Pokazuj widzianą pocztę"
-#: data/mail-notification.schemas.in.h:6
-msgid "Do not show the immediate notification error dialog"
-msgstr "Nie pokazuj dialogu błędowego natychmiastowego zawiadomienia"
+#: ../data/mail-notification.schemas.in.in.h:6
+msgid "Enable message popups"
+msgstr "Włącz wyskakujące okna wiadomości"
-#: data/mail-notification.schemas.in.h:7
-msgid "Double-click action"
-msgstr "Wykonanie podwójnego kliknięcia"
+#: ../data/mail-notification.schemas.in.in.h:7
+msgid "Expire message popups"
+msgstr "Włącz wyskakujące okna wiadomości"
-#: data/mail-notification.schemas.in.h:8
-msgid "Enable mail summary popup"
-msgstr "Umożliwij wyskakujące okienko streszczenia poczty"
+#: ../data/mail-notification.schemas.in.in.h:8
+msgid "Fallback character sets"
+msgstr "Awaryjne kodowanie"
-#: data/mail-notification.schemas.in.h:9
+#: ../data/mail-notification.schemas.in.in.h:9
msgid "Fingerprints of trusted X509 certificates"
msgstr "Odciski palców zaufanych certyfikatów X509"
-#: data/mail-notification.schemas.in.h:10
-msgid "Has already been run"
-msgstr "Polecenie już było wykonane"
-
-#: data/mail-notification.schemas.in.h:11
-msgid "Height of mail summary dialog"
-msgstr "Wysokość dialogu streszenia poczty"
-
-#: data/mail-notification.schemas.in.h:12
+#: ../data/mail-notification.schemas.in.in.h:10
msgid "Height of properties dialog"
msgstr "Wysokość dialogu wlaściwości"
-#: data/mail-notification.schemas.in.h:13
-msgid "Mail read command"
-msgstr "Rozkaz do przeczytania poczty"
-
-#: data/mail-notification.schemas.in.h:14
-msgid "Mail reader command"
-msgstr "Rozkaz do uruchomienia czytnika poczty"
-
-#: data/mail-notification.schemas.in.h:15
-msgid "Mail summary popup contents font"
-msgstr "Czcionka zawartości wyskakującego okienka streszczenia poczty"
-
-#: data/mail-notification.schemas.in.h:16
-msgid "Mail summary popup horizontal offset"
-msgstr "Poziomę przesunięcie wyskakującego okienka streszczenia poczty"
+#: ../data/mail-notification.schemas.in.in.h:11
+msgid ""
+"If /apps/mail-notification/popups/expiration/enabled is set to \"true\", the "
+"number of seconds to wait before expiring message popups."
+msgstr ""
+"Jeżeli /apps/mail-notification/popups/expiration/enabled jest ustawione na "
+"\"true\", to jest to liczba sekund zanim okienka znikną."
-#: data/mail-notification.schemas.in.h:17
-msgid "Mail summary popup position"
-msgstr "Pozycja wyskakującego okienka streszczenia poczty"
+#: ../data/mail-notification.schemas.in.in.h:12
+msgid "Mail changed command"
+msgstr "Komenda zmiany poczty"
-#: data/mail-notification.schemas.in.h:18
-msgid "Mail summary popup title font"
-msgstr "Czcionka tytułu wyskakującego okienka streszczenia poczty"
+#: ../data/mail-notification.schemas.in.in.h:13
+msgid "Mail read command"
+msgstr "Rozkaz do przeczytania poczty"
-#: data/mail-notification.schemas.in.h:19
-msgid "Mail summary popup vertical offset"
-msgstr "Pionowę przesunięcie wyskakującego okienka streszczenia poczty"
+#: ../data/mail-notification.schemas.in.in.h:14
+msgid "Maximum number of messages in the tooltip mail summary"
+msgstr "Maksymalna liczba wiadomości w podsumowaniu poczty"
-#: data/mail-notification.schemas.in.h:20
-msgid "Mailbox list"
-msgstr "Lista skrzynek pocztowych"
+#: ../data/mail-notification.schemas.in.in.h:15
+msgid "Maximum number of simultaneous popups"
+msgstr "Maksymalna liczba wyskakujących okienek"
-#: data/mail-notification.schemas.in.h:21
-msgid "Minutes between mail checks"
-msgstr "Ilość minut pomiędzy sprawdzaniem poczty"
+#: ../data/mail-notification.schemas.in.in.h:16
+msgid "Message popups actions"
+msgstr "Akcje okienek wiadomości"
-#: data/mail-notification.schemas.in.h:22
-msgid "Minutes to wait before closing the mail summary popup"
-msgstr ""
-"Ile minut czekać przed zamknięciem wyskakującego okienka streszczenia poczty"
+#: ../data/mail-notification.schemas.in.in.h:17
+msgid "Message popups position"
+msgstr "Pozycja wyskakujących okienek"
-#: data/mail-notification.schemas.in.h:23
+#: ../data/mail-notification.schemas.in.in.h:18
msgid "New mail command"
msgstr "Rozkaz do rozpoczęcia nowej poczty"
-#: data/mail-notification.schemas.in.h:24
-msgid "Only display recent mail in mail summary popup"
-msgstr ""
-"Tylko wyświetlaj niedawną pocztę w wyskakującym okienku streszczenia poczty"
+#: ../data/mail-notification.schemas.in.in.h:19
+msgid "New mail sound"
+msgstr "Dźwięk nowej poczty"
-#: data/mail-notification.schemas.in.h:25
+#: ../data/mail-notification.schemas.in.in.h:20
+msgid "Play a sound when new mail arrives"
+msgstr "Odtwórz dźwięk podczas nadejścia nowej poczty"
+
+#: ../data/mail-notification.schemas.in.in.h:21
+msgid "Play sound command"
+msgstr "Komenda do odtworzenia dźwięku"
+
+#: ../data/mail-notification.schemas.in.in.h:22
msgid "Run a command when all mail is read"
msgstr "Wykonaj rozkaz kiedy cała poczta jest przeczytana"
-#: data/mail-notification.schemas.in.h:26
+#: ../data/mail-notification.schemas.in.in.h:23
msgid "Run a command when new mail arrives"
msgstr "Wykonaj rozkaz po nadejściu nowej poczty"
-#: data/mail-notification.schemas.in.h:27
-msgid "Seconds between mail checks"
-msgstr "Sekundy pomiędzy sprawdzaniem poczty"
-
-#: data/mail-notification.schemas.in.h:28
-msgid "Seconds to wait before closing the mail summary popup"
-msgstr ""
-"Ilość sekund do poczekania przed zamknięciem wyskakującego okienka "
-"streszczenia poczty"
-
-#: data/mail-notification.schemas.in.h:29
-msgid "Set a mail reader"
-msgstr "Ustaw czytnika poczty"
-
-#: data/mail-notification.schemas.in.h:30
-msgid ""
-"The action to perform when the icon is double-clicked. Must be \"display-"
-"mail-summary\" or \"launch-mail-reader\"."
-msgstr ""
-"Akcja do wykonania kiedy ikon jest podwójnię kliknięty. Musi być \"display-"
-"mail-summary\" lub \"launch-mail-reader\"."
+#: ../data/mail-notification.schemas.in.in.h:24
+msgid "Run a command when the message list changes"
+msgstr "Uruchom komendę gdy lista wiadomości ulegnie zmianie"
-#: data/mail-notification.schemas.in.h:31
-msgid ""
-"The amount of time to wait before closing the mail summary popup (minutes "
-"part)."
-msgstr ""
-"Ilość czasu do czekania przed zamknięciem wyskakującego okienka streszczenia "
-"poczty (minuty)."
+#: ../data/mail-notification.schemas.in.in.h:25
+msgid "Seconds to wait before expiring message popups"
+msgstr "Ilość sekund do poczekania przed zamknięciem wyskakującego okienka."
-#: data/mail-notification.schemas.in.h:32
+#: ../data/mail-notification.schemas.in.in.h:26
msgid ""
-"The amount of time to wait before closing the mail summary popup (seconds "
-"part)."
+"The action to perform when the icon is clicked. Must be \"launch-mail-reader"
+"\", \"open-latest-message\", \"consider-new-mail-as-read\" or \"update-mail-"
+"status\"."
msgstr ""
-"Ilość czasu do czekania przed zamknięciem wyskakującego okienka streszczenia "
-"poczty (sekundy)."
+"Akcja do wykonania podczas kliknięcia na ikonę. Wartości: \"launch-mail-"
+"reader\", \"open-latest-message\", \"consider-new-mail-as-read\" lub "
+"\"update-mail-status\""
-#: data/mail-notification.schemas.in.h:33
-msgid "The command to run to launch the mail reader."
-msgstr "Rozkaz do wykonania żeby uruchomić czytnika poczty."
-
-#: data/mail-notification.schemas.in.h:34
+#: ../data/mail-notification.schemas.in.in.h:27
msgid "The command to run when all mail is read."
msgstr "Rozkaz do wykonania kiedy cała poczta jest przeczytana."
-#: data/mail-notification.schemas.in.h:35
+#: ../data/mail-notification.schemas.in.in.h:28
msgid "The command to run when new mail arrives."
msgstr "Polecenie do wykonania po nadejściu owej poczty."
-#: data/mail-notification.schemas.in.h:36
-msgid "The custom font to use for the contents of the mail summary popup."
-msgstr ""
-"Niestandardowa czcionka użyta dla zawartości wyskakującego okienka "
-"streszczenia poczty."
+#: ../data/mail-notification.schemas.in.in.h:29
+msgid "The command to run when the message list changes."
+msgstr "Komenda do wykonania podczas zmiany listy wiadomości"
-#: data/mail-notification.schemas.in.h:37
-msgid "The custom font to use for the title of the mail summary popup."
+#: ../data/mail-notification.schemas.in.in.h:31
+#, no-c-format
+msgid ""
+"The command to use to play a sound file. The string %file will be "
+"substituted with the filename of the sound to play."
msgstr ""
-"Niestandardowa czcionka użyta dla tytułu wyskakującego okienka streszczenia "
-"poczty."
-
-#: data/mail-notification.schemas.in.h:38
-msgid "The height of the mail summary dialog in pixels."
-msgstr "Wysokość dialogu streszczenia poczty w pikselach."
-#: data/mail-notification.schemas.in.h:39
+#: ../data/mail-notification.schemas.in.in.h:32
msgid "The height of the properties dialog in pixels."
msgstr "Wysokość dialogu właściwości w pikselach."
-#: data/mail-notification.schemas.in.h:40
-msgid "The list of mailboxes to monitor."
-msgstr "Lista monitorowanych skrzynek pocztowych."
+#: ../data/mail-notification.schemas.in.in.h:33
+msgid ""
+"The list of character sets to attempt conversion from when uncompliant 8-bit "
+"data is encountered in message headers. The first character set allowing a "
+"successful conversion will be used. The special name \"user\" will be "
+"replaced with the character set of the user's locale. Note that Mail "
+"Notification must be restarted for changes to take effect."
+msgstr ""
-#: data/mail-notification.schemas.in.h:41
+#: ../data/mail-notification.schemas.in.in.h:34
msgid ""
"The list of trusted SSL/TLS servers (hostname:port) lacking a X509 "
"certificate."
msgstr "Lista zaufanych serwerów SSL/TSL (hostname:port) bez certyfikatu X509."
-#: data/mail-notification.schemas.in.h:42
+#: ../data/mail-notification.schemas.in.in.h:35
msgid ""
"The list of trusted X509 certificates, represented by their MD5 fingerprint."
msgstr ""
-"Lista zaufanych certyfikatów X509, przedstawionych przez ich MD5 odciski "
-"palców."
+"Lista zaufanych certyfikatów X509, przedstawionych przez ich odciski palców "
+"MD5."
-#: data/mail-notification.schemas.in.h:43
-msgid ""
-"The number of pixels to leave between the left or right side of the screen "
-"and the mail summary popup."
+#: ../data/mail-notification.schemas.in.in.h:36
+msgid "The maximum number of messages to display in the tooltip mail summary."
msgstr ""
-"Ilość pikselów do pozostawienia pomiędzy lewą lub prawą stroną ekranu i "
-"wyskakującym okienkiem streszczenia poczty."
-#: data/mail-notification.schemas.in.h:44
+#: ../data/mail-notification.schemas.in.in.h:37
msgid ""
-"The number of pixels to leave between the top or bottom side of the screen "
-"and the mail summary popup."
+"The maximum number of popups to display simultaneously. If this limit is "
+"exceeded, only the most recent messages will be displayed. If the /apps/mail-"
+"notification/popups/position key is set to \"attached\", this limit will be "
+"ignored and only one popup will be allowed."
msgstr ""
-"Ilość pikselów do pozostawienia pomiędzy górną lub dolną stroną ekranu i "
-"wyskakującym okienkiem streszczenia poczty."
-#: data/mail-notification.schemas.in.h:45
+#: ../data/mail-notification.schemas.in.in.h:38
msgid ""
-"The position of the mail summary popup. Must be \"top-left\", \"top-right\", "
-"\"bottom-left\" or \"bottom-right\"."
+"The ordered list of actions to include in the message popups. Each element "
+"must be \"open\", \"mark-as-read\", \"mark-as-spam\" or \"delete\"."
+msgstr ""
+
+#: ../data/mail-notification.schemas.in.in.h:39
+msgid "The position of the message popups. Must be \"attached\" or \"free\"."
msgstr ""
-"Pozycja wyskakującego okienka streszczenia poczty. Musi być \"top-left\", "
-"\"top-right\", \"bottom-left\" lub \"bottom-right\"."
+"Pozycja wyskakującego okienka streszczenia poczty. Wartości: \"attached\" "
+"lub \"free\"."
+
+#: ../data/mail-notification.schemas.in.in.h:40
+msgid "The sound file to play when new mail arrives."
+msgstr "Dźwięk do odtworzenia podczas nadejścia nowej poczty."
-#: data/mail-notification.schemas.in.h:46
-msgid "The width of the mail summary dialog in pixels."
-msgstr "Szerokość dialogu streszczenia poczty w pikselach."
+#: ../data/mail-notification.schemas.in.in.h:41
+msgid ""
+"The type of mail summary to display in the icon's tooltip. Must be \"standard"
+"\", \"compact\" or \"none\"."
+msgstr ""
+"Typ podsumowania pokazywany w bąbelku ikony. Musi być \"standard\", \"compact"
+"\" lub \"none\"."
-#: data/mail-notification.schemas.in.h:47
+#: ../data/mail-notification.schemas.in.in.h:42
msgid "The width of the properties dialog in pixels."
msgstr "Szerokość dialogu właściwości w pikselach."
-#: data/mail-notification.schemas.in.h:48
+#: ../data/mail-notification.schemas.in.in.h:43
+msgid "Tooltip mail summary"
+msgstr "Podsumowanie w wyskakującym bąbelku pomocy"
+
+#: ../data/mail-notification.schemas.in.in.h:44
msgid "Trusted servers list"
msgstr "Lista zaufanych serwerów"
-#: data/mail-notification.schemas.in.h:49
-msgid "Use a custom font for the contents of the mail summary popup"
-msgstr ""
-"Użyj niestandardową czcionkę dla zawartości wyskakującego okienka "
-"streszczenia poczty"
-
-#: data/mail-notification.schemas.in.h:50
-msgid "Use a custom font for the title of the mail summary popup"
-msgstr ""
-"Użyj niestandardową czcionkę dla tytułu wyskakującego okienka streszczenia "
-"poczty"
-
-#: data/mail-notification.schemas.in.h:51
-msgid "Whether Mail Notification has already been run or not."
-msgstr "Czy Zawiadomienie pocztowe było już uruchomione czy nie."
-
-#: data/mail-notification.schemas.in.h:52
+#: ../data/mail-notification.schemas.in.in.h:45
msgid "Whether the status icon should blink on errors or not."
msgstr "Czy ikona statusu ma migać przy błędach"
-#: data/mail-notification.schemas.in.h:53
-msgid "Whether to automatically close the mail summary popup or not."
+#: ../data/mail-notification.schemas.in.in.h:46
+msgid "Whether to display a message count in the status icon or not."
msgstr ""
-"Automatycznie zamyka okienko ze streszczeniem poczty po upływie zadanego czasu"
+"Czy wyświetlać liczbę nieprzeczytanych wiadomości w ikonie powiadamiania."
-#: data/mail-notification.schemas.in.h:54
-msgid "Whether to display the mail summary in the status icon tooltip or not."
-msgstr ""
-"Czy wyświetlać streszczenie poczty w ikonie stanu etykiety narzędzi czy nie."
-
-#: data/mail-notification.schemas.in.h:55
-msgid "Whether to display the mail summary popup when new mail arrives or not."
-msgstr "Wyświetl streszczenie poczty po nadejściu nowych listów"
+#: ../data/mail-notification.schemas.in.in.h:47
+msgid "Whether to display an icon when there is no new mail or not."
+msgstr "Czy wyświetlać ikonę w pasku powiadamiania, gdy nie ma nowej poczty."
-#: data/mail-notification.schemas.in.h:56
+#: ../data/mail-notification.schemas.in.in.h:48
msgid ""
-"Whether to hide previously displayed mail in the mail summary popup or not."
+"Whether to display mail which is still marked as unread but has been seen or "
+"not."
msgstr ""
-"Czy schować poprzednio wyświetloną pocztę w wyskakującym okienku "
-"streszczenia poczty czy nie."
+"Czy wyświetlać wiadomości które są dalej oznaczone jako nieprzeczytane, ale "
+"były widziane"
+
+#: ../data/mail-notification.schemas.in.in.h:49
+msgid "Whether to enable message popups or not."
+msgstr "Czy wyświetlać wyskakujące okienka wiadomości"
-#: data/mail-notification.schemas.in.h:57
+#: ../data/mail-notification.schemas.in.in.h:50
msgid ""
-"Whether to prevent the immediate notification error dialog from being "
-"displayed or not."
+"Whether to expire message popups or not. Must be \"default\", \"false\" or "
+"\"true\"."
msgstr ""
-"Czy zapobiegać wyświetleniu dialogu błędowego natychmiastowego "
-"zawiadomieniaczy nie."
+"Czy automatycznie zamykać wyskakujące okienka wiadomości. Wartości: \"default"
+"\", \"false\" lub \"true\"."
-#: data/mail-notification.schemas.in.h:58
+#: ../data/mail-notification.schemas.in.in.h:51
+msgid "Whether to play a sound when new mail arrives or not."
+msgstr "Czy odtwarzać dźwięk podczas nadejścia nowej poczty."
+
+#: ../data/mail-notification.schemas.in.in.h:52
msgid "Whether to run a command when all mail is read or not."
msgstr "Czy wykonać rozkaz kiedy cała poczta jest przeczytanacza czy nie."
-#: data/mail-notification.schemas.in.h:59
+#: ../data/mail-notification.schemas.in.in.h:53
msgid "Whether to run a command when new mail arrives or not."
msgstr "Czy wykonać rozkaz kiedy przyjdzie nowa poczta czy nie."
-#: data/mail-notification.schemas.in.h:60
-msgid "Whether to set a mail reader or not."
-msgstr "Czy ustawić czytnika poczty."
-
-#: data/mail-notification.schemas.in.h:61
-msgid ""
-"Whether to use a custom font for the contents of the mail summary popup or "
-"not."
-msgstr ""
-"Czy użyć niestandardową czcionkę dla zawartości wyskakującego okienka "
-"streszczenia poczty czy nie."
-
-#: data/mail-notification.schemas.in.h:62
-msgid ""
-"Whether to use a custom font for the title of the mail summary popup or not."
-msgstr ""
-"Czy użyć niestandardową czcionkę dla tytułu wyskakującego okienka "
-"streszczenia poczty czy nie."
-
-#: data/mail-notification.schemas.in.h:63
-msgid "Width of mail summary dialog"
-msgstr "Szerokość dialogu streszczenia poczty"
+#: ../data/mail-notification.schemas.in.in.h:54
+msgid "Whether to run a command when the message list changes or not."
+msgstr "Czy wykonać komendę poczas zmiany na liście wiadomości."
-#: data/mail-notification.schemas.in.h:64
+#: ../data/mail-notification.schemas.in.in.h:55
msgid "Width of properties dialog"
msgstr "Szerokość dialogu właściwości"
-#: data/mail-notification.soundlist.in.h:2
-msgid "New Mail"
-msgstr "Nowa Poczta"
-
-#: src/eggtrayicon.c:109
+#: ../src/eggtrayicon.c:133
msgid "Orientation"
msgstr "Orientacja"
-#: src/eggtrayicon.c:110
+#: ../src/eggtrayicon.c:134
msgid "The orientation of the tray."
msgstr "Orientacja tacy."
-#: src/mn-about-dialog.gob:43
+#. translators: header capitalization
+#: ../src/mn-about-dialog.gob:47
msgid "A Mail Notification Icon"
msgstr "Ikon Zawiadomienia Pocztowego"
-#. translator: replace with your name and email
-#: src/mn-about-dialog.gob:47
-msgid "Jean-Yves Lefort <jylefort@brutele.be>"
-msgstr "Tomasz Sarota-Raczek <tomasz.sarota.raczek@gmail.com>"
+#.
+#. * translators: Your Name <your-email>
+#. * optionally followed by one or more: \nOther Contributor's Name <his-email>
+#.
+#: ../src/mn-about-dialog.gob:55
+msgid "translator-credits"
+msgstr "Tomasz Sałaciński <tsalacinski@gmail.com>"
+
+#: ../src/mn-auth-combo-box.gob:98
+#: ../src/mn-autodetect-mailbox-properties.gob:106
+msgid "Autodetect"
+msgstr "Wykryj automatycznie"
+
+#. translators: header capitalization
+#: ../src/mn-authenticated-mailbox-properties.gob:56
+msgid "Account"
+msgstr "Konto pocztowe"
+
+#: ../src/mn-authenticated-mailbox-properties.gob:59
+msgid "_Username:"
+msgstr "_Użytkownik:"
+
+#: ../src/mn-authenticated-mailbox-properties.gob:63
+msgid "_Password:"
+msgstr "_Hasło:"
+
+#: ../src/mn-authenticated-mailbox-properties.gob:140
+msgid "Saving password to keyring..."
+msgstr ""
-#: src/mn-auth-combo-box.gob:101 src/mn-autodetect-mailbox-properties.gob:37
-msgid "<span style=\"italic\">autodetect</span>"
-msgstr "<span style=\"italic\">automatycznie</span>"
+#: ../src/mn-authenticated-mailbox-properties.gob:185
+msgid "Retrieving password from keyring..."
+msgstr ""
-#: src/mn-authenticated-mailbox.gob:80
+#. translators: the first %s is the mailbox format (eg: IMAP) and the second %s is the mailbox name (eg: john@imapserver.org)
+#: ../src/mn-authenticated-mailbox.gob:306
#, c-format
msgid ""
"Mail Notification was unable to log into %s mailbox %s, possibly because the "
@@ -395,918 +359,1052 @@ msgstr ""
"\n"
"Proszę jeszcze raz wpisać hasło."
-#: src/mn-authenticated-mailbox.gob:81
+#. translators: the first %s is the mailbox format (eg: IMAP) and the second %s is the mailbox name (eg: john@imapserver.org)
+#: ../src/mn-authenticated-mailbox.gob:308
#, c-format
msgid "Enter your password for %s mailbox %s."
msgstr "Wpisz twoje hasło dla skrzynki %s %s."
-#: src/mn-authenticated-mailbox.gob:132
+#. keep the title in sync with gnome-authentication-manager
+#. translators: header capitalization
+#: ../src/mn-authenticated-mailbox.gob:381
+msgid "Authentication Required"
+msgstr "Wymagana autentykacja"
+
+#: ../src/mn-authenticated-mailbox.gob:463
+msgid "Unable to save the mailbox password"
+msgstr "Nie można zapisać hasła do skrzynki pocztowej"
+
+#. translators: the first %s is the mailbox format (eg: IMAP) and the second %s is the mailbox name (eg: john@imapserver.org)
+#: ../src/mn-authenticated-mailbox.gob:465
#, c-format
-msgid ""
-"<span weight=\"bold\" size=\"larger\">Mail Notification requires a password</"
-"span>\n"
-"\n"
-"%s"
-msgstr ""
-"<span weight=\"bold\" size=\"larger\">Zawiadomienie pocztowe wymaga hasła</"
-"span>\n"
-"\n"
-"%s"
+msgid "The password of %s mailbox %s could not be saved to the keyring."
+msgstr "Hasło %s skrzynki %s nie może być zapisane do zestawu kluczy."
+
+#. translators: header capitalization
+#: ../src/mn-autodetect-mailbox-properties.gob:119
+#: ../src/mn-system-vfs-mailbox-properties.gob:57
+msgid "Location"
+msgstr "Lokalizacja"
-#: src/mn-autodetect-mailbox-properties.gob:68
+#: ../src/mn-autodetect-mailbox-properties.gob:121
msgid "_Location:"
msgstr "_Lokalizacja:"
-#: src/mn-autodetect-mailbox-properties.gob:74
+#. translators: header capitalization
+#: ../src/mn-autodetect-mailbox-properties.gob:129
msgid "_Browse..."
msgstr "_Przeglądaj..."
-#: src/mn-autodetect-mailbox-properties.gob:81
-msgid "The URI of the mailbox"
-msgstr "URI skrzynki pocztowej"
-
-#: src/mn-autodetect-mailbox-properties.gob:118
+#. translators: header capitalization
+#: ../src/mn-autodetect-mailbox-properties.gob:169
msgid "Select a File or Folder"
msgstr "Wybierz plik lub folder"
-#: src/mn-blinking-image.gob:32
-msgid "Whether the image is blinking or not"
-msgstr "Czy obraz miga czy nie"
+#: ../src/mn-base-mbox-mailbox-backend.gob:346
+#, c-format
+msgid "unable to open mailbox: %s"
+msgstr "niezdolny otworzyć skrzynkę pocztową: %s"
-#: src/mn-client-session.c:220
+#: ../src/mn-client-session.c:177
#, c-format
msgid "resolving %s"
msgstr "rozwiązuję %s"
-#: src/mn-client-session.c:230
+#: ../src/mn-client-session.c:193
#, c-format
msgid "unable to resolve %s: %s"
msgstr "niezdolny rozwiązać %s: %s"
-#: src/mn-client-session.c:267
+#: ../src/mn-client-session.c:234
+#, c-format
+msgid "network address #%i"
+msgstr ""
+
+#: ../src/mn-client-session.c:237
+#, c-format
+msgid "unable to convert network address #%i into textual form: %s"
+msgstr "nie można przekonwertować adresu sieciowego #%i na formę liczbową: %s"
+
+#: ../src/mn-client-session.c:248
#, c-format
msgid "%s: unsupported address family"
msgstr "%s: nieobsługiwana rodzina adresów"
-#: src/mn-client-session.c:274
+#: ../src/mn-client-session.c:255
#, c-format
msgid "%s: unable to create socket: %s"
msgstr "%s: niezdolny stworzyć gniazdo: %s"
-#: src/mn-client-session.c:278
+#: ../src/mn-client-session.c:259
#, c-format
msgid "connecting to %s (%s) port %i"
msgstr "połączenie do %s (%s) port %i"
-#: src/mn-client-session.c:281
+#: ../src/mn-client-session.c:262
#, c-format
msgid "unable to connect: %s"
msgstr "niezdolny do połączenie się: %s"
-#: src/mn-client-session.c:286
+#: ../src/mn-client-session.c:267
msgid "connected successfully"
msgstr "pomyślnę połączenie"
#. if reached, we couldn't find a working address
-#: src/mn-client-session.c:292
+#: ../src/mn-client-session.c:281
#, c-format
msgid "unable to connect to %s"
msgstr "niezdolny do połączenie się z %s"
-#: src/mn-client-session.c:308
+#: ../src/mn-client-session.c:333
+#, c-format
+msgid "response \"%s\" is not valid in current context"
+msgstr "odpowiedź \"%s\" nie jest ważna w aktualnym kontekstcie"
+
+#: ../src/mn-client-session.c:362
+#, c-format
+msgid "unable to parse response \"%s\""
+msgstr "niezdolny zrobić rozbiór odpowiedzi \"%s\""
+
+#: ../src/mn-client-session.c:626
+msgid "server name not found in certificate"
+msgstr "nazwa serwera nie została znaleziona w certyfikacie"
+
+#: ../src/mn-client-session.c:631
+#, c-format
+msgid ""
+"user-provided server name \"%s\" does not match certificate-provided server "
+"name \"%s\""
+msgstr ""
+"nazwa serwera dostarczona przez użytkownika \"%s\" nie zgadza się z nazwą "
+"dostarczoną przez certyfikat \"%s\""
+
+#: ../src/mn-client-session.c:645
+#, c-format
+msgid "\"%s\", "
+msgstr "\"%s\", "
+
+#: ../src/mn-client-session.c:647 ../src/mn-client-session.c:1582
+#: ../src/mn-yahoo-mailbox.gob:218
+#, c-format
+msgid "\"%s\""
+msgstr "\"%s\""
+
+#: ../src/mn-client-session.c:650
+#, c-format
+msgid ""
+"user-provided server name \"%s\" matches none of the certificate-provided "
+"server names %s"
+msgstr ""
+
+#: ../src/mn-client-session.c:740
#, c-format
msgid "unable to initialize the OpenSSL library: %s"
msgstr "niezdolny do inicjalizacji biblioteki OpenSSL: %s"
-#: src/mn-client-session.c:316
+#: ../src/mn-client-session.c:748
#, c-format
msgid "unable to create a SSL/TLS object: %s"
msgstr "niezdolny do stworzenia obiektu SSL/TLS: %s"
-#: src/mn-client-session.c:322
+#: ../src/mn-client-session.c:754
#, c-format
msgid "unable to set the SSL/TLS file descriptor: %s"
msgstr "niezdolny do ustawienia plikowego deskryptora SSL/TLS: %s"
-#: src/mn-client-session.c:328
+#: ../src/mn-client-session.c:761
#, c-format
msgid "unable to perform the SSL/TLS handshake: %s"
msgstr "niezdoly do spełnienia pertraktacji SSL/TLS: %s"
-#: src/mn-client-session.c:334
+#: ../src/mn-client-session.c:767
msgid "untrusted server"
msgstr "niezaufany serwer"
-#: src/mn-client-session.c:338
+#: ../src/mn-client-session.c:771
#, c-format
msgid "a SSL/TLS layer is now active (%s, %s %i-bit)"
msgstr "warstwa SSL/TLS jest teraz aktywna (%s, %s %i-bit)"
-#: src/mn-client-session.c:385
-#, c-format
-msgid "%s, fingerprint: %s"
-msgstr "%s, odcisk palca: %s"
-
-#: src/mn-client-session.c:414
-msgid "missing certificate"
-msgstr "brak certyfikatu"
-
-#: src/mn-client-session.c:440
-#, c-format
-msgid ""
-"Mail Notification was unable to trust \"%s\" (%s). It is possible that "
-"someone is intercepting your communication to obtain your confidential "
-"information.\n"
-"\n"
-"You should only connect to the server if you are certain you are connected "
-"to \"%s\". If you choose to connect to the server, this message will not be "
-"shown again."
-msgstr ""
-"Zawiadomienie pocztowe nie mogło zaufać \"%s\" (%s). Jest możliwe że ktoś "
-"przechwyta twoje komunikacje żeby uzyskać twoją konfidencjalną informację.\n"
-"\n"
-"Powinieneś się tylko łączyć z serwerem jeśli jesteś pewny że jesteś "
-"połączony z \"%s\". Jeśli się połączysz z tym serwerem, ta wiadomość nie "
-"będzie pokazana powtórnie."
-
-#: src/mn-client-session.c:457
-msgid "Connect to untrusted server?"
-msgstr "Połączyć się z niezaufanym serwerem?"
-
-#: src/mn-client-session.c:462
-msgid "Co_nnect"
-msgstr "Po_łącz się."
-
-#: src/mn-client-session.c:518
-#, c-format
-msgid "response \"%s\" is not valid in current context"
-msgstr "odpowiedź \"%s\" nie jest ważna w aktualnym kontekstcie"
-
-#: src/mn-client-session.c:544
-#, c-format
-msgid "unable to parse response \"%s\""
-msgstr "niezdolny zrobić rozbiór odpowiedzi \"%s\""
-
-#: src/mn-client-session.c:592 src/mn-client-session.c:599
+#: ../src/mn-client-session.c:819 ../src/mn-client-session.c:826
#, c-format
msgid "unable to read from server: %s"
msgstr "niezdolny do przeczytania z serwera: %s"
-#: src/mn-client-session.c:597
+#: ../src/mn-client-session.c:824
msgid "unable to read from server: EOF"
msgstr "niezdolny do przeczytania z serwera: EOF"
-#: src/mn-client-session.c:609
+#: ../src/mn-client-session.c:836
#, c-format
msgid "unable to decode data using SASL: %s"
msgstr "niezdolny do rozszyfrowania danych używając SASL: %s"
-#: src/mn-client-session.c:746
+#: ../src/mn-client-session.c:980
#, c-format
msgid "unable to encode data using SASL: %s"
msgstr "niezdolny do rozszyfrowania danych używając SASL: %s"
-#: src/mn-client-session.c:777 src/mn-client-session.c:784
+#: ../src/mn-client-session.c:1009 ../src/mn-client-session.c:1016
#, c-format
msgid "unable to write to server: %s"
msgstr "niezdolny do pisania do serwera: %s"
-#: src/mn-client-session.c:782
+#: ../src/mn-client-session.c:1014
msgid "unable to write to server: EOF"
msgstr "niezdolny do pisania do serwera: EOF"
-#: src/mn-client-session.c:814
+#: ../src/mn-client-session.c:1043 ../src/mn-pop3-mailbox.gob:448
#, c-format
msgid "unable to encode Base64: %s"
msgstr "niezdolny do zakodowania Base64: %s"
-#: src/mn-client-session.c:925
+#: ../src/mn-client-session.c:1220
#, c-format
msgid "unable to initialize the SASL library: %s"
msgstr "niezdolny do inicjalizacji biblioteki SASL: %s"
-#: src/mn-client-session.c:934
+#: ../src/mn-client-session.c:1232
#, c-format
msgid "unable to retrieve local address of socket: %s"
msgstr "niezdolny odzyskać lokalnego adresu gniazda: %s"
-#: src/mn-client-session.c:940
+#: ../src/mn-client-session.c:1238
#, c-format
msgid "unable to retrieve remote address of socket: %s"
msgstr "niezdolny odzyskać odległego adresu gniazda: %s"
-#: src/mn-client-session.c:974
+#: ../src/mn-client-session.c:1272
#, c-format
-msgid "warning: unable to set SASL security properties: %s"
-msgstr "ostrzeżenie: niezdolny ustawić właściwości ochronnę SASL: %s"
+msgid "unable to set SASL security properties: %s"
+msgstr "nie można ustawić właściwości certyfikatu SASL: %s"
-#: src/mn-client-session.c:998
+#: ../src/mn-client-session.c:1296
msgid ""
"unable to start SASL authentication: SASL asked for something we did not know"
msgstr ""
"niezdolny rozpocząć potwierdzenie tożsamości SASL: SASL zapytało się o coś "
"czego nie wiemy"
-#: src/mn-client-session.c:1017
+#: ../src/mn-client-session.c:1315
#, c-format
msgid "unable to start SASL authentication: %s"
msgstr "niezdolny rozpocząć potwierdzenie tożsamości SASL: %s"
-#: src/mn-client-session.c:1021
+#: ../src/mn-client-session.c:1319
#, c-format
msgid "unable to create a SASL connection: %s"
msgstr "niezdolny do stworzenia połączenia SASL: %s"
-#: src/mn-client-session.c:1058
+#: ../src/mn-client-session.c:1366
msgid "SASL asked for something we did not know, aborting SASL authentication"
msgstr ""
"SASL zapytał się o coś czego nie wiemy, przerywam potwierdzenie tożsamości "
"SASL"
-#: src/mn-client-session.c:1075
+#: ../src/mn-client-session.c:1383
#, c-format
msgid "%s, aborting SASL authentication"
msgstr "%s, przerywam potwierdzenie tożsamości SASL"
#. compliance error
-#: src/mn-client-session.c:1080
+#: ../src/mn-client-session.c:1388
#, c-format
msgid "unable to decode Base64 input from server: %s"
msgstr "niezdolny rozszyfrować wprowadzenie Base64 od serweru : %s"
-#: src/mn-client-session.c:1083
-msgid ""
-"the server sent a SASL challenge, but there was a pending initial SASL "
-"client response"
-msgstr ""
-"serwer wysłał wyzwanie SASL, ale już była początkowa odpowiedź SASL od "
-"klienta."
-
-#: src/mn-client-session.c:1097
-msgid ""
-"the server did not send a SASL challenge, but there was no pending initial "
-"SASL client response"
-msgstr ""
-"serwer nie wysłał wyzwania SASL, ale nie było początkowej odpowiedź SASL od "
-"klienta."
-
-#: src/mn-client-session.c:1122
+#: ../src/mn-client-session.c:1424
#, c-format
msgid "a SASL security layer of strength factor %i is now active"
msgstr "warstwa ochronna SASL czynnika mocy %i jest teraz aktywna"
#. a security layer is active but we can't retrieve maxoutbuf -> fatal
-#: src/mn-client-session.c:1127
+#: ../src/mn-client-session.c:1429
#, c-format
msgid "unable to get SASL_MAXOUTBUF property: %s"
msgstr "niezdolny otrzymać właściwość SASL_MAXOUTBUF: %s"
-#: src/mn-client-session.c:1133
+#: ../src/mn-client-session.c:1435
#, c-format
msgid "warning: unable to get SASL_SSF property: %s"
msgstr "ostrzeżenie: niezdolny otrzymać właściwość SASL_SSF: %s"
-#: src/mn-conf.c:145
+#: ../src/mn-client-session.c:1583
+msgid "unknown server error"
+msgstr "nieznany błąd serweru"
+
+#: ../src/mn-compact-message-view.gob:39
+msgid "Mailbox"
+msgstr "Skrzynka pocztowa"
+
+#: ../src/mn-compact-message-view.gob:40
+msgid "From"
+msgstr "Nadawca"
+
+#: ../src/mn-compact-message-view.gob:41
+msgid "Subject"
+msgstr "Temat wiadomości"
+
+#: ../src/mn-compact-message-view.gob:42
+msgid "Sent"
+msgstr "Wysłano"
+
+#: ../src/mn-conf.c:249
+#, c-format
+msgid "cannot find default value of configuration key \"%s\""
+msgstr ""
+
+#: ../src/mn-conf.c:254
+msgid ""
+"The default configuration has not been installed properly. Please check your "
+"Mail Notification installation."
+msgstr ""
+"Domyślna konfiguracja nie została zainstalowana poprawnie. Proszę sprawdzić "
+"instalację Zawiadomienia Pocztowego."
+
+#: ../src/mn-conf.c:291
+msgid "A directory creation error has occurred"
+msgstr "Błąd podczas tworzenia katalogu"
+
+#: ../src/mn-conf.c:292
+#, c-format
+msgid "Unable to create directory \"%s\": %s."
+msgstr "Nie można utworzyć katalogu \"%s\": %s"
+
+#: ../src/mn-conf.c:361
#, c-format
msgid "recursively unsetting %s"
msgstr "rekursywnie usuwam %s"
-#: src/mn-conf.c:149
+#: ../src/mn-conf.c:365
msgid "syncing the GConf database"
msgstr "synchronizacja bazy danych GConf"
-#: src/mn-conf.c:152
+#: ../src/mn-conf.c:368
msgid "completed"
msgstr "skończonę"
-#: src/mn-gmail-mailbox-properties.gob:77
-msgid "Your Gmail username"
-msgstr "Twoję Gmail imię użytkownika"
+#: ../src/mn-custom-vfs-mailbox.gob:72
+msgid "invalid location"
+msgstr "nieprawidłowa lokacja"
-#: src/mn-gmail-mailbox-properties.gob:78
+#: ../src/mn-evolution-folder-tree-client.gob:269
msgid ""
-"Your Gmail password (if left blank, you will be prompted for the password "
-"when needed)"
+"Mail Notification can not contact Evolution. Make sure that Evolution is "
+"running and that the Evolution Jean-Yves Lefort's Mail Notification plugin "
+"is loaded."
msgstr ""
-"Twoję Gmail hasło (jeśli pozostawione pustę, to będziesz zapytany o hasło "
-"wtedy kiedy będzie potrzebnę)"
+"Aplikacja powiadamiania o nowej poczcie nie może skontaktować się z "
+"Evolution. Upewnij się, że Evolution jest uruchomione i że wtyczka Jean-Yves "
+"Lefort's Mail Notification jest zainstalowana i załadowana."
-#: src/mn-gmail-mailbox.gob:82
-msgid "libsoup has not been compiled with SSL/TLS support"
-msgstr "libsoup nie było kompilowanę z poparciem SSL/TLS"
+#. translators: header capitalization
+#: ../src/mn-evolution-mailbox-properties.gob:71
+#: ../src/mn-webmail-mailbox-properties.gob:92
+msgid "Folder"
+msgstr "Folder"
+
+#: ../src/mn-evolution-mailbox.gob:225
+msgid "unable to contact Evolution"
+msgstr "nie mogę skontaktować się z Evolution"
+
+#: ../src/mn-evolution-plugin.c:151
+msgid "A fatal error has occurred in the Evolution Mail Notification plugin"
+msgstr "Nastąpił fatalny błąd we wtyczce do Evolution Zawiadomienia Pocztowego"
+
+#: ../src/mn-evolution-plugin.c:152 ../src/mn-main.c:250
+msgid "The connection to the D-Bus session bus was lost."
+msgstr "Połączenie do sesji D-Bus zostało utracone."
+
+#: ../src/mn-evolution-plugin.c:175 ../src/mn-evolution-plugin.c:188
+#: ../src/mn-evolution-plugin.c:226
+msgid "Unable to initialize the Mail Notification plugin"
+msgstr "Nie można załatować wtyczki Zawiadomienia Pocztowego"
+
+#: ../src/mn-evolution-plugin.c:176 ../src/mn-main.c:283
+#, c-format
+msgid "Unable to connect to the D-Bus session bus: %s."
+msgstr "Nie można połączyć się z sesją D-Bus: %s."
+
+#: ../src/mn-evolution-plugin.c:227
+#, c-format
+msgid "Unable to register the Mail Notification Evolution D-Bus server: %s."
+msgstr ""
+"Nie można zarejestrować Zawiadomienia Pocztowego w sesji D-Bus Evolution: %s."
-#: src/mn-gmail-mailbox.gob:160
+#: ../src/mn-evolution-server.gob:152
#, c-format
-msgid "unable to parse URI \"%s\""
-msgstr "niezdolny wykonać rozbiór URI \"%s\""
+msgid "folder not found"
+msgstr "folder nie został znaleziony"
-#: src/mn-gmail-mailbox.gob:214
+#: ../src/mn-evolution-server.gob:329
#, c-format
-msgid "unable to transfer data: %s"
-msgstr "niezdolny do przesłania danych: %s"
+msgid "message not found"
+msgstr "wiadomość nie została znaleziona"
+
+#.
+#. * translators: GTK+ has the same message used in the same
+#. * context; please use the GTK+ translation for consistency
+#.
+#: ../src/mn-file-chooser-button.gob:179
+msgid "(None)"
+msgstr "(Brak)"
-#: src/mn-gmail-mailbox.gob:335
-msgid "logging in"
-msgstr "logowanie"
+#. translators: header capitalization
+#: ../src/mn-gmail-mailbox-properties.gob:105
+msgid "Gmail Label"
+msgstr "Etykieta GMail"
+
+#: ../src/mn-gmail-mailbox-properties.gob:107
+msgid "_Restrict to this label:"
+msgstr "_Zastrzeż tylko do tej etykiety:"
+
+#: ../src/mn-gmail-mailbox.gob:154
+msgid "invalid feed location"
+msgstr "nieprawidłowa lokalizacja nagłówka"
+
+#: ../src/mn-gmail-mailbox.gob:175
+#, c-format
+msgid "retrieving feed from %s"
+msgstr "pobieram nagłówek z %s"
-#: src/mn-gmail-mailbox.gob:413
-msgid "login failed"
-msgstr "nieudanę logowanie"
+#: ../src/mn-gmail-mailbox.gob:182
+#, c-format
+msgid "unable to retrieve feed: %s"
+msgstr "nie można pobrać nagłówka: %s"
-#: src/mn-gmail-mailbox.gob:488
-msgid "searching for unread mail"
-msgstr "szukam nieprzeczytanej poczty"
+#: ../src/mn-gmail-mailbox.gob:191
+#, c-format
+msgid "feed retrieved successfully (%i byte)"
+msgid_plural "feed retrieved successfully (%i bytes)"
+msgstr[0] "nagłówek pobrany pomyślnie (%s bajt)"
+msgstr[1] "nagłówek pobrany pomyślnie (%s bajty)"
+msgstr[2] "nagłówek pobrany pomyślnie (%s bajtów)"
-#: src/mn-gmail-mailbox.gob:527
-msgid "unable to parse Gmail data"
-msgstr "niezdolny wykonać rozbioru danych Gmail"
+#: ../src/mn-gmail-mailbox.gob:203 ../src/mn-gmail-mailbox.gob:254
+msgid "unable to parse feed"
+msgstr "nie można przetworzyć nagłówka"
-#: src/mn-gmime-stream-vfs.gob:49
+#: ../src/mn-gmime-stream-vfs.gob:48
+#: ../src/mn-sylpheed-mailbox-backend.gob:209
#, c-format
msgid "unable to read %s: %s"
msgstr "niezdolny przeczytać %s: %s"
-#: src/mn-gmime-stream-vfs.gob:51
+#: ../src/mn-gmime-stream-vfs.gob:50 ../src/mn-webmail-mailbox.gob:141
#, c-format
msgid "unable to write to %s: %s"
msgstr "niezdolny wpisać %s: %s"
-#: src/mn-gmime-stream-vfs.gob:53
+#: ../src/mn-gmime-stream-vfs.gob:52
#, c-format
msgid "unable to seek in %s: %s"
msgstr "niezdolny odszukać %s: %s"
-#: src/mn-gmime-stream-vfs.gob:55
+#: ../src/mn-gmime-stream-vfs.gob:54
#, c-format
msgid "unable to tell position of %s: %s"
msgstr "niezdolny opisać pozycję %s: %s"
-#: src/mn-gmime-stream-vfs.gob:57
+#: ../src/mn-gmime-stream-vfs.gob:56 ../src/mn-mh-mailbox-backend.gob:216
+#: ../src/mn-webmail-mailbox.gob:147
#, c-format
msgid "unable to close %s: %s"
msgstr "niezdolny zamknąć %s: %s"
-#: src/mn-imap-mailbox-properties.gob:94
-msgid "Mailbox:"
-msgstr "Skrzynka pocztowa:"
-
-#: src/mn-imap-mailbox-properties.gob:98
-msgid "in_box"
-msgstr "_skrzynka odbiorcza"
-
-#: src/mn-imap-mailbox-properties.gob:109
-msgid "oth_er:"
-msgstr "innę:"
-
-#: src/mn-imap-mailbox-properties.gob:121
-msgid "U_se idle mode if possible"
-msgstr "Użyj bezczynny tryb jeśli to jest możliwę"
+#: ../src/mn-hotmail-mailbox.gob:286 ../src/mn-imap-mailbox.gob:1680
+#: ../src/mn-pop3-mailbox.gob:1165
+msgid "authentication failed"
+msgstr "logowanie nie udało się"
-#: src/mn-imap-mailbox-properties.gob:129
-msgid "The hostname or IP address of the IMAP server"
-msgstr "Nazwa lub adres IP serweru IMAP"
+#. translators: header capitalization
+#: ../src/mn-imap-mailbox-properties.gob:109
+msgid "IMAP Mailbox"
+msgstr "Skrzynka IMAP"
-#: src/mn-imap-mailbox-properties.gob:130
-msgid "Your username on the IMAP server"
-msgstr "Twoje imię użytkownika na serwerze IMAP"
+#: ../src/mn-imap-mailbox-properties.gob:111
+#: ../src/mn-webmail-mailbox-properties.gob:94
+msgid "In_box"
+msgstr "Ode_brane"
-#: src/mn-imap-mailbox-properties.gob:131
-msgid ""
-"Your password on the IMAP server (if left blank, you will be prompted for "
-"the password when needed)"
-msgstr ""
-"Twoję hasło na serwerze IMAP (jeśli pozostawione pustę, to będziesz zapytany "
-"o hasło wtedy kiedy będzie potrzebnę)"
+#: ../src/mn-imap-mailbox-properties.gob:116
+#: ../src/mn-webmail-mailbox-properties.gob:99
+#: ../ui/mailbox-properties-dialog.glade.h:10
+msgid "_Other:"
+msgstr "_Inna:"
-#: src/mn-imap-mailbox-properties.gob:132
-#: src/mn-imap-mailbox-properties.gob:133
-msgid "The port number of the IMAP server"
-msgstr "Numer portu na serwerze IMAP"
+#. translators: header capitalization
+#: ../src/mn-imap-mailbox-properties.gob:129
+msgid "Use the IDLE Extension"
+msgstr "Użyj rozszerzenia IDLE"
-#: src/mn-imap-mailbox-properties.gob:134
-msgid "The mailbox name"
-msgstr "Imię skrzynki pocztowej"
+#: ../src/mn-imap-mailbox-properties.gob:133
+msgid "IMAP connection tab|_Never"
+msgstr "_Nigdy"
-#: src/mn-imap-mailbox-properties.gob:135
-msgid "If possible, whether to use idle mode or not"
-msgstr "Jeśli możliwę, czy użyć bezczynny tryb czy nie"
+#: ../src/mn-imap-mailbox-properties.gob:134
+msgid "A_utodetect"
+msgstr "Wykryj a_utomatycznie"
-#: src/mn-imap-mailbox.gob:166 src/mn-pop3-mailbox.gob:143
-msgid "SSL/TLS support has not been compiled in"
-msgstr "Protokół SSL/TLS nie jest obsługiwany"
+#: ../src/mn-imap-mailbox-properties.gob:135
+msgid "Al_ways"
+msgstr "_Zawsze"
-#: src/mn-imap-mailbox.gob:246
+#: ../src/mn-imap-mailbox.gob:384
msgid "server did not send capabilities"
msgstr "serwer nie wysłał możliwości"
-#: src/mn-imap-mailbox.gob:418
+#: ../src/mn-imap-mailbox.gob:551
msgid "server advertised LOGINDISABLED, not using LOGIN authentication"
msgstr ""
"serwer reklamował LOGINDISABLED, bez używania potwierdzenia tożsamości LOGIN"
-#: src/mn-imap-mailbox.gob:419
+#: ../src/mn-imap-mailbox.gob:552
msgid "unable to login"
msgstr "niezdolny do logowania"
-#. compliance error
-#: src/mn-imap-mailbox.gob:571
-msgid "server did not send search results"
-msgstr "serwer nie wysłał wyników poszukiwania"
-
-#. compliance error
-#: src/mn-imap-mailbox.gob:651
-msgid "server did not send all the messages we requested"
-msgstr "serwer nie wysłał wszystkich wiadomości o które prosiliśmy"
+#: ../src/mn-imap-mailbox.gob:1063
+msgid ""
+"\"Use the IDLE extension\" set to \"never\" in the mailbox properties, "
+"logging out"
+msgstr ""
-#: src/mn-imap-mailbox.gob:700
-msgid "unable to fetch message"
-msgstr "niezdolny do sprowadzenia wiadomości"
+#: ../src/mn-imap-mailbox.gob:1074
+#, c-format
+msgid "the remote server runs %s, not using the IDLE extension"
+msgstr ""
-#. compliance error
-#: src/mn-imap-mailbox.gob:818
-msgid "server did not send status"
-msgstr "serwer nie wysłał stanu"
+#: ../src/mn-imap-mailbox.gob:1079
+#, c-format
+msgid ""
+"the remote server runs %s, the IDLE extension might not function properly"
+msgstr ""
-#: src/mn-imap-mailbox.gob:1096 src/mn-pop3-mailbox.gob:972
-msgid "unknown server error"
-msgstr "nieznany błąd serweru"
+#: ../src/mn-imap-mailbox.gob:1088
+msgid "the remote server does not support the IDLE extension, logging out"
+msgstr ""
-#: src/mn-imap-mailbox.gob:1198 src/mn-pop3-mailbox.gob:227
+#: ../src/mn-imap-mailbox.gob:1590 ../src/mn-pop3-mailbox.gob:309
msgid "server does not support in-band SSL/TLS"
msgstr "serwer nie popiera wewnątrzpasmowego SSL/TSL"
-#: src/mn-imap-mailbox.gob:1217 src/mn-pop3-mailbox.gob:885
+#: ../src/mn-imap-mailbox.gob:1614 ../src/mn-pop3-mailbox.gob:1080
msgid ""
"a SASL authentication mechanism was selected but SASL support has not been "
"compiled in"
-msgstr ""
-"wybrany został nieobsługiwany mechanizm potwierdzania tożsamości SASL"
+msgstr "wybrany został nieobsługiwany mechanizm potwierdzania tożsamości SASL"
-#: src/mn-imap-mailbox.gob:1225 src/mn-pop3-mailbox.gob:897
+#: ../src/mn-imap-mailbox.gob:1624 ../src/mn-pop3-mailbox.gob:1100
#, c-format
msgid "unknown authentication mechanism \"%s\""
msgstr "nieznany mechanizm potwierdzenia tożsamości \"%s\""
-#: src/mn-imap-mailbox.gob:1246
+#: ../src/mn-imap-mailbox.gob:1656 ../src/mn-pop3-mailbox.gob:1136
+#, c-format
+msgid "disabling mechanism \"%s\" and retrying SASL authentication"
+msgstr "wyłączam mechanizm \"%s\"i ponawiam potwierdzenie tożsamości SASL"
+
+#: ../src/mn-imap-mailbox.gob:1668
msgid "falling back to IMAP LOGIN authentication"
msgstr "powrót do potwierdzenia tożsamości IMAP LOGIN"
-#: src/mn-imap-mailbox.gob:1257 src/mn-pop3-mailbox.gob:938
-msgid "authentication failed"
-msgstr "logowanie nie udało się"
+#: ../src/mn-imap-mailbox.gob:1724 ../src/mn-pop3-mailbox.gob:744
+#, c-format
+msgid "cannot retrieve %i message"
+msgid_plural "cannot retrieve %i messages"
+msgstr[0] "nie mogę odczytać %i wiadomości"
+msgstr[1] "nie mogę odczytać %i wiadomości"
+msgstr[2] "nie mogę odczytać %i wiadomości"
+
+#. translators: header capitalization
+#: ../src/mn-mail-icon.gob:86
+msgid "_Mail Reader"
+msgstr "Otwórz program pocztowy"
+
+#. translators: header capitalization
+#: ../src/mn-mail-icon.gob:88
+msgid "_Open Latest Message"
+msgstr "_Otwórz ostatnią wiadomość"
-#: src/mn-mail-icon.gob:92 ui/summary-dialog.glade.h:2
-msgid "_Launch Mail Reader"
-msgstr "_Uruchom program pocztowy"
+#. translators: header capitalization
+#: ../src/mn-mail-icon.gob:93
+msgid "_Consider New Mail as Read"
+msgstr "Uznaj nową pocztę za przeczytaną"
-#: src/mn-mail-icon.gob:93 ui/summary-dialog.glade.h:3
+#. translators: header capitalization
+#: ../src/mn-mail-icon.gob:95 ../src/mn-mailbox-view.gob:312
msgid "_Update"
msgstr "_Odśwież"
-#: src/mn-mail-icon.gob:99
+#. translators: header capitalization
+#: ../src/mn-mail-icon.gob:106
msgid "R_emove From Notification Area"
msgstr "U_suń z obszaru powiadomienia"
-#: src/mn-mailbox-properties-dialog.c:109
-msgid "Add a Mailbox"
-msgstr "Dodaj skrzynkę pocztową"
-
-#: src/mn-mailbox-properties-dialog.c:328
+#. translators: header capitalization
+#: ../src/mn-mailbox-properties-dialog.gob:106
#, c-format
msgid "%s Properties"
msgstr "Właściwości %s"
-#: src/mn-mailbox-properties-util.c:77 ui/authentication.glade.h:4
-msgid "_Username:"
-msgstr "_Użytkownik:"
+#. translators: header capitalization
+#: ../src/mn-mailbox-properties-dialog.gob:210
+msgid "Add a Mailbox"
+msgstr "Dodaj skrzynkę pocztową"
-#: src/mn-mailbox-properties-util.c:87 ui/authentication.glade.h:3
-msgid "_Password:"
-msgstr "_Hasło:"
+#: ../src/mn-mailbox-properties-dialog.gob:585
+msgid "_Default:"
+msgstr "Domyślna:"
-#: src/mn-mailbox-properties-util.c:154
-msgid "Connection type:"
-msgstr "Konfiguracja serwera:"
+#: ../src/mn-mailbox-properties-dialog.gob:587
+#: ../ui/mailbox-properties-dialog.glade.h:9
+msgid "_Default"
+msgstr "_Domyślna"
-#: src/mn-mailbox-properties-util.c:161
-msgid "Port:"
-msgstr "Port:"
+#: ../src/mn-mailbox-properties-dialog.gob:614
+msgid "D_efault:"
+msgstr "D_omyślnie:"
-#: src/mn-mailbox-properties-util.c:189
-msgid "_Authentication mechanism:"
-msgstr "Uwierzytelnianie:"
+#: ../src/mn-mailbox-properties-dialog.gob:618
+#: ../ui/mailbox-properties-dialog.glade.h:4
+msgid "D_efault"
+msgstr "Domyś_lnie"
-#: src/mn-mailbox-properties.c:63
-msgid "Label"
-msgstr "Opis"
+#: ../src/mn-mailbox-view.gob:249
+msgid "A paste error has occurred"
+msgstr "Wystąpił błąd wklejania"
-#: src/mn-mailbox-properties.c:64
-msgid "The marked up text to show in the type combo box"
-msgstr "Tekst oznaczony do pokazania się w okienku typu combo"
+#: ../src/mn-mailbox-view.gob:571
+#, c-format
+msgid "unhandled %s mailbox (%s)"
+msgstr "nieobsługiwany typ %s skrzynki (%s)"
-#: src/mn-mailbox-properties.c:69
-msgid "Size group"
-msgstr "Grupa rozmiaru"
+#: ../src/mn-mailbox-view.gob:575
+#, c-format
+msgid "%s mailbox"
+msgstr "Skrzynka %s"
-#: src/mn-mailbox-properties.c:70
-msgid "A GtkSizeGroup for aligning control labels"
-msgstr "GtkSizeGroup dla wyrównania etykiet kontroli"
+#: ../src/mn-mailbox-view.gob:586
+msgid "detecting mailbox type..."
+msgstr "wykrywanie rodzaju skrzynki..."
-#: src/mn-mailbox-properties.c:75
-msgid "Complete"
-msgstr "Skończonę"
+#: ../src/mn-mailbox.gob:565
+#, c-format
+msgid "\"type\" attribute missing"
+msgstr "brakuje atrybuty \"type\""
-#: src/mn-mailbox-properties.c:76
-msgid "Whether the properties are completely filled or not"
-msgstr "Czy właściwości są całkowicię wypełnione czy nie"
+#: ../src/mn-mailbox.gob:572
+#, c-format
+msgid "unknown mailbox type \"%s\""
+msgstr "nieznany typ skrzynki \"%s\""
-#: src/mn-mailbox-view.gob:263 src/mn-message-box.gob:61
-msgid "Mailbox"
-msgstr "Skrzynka pocztowa"
+#: ../src/mn-mailbox.gob:971
+#, c-format
+msgid "property \"%s\" has no value"
+msgstr "właściwość \"%s\" nie ma żadnej wartości"
-#. format column
-#: src/mn-mailbox-view.gob:279
-msgid "Format"
-msgstr "Format"
+#: ../src/mn-mailbox.gob:1050 ../src/mn-mailbox.gob:1068
+#: ../src/mn-shell.gob:624
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
-#: src/mn-mailbox-view.gob:569
-msgid "Unable to add mailbox"
-msgstr "Niezdolny dodać skrzynkę pocztową"
+#: ../src/mn-mailboxes.gob:248
+msgid "An error has occurred while importing old mailboxes"
+msgstr "Wystąpił błąd podczas importowania skrzynek pocztowych"
-#: src/mn-mailbox-view.gob:569
-msgid "The mailbox is already in the list."
-msgstr "Skrzynka pocztowa już jest w spisie."
+#: ../src/mn-mailboxes.gob:303
+msgid "Unable to load the mailboxes configuration"
+msgstr "Nie mogę załadować konfiguracji skrzynek"
-#: src/mn-mailbox.gob:130
-msgid "The mailbox URI"
-msgstr "URI skrzynki pocztowej"
+#: ../src/mn-mailboxes.gob:350
+#, c-format
+msgid "Unable to parse the XML document."
+msgstr "Nie mogę przetworzyć dokumentu XML."
-#: src/mn-mailbox.gob:141
-msgid "The mailbox human-readable name"
-msgstr "Ludzko-czytelne imię skrzynki pocztowej"
+#: ../src/mn-mailboxes.gob:357
+#, c-format
+msgid "The root element is missing."
+msgstr "Brak elementu korzenia."
-#: src/mn-mailbox.gob:145
-msgid "Whether the mailbox has to be polled or not"
-msgstr "Czy skrzynka pocztowa była sprawdzona czy nie"
+#: ../src/mn-mailboxes.gob:363
+#, c-format
+msgid "The root element \"%s\" is invalid."
+msgstr "Element korzenia \"%s\" jest nieprawidłowy."
-#: src/mn-mailbox.gob:151
-msgid "Whether the mailbox has new mail or not"
-msgstr "Czy skrzynka pocztowa ma nową pocztę czy nie"
+#: ../src/mn-mailboxes.gob:385
+#, c-format
+msgid "On line %i: %s."
+msgstr ""
-#: src/mn-mailbox.gob:156
-msgid "The list of new and unread MNMessage objects"
-msgstr "Spis przeczytanych i nie przeczytanych obiektów MNMessage"
+#: ../src/mn-mailboxes.gob:390
+#, c-format
+msgid "On line %i: unknown element \"%s\"."
+msgstr ""
-#: src/mn-mailbox.gob:210
-msgid "The mailbox error, if any"
-msgstr "Błąd skrzynki pocztowej, jeżeli wszelki"
+#: ../src/mn-mailboxes.gob:399
+msgid "An error has occurred while loading the mailboxes configuration"
+msgid_plural "Errors have occurred while loading the mailboxes configuration"
+msgstr[0] "Wystąpił błąd podczas odczytywania konfiguracji skrzynek"
+msgstr[1] "Wystąpiły błądy podczas odczytywania konfiguracji skrzynek"
+msgstr[2] "Wystąpiły błądy podczas odczytywania konfiguracji skrzynek"
-#: src/mn-mailbox.gob:309
-msgid "does not exist"
-msgstr "nie istnieje"
+#: ../src/mn-mailboxes.gob:424
+msgid "Unable to save the mailboxes configuration"
+msgstr "Nie można zapisać konfiguracji skrzynek"
-#: src/mn-mailbox.gob:341
-msgid "unknown format"
-msgstr "nieznany format"
+#: ../src/mn-mailboxes.gob:469 ../src/mn-vfs.c:233
+#, c-format
+msgid "Unable to remove %s: %s."
+msgstr "Nie można usunąć %s: %s"
-#: src/mn-mailbox.gob:407
+#: ../src/mn-mailboxes.gob:477
#, c-format
-msgid "unable to enable immediate notification for %s: %s"
-msgstr "niezdolny umożliwić natychmiastowę zawiadomienie dla %s: %s"
+msgid "Unable to create %s: %s."
+msgstr "Nie można utworzyć %s: %s"
-#: src/mn-mailbox.gob:425
+#: ../src/mn-mailboxes.gob:484
#, c-format
-msgid ""
-"As a fallback, they will be checked every %i second (this delay is "
-"configurable from the Properties Dialog)."
-msgid_plural ""
-"As a fallback, they will be checked every %i seconds (this delay is "
-"configurable from the Properties Dialog)."
-msgstr[0] ""
-"Pod reżimem awaryjnym, one będą sprawdzanę co każdą %i sekundę (ta zwłoka "
-"może być skonfigurowana w Dialogu Właściowści)."
-msgstr[1] ""
-"Pod reżimem awaryjnym, one będą sprawdzanę co każdę %i sekund (ta zwłoka "
-"może być skonfigurowana w Dialogu Właściowści)."
-msgstr[2] ""
-"Pod reżimem awaryjnym, one będą sprawdzanę co każdę %i sekundy (ta zwłoka "
-"może być skonfigurowana w Dialogu Właściowści)."
+msgid "Unable to open %s for writing: %s."
+msgstr "Nie można otworzyć %s w trybie do zapisu: %s"
-#: src/mn-mailbox.gob:436
+#: ../src/mn-mailboxes.gob:491
#, c-format
-msgid ""
-"As a fallback, they will be checked every %i minute (this delay is "
-"configurable from the Properties Dialog)."
-msgid_plural ""
-"As a fallback, they will be checked every %i minutes (this delay is "
-"configurable from the Properties Dialog)."
-msgstr[0] ""
-"Pod reżimem awaryjnym, one będą sprawdzanę co każdą %i minutę (ta zwłoka "
-"może być skonfigurowana w Dialogu Właściowści)."
-msgstr[1] ""
-"Pod reżimem awaryjnym, one będą sprawdzanę co każdę %i minut (ta zwłoka może "
-"być skonfigurowana w Dialogu Właściowści)."
-msgstr[2] ""
-"Pod reżimem awaryjnym, one będą sprawdzanę co każdę %i minuty (ta zwłoka "
-"może być skonfigurowana w Dialogu Właściowści)."
+msgid "Unable to write the XML document."
+msgstr "Nie można zapisać dokumentu XML."
-#: src/mn-mailbox.gob:447
+#: ../src/mn-mailboxes.gob:497
#, c-format
-msgid ""
-"As a fallback, they will be checked approximately every %i minute (this "
-"delay is configurable from the Properties Dialog)."
-msgid_plural ""
-"As a fallback, they will be checked approximately every %i minutes (this "
-"delay is configurable from the Properties Dialog)."
-msgstr[0] ""
-"Pod reżimem awaryjnym, one będą sprawdzanę co mniej więcej każdą %i minutę "
-"(ta zwłoka może być skonfigurowana w Dialogu Właściowści)."
-msgstr[1] ""
-"Pod reżimem awaryjnym, one będą sprawdzanę co mniej więcej każdę %i minut "
-"(ta zwłoka może być skonfigurowana w Dialogu Właściowści)."
-msgstr[2] ""
-"Pod reżimem awaryjnym, one będą sprawdzanę co mniej więcej każdę %i minuty "
-"(ta zwłoka może być skonfigurowana w Dialogu Właściowści)."
+msgid "Unable to close %s: %s."
+msgstr "Nie można zamknąć %s: %s"
-#: src/mn-mailbox.gob:463
-msgid "A monitoring error has occurred"
-msgstr "Wydarzył się błąd nasłuchowy"
+#: ../src/mn-mailboxes.gob:507 ../src/mn-mailboxes.gob:514 ../src/mn-vfs.c:251
+#: ../src/mn-vfs.c:259
+#, c-format
+msgid "Unable to rename %s to %s: %s."
+msgstr "Nie można zmienić nazwy z %s na %s: %s"
-#: src/mn-mailbox.gob:464
+#. non fatal
+#: ../src/mn-mailboxes.gob:520 ../src/mn-vfs.c:269
#, c-format
-msgid ""
-"Mail Notification was unable to enable immediate notification for one or "
-"more mailboxes. %s"
-msgstr ""
-"Zawiadomienie pocztowe było niezdolnę umożliwić natychmiastowę zawiadomienie "
-"jednej albo większej ilość skrzynek pocztowych. %s"
+msgid "unable to delete %s: %s"
+msgstr "Nie można usunąć %s: %s"
-#: src/mn-mailboxes.gob:142
-msgid "Whether one or more of the mailboxes has to be polled"
-msgstr "Czy jedna lub więcej szkrzynek pocztowych była sprawdzona czy nie"
+#: ../src/mn-mailboxes.gob:550
+#, c-format
+msgid "%s has %i new message"
+msgid_plural "%s has %i new messages"
+msgstr[0] "%s ma %i nową wiadomość"
+msgstr[1] "%s ma %i nowe wiadomości"
+msgstr[2] "%s ma %i nowych wiadomości"
-#: src/mn-mailboxes.gob:272
+#: ../src/mn-mailboxes.gob:576
#, c-format
-msgid "%s is unsupported: %s"
-msgstr "%s jest nieobsługiwane: %s"
+msgid "%s reported an error: %s"
+msgstr "%s zgłosiło błąd: %s"
-#: src/mn-mailboxes.gob:304
+#: ../src/mn-maildir-mailbox-backend.gob:127
#, c-format
-msgid "%s has new mail"
-msgstr "%s ma nową pocztę"
+msgid "unable to open folder \"%s\": %s"
+msgstr "nie można otworzyć folderu \"%s\": %s"
-#: src/mn-mailboxes.gob:304
+#: ../src/mn-maildir-mailbox-backend.gob:219
#, c-format
-msgid "%s has no new mail"
-msgstr "%s nie ma nowej poczty"
+msgid "unable to close folder \"%s\": %s"
+msgstr "nie można zamknąć folderu \"%s\": %s"
-#: src/mn-mailboxes.gob:330
+#: ../src/mn-maildir-mailbox-backend.gob:222
#, c-format
-msgid "%s reported an error: %s"
-msgstr "%s zgłosiło błąd: %s"
+msgid "error while reading folder \"%s\": %s"
+msgstr "błąd podczas czytania folderu \"%s\": %s"
-#: src/mn-maildir-mailbox.gob:119
+#: ../src/mn-maildir-mailbox-backend.gob:253
+#: ../src/mn-mh-mailbox-backend.gob:210
+#: ../src/mn-sylpheed-mailbox-backend.gob:311
#, c-format
-msgid "unable to open folder \"new\": %s"
-msgstr "niezdolny otworzyć teczkę \"new\": %s"
+msgid "cannot read %i message"
+msgid_plural "cannot read %i messages"
+msgstr[0] "Nie można przeczytać %i wiadomości"
+msgstr[1] "Nie można przeczytać %i wiadomości"
+msgstr[2] "Nie można przeczytać %i wiadomości"
+
+#: ../src/mn-maildir-message.gob:159
+msgid "Delete message?"
+msgstr "Usunąć wiadomość?"
-#: src/mn-maildir-mailbox.gob:161
+#: ../src/mn-maildir-message.gob:225
+msgid "The message cannot be moved to the trash. Permanently delete it?"
+msgstr "Wiadomość nie może zostać przesunięta do kosza. Usunąć ją całkowicie?"
+
+#: ../src/mn-maildir-message.gob:250
#, c-format
-msgid "unable to close folder \"new\": %s"
-msgstr "niezdolny zamknąć teczkę \"new\": %s"
+msgid ""
+"The message could not be moved to the trash (%s). Permanently delete it?"
+msgstr ""
+"Wiadomość nie może zostać przesunięta do kosza (%s). Usunąć ją całkowicie?"
+
+#: ../src/mn-main.c:76
+msgid "yes"
+msgstr "tak"
+
+#: ../src/mn-main.c:76
+msgid "no"
+msgstr "nie"
-#: src/mn-maildir-mailbox.gob:164
+#: ../src/mn-main.c:107
#, c-format
-msgid "error while reading folder \"new\": %s"
-msgstr "błąd podczas czytania teczki \"new\": %s"
+msgid "%s version %s\n"
+msgstr "%s wersja %s\n"
-#: src/mn-main.c:99
+#: ../src/mn-main.c:112
#, c-format
-msgid "Compiled-in mailbox backends: %s\n"
-msgstr "Wkompilowanę wewnętrzne cechy skrzynki pocztowej: %s\n"
+msgid "Mailbox backends:\n"
+msgstr "Backendy skrzynki:\n"
-#: src/mn-main.c:116
+#: ../src/mn-main.c:117
#, c-format
-msgid "Compiled-in features: %s\n"
-msgstr "Wkompilowanę cechy: %s\n"
+msgid "IMAP and POP3 features:\n"
+msgstr "Właściwości IMAP i POP3:\n"
-#: src/mn-main.c:175
-msgid "Enable informational output"
-msgstr "Umożliw informacyjny wydruk"
+#: ../src/mn-main.c:204
+#, c-format
+msgid "Unable to contact the running Mail Notification instance: %s."
+msgstr ""
+"Nie można skontaktować się z uruchomionym procesem Zawiadomienia Pocztowego: "
+"%s."
+
+#: ../src/mn-main.c:244
+#, c-format
+msgid "%s option ignored since Mail Notification is not already running"
+msgstr ""
+"Opcja %s jest zignorowana, ponieważ Zawiadomienie Pocztowe nie jest "
+"uruchomione"
-#: src/mn-main.c:184
-msgid "List compiled-in features and exit"
-msgstr "Wydrukuj spis wkompilowanych cech i zakończ"
+#: ../src/mn-main.c:347
+msgid "Show version information"
+msgstr "Pokaż informacje o wersji"
-#: src/mn-main.c:193
-msgid "Display the mail summary dialog"
-msgstr "Wyświetlij dialog streszczenia poczty"
+#: ../src/mn-main.c:356
+msgid "Enable informational output"
+msgstr "Umożliw informacyjny wydruk"
-#: src/mn-main.c:202
+#: ../src/mn-main.c:365
msgid "Display the properties dialog"
msgstr "Wyświetlij dialog właściwości"
-#: src/mn-main.c:211
+#: ../src/mn-main.c:374
msgid "Display the about dialog"
msgstr "Wyświetlij dialog \"O\""
-#: src/mn-main.c:220
-msgid "Close the mail summary popup"
-msgstr "Zamknij wyskakujące okienko streszczenia poczty"
+#: ../src/mn-main.c:383
+msgid "Consider new mail as read"
+msgstr "Uznaj nową pocztę za przeczytaną"
-#: src/mn-main.c:229
+#: ../src/mn-main.c:392
msgid "Update the mail status"
msgstr "Odśwież stan poczty"
-#: src/mn-main.c:238
-msgid "Report the mail status"
-msgstr "Zgłoś stan poczty"
+#: ../src/mn-main.c:401
+msgid "Print a XML mail summary"
+msgstr "Wydrukuj podsumowanie XML"
-#: src/mn-main.c:247
-msgid "Unset obsolete GConf configuration and exit"
-msgstr "Usuń przestarzałą konfigurację GConf i zakończ"
+#: ../src/mn-main.c:410
+msgid "Unset obsolete GConf configuration"
+msgstr "Usuń przestarzałą konfigurację GConf"
+
+#: ../src/mn-main.c:419
+msgid "Quit Mail Notification"
+msgstr "Zakończ powiadomienie pocztowe"
#.
-#. * We can't use mn_error_dialog() because gtk_init() has not been
-#. * called yet.
+#. * We cannot use mn_fatal_error_dialog() because gtk_init() has
+#. * not been called yet.
#.
-#: src/mn-main.c:273
+#: ../src/mn-main.c:445
msgid "multi-threading is not available"
msgstr "wielowątkowość nie jest dostępna "
-#: src/mn-main.c:320
-msgid ""
-"Bonobo could not locate the automation object. Please check your Mail "
-"Notification installation."
-msgstr ""
-"Bonobo nie potrafiło znaleźć obiektu automatyzacyjnego. Proszę sprawdzić "
-"instalację Zawiadomienie pocztowego"
+#: ../src/mn-main.c:486
+msgid "Mail Notification is not running"
+msgstr "Zawiadomienie pocztowe nie jest uruchomione."
-#: src/mn-main.c:325
+#: ../src/mn-main.c:498
msgid "Unable to initialize the GnomeVFS library."
msgstr "Niezdolny do inicjalizacji biblioteki GnomeVFS."
-#: src/mn-main.c:361
+#: ../src/mn-main.c:511
+msgid "An initialization error has occurred in Mail Notification"
+msgstr "Wystąpił błąd w inicjalizacji Zawiadomienia Pocztowego"
+
+#: ../src/mn-main.c:512
+msgid ""
+"Unable to initialize the notification library. Message popups will not be "
+"displayed."
+msgstr ""
+"Nie można zainicjować biblioteki powiadomień. Wyskakujące okienka nie będą "
+"wyświetlane."
+
+#: ../src/mn-main.c:557
+msgid "quitting Mail Notification"
+msgstr "kończę Zawiadomienie Pocztowe"
+
+#: ../src/mn-main.c:576
+msgid "considering new mail as read"
+msgstr "uznaję nową pocztę za przeczytaną"
+
+#: ../src/mn-main.c:581
msgid "updating the mail status"
msgstr "odświeżanie stanu poczty"
-#: src/mn-main.c:379
+#: ../src/mn-main.c:598
msgid "Mail Notification is already running"
msgstr "Zawiadomienie pocztowe jest już uruchomione."
-#: src/mn-main.c:386
-msgid ""
-"Bonobo could not locate the GNOME_MailNotification_Automation.server file. "
-"Please check your Mail Notification installation."
-msgstr ""
-"Bonobo nie mogło znaleźć pliku GNOME_MailNotification_Automation.server."
-"Proszę sprawdzić swoją instalację Zawiadomienia Pocztowego."
-
-#: src/mn-main.c:390
-msgid ""
-"Bonobo was unable to register the automation server. Please check your Mail "
-"Notification installation."
-msgstr ""
-"Bonobo nie potrafiło zarejestrować serwera automatyzacyjnego. Proszę "
-"sprawdzić instalację Zawiadomienia Pocztowego"
-
-#: src/mn-mbox-mailbox.gob:221
+#: ../src/mn-message-mime.c:173
#, c-format
-msgid "error while reading mailbox: %s"
-msgstr "błąd podczas odczytywania skrzynki pocztowej: %s"
+msgid "unable to parse MIME message"
+msgstr "niezdolny do zrobienia rozbioru wiadomości MIME"
-#: src/mn-mbox-mailbox.gob:230
-#, c-format
-msgid "unable to open mailbox: %s"
-msgstr "niezdolny otworzyć skrzynkę pocztową: %s"
+#. translators: header capitalization
+#: ../src/mn-message.gob:97
+msgid "Open"
+msgstr "Otwórz"
-#: src/mn-message-box.gob:64
-msgid "Unreadable message"
-msgstr "Nieczytalna wiadomość"
+#: ../src/mn-message.gob:98
+msgid "Unable to open message"
+msgstr "Nie można otworzyć wiadomości"
-#: src/mn-message-box.gob:69
-msgid "From"
-msgstr "Nadawca"
+#. translators: header capitalization
+#: ../src/mn-message.gob:107
+msgid "Mark as Read"
+msgstr "Oznacz jako przeczytane"
-#: src/mn-message-box.gob:70
-msgid "Subject"
-msgstr "Temat wiadomości"
+#: ../src/mn-message.gob:108
+msgid "Unable to mark message as read"
+msgstr "Nie można oznaczyć wiadomości jako przeczytanej"
-#: src/mn-message-box.gob:75
-msgid "Sent"
-msgstr "Wysłano"
+#. translators: header capitalization
+#: ../src/mn-message.gob:117
+msgid "Mark as Spam"
+msgstr "Oznacz jako spam"
-#: src/mn-message-box.gob:192
-#, c-format
-msgid "about %i second ago"
-msgid_plural "about %i seconds ago"
-msgstr[0] "%i sekundę temu"
-msgstr[1] "%i sekundy temu"
-msgstr[2] "%i sekund temu"
+#: ../src/mn-message.gob:118 ../src/mn-message.gob:128
+msgid "Unable to mark message as spam"
+msgstr "Nie można oznaczyć wiadomości jako spam"
-#: src/mn-message-box.gob:196
-#, c-format
-msgid "about %i minute ago"
-msgid_plural "about %i minutes ago"
-msgstr[0] "%i minutę temu"
-msgstr[1] "%i minuty temu"
-msgstr[2] "%i minut temu"
+#. translators: header capitalization
+#: ../src/mn-message.gob:127
+msgid "Delete"
+msgstr ""
-#: src/mn-message-box.gob:201
+#: ../src/mn-message.gob:336 ../src/mn-sound-player.gob:133
+#: ../src/mn-sound-player.gob:169 ../src/mn-util.c:1577
#, c-format
-msgid "about %i hour ago"
-msgid_plural "about %i hours ago"
-msgstr[0] "%i godzinę temu"
-msgstr[1] "%i godziny temu"
-msgstr[2] "%i godzin temu"
+msgid "Unable to execute \"%s\": %s."
+msgstr "Niezdolny do wykonania \"%s\": %s"
-#: src/mn-message-box.gob:206
+#: ../src/mn-mh-mailbox-backend.gob:219
#, c-format
-msgid "about %i day ago"
-msgid_plural "about %i days ago"
-msgstr[0] "%i dzień temu"
-msgstr[1] "%i dni temu"
-msgstr[2] "%i dni temu"
+msgid "error while reading %s: %s"
+msgstr "błąd podczas czytania %s: %s"
-#: src/mn-message-box.gob:211
+#: ../src/mn-mh-mailbox-backend.gob:243 ../src/mn-webmail-mailbox.gob:276
#, c-format
-msgid "%i week ago"
-msgid_plural "%i weeks ago"
-msgstr[0] "%i tydzień temu"
-msgstr[1] "%i tygodni temu"
-msgstr[2] "%i tygodnie temu"
+msgid "unable to open %s: %s"
+msgstr "nie można otworzyć %s: %s"
-#: src/mn-message-mime.c:105
-msgid "unable to parse MIME message"
-msgstr "niezdolny do zrobienia rozbioru wiadomości MIME"
-
-#: src/mn-message.gob:101
-msgid "Unknown"
-msgstr "Nieznany"
+#: ../src/mn-pi-mailbox-properties.gob:73
+msgid "_Standard"
+msgstr "_Standard"
-#: src/mn-mh-mailbox.gob:184
-#, c-format
-msgid "error while reading .mh_sequences: %s"
-msgstr "błąd podczas czytania .mh_sequences: %s"
+#: ../src/mn-pi-mailbox-properties.gob:74
+msgid "In-_band SSL/TLS"
+msgstr "Wewnętrzne SSL/TLS"
-#: src/mn-mh-mailbox.gob:196
-#, c-format
-msgid "unable to open .mh_sequences: %s"
-msgstr "niezdolny do otwarcia .mh_sequences: %s"
+#: ../src/mn-pi-mailbox-properties.gob:75
+msgid "SSL/TLS on s_eparate port"
+msgstr "SSL/TLS na oddzielnym porcie"
-#: src/mn-pending-mailbox.gob:35
-msgid "detecting"
-msgstr "odkrywanie"
+#: ../src/mn-pi-mailbox-properties.gob:79
+msgid "_Server:"
+msgstr "_Serwer:"
-#: src/mn-pi-mailbox-properties.gob:76
-msgid "_Hostname:"
-msgstr "Nazwa serwera:"
+#. translators: header capitalization
+#: ../src/mn-pi-mailbox-properties.gob:99
+msgid "Connection Type"
+msgstr "Typ połączenia"
-#: src/mn-pi-mailbox-properties.gob:94
-msgid "_Details"
-msgstr "_Szczegóły"
+#: ../src/mn-pi-mailbox-properties.gob:146
+msgid "Port:"
+msgstr "Port:"
-#: src/mn-pi-mailbox-properties.gob:106
-msgid "sta_ndard"
-msgstr "bez szyfrowania"
+#. translators: header capitalization
+#: ../src/mn-pi-mailbox-properties.gob:173
+msgid "Authentication"
+msgstr "Autoryzacja"
-#: src/mn-pi-mailbox-properties.gob:116
-msgid "_in-band SSL/TLS"
-msgstr "wewnątrzpasmowy TLS"
+#: ../src/mn-pi-mailbox-properties.gob:177
+msgid "_Mechanism:"
+msgstr "_Mechanizm:"
-#: src/mn-pi-mailbox-properties.gob:126
-msgid "SSL/TLS on sepa_rate port"
-msgstr "SSL/TLS na oddzielnym porcie"
+#: ../src/mn-pi-mailbox-properties.gob:211
+msgid "Connection"
+msgstr "Połączenie"
-#: src/mn-pop3-mailbox-properties.gob:86
-msgid "The hostname or IP address of the POP3 server"
-msgstr "Imię lub adres IP serwera POP3"
+#: ../src/mn-pi-mailbox.gob:147
+msgid "SSL/TLS support has not been compiled in"
+msgstr "Protokół SSL/TLS nie jest obsługiwany"
-#: src/mn-pop3-mailbox-properties.gob:87
-msgid "Your username on the POP3 server"
-msgstr "Twoję imię użytkownika na serwerze POP3"
+#: ../src/mn-pi-mailbox.gob:305
+msgid "missing certificate"
+msgstr "brak certyfikatu"
-#: src/mn-pop3-mailbox-properties.gob:88
+#: ../src/mn-pi-mailbox.gob:339
+#, c-format
msgid ""
-"Your password on the POP3 server (if left blank, you will be prompted for "
-"the password when needed)"
+"Mail Notification was unable to trust \"%s\" (%s). It is possible that "
+"someone is intercepting your communication to obtain your confidential "
+"information.\n"
+"\n"
+"You should only connect to the server if you are certain you are connected "
+"to \"%s\". If you choose to connect to the server, this message will not be "
+"shown again."
msgstr ""
-"Twoje hasło na serwerze POP3 (jeśli pozostawionę pustę, to będziesz zapytany "
-"o hasło wtedy kiedy będzie potrzebnę)"
+"Zawiadomienie pocztowe nie mogło zaufać \"%s\" (%s). Jest możliwe że ktoś "
+"przechwyta twoje komunikacje żeby uzyskać twoją konfidencjalną informację.\n"
+"\n"
+"Powinieneś się tylko łączyć z serwerem jeśli jesteś pewny że jesteś "
+"połączony z \"%s\". Jeśli się połączysz z tym serwerem, ta wiadomość nie "
+"będzie pokazana powtórnie."
+
+#: ../src/mn-pi-mailbox.gob:353
+#, c-format
+msgid "Certificate fingerprint: %s."
+msgstr "Odcisk palca certyfikatu: %s"
-#: src/mn-pop3-mailbox-properties.gob:89 src/mn-pop3-mailbox-properties.gob:90
-msgid "The port number of the POP3 server"
-msgstr "Numer portu serweru POP3"
+#: ../src/mn-pi-mailbox.gob:360
+msgid "Connect to untrusted server?"
+msgstr "Połączyć się z niezaufanym serwerem?"
-#: src/mn-pop3-mailbox.gob:273
+#: ../src/mn-pop3-mailbox.gob:359
msgid "invalid arguments for the LOGIN-DELAY capability"
msgstr "nieważne argumenty do zdolności LOGIN-DELAY"
-#: src/mn-pop3-mailbox.gob:590
-msgid "unknown error"
-msgstr "nieznany błąd"
+#.
+#. * Some servers violate RFC 2449 by not supporting a
+#. * second argument to the AUTH command. Support these
+#. * servers nevertheless, by retrying without the SASL
+#. * initial client response.
+#.
+#: ../src/mn-pop3-mailbox.gob:500
+msgid ""
+"SASL authentication with initial client response failed, retrying without "
+"initial client response"
+msgstr ""
+"Autentykacja SASL z pierwszą odpowiedzią klienta zawiodła, próbuję jeszcze "
+"raz bez pierwszej odpowiedzi."
-#: src/mn-pop3-mailbox.gob:729
+#: ../src/mn-pop3-mailbox.gob:920
#, c-format
msgid "honouring LOGIN-DELAY, sleeping for %i second"
msgid_plural "honouring LOGIN-DELAY, sleeping for %i seconds"
@@ -1314,39 +1412,61 @@ msgstr[0] "honorujemy LOGIN-DELAY, śpimy przez %i sekundę"
msgstr[1] "honorujemy LOGIN-DELAY, śpimy przez %i sekund"
msgstr[2] "honorujemy LOGIN-DELAY, śpimy przez %i sekundy"
-#: src/mn-pop3-mailbox.gob:893
+#: ../src/mn-pop3-mailbox.gob:1092
msgid "server does not support APOP authentication"
msgstr "serwer nie popiera potwierdzenia tożsamości APOP"
-#: src/mn-pop3-mailbox.gob:922
+#: ../src/mn-pop3-mailbox.gob:1148
msgid "falling back to APOP authentication"
msgstr "wycofanię do potwierdzenia tożsamości APOP"
-#: src/mn-pop3-mailbox.gob:927
+#: ../src/mn-pop3-mailbox.gob:1153
msgid "falling back to USER/PASS authentication"
msgstr "wycofanię do potwierdzenia tożsamości USER/PASS"
-#: src/mn-properties.c:193
-msgid "top left"
-msgstr "lewy górny róg ekranu"
+#: ../src/mn-popup.gob:45 ../src/mn-standard-message-view.gob:39
+msgid "Mailbox:"
+msgstr "Skrzynka pocztowa:"
+
+#: ../src/mn-popup.gob:46 ../src/mn-standard-message-view.gob:40
+msgid "From:"
+msgstr "Nadawca:"
+
+#: ../src/mn-popup.gob:47 ../src/mn-standard-message-view.gob:41
+msgid "Subject:"
+msgstr "Temat wiadomości:"
-#: src/mn-properties.c:194
-msgid "top right"
-msgstr "prawy górny róg ekranu"
+#: ../src/mn-popup.gob:96
+#, c-format
+msgid "configuration key %s: there is no action named \"%s\""
+msgstr "klucz konfiguracyjny %s: nie ma akcji o nazwie \"%s\""
-#: src/mn-properties.c:195
-msgid "bottom left"
-msgstr "lewy dolny róg ekranu"
+#: ../src/mn-popup.gob:176
+#, c-format
+msgid "unable to show popup: %s"
+msgstr "nie można pokazać okienka popup: %s"
-#: src/mn-properties.c:196
-msgid "bottom right"
-msgstr "prawy dolny róg ekranu"
+#: ../src/mn-popup.gob:194
+#, c-format
+msgid "unable to close popup: %s"
+msgstr "nie można zamknąć okienka popup: %s"
+
+#. we set the summary here because libnotify requires it
+#. translators: header capitalization
+#: ../src/mn-popup.gob:205
+msgid "New Message"
+msgstr "Nowa wiadomość"
-#: src/mn-properties.c:287
+#. translators: header capitalization
+#: ../src/mn-properties-dialog.gob:114 ../ui/properties-dialog.glade.h:18
+msgid "Mail Notification Properties"
+msgstr "Właściwości Zawiadomienia Pocztowego"
+
+#: ../src/mn-properties-dialog.gob:232
msgid "No mailbox selected."
msgstr "Żadna skrzynka pocztowa nie została wybrana."
-#: src/mn-properties.c:292
+#: ../src/mn-properties-dialog.gob:237
#, c-format
msgid "%i mailbox selected."
msgid_plural "%i mailboxes selected."
@@ -1354,588 +1474,1232 @@ msgstr[0] "%i skrzynka pocztowa wybrana"
msgstr[1] "%i skrzynki pocztowe wybrane"
msgstr[2] "%i wybranych skrzynek pocztowych"
-#: src/mn-shell.gob:93
-msgid "You have new mail."
-msgstr "Masz wiadomość!"
+#: ../src/mn-server.gob:136
+#, c-format
+msgid "Unable to register the Mail Notification D-Bus server: %s."
+msgstr "Nie można zarejestrować serwera D-Bus: %s"
+
+#: ../src/mn-shell.gob:290
+#, c-format
+msgid "received %s signal, exiting"
+msgstr "otrzymano sygnał %s, kończenie"
+
+#: ../src/mn-shell.gob:430
+msgid "No mail reader is configured"
+msgstr "Brak skonfigurowanego czytnika poczty"
+
+#: ../src/mn-shell.gob:431
+msgid ""
+"You can configure a mail reader by choosing <b>System → Preferences → "
+"Preferred Applications</b>."
+msgstr ""
+"Możesz skonfigurować czytnik poczty w menu <b> System → Preferencje → "
+"Preferowane Aplikacje</b>"
+
+#: ../src/mn-shell.gob:443 ../src/mn-shell.gob:449 ../src/mn-shell.gob:794
+msgid "Unable to open the latest message"
+msgstr "Nie można otworzyć ostatniej wiadomości"
+
+#: ../src/mn-shell.gob:444
+#, c-format
+msgid "Messages of mailbox \"%s\" cannot be opened."
+msgstr "Wiadomości ze skrzynki \"%s\" nie mogą być otwarte."
+
+#: ../src/mn-shell.gob:450 ../src/mn-shell.gob:714
+msgid "You have no new mail."
+msgstr "Brak nowych wiadomości."
+
+#: ../src/mn-shell.gob:605
+#, c-format
+msgid "%s (%i)"
+msgstr "%s (%i)"
-#: src/mn-shell.gob:360
+#. translators: header capitalization
+#: ../src/mn-shell.gob:610
msgid "Mailboxes Having New Mail"
msgstr "Skrzynki pocztowe z nową pocztą"
-#: src/mn-shell.gob:362
+#. translators: header capitalization
+#: ../src/mn-shell.gob:629
msgid "Errors"
msgstr "Błędy"
-#: src/mn-shell.gob:364
-msgid "Unsupported Mailboxes"
-msgstr "Nieskonfigurowane skrzynki pocztowe"
-
-#: src/mn-shell.gob:381 ui/summary-dialog.glade.h:1
+#. translators: header capitalization
+#: ../src/mn-shell.gob:649
msgid "Mail Summary"
msgstr "Podsumowanie wiadomości"
-#: src/mn-soup.c:140
+#: ../src/mn-shell.gob:689
#, c-format
-msgid "unable to parse proxy URI \"%s\""
-msgstr "niezdolny zrobić rozbiór pośredniczego URI \"%s\""
+msgid "<span style=\"italic\">%i message is not displayed</span>"
+msgid_plural "<span style=\"italic\">%i messages are not displayed</span>"
+msgstr[0] "<span style=\"italic\">%i wiadomość nie jest pokazana</span>"
+msgstr[1] "<span style=\"italic\">%i wiadomości nie są pokazane</span>"
+msgstr[2] "<span style=\"italic\">%i wiadomości nie jest pokazanych</span>"
+
+#: ../src/mn-sound-file-chooser-dialog.gob:48
+msgid "Select a File"
+msgstr "Wybierz plik"
+
+#: ../src/mn-sound-file-chooser-dialog.gob:58
+msgid "All files"
+msgstr "Wszystkie pliki"
-#: src/mn-ssl.c:79
+#: ../src/mn-sound-file-chooser-dialog.gob:63
+msgid "Audio files"
+msgstr "Pliki dźwiękowe"
+
+#: ../src/mn-sound-player.gob:120
+msgid "Unable to play sound"
+msgstr "Nie można odtworzyć dźwięku"
+
+#: ../src/mn-sound-player.gob:122 ../src/mn-util.c:1576
+msgid "A command error has occurred in Mail Notification"
+msgstr "Błąd rozkazowy występił w Zawiadomieniu Pocztowym"
+
+#: ../src/mn-ssl.c:191
msgid "unknown SSL/TLS error"
msgstr "nieznany błąd SSL/TLS"
-#: src/mn-stock.c:28
-msgid "Select _All"
-msgstr "Wybierz _Wszystkie"
-
-#: src/mn-stock.c:29
-msgid "_Mail Summary"
-msgstr "_Streszczenie poczty"
+#: ../src/mn-standard-message-view.gob:45
+msgid "Sent:"
+msgstr "Wysłano:"
-#: src/mn-sylpheed-mailbox.gob:119
+#: ../src/mn-sylpheed-mailbox-backend.gob:229
#, c-format
msgid "unable to open folder: %s"
msgstr "niezdolny otworzyć teczkę: %s"
-#: src/mn-sylpheed-mailbox.gob:165
+#: ../src/mn-sylpheed-mailbox-backend.gob:317
#, c-format
msgid "unable to close folder: %s"
msgstr "niezdolny zamknąć teczkę: %s"
-#: src/mn-sylpheed-mailbox.gob:168
+#: ../src/mn-sylpheed-mailbox-backend.gob:320
#, c-format
msgid "error while reading folder: %s"
msgstr "błąd podczas czytania teczki: %s"
-#: src/mn-system-mailbox-properties.gob:34 src/mn-uri.gob:411
-msgid "System Mailbox"
-msgstr "Lokalna skrzynka"
+#: ../src/mn-sylpheed-mailbox-backend.gob:368
+#, c-format
+msgid "unable to set encoding: %s"
+msgstr "nie można ustawić kodowania: %s"
+
+#: ../src/mn-sylpheed-mailbox-backend.gob:443
+#, c-format
+msgid "unexpected end of file"
+msgstr "nieoczekiwany koniec pliku"
+
+#: ../src/mn-sylpheed-mailbox-backend.gob:483
+#, c-format
+msgid "incompatible file version \"%i\""
+msgstr "niekompatybilna wersja pliku \"%i\""
+
+#: ../src/mn-sylpheed-message.gob:69
+#, c-format
+msgid "Unable to read %s: %s."
+msgstr "Nie można przeczytać %s: %s"
+
+#: ../src/mn-system-vfs-mailbox-properties.gob:38
+#: ../src/mn-system-vfs-mailbox-properties.gob:46
+#: ../src/mn-system-vfs-mailbox.gob:44
+msgid "System mailbox"
+msgstr "Skrzynka systemowa"
-#: src/mn-system-mailbox-properties.gob:57
+#: ../src/mn-system-vfs-mailbox-properties.gob:73
#, c-format
-msgid "Your system mailbox (<span weight=\"bold\">%s</span>) will be used."
+msgid "Your system mailbox is <span weight=\"bold\">%s</span>."
msgstr ""
-"Skrzynka pocztowa twojego systemu (<span weight=\"bold\">%s</span>) zostanie "
-"użyta."
+"Lokalizacja Twojej systemowej skrzynki pocztowej:<span weight=\"bold\">%s</"
+"span>."
-#: src/mn-system-mailbox-properties.gob:64
+#: ../src/mn-system-vfs-mailbox-properties.gob:80
msgid ""
-"The location of your system mailbox could not be detected. Please set the "
-"MAIL environment variable."
+"The location of your system mailbox could not be detected. Check the MAIL "
+"environment variable."
msgstr ""
-"Umieszczenie skrzynki pocztowej twojego systemu nie mogło być odkrytę. "
-"Proszę ustawić zmienną środowiskową MAIL."
+"Umieszczenie skrzynki pocztowej twojego systemu nie zostało wykryte. Proszę "
+"ustawić zmienną środowiskową MAIL."
-#: src/mn-unsupported-mailbox.gob:33
-msgid "The reason why the mailbox is unsupported"
-msgstr "Powód z powodu którego skrzynka pocztowa nie jest popierana"
+#: ../src/mn-system-vfs-mailbox.gob:71
+msgid "system mailbox not found"
+msgstr "skrzynka systemowa nie znaleziona"
-#: src/mn-unsupported-mailbox.gob:40
-msgid "unsupported"
-msgstr "nieobsługiwany"
+#: ../src/mn-test-mailbox.gob:38
+msgid "Test mailbox"
+msgstr "Skrzynka testowa"
-#: src/mn-util.c:233
+#: ../src/mn-test-mailbox.gob:57
#, c-format
-msgid "error loading image: %s"
-msgstr "błąd w ładowaniu obrazka: %s"
+msgid "Test message #%i"
+msgstr "Wiadomość testowa nr. %i"
-#: src/mn-util.c:271
-#, c-format
-msgid "widget \"%s\" not found in interface \"%s\""
-msgstr "element \"%s\" nie mógł byc znaleziony w interfejsie \"%s\""
+#. translators: header capitalization
+#: ../src/mn-test-mailbox.gob:63
+msgid "Mail Notification Properties Dialog"
+msgstr "Okno preferencji powiadamiania o nowej poczcie"
+
+#: ../src/mn-util.c:525 ../src/mn-util.c:548 ../src/mn-util.c:568
+#: ../src/mn-util.c:590
+msgid "A drag and drop error has occurred"
+msgstr "Błąd podczas przeciągania i upuszczenia"
-#: src/mn-util.c:385
-msgid "received an invalid URI list"
-msgstr "otrzymano nieważną listę URIów"
+#: ../src/mn-util.c:526
+msgid "An invalid location list has been received."
+msgstr "Otrzymano błędną lokację listy."
-#: src/mn-util.c:421
-msgid "received an invalid Mozilla URL"
-msgstr "otrzymano nieważny Mozillowy URL"
+#: ../src/mn-util.c:569
+msgid "An invalid Mozilla location has been received."
+msgstr "Otrzymano błędną lokację Mozilli."
-#: src/mn-util.c:514
+#: ../src/mn-util.c:680
msgid "Unable to display help"
msgstr "Niezdolny do wyświetlenia pomocy"
-#: src/mn-util.c:528
-#, c-format
-msgid "Unable to create a thread: %s."
-msgstr "Niezdolny do stworzenia wątku: %s."
+#: ../src/mn-util.c:692
+msgid "Unable to open link"
+msgstr "Nie można otworzyć linka"
-#: src/mn-util.c:705
-msgid "_Do not show this message again"
-msgstr "_Nie pokazuj tej wiadomości ponownie"
+#: ../src/mn-util.c:883
+#, c-format
+msgid ""
+"The following location is invalid:\n"
+"\n"
+"%s"
+msgid_plural ""
+"The following locations are invalid:\n"
+"\n"
+"%s"
+msgstr[0] ""
+"Następujące położenie jest nieprawidłowe:\n"
+"\n"
+"%s"
+msgstr[1] ""
+"Następujące położenia są nieprawidłowe:\n"
+"\n"
+"%s"
+msgstr[2] ""
+"Następujące położenia są nieprawidłowe:\n"
+"\n"
+"%s"
-#: src/mn-util.c:789
+#: ../src/mn-util.c:899
msgid "A fatal error has occurred in Mail Notification"
msgstr "Fatalny błąd zdarzył się w Zawiadomieniu Pocztowym"
-#: src/mn-util.c:804
+#: ../src/mn-util.c:979
+#, c-format
+msgid "%i second ago"
+msgid_plural "%i seconds ago"
+msgstr[0] "%i sekundę temu"
+msgstr[1] "%i sekundy temu"
+msgstr[2] "%i sekund temu"
+
+#: ../src/mn-util.c:983
#, c-format
-msgid "unable to get current time: %s"
-msgstr "niezdolny otrzymać aktualny czas: %s"
+msgid "about %i minute ago"
+msgid_plural "about %i minutes ago"
+msgstr[0] "około %i minutę temu"
+msgstr[1] "około %i minuty temu"
+msgstr[2] "około %i minut temu"
-#: src/mn-util.c:906
+#: ../src/mn-util.c:988
#, c-format
-msgid "invalid signal specification \"%s\""
-msgstr "nieważna specyfikacja sygnału \"%s\""
+msgid "about %i hour ago"
+msgid_plural "about %i hours ago"
+msgstr[0] "około %i godzinę temu"
+msgstr[1] "około %i godziny temu"
+msgstr[2] "około %i godzin temu"
-#: src/mn-util.c:945
-msgid "A command error has occurred in Mail Notification"
-msgstr "Błąd rozkazowy występił w Zawiadomieniu Pocztowym"
+#: ../src/mn-util.c:993
+#, c-format
+msgid "about %i day ago"
+msgid_plural "about %i days ago"
+msgstr[0] "około %i dzień temu"
+msgstr[1] "około %i dni temu"
+msgstr[2] "około %i dni temu"
-#: src/mn-util.c:946
+#: ../src/mn-util.c:998
#, c-format
-msgid "Unable to execute \"%s\": %s."
-msgstr "Niezdolny do wykonania \"%s\": %s"
+msgid "about %i week ago"
+msgid_plural "about %i weeks ago"
+msgstr[0] "około %i dzień temu"
+msgstr[1] "około %i dni temu"
+msgstr[2] "około %i dni temu"
+
+#: ../src/mn-util.c:1016
+#, c-format
+msgid "%i second"
+msgid_plural "%i seconds"
+msgstr[0] "%i sekunda"
+msgstr[1] "%i sekundy"
+msgstr[2] "%i sekund"
-#: ui/authentication.glade.h:1
-msgid "*"
-msgstr "*"
+#: ../src/mn-util.c:1020
+#, c-format
+msgid "%i minute"
+msgid_plural "%i minutes"
+msgstr[0] "%i minuta"
+msgstr[1] "%i minuty"
+msgstr[2] "%i minut"
+
+#: ../src/mn-util.c:1025
+#, c-format
+msgid "%i hour"
+msgid_plural "%i hours"
+msgstr[0] "%i godzina"
+msgstr[1] "%i godziny"
+msgstr[2] "%i godzin"
+
+#: ../src/mn-util.c:1030
+msgid "1 day"
+msgstr "1 dzień"
+
+#: ../src/mn-util.c:1506
+#, c-format
+msgid "unterminated substitution"
+msgstr "niezakończony substytut"
+
+#: ../src/mn-util.c:1545
+#, c-format
+msgid "unknown substitution \"%s\""
+msgstr "nieznana podmiana \"%s\""
+
+#: ../src/mn-util.c:1548
+#, c-format
+msgid "empty substitution"
+msgstr "pusta podmiana"
+
+#: ../src/mn-vfs-mailbox.gob:236
+#, c-format
+msgid "unable to monitor %s (%s), poll mode activated"
+msgstr "nie można monitorować %s (%s), tryb poll włączony"
+
+#: ../src/mn-vfs-mailbox.gob:426
+msgid "unknown mailbox format"
+msgstr "nieznany format skrzynki"
+
+#: ../src/mn-vfs-mailbox.gob:426
+msgid "does not exist"
+msgstr "nie istnieje"
+
+#: ../src/mn-vfs.c:241
+#, c-format
+msgid "Unable to write %s: %s."
+msgstr "Nie można zapisać %s: %s"
+
+#: ../src/mn-webmail-mailbox.gob:84
+#, c-format
+msgid "unable to create a temporary file: %s"
+msgstr "nie można utworzyć pliku tymczasowego: %s."
+
+#: ../src/mn-webmail-mailbox.gob:91
+#, c-format
+msgid "unable to change the permissions of the temporary file: %s"
+msgstr "nie można zmienić uprawnień pliku tymczasowego: %s"
-#: ui/authentication.glade.h:2
-msgid "_Authenticate"
-msgstr "_Potwierdź tożsamości"
+#: ../src/mn-webmail-mailbox.gob:135
+#, c-format
+msgid "unable to set encoding of %s: %s"
+msgstr "nie mogę ustawić kodowania %s: %s"
-#: ui/mailbox-properties.glade.h:1
-msgid "_Mailbox type:"
-msgstr "_Typ połączenia:"
+#: ../src/mn-webmail-mailbox.gob:192
+msgid "configuration:"
+msgstr "konfiguracja:"
-#: ui/properties.glade.h:1
-msgid " "
-msgstr " "
+#: ../src/mn-webmail-mailbox.gob:220
+#, c-format
+msgid "running %s"
+msgstr "uruchamian %s"
-#: ui/properties.glade.h:2
-msgid "<span weight=\"bold\">Commands</span>"
-msgstr "<span weight=\"bold\">Polecenia</span>"
+#: ../src/mn-webmail-mailbox.gob:224
+#, c-format
+msgid "cannot execute \"%s\": %s"
+msgstr "nie można uruchomić \"%s\": %s"
-#: ui/properties.glade.h:3
-msgid "<span weight=\"bold\">Double-click Action</span>"
-msgstr "<span weight=\"bold\">Podwójne kliknięcie</span>"
+#: ../src/mn-webmail-mailbox.gob:229
+msgid "standard output:"
+msgstr "standardowe wyjście:"
-#: ui/properties.glade.h:4
-msgid "<span weight=\"bold\">Fonts</span>"
-msgstr "<span weight=\"bold\">Czcionki</span>"
+#: ../src/mn-webmail-mailbox.gob:230
+msgid "standard error output:"
+msgstr "standardowe wyjście błędów:"
-#: ui/properties.glade.h:5
+#. translators: %s is a program name, as in "unknown fetchyahoo failure"
+#: ../src/mn-webmail-mailbox.gob:248
+#, c-format
+msgid "unknown %s failure"
+msgstr "nieznany błąd %s"
+
+#: ../src/mn-xml.c:51
+#, c-format
+msgid ""
+"property \"%s\": unable to transform string \"%s\" into a value of type \"%s"
+"\""
+msgstr ""
+"właściwość \"%s\": nie można przekonwertować tekstu \"%s\" w wartość typu \"%"
+"s\""
+
+#: ../src/mn-yahoo-mailbox.gob:71
+#, c-format
+msgid "unable to change the permissions of %s: %s"
+msgstr "nie można zmienić uprawnień %s: %s"
+
+#: ../src/mn-yahoo-mailbox.gob:82
+#, c-format
+msgid "unable to create %s: %s"
+msgstr "nie można utworzyć %s: %s"
+
+#: ../src/mn-yahoo-mailbox.gob:229
+msgid "delay between mail checks too small"
+msgstr "opóźnienie sprawdzania poczty za małe"
+
+#: ../ui/mailbox-properties-dialog.glade.h:1
+msgid "<span weight=\"bold\">Delay Between Mail Checks</span>"
+msgstr "<span weight=\"bold\">Opóźnienie sprawdzania skrzynki</span>"
+
+#. translators: header capitalization
+#: ../ui/mailbox-properties-dialog.glade.h:2 ../ui/properties-dialog.glade.h:6
msgid "<span weight=\"bold\">General</span>"
msgstr "<span weight=\"bold\">Ogólne</span>"
-#: ui/properties.glade.h:6
+#: ../ui/mailbox-properties-dialog.glade.h:3
+msgid "<span weight=\"bold\">Mailbox Name</span>"
+msgstr "<span weight=\"bold\">Nazwa skrzynki pocztowej</span>"
+
+#: ../ui/mailbox-properties-dialog.glade.h:5
+msgid "Details"
+msgstr "Szczegóły"
+
+#. translators: header capitalization
+#: ../ui/mailbox-properties-dialog.glade.h:6
+#: ../ui/properties-dialog.glade.h:15
+msgid "General"
+msgstr "Ogólne"
+
+#: ../ui/mailbox-properties-dialog.glade.h:7
+msgid "Mailbox _type:"
+msgstr "_Typ skrzynki pocztowej:"
+
+#: ../ui/mailbox-properties-dialog.glade.h:8
+msgid "O_ther:"
+msgstr "_Inne:"
+
+#. translators: header capitalization
+#: ../ui/properties-dialog.glade.h:2
+msgid "<span weight=\"bold\">Click Action</span>"
+msgstr "<span weight=\"bold\">Akcja po kliknięciu</span>"
+
+#. translators: header capitalization
+#: ../ui/properties-dialog.glade.h:4
+msgid "<span weight=\"bold\">Expiration</span>"
+msgstr "<span weight=\"bold\">Przedawnienie</span>"
+
+#. translators: header capitalization
+#: ../ui/properties-dialog.glade.h:8
msgid "<span weight=\"bold\">Mailbox List</span>"
msgstr "<span weight=\"bold\">Skrzynki pocztowe</span>"
-
-#: ui/properties.glade.h:7
+
+#. translators: header capitalization
+#: ../ui/properties-dialog.glade.h:10
msgid "<span weight=\"bold\">Position</span>"
msgstr "<span weight=\"bold\">Pozycja</span>"
-#: ui/properties.glade.h:8
-msgid "Dis_play mail summary in tooltip"
-msgstr "_Wyświetlanie streszczenia poczty na obszarze powiadamiania"
+#: ../ui/properties-dialog.glade.h:11
+msgid "A_fter:"
+msgstr "P_o określonym czasie:"
-#: ui/properties.glade.h:9
-msgid "General"
-msgstr "Ogólne"
+#: ../ui/properties-dialog.glade.h:12
+msgid "Co_nsider new mail as read"
+msgstr "Uznaj nową pocztę za przeczytaną"
-#: ui/properties.glade.h:10
-msgid "Hori_zontal offset:"
-msgstr "Poziome przesunięcie:"
+#: ../ui/properties-dialog.glade.h:13
+msgid "De_sktop default"
+msgstr "_Domyślne ustawienie systemowe"
-#: ui/properties.glade.h:11
-msgid "Mail Notification Properties"
-msgstr "Właściwości Zawiadomienia Pocztowego"
+#: ../ui/properties-dialog.glade.h:16
+msgid "In the p_opup stack"
+msgstr "Okna ułożone na stosie"
-#: ui/properties.glade.h:12
-msgid "Mail Summary Popup"
-msgstr "Streszczenie poczty"
+#. translators: header capitalization
+#: ../ui/properties-dialog.glade.h:20
+msgid "Message Popups"
+msgstr "Okienka wiadomości"
-#: ui/properties.glade.h:13
-msgid "Mailboxes"
-msgstr "Skrzynki pocztowe"
+#: ../ui/properties-dialog.glade.h:21
+msgid "Play a _sound when new mail arrives:"
+msgstr "Odtwórz dźwięk po nadejściu nowej poczty:"
-#: ui/properties.glade.h:14
-msgid "Only display _recent mail"
-msgstr "Wyświetlanie tylko nieprzeczytanych listów"
+#. translators: header capitalization
+#: ../ui/properties-dialog.glade.h:23
+msgid "Status Icon"
+msgstr "Ikona w tacce systemowej"
-#: ui/properties.glade.h:15
-msgid "P_osition:"
-msgstr "P_ozycja:"
+#: ../ui/properties-dialog.glade.h:24
+msgid "_Attached to the status icon"
+msgstr "_Podłączone do ikony w tacce systemowej"
-#: ui/properties.glade.h:16
-msgid "The amount of time to wait before closing the mail summary popup"
-msgstr ""
-"Ilość czasu do czekania przed zamknięciem wyskakującego okienka streszczenia "
-"poczty"
+#: ../ui/properties-dialog.glade.h:25
+msgid "_Display test messages"
+msgstr "Pokaż wiadomość _testową"
-#: ui/properties.glade.h:17
-msgid "The amount of time to wait between mail checks"
-msgstr "Ilość czasu pomiędzy sprawdzaniem poczty"
+#: ../ui/properties-dialog.glade.h:26
+msgid "_Enable message popups"
+msgstr "Włącz wyskakujące okna wiadomości"
-#: ui/properties.glade.h:18
-msgid "The command to run to launch the mail reader"
-msgstr "Rozkaz do wydania który uruchamia czytnika poczty."
+#: ../ui/properties-dialog.glade.h:27
+msgid "_Launch the mail reader"
+msgstr "U_ruchom program pocztowy"
-#: ui/properties.glade.h:19
-msgid "The command to run when all mail is read"
-msgstr "Rozkaz do wykonania po przeczytaniu całej poczty"
+#: ../ui/properties-dialog.glade.h:28
+msgid "_Open the latest message"
+msgstr "_Otwórz ostatnią wiadomość"
-#: ui/properties.glade.h:20
-msgid "The command to run when new mail arrives"
-msgstr "Rozkaz do wykonania po nadejściu nowej poczty"
+#: ../ui/properties-dialog.glade.h:29
+msgid "_Update the mail status"
+msgstr "O_dśwież stan poczty"
-#: ui/properties.glade.h:21
-msgid ""
-"The number of pixels to leave between the left or right side of the screen "
-"and the mail summary popup"
-msgstr ""
-"Ilość pikselów do pozostawienia pomiędzy lewą lub prawą stroną ekranu i "
-"wyskakującym okienkiem streszczenia poczty."
+#: ../ui/properties-dialog.glade.h:30
+msgid "message popups tab|_Never"
+msgstr "_Nigdy"
-#: ui/properties.glade.h:22
-msgid ""
-"The number of pixels to leave between the top or bottom side of the screen "
-"and the mail summary popup"
-msgstr ""
-"Ilość pikselów do pozostawienia pomiędzy górną lub dolną stroną ekranu i "
-"wyskakującym okienkiem streszczenia poczty."
+#~ msgid "Mail Notification automation"
+#~ msgstr "Automatyzacja Zawiadomienia Pocztowego"
-#: ui/properties.glade.h:23
-msgid "When _all mail is read:"
-msgstr "Po przeczytaniu całej poczty:"
+#~ msgid "Mail Notification automation factory"
+#~ msgstr "Fabryka automatyzacji Zawiadomienia Pocztowego"
-#: ui/properties.glade.h:24
-msgid "When _new mail arrives:"
-msgstr "Po nadejściu nowej poczty:"
+#~ msgid "Automatically close the mail summary popup"
+#~ msgstr "Automatycznie zamknij wyskakujące okienko streszczenia poczty"
-#: ui/properties.glade.h:25
-msgid "Whether the status icon should blink on errors or not"
-msgstr "Migaj przy wystąpieniu błędów"
+#~ msgid "Delay between mail checks (minutes part)."
+#~ msgstr "Zwłoka pomiędzy sprawdzaniem poczty (minuty)."
-#: ui/properties.glade.h:26
-msgid "Whether to automatically close the mail summary popup or not"
-msgstr ""
-"Zamknij automatycznie streszczenie poczty po upływie zadanego czasu"
+#~ msgid "Delay between mail checks (seconds part)."
+#~ msgstr "Zwłoka pomiędzy sprawdzaniem poczty (sekundy)."
-#: ui/properties.glade.h:27
-msgid "Whether to display the mail summary in the status icon tooltip or not"
-msgstr "Wyświetl streszczenie poczty w obszarze powiadamiania"
+#~ msgid "Display mail summary in tooltip"
+#~ msgstr "Wyświetlanie streszczenia poczty w obszarze powiadamiania"
-#: ui/properties.glade.h:28
-msgid "Whether to display the mail summary popup when new mail arrives or not"
-msgstr ""
-"Wyświetl streszczenie poczty po nadejściu nowych wiadomości"
+#~ msgid "Do not show the immediate notification error dialog"
+#~ msgstr "Nie pokazuj dialogu błędowego natychmiastowego zawiadomienia"
-#: ui/properties.glade.h:29
-msgid "Whether to hide previously displayed mail or not"
-msgstr "Ukrywaj przeczytane listy"
+#~ msgid "Enable mail summary popup"
+#~ msgstr "Umożliwij wyskakujące okienko streszczenia poczty"
-#: ui/properties.glade.h:30
-msgid "Whether to run a command when all mail is read or not"
-msgstr "Uruchom polecenie, gdy cała poczta zostanie przeczytana"
+#~ msgid "Has already been run"
+#~ msgstr "Polecenie już było wykonane"
-#: ui/properties.glade.h:31
-msgid "Whether to run a command when new mail arrives or not"
-msgstr "Uruchom polecenie, gdy nadejdzie nowa poczta"
+#~ msgid "Height of mail summary dialog"
+#~ msgstr "Wysokość dialogu streszenia poczty"
-#: ui/properties.glade.h:32
-msgid "Whether to set a mail reader or not"
-msgstr "Ustaw czytnik poczty"
+#~ msgid "Mail summary popup contents font"
+#~ msgstr "Czcionka zawartości wyskakującego okienka streszczenia poczty"
-#: ui/properties.glade.h:33
-msgid ""
-"Whether to start Mail Notification when you log into your GNOME session or "
-"not"
-msgstr "Uruchom zawiadomienie pocztowe w trakcie startu środowiska graficznego"
+#~ msgid "Mail summary popup horizontal offset"
+#~ msgstr "Poziomę przesunięcie wyskakującego okienka streszczenia poczty"
-#: ui/properties.glade.h:34
-msgid ""
-"Whether to use a custom font for the contents of the mail summary popup or "
-"not"
-msgstr ""
-"Ustaw czcionkę dla tytułu streszczenia poczty"
+#~ msgid "Mail summary popup title font"
+#~ msgstr "Czcionka tytułu wyskakującego okienka streszczenia poczty"
-#: ui/properties.glade.h:35
-msgid ""
-"Whether to use a custom font for the title of the mail summary popup or not"
-msgstr ""
-"Czy użyć niestandardową czcionkę do tytułu wyskakującego okienka "
-"streszczenia poczty czy nie"
+#~ msgid "Mail summary popup vertical offset"
+#~ msgstr "Pionowę przesunięcie wyskakującego okienka streszczenia poczty"
-#: ui/properties.glade.h:36
-msgid "_Automatically close after:"
-msgstr "_Automatyczne zamknięcie okienka po:"
+#~ msgid "Mailbox list"
+#~ msgstr "Lista skrzynek pocztowych"
-#: ui/properties.glade.h:37
-msgid "_Blink on errors"
-msgstr "_Miganie przy błędach"
+#~ msgid "Minutes between mail checks"
+#~ msgstr "Ilość minut pomiędzy sprawdzaniem poczty"
-#: ui/properties.glade.h:38
-msgid "_Contents font:"
-msgstr "_Wybór czcionki treści:"
+#~ msgid "Minutes to wait before closing the mail summary popup"
+#~ msgstr ""
+#~ "Ile minut czekać przed zamknięciem wyskakującego okienka streszczenia "
+#~ "poczty"
-#: ui/properties.glade.h:39
-msgid "_Delay between mail checks:"
-msgstr "_Sprawdzanie poczty co:"
+#~ msgid "Only display recent mail in mail summary popup"
+#~ msgstr ""
+#~ "Tylko wyświetlaj niedawną pocztę w wyskakującym okienku streszczenia "
+#~ "poczty"
-#: ui/properties.glade.h:40
-msgid "_Display the mail summary dialog"
-msgstr "_Wyświetl streszczenie poczty"
+#~ msgid "Seconds between mail checks"
+#~ msgstr "Sekundy pomiędzy sprawdzaniem poczty"
+
+#~ msgid "Set a mail reader"
+#~ msgstr "Ustaw czytnika poczty"
+
+#~ msgid ""
+#~ "The amount of time to wait before closing the mail summary popup (minutes "
+#~ "part)."
+#~ msgstr ""
+#~ "Ilość czasu do czekania przed zamknięciem wyskakującego okienka "
+#~ "streszczenia poczty (minuty)."
+
+#~ msgid ""
+#~ "The amount of time to wait before closing the mail summary popup (seconds "
+#~ "part)."
+#~ msgstr ""
+#~ "Ilość czasu do czekania przed zamknięciem wyskakującego okienka "
+#~ "streszczenia poczty (sekundy)."
+
+#~ msgid "The command to run to launch the mail reader."
+#~ msgstr "Rozkaz do wykonania żeby uruchomić czytnika poczty."
+
+#~ msgid "The custom font to use for the contents of the mail summary popup."
+#~ msgstr ""
+#~ "Niestandardowa czcionka użyta dla zawartości wyskakującego okienka "
+#~ "streszczenia poczty."
+
+#~ msgid "The custom font to use for the title of the mail summary popup."
+#~ msgstr ""
+#~ "Niestandardowa czcionka użyta dla tytułu wyskakującego okienka "
+#~ "streszczenia poczty."
+
+#~ msgid "The height of the mail summary dialog in pixels."
+#~ msgstr "Wysokość dialogu streszczenia poczty w pikselach."
+
+#~ msgid "The list of mailboxes to monitor."
+#~ msgstr "Lista monitorowanych skrzynek pocztowych."
+
+#~ msgid ""
+#~ "The number of pixels to leave between the left or right side of the "
+#~ "screen and the mail summary popup."
+#~ msgstr ""
+#~ "Ilość pikselów do pozostawienia pomiędzy lewą lub prawą stroną ekranu i "
+#~ "wyskakującym okienkiem streszczenia poczty."
+
+#~ msgid ""
+#~ "The number of pixels to leave between the top or bottom side of the "
+#~ "screen and the mail summary popup."
+#~ msgstr ""
+#~ "Ilość pikselów do pozostawienia pomiędzy górną lub dolną stroną ekranu i "
+#~ "wyskakującym okienkiem streszczenia poczty."
+
+#~ msgid "The width of the mail summary dialog in pixels."
+#~ msgstr "Szerokość dialogu streszczenia poczty w pikselach."
+
+#~ msgid "Use a custom font for the contents of the mail summary popup"
+#~ msgstr ""
+#~ "Użyj niestandardową czcionkę dla zawartości wyskakującego okienka "
+#~ "streszczenia poczty"
+
+#~ msgid "Use a custom font for the title of the mail summary popup"
+#~ msgstr ""
+#~ "Użyj niestandardową czcionkę dla tytułu wyskakującego okienka "
+#~ "streszczenia poczty"
+
+#~ msgid "Whether Mail Notification has already been run or not."
+#~ msgstr "Czy Zawiadomienie pocztowe było już uruchomione czy nie."
+
+#~ msgid "Whether to automatically close the mail summary popup or not."
+#~ msgstr ""
+#~ "Automatycznie zamyka okienko ze streszczeniem poczty po upływie zadanego "
+#~ "czasu"
+
+#~ msgid ""
+#~ "Whether to display the mail summary popup when new mail arrives or not."
+#~ msgstr "Wyświetl streszczenie poczty po nadejściu nowych listów"
+
+#~ msgid ""
+#~ "Whether to hide previously displayed mail in the mail summary popup or "
+#~ "not."
+#~ msgstr ""
+#~ "Czy schować poprzednio wyświetloną pocztę w wyskakującym okienku "
+#~ "streszczenia poczty czy nie."
+
+#~ msgid ""
+#~ "Whether to prevent the immediate notification error dialog from being "
+#~ "displayed or not."
+#~ msgstr ""
+#~ "Czy zapobiegać wyświetleniu dialogu błędowego natychmiastowego "
+#~ "zawiadomieniaczy nie."
+
+#~ msgid ""
+#~ "Whether to use a custom font for the contents of the mail summary popup "
+#~ "or not."
+#~ msgstr ""
+#~ "Czy użyć niestandardową czcionkę dla zawartości wyskakującego okienka "
+#~ "streszczenia poczty czy nie."
+
+#~ msgid ""
+#~ "Whether to use a custom font for the title of the mail summary popup or "
+#~ "not."
+#~ msgstr ""
+#~ "Czy użyć niestandardową czcionkę dla tytułu wyskakującego okienka "
+#~ "streszczenia poczty czy nie."
+
+#~ msgid "New Mail"
+#~ msgstr "Nowa Poczta"
+
+#~ msgid "Jean-Yves Lefort <jylefort@brutele.be>"
+#~ msgstr "Tomasz Sarota-Raczek <tomasz.sarota.raczek@gmail.com>"
+
+#~ msgid ""
+#~ "<span weight=\"bold\" size=\"larger\">Mail Notification requires a "
+#~ "password</span>\n"
+#~ "\n"
+#~ "%s"
+#~ msgstr ""
+#~ "<span weight=\"bold\" size=\"larger\">Zawiadomienie pocztowe wymaga "
+#~ "hasła</span>\n"
+#~ "\n"
+#~ "%s"
+
+#~ msgid "The URI of the mailbox"
+#~ msgstr "URI skrzynki pocztowej"
+
+#~ msgid "Whether the image is blinking or not"
+#~ msgstr "Czy obraz miga czy nie"
+
+#~ msgid "Co_nnect"
+#~ msgstr "Po_łącz się."
+
+#~ msgid ""
+#~ "the server sent a SASL challenge, but there was a pending initial SASL "
+#~ "client response"
+#~ msgstr ""
+#~ "serwer wysłał wyzwanie SASL, ale już była początkowa odpowiedź SASL od "
+#~ "klienta."
+
+#~ msgid ""
+#~ "the server did not send a SASL challenge, but there was no pending "
+#~ "initial SASL client response"
+#~ msgstr ""
+#~ "serwer nie wysłał wyzwania SASL, ale nie było początkowej odpowiedź SASL "
+#~ "od klienta."
-#: ui/properties.glade.h:41
-msgid "_Enable mail summary popup"
-msgstr "_Streszczenie poczty"
+#~ msgid "Your Gmail username"
+#~ msgstr "Twoję Gmail imię użytkownika"
-#: ui/properties.glade.h:42
-msgid "_Launch the mail reader"
-msgstr "U_ruchom program pocztowy"
+#~ msgid ""
+#~ "Your Gmail password (if left blank, you will be prompted for the password "
+#~ "when needed)"
+#~ msgstr ""
+#~ "Twoję Gmail hasło (jeśli pozostawione pustę, to będziesz zapytany o hasło "
+#~ "wtedy kiedy będzie potrzebnę)"
-#: ui/properties.glade.h:43
-msgid "_Mail reader:"
-msgstr "C_zytnik poczty:"
+#~ msgid "libsoup has not been compiled with SSL/TLS support"
+#~ msgstr "libsoup nie było kompilowanę z poparciem SSL/TLS"
-#: ui/properties.glade.h:44
-msgid "_Start Mail Notification on GNOME login"
-msgstr "_Uruchomienie zawiadomienia pocztowego podczas logowania"
+#~ msgid "unable to parse URI \"%s\""
+#~ msgstr "niezdolny wykonać rozbiór URI \"%s\""
-#: ui/properties.glade.h:45
-msgid "_Title font:"
-msgstr "_Wybór czcionki tytułu:"
+#~ msgid "unable to transfer data: %s"
+#~ msgstr "niezdolny do przesłania danych: %s"
-#: ui/properties.glade.h:46
-msgid "_Vertical offset:"
-msgstr "_Pionowę przesunięcie"
+#~ msgid "logging in"
+#~ msgstr "logowanie"
-#: ui/properties.glade.h:47
-msgid "minutes"
-msgstr "minut"
+#~ msgid "login failed"
+#~ msgstr "nieudanę logowanie"
-#: ui/properties.glade.h:48
-msgid "pixels"
-msgstr "piksele"
+#~ msgid "searching for unread mail"
+#~ msgstr "szukam nieprzeczytanej poczty"
-#: ui/properties.glade.h:49
-msgid "seconds"
-msgstr "sekund"
+#~ msgid "unable to parse Gmail data"
+#~ msgstr "niezdolny wykonać rozbioru danych Gmail"
-#: ui/summary-popup.glade.h:1
-msgid "<span size=\"larger\" weight=\"bold\">Mail Summary</span>"
-msgstr "<span size=\"larger\" weight=\"bold\">Zawiadomienie pocztowe</span>"
+#~ msgid "in_box"
+#~ msgstr "_skrzynka odbiorcza"
-#: ui/welcome.glade.h:1
-msgid ""
-"<span weight=\"bold\" size=\"larger\">First startup</span>\n"
-"\n"
-"Mail Notification has been loaded successfully.\n"
-"\n"
-"Since this is the first time you run Mail Notification, you might want to "
-"configure it.\n"
-"\n"
-"Note: this message will not be shown anymore. To configure Mail Notification "
-"again, choose <span weight=\"bold\">Applications</span> → <span weight=\"bold"
-"\">Desktop Preferences</span> → <span weight=\"bold\">Mail Notification</"
-"span> (or on some systems <span weight=\"bold\">Applications → Preferences → "
-"More Preferences → Mail Notification</span>)."
-msgstr ""
-"<span weight=\"bold\" size=\"larger\">Premier démarrage</span>\n"
-"\n"
-"Zawiadomienie pocztowe było pomyślnie załadowane.\n"
-"\n"
-"Ponieważ uruchamiasz Zawiadomienia Pocztowego poraz pierwszy raz, może byś "
-"chciał je skonfigurować.\n"
-"\n"
-"Uwaga: ta wiadomość nie będzie więcej pokazywana. Jeśli byś ponownie chciał "
-"skonfigurować Zawiadomienie pocztowe, wybierz <span weight=\"bold"
-"\">Aplikacje</span> → <span weight=\"bold\">Preferencje Desktopowe</span> → "
-"<span weight=\"bold\">Zawiadomienie pocztowe</span> (lub na pewnych "
-"systemach <span weight=\"bold\">Aplikacje</span> → <span weight=\"bold"
-"\">Preferencje</span> → <span weight=\"bold\">Więcej Preferencji</span> → "
-"<span weight=\"bold\">Zawiadomienie pocztowe</span>)."
-
-#: ui/welcome.glade.h:8
-msgid "_Configure Mail Notification"
-msgstr "_Konfiguracja Zawiadomienia pocztowego"
-
-#: ui/welcome.glade.h:9
-msgid "_Skip configuration"
-msgstr "_Pomiń konfigurację"
+#~ msgid "oth_er:"
+#~ msgstr "innę:"
-# These messages are not translated in any PO file
+#~ msgid "U_se idle mode if possible"
+#~ msgstr "Użyj bezczynny tryb jeśli to jest możliwę"
-msgid "_Display seen mail"
-msgstr "_Pokazuj widzianą pocztę"
+#~ msgid "The hostname or IP address of the IMAP server"
+#~ msgstr "Nazwa lub adres IP serweru IMAP"
-msgid "_Always display"
-msgstr "Z_awsze pokazuj ikonę w tacce systemowej"
+#~ msgid "Your username on the IMAP server"
+#~ msgstr "Twoje imię użytkownika na serwerze IMAP"
-msgid "_Test messages"
-msgstr "Wiadomość _testowa"
+#~ msgid ""
+#~ "Your password on the IMAP server (if left blank, you will be prompted for "
+#~ "the password when needed)"
+#~ msgstr ""
+#~ "Twoję hasło na serwerze IMAP (jeśli pozostawione pustę, to będziesz "
+#~ "zapytany o hasło wtedy kiedy będzie potrzebnę)"
+
+#~ msgid "The port number of the IMAP server"
+#~ msgstr "Numer portu na serwerze IMAP"
+
+#~ msgid "The mailbox name"
+#~ msgstr "Imię skrzynki pocztowej"
+
+#~ msgid "If possible, whether to use idle mode or not"
+#~ msgstr "Jeśli możliwę, czy użyć bezczynny tryb czy nie"
+
+#~ msgid "server did not send search results"
+#~ msgstr "serwer nie wysłał wyników poszukiwania"
+
+#~ msgid "server did not send all the messages we requested"
+#~ msgstr "serwer nie wysłał wszystkich wiadomości o które prosiliśmy"
+
+#~ msgid "server did not send status"
+#~ msgstr "serwer nie wysłał stanu"
+
+#~ msgid "_Launch Mail Reader"
+#~ msgstr "_Uruchom program pocztowy"
+
+#~ msgid "Connection type:"
+#~ msgstr "Konfiguracja serwera:"
+
+#~ msgid "_Authentication mechanism:"
+#~ msgstr "Uwierzytelnianie:"
+
+#~ msgid "The marked up text to show in the type combo box"
+#~ msgstr "Tekst oznaczony do pokazania się w okienku typu combo"
+
+#~ msgid "Size group"
+#~ msgstr "Grupa rozmiaru"
+
+#~ msgid "A GtkSizeGroup for aligning control labels"
+#~ msgstr "GtkSizeGroup dla wyrównania etykiet kontroli"
+
+#~ msgid "Complete"
+#~ msgstr "Skończonę"
+
+#~ msgid "Whether the properties are completely filled or not"
+#~ msgstr "Czy właściwości są całkowicię wypełnione czy nie"
+
+#~ msgid "Format"
+#~ msgstr "Format"
-msgid "Status Icon"
-msgstr "Ikona w tacce systemowej"
+#~ msgid "The mailbox is already in the list."
+#~ msgstr "Skrzynka pocztowa już jest w spisie."
-msgid "When all mail has _been read:"
-msgstr "Kiedy wszystkie wiadomości zostały przeczytane:"
+#~ msgid "The mailbox URI"
+#~ msgstr "URI skrzynki pocztowej"
+
+#~ msgid "The mailbox human-readable name"
+#~ msgstr "Ludzko-czytelne imię skrzynki pocztowej"
+
+#~ msgid "Whether the mailbox has to be polled or not"
+#~ msgstr "Czy skrzynka pocztowa była sprawdzona czy nie"
-msgid "<span weight=\"bold\">Tooltip Mail Summary</span>"
-msgstr "<span weight=\"bold\">Podsumowanie wiadomości</span>"
+#~ msgid "Whether the mailbox has new mail or not"
+#~ msgstr "Czy skrzynka pocztowa ma nową pocztę czy nie"
+
+#~ msgid "The list of new and unread MNMessage objects"
+#~ msgstr "Spis przeczytanych i nie przeczytanych obiektów MNMessage"
+
+#~ msgid "The mailbox error, if any"
+#~ msgstr "Błąd skrzynki pocztowej, jeżeli wszelki"
+
+#~ msgid "unable to enable immediate notification for %s: %s"
+#~ msgstr "niezdolny umożliwić natychmiastowę zawiadomienie dla %s: %s"
+
+#~ msgid ""
+#~ "As a fallback, they will be checked every %i second (this delay is "
+#~ "configurable from the Properties Dialog)."
+#~ msgid_plural ""
+#~ "As a fallback, they will be checked every %i seconds (this delay is "
+#~ "configurable from the Properties Dialog)."
+#~ msgstr[0] ""
+#~ "Pod reżimem awaryjnym, one będą sprawdzanę co każdą %i sekundę (ta zwłoka "
+#~ "może być skonfigurowana w Dialogu Właściowści)."
+#~ msgstr[1] ""
+#~ "Pod reżimem awaryjnym, one będą sprawdzanę co każdę %i sekund (ta zwłoka "
+#~ "może być skonfigurowana w Dialogu Właściowści)."
+#~ msgstr[2] ""
+#~ "Pod reżimem awaryjnym, one będą sprawdzanę co każdę %i sekundy (ta zwłoka "
+#~ "może być skonfigurowana w Dialogu Właściowści)."
+
+#~ msgid ""
+#~ "As a fallback, they will be checked every %i minute (this delay is "
+#~ "configurable from the Properties Dialog)."
+#~ msgid_plural ""
+#~ "As a fallback, they will be checked every %i minutes (this delay is "
+#~ "configurable from the Properties Dialog)."
+#~ msgstr[0] ""
+#~ "Pod reżimem awaryjnym, one będą sprawdzanę co każdą %i minutę (ta zwłoka "
+#~ "może być skonfigurowana w Dialogu Właściowści)."
+#~ msgstr[1] ""
+#~ "Pod reżimem awaryjnym, one będą sprawdzanę co każdę %i minut (ta zwłoka "
+#~ "może być skonfigurowana w Dialogu Właściowści)."
+#~ msgstr[2] ""
+#~ "Pod reżimem awaryjnym, one będą sprawdzanę co każdę %i minuty (ta zwłoka "
+#~ "może być skonfigurowana w Dialogu Właściowści)."
+
+#~ msgid ""
+#~ "As a fallback, they will be checked approximately every %i minute (this "
+#~ "delay is configurable from the Properties Dialog)."
+#~ msgid_plural ""
+#~ "As a fallback, they will be checked approximately every %i minutes (this "
+#~ "delay is configurable from the Properties Dialog)."
+#~ msgstr[0] ""
+#~ "Pod reżimem awaryjnym, one będą sprawdzanę co mniej więcej każdą %i "
+#~ "minutę (ta zwłoka może być skonfigurowana w Dialogu Właściowści)."
+#~ msgstr[1] ""
+#~ "Pod reżimem awaryjnym, one będą sprawdzanę co mniej więcej każdę %i minut "
+#~ "(ta zwłoka może być skonfigurowana w Dialogu Właściowści)."
+#~ msgstr[2] ""
+#~ "Pod reżimem awaryjnym, one będą sprawdzanę co mniej więcej każdę %i "
+#~ "minuty (ta zwłoka może być skonfigurowana w Dialogu Właściowści)."
+
+#~ msgid ""
+#~ "Mail Notification was unable to enable immediate notification for one or "
+#~ "more mailboxes. %s"
+#~ msgstr ""
+#~ "Zawiadomienie pocztowe było niezdolnę umożliwić natychmiastowę "
+#~ "zawiadomienie jednej albo większej ilość skrzynek pocztowych. %s"
+
+#~ msgid "Whether one or more of the mailboxes has to be polled"
+#~ msgstr "Czy jedna lub więcej szkrzynek pocztowych była sprawdzona czy nie"
+
+#~ msgid "%s is unsupported: %s"
+#~ msgstr "%s jest nieobsługiwane: %s"
+
+#~ msgid "%s has no new mail"
+#~ msgstr "%s nie ma nowej poczty"
+
+#~ msgid "Compiled-in mailbox backends: %s\n"
+#~ msgstr "Wkompilowanę wewnętrzne cechy skrzynki pocztowej: %s\n"
+
+#~ msgid "Compiled-in features: %s\n"
+#~ msgstr "Wkompilowanę cechy: %s\n"
+
+#~ msgid "List compiled-in features and exit"
+#~ msgstr "Wydrukuj spis wkompilowanych cech i zakończ"
+
+#~ msgid "Display the mail summary dialog"
+#~ msgstr "Wyświetlij dialog streszczenia poczty"
+
+#~ msgid "Report the mail status"
+#~ msgstr "Zgłoś stan poczty"
+
+#~ msgid ""
+#~ "Bonobo could not locate the GNOME_MailNotification_Automation.server "
+#~ "file. Please check your Mail Notification installation."
+#~ msgstr ""
+#~ "Bonobo nie mogło znaleźć pliku GNOME_MailNotification_Automation.server."
+#~ "Proszę sprawdzić swoją instalację Zawiadomienia Pocztowego."
+
+#~ msgid ""
+#~ "Bonobo was unable to register the automation server. Please check your "
+#~ "Mail Notification installation."
+#~ msgstr ""
+#~ "Bonobo nie potrafiło zarejestrować serwera automatyzacyjnego. Proszę "
+#~ "sprawdzić instalację Zawiadomienia Pocztowego"
+
+#~ msgid "error while reading mailbox: %s"
+#~ msgstr "błąd podczas odczytywania skrzynki pocztowej: %s"
+
+#~ msgid "%i week ago"
+#~ msgid_plural "%i weeks ago"
+#~ msgstr[0] "%i tydzień temu"
+#~ msgstr[1] "%i tygodni temu"
+#~ msgstr[2] "%i tygodnie temu"
+
+#~ msgid "Unknown"
+#~ msgstr "Nieznany"
+
+#~ msgid "error while reading .mh_sequences: %s"
+#~ msgstr "błąd podczas czytania .mh_sequences: %s"
+
+#~ msgid "unable to open .mh_sequences: %s"
+#~ msgstr "niezdolny do otwarcia .mh_sequences: %s"
-msgid "icon tooltip's mail summary layout|_Standard"
-msgstr "_Standardowe"
+#~ msgid "detecting"
+#~ msgstr "odkrywanie"
-msgid "icon tooltip's mail summary layout|Co_mpact"
-msgstr "Ko_mpaktowe"
+#~ msgid "_Hostname:"
+#~ msgstr "Nazwa serwera:"
-msgid "_None"
-msgstr "Br_ak"
+#~ msgid "_in-band SSL/TLS"
+#~ msgstr "wewnątrzpasmowy TLS"
-msgid "Message Popups"
-msgstr "Okienka wiadomości"
+#~ msgid "SSL/TLS on sepa_rate port"
+#~ msgstr "SSL/TLS na oddzielnym porcie"
-msgid "<span weight=\"bold\">Click Action</span>"
-msgstr "<span weight=\"bold\">Akcja po kliknięciu</span>"
+#~ msgid "The hostname or IP address of the POP3 server"
+#~ msgstr "Imię lub adres IP serwera POP3"
-msgid "_Display this dialog"
-msgstr "Pokaż to okno _dialogowe"
+#~ msgid "Your username on the POP3 server"
+#~ msgstr "Twoję imię użytkownika na serwerze POP3"
-msgid "_Open the latest message"
-msgstr "_Otwórz ostatnią wiadomość"
+#~ msgid ""
+#~ "Your password on the POP3 server (if left blank, you will be prompted for "
+#~ "the password when needed)"
+#~ msgstr ""
+#~ "Twoje hasło na serwerze POP3 (jeśli pozostawionę pustę, to będziesz "
+#~ "zapytany o hasło wtedy kiedy będzie potrzebnę)"
-msgid "_Update the mail status"
-msgstr "O_dśwież stan poczty"
+#~ msgid "The port number of the POP3 server"
+#~ msgstr "Numer portu serweru POP3"
-msgid "_Enable message popups"
-msgstr "Włącz wyskakujące okna wiadomości"
+#~ msgid "unknown error"
+#~ msgstr "nieznany błąd"
-msgid "_Attached to the status icon"
-msgstr "_Podłączone do ikony w tacce systemowej"
+#~ msgid "top left"
+#~ msgstr "lewy górny róg ekranu"
-msgid "In the p_opup stack"
-msgstr "Okna ułożone na stosie"
+#~ msgid "top right"
+#~ msgstr "prawy górny róg ekranu"
-msgid "<span weight=\"bold\">Expiration</span>"
-msgstr "<span weight=\"bold\">Przedawnienie</span>"
+#~ msgid "bottom left"
+#~ msgstr "lewy dolny róg ekranu"
-msgid "_Desktop default"
-msgstr "_Domyślne ustawienia systemowe"
+#~ msgid "bottom right"
+#~ msgstr "prawy dolny róg ekranu"
-msgid "_Never"
-msgstr "_Nigdy"
+#~ msgid "You have new mail."
+#~ msgstr "Masz wiadomość!"
-msgid "A_fter:"
-msgstr "P_o określonym czasie:"
+#~ msgid "Unsupported Mailboxes"
+#~ msgstr "Nieskonfigurowane skrzynki pocztowe"
-msgid "New Message"
-msgstr "Nowa wiadomość"
+#~ msgid "unable to parse proxy URI \"%s\""
+#~ msgstr "niezdolny zrobić rozbiór pośredniczego URI \"%s\""
-msgid "Test mailbox"
-msgstr "Skrzynka testowa"
+#~ msgid "Select _All"
+#~ msgstr "Wybierz _Wszystkie"
-msgid "From:"
-msgstr "Nadawca:"
+#~ msgid "_Mail Summary"
+#~ msgstr "_Streszczenie poczty"
-msgid "Subject:"
-msgstr "Temat wiadomości:"
+#~ msgid "System Mailbox"
+#~ msgstr "Lokalna skrzynka"
-#, c-format
-msgid "Test message #%i"
-msgstr "Wiadomość testowa nr. %i"
+#~ msgid "Your system mailbox (<span weight=\"bold\">%s</span>) will be used."
+#~ msgstr ""
+#~ "Skrzynka pocztowa twojego systemu (<span weight=\"bold\">%s</span>) "
+#~ "zostanie użyta."
-msgid "Mail Notification Properties Dialog"
-msgstr "Okno preferencji powiadamiania o nowej poczcie"
+#~ msgid "The reason why the mailbox is unsupported"
+#~ msgstr "Powód z powodu którego skrzynka pocztowa nie jest popierana"
-msgid "Mailbox _type:"
-msgstr "_Typ skrzynki pocztowej:"
+#~ msgid "unsupported"
+#~ msgstr "nieobsługiwany"
-msgid "Mailbox _name:"
-msgstr "_Nazwa skrzynki pocztowej:"
+#~ msgid "error loading image: %s"
+#~ msgstr "błąd w ładowaniu obrazka: %s"
-msgid "_Use Default"
-msgstr "_Użyj domyślnej"
+#~ msgid "widget \"%s\" not found in interface \"%s\""
+#~ msgstr "element \"%s\" nie mógł byc znaleziony w interfejsie \"%s\""
-msgid "Autodetect"
-msgstr "Wykryj automatycznie"
+#~ msgid "received an invalid Mozilla URL"
+#~ msgstr "otrzymano nieważny Mozillowy URL"
-msgid "System mailbox"
-msgstr "Skrzynka systemowa"
+#~ msgid "_Do not show this message again"
+#~ msgstr "_Nie pokazuj tej wiadomości ponownie"
-msgid "Us_e Default"
-msgstr "_Domyślnie"
+#~ msgid "unable to get current time: %s"
+#~ msgstr "niezdolny otrzymać aktualny czas: %s"
-msgid "<span weight=\"bold\">Location</span>"
-msgstr "<span weight=\"bold\">Lokalizacja</span>"
+#~ msgid "*"
+#~ msgstr "*"
-msgid "Account"
-msgstr "Konto pocztowe"
+#~ msgid "_Authenticate"
+#~ msgstr "_Potwierdź tożsamości"
-msgid "_Server:"
-msgstr "_Serwer:"
+#~ msgid "_Mailbox type:"
+#~ msgstr "_Typ połączenia:"
-msgid "IMAP Mailbox"
-msgstr "Skrzynka IMAP"
+#~ msgid " "
+#~ msgstr " "
-msgid "In_box"
-msgstr "Ode_brane"
+#~ msgid "<span weight=\"bold\">Commands</span>"
+#~ msgstr "<span weight=\"bold\">Polecenia</span>"
-msgid "_Other:"
-msgstr "_Inna:"
+#~ msgid "<span weight=\"bold\">Double-click Action</span>"
+#~ msgstr "<span weight=\"bold\">Podwójne kliknięcie</span>"
-msgid "Connection"
-msgstr "Połączenie"
+#~ msgid "<span weight=\"bold\">Fonts</span>"
+#~ msgstr "<span weight=\"bold\">Czcionki</span>"
-msgid "Connection Type"
-msgstr "Typ połączenia"
+#~ msgid "Dis_play mail summary in tooltip"
+#~ msgstr "_Wyświetlanie streszczenia poczty na obszarze powiadamiania"
-msgid "In-_band SSL/TLS"
-msgstr "Wewnętrzne SSL/TLS"
+#~ msgid "Hori_zontal offset:"
+#~ msgstr "Poziome przesunięcie:"
-msgid "SSL/TLS on s_eparate port"
-msgstr "SSL/TLS na oddzielnym porcie"
+#~ msgid "Mail Summary Popup"
+#~ msgstr "Streszczenie poczty"
-msgid "Authentication"
-msgstr "Autoryzacja"
+#~ msgid "Mailboxes"
+#~ msgstr "Skrzynki pocztowe"
-msgid "_Mechanism:"
-msgstr "_Mechanizm:"
+#~ msgid "Only display _recent mail"
+#~ msgstr "Wyświetlanie tylko nieprzeczytanych listów"
-msgid "Use the IDLE Extension"
-msgstr "Użyj rozszerzenia IDLE"
+#~ msgid "P_osition:"
+#~ msgstr "P_ozycja:"
-msgid "A_utodetect"
-msgstr "Wykryj a_utomatycznie"
+#~ msgid "The amount of time to wait before closing the mail summary popup"
+#~ msgstr ""
+#~ "Ilość czasu do czekania przed zamknięciem wyskakującego okienka "
+#~ "streszczenia poczty"
-msgid "Al_ways"
-msgstr "_Zawsze"
+#~ msgid "The amount of time to wait between mail checks"
+#~ msgstr "Ilość czasu pomiędzy sprawdzaniem poczty"
-msgid "Location"
-msgstr "Lokalizacja"
+#~ msgid "The command to run to launch the mail reader"
+#~ msgstr "Rozkaz do wydania który uruchamia czytnika poczty."
-msgid "Your system mailbox is <span weight=\"bold\">%s</span>."
-msgstr "Lokalizacja Twojej systemowej skrzynki pocztowej:<span weight=\"bold\">%s</span>."
+#~ msgid "The command to run when all mail is read"
+#~ msgstr "Rozkaz do wykonania po przeczytaniu całej poczty"
-msgid "Mail Notification can not contact Evolution. Make sure that Evolution is running and that the Evolution Jean-Yves Lefort's Mail Notification plugin is installed and loaded. Fedora ships the plugin in a separate package called mail-notification-evolution-plugin; you might need to install it manually."
+#~ msgid "The command to run when new mail arrives"
+#~ msgstr "Rozkaz do wykonania po nadejściu nowej poczty"
-msgstr "Aplikacja powiadamiania o nowej poczcie nie może skontaktować się z Evolution. Upewnij się, że Evolution jest uruchomione i że wtyczka Jean-Yves Lefort's Mail Notification jest zainstalowana i załadowana. Fedora udostępnia tą wtyczkę w oddzielnej paczce: mail-notification-evolution-plugin; może zajść konieczność ręcznego zainstalowania tej paczki."
+#~ msgid ""
+#~ "The number of pixels to leave between the left or right side of the "
+#~ "screen and the mail summary popup"
+#~ msgstr ""
+#~ "Ilość pikselów do pozostawienia pomiędzy lewą lub prawą stroną ekranu i "
+#~ "wyskakującym okienkiem streszczenia poczty."
-#, c-format
-msgid "%s mailbox"
-msgstr "Skrzynka %s"
+#~ msgid ""
+#~ "The number of pixels to leave between the top or bottom side of the "
+#~ "screen and the mail summary popup"
+#~ msgstr ""
+#~ "Ilość pikselów do pozostawienia pomiędzy górną lub dolną stroną ekranu i "
+#~ "wyskakującym okienkiem streszczenia poczty."
-msgid "You have no new mail."
-msgstr "Brak nowych wiadomości."
+#~ msgid "When _all mail is read:"
+#~ msgstr "Po przeczytaniu całej poczty:"
-msgid "_Mail Reader"
-msgstr "Otwórz program pocztowy"
+#~ msgid "When _new mail arrives:"
+#~ msgstr "Po nadejściu nowej poczty:"
-msgid "_Open Latest Message"
-msgstr "_Otwórz ostatnią wiadomość"
+#~ msgid "Whether the status icon should blink on errors or not"
+#~ msgstr "Migaj przy wystąpieniu błędów"
-msgid "Sent:"
-msgstr "Wysłano:"
+#~ msgid "Whether to automatically close the mail summary popup or not"
+#~ msgstr "Zamknij automatycznie streszczenie poczty po upływie zadanego czasu"
+
+#~ msgid ""
+#~ "Whether to display the mail summary in the status icon tooltip or not"
+#~ msgstr "Wyświetl streszczenie poczty w obszarze powiadamiania"
+
+#~ msgid ""
+#~ "Whether to display the mail summary popup when new mail arrives or not"
+#~ msgstr "Wyświetl streszczenie poczty po nadejściu nowych wiadomości"
+
+#~ msgid "Whether to hide previously displayed mail or not"
+#~ msgstr "Ukrywaj przeczytane listy"
+
+#~ msgid "Whether to run a command when all mail is read or not"
+#~ msgstr "Uruchom polecenie, gdy cała poczta zostanie przeczytana"
+
+#~ msgid "Whether to run a command when new mail arrives or not"
+#~ msgstr "Uruchom polecenie, gdy nadejdzie nowa poczta"
+
+#~ msgid "Whether to set a mail reader or not"
+#~ msgstr "Ustaw czytnik poczty"
+
+#~ msgid ""
+#~ "Whether to start Mail Notification when you log into your GNOME session "
+#~ "or not"
+#~ msgstr ""
+#~ "Uruchom zawiadomienie pocztowe w trakcie startu środowiska graficznego"
+
+#~ msgid ""
+#~ "Whether to use a custom font for the contents of the mail summary popup "
+#~ "or not"
+#~ msgstr "Ustaw czcionkę dla tytułu streszczenia poczty"
+
+#~ msgid ""
+#~ "Whether to use a custom font for the title of the mail summary popup or "
+#~ "not"
+#~ msgstr ""
+#~ "Czy użyć niestandardową czcionkę do tytułu wyskakującego okienka "
+#~ "streszczenia poczty czy nie"
+
+#~ msgid "_Automatically close after:"
+#~ msgstr "_Automatyczne zamknięcie okienka po:"
-msgid "about"
-msgstr "około"
+#~ msgid "_Blink on errors"
+#~ msgstr "_Miganie przy błędach"
-msgid "day"
-msgstr "dzień/dni"
+#~ msgid "_Contents font:"
+#~ msgstr "_Wybór czcionki treści:"
-msgid "ago"
-msgstr "temu"
+#~ msgid "_Display the mail summary dialog"
+#~ msgstr "_Wyświetl streszczenie poczty"
+
+#~ msgid "_Enable mail summary popup"
+#~ msgstr "_Streszczenie poczty"
+
+#~ msgid "_Mail reader:"
+#~ msgstr "C_zytnik poczty:"
+
+#~ msgid "_Start Mail Notification on GNOME login"
+#~ msgstr "_Uruchomienie zawiadomienia pocztowego podczas logowania"
+
+#~ msgid "_Title font:"
+#~ msgstr "_Wybór czcionki tytułu:"
+
+#~ msgid "_Vertical offset:"
+#~ msgstr "_Pionowę przesunięcie"
+
+#~ msgid "pixels"
+#~ msgstr "piksele"
+
+#~ msgid "<span size=\"larger\" weight=\"bold\">Mail Summary</span>"
+#~ msgstr "<span size=\"larger\" weight=\"bold\">Zawiadomienie pocztowe</span>"
+
+#~ msgid ""
+#~ "<span weight=\"bold\" size=\"larger\">First startup</span>\n"
+#~ "\n"
+#~ "Mail Notification has been loaded successfully.\n"
+#~ "\n"
+#~ "Since this is the first time you run Mail Notification, you might want to "
+#~ "configure it.\n"
+#~ "\n"
+#~ "Note: this message will not be shown anymore. To configure Mail "
+#~ "Notification again, choose <span weight=\"bold\">Applications</span> → "
+#~ "<span weight=\"bold\">Desktop Preferences</span> → <span weight=\"bold"
+#~ "\">Mail Notification</span> (or on some systems <span weight=\"bold"
+#~ "\">Applications → Preferences → More Preferences → Mail Notification</"
+#~ "span>)."
+#~ msgstr ""
+#~ "<span weight=\"bold\" size=\"larger\">Premier démarrage</span>\n"
+#~ "\n"
+#~ "Zawiadomienie pocztowe było pomyślnie załadowane.\n"
+#~ "\n"
+#~ "Ponieważ uruchamiasz Zawiadomienia Pocztowego poraz pierwszy raz, może "
+#~ "byś chciał je skonfigurować.\n"
+#~ "\n"
+#~ "Uwaga: ta wiadomość nie będzie więcej pokazywana. Jeśli byś ponownie "
+#~ "chciał skonfigurować Zawiadomienie pocztowe, wybierz <span weight=\"bold"
+#~ "\">Aplikacje</span> → <span weight=\"bold\">Preferencje Desktopowe</span> "
+#~ "→ <span weight=\"bold\">Zawiadomienie pocztowe</span> (lub na pewnych "
+#~ "systemach <span weight=\"bold\">Aplikacje</span> → <span weight=\"bold"
+#~ "\">Preferencje</span> → <span weight=\"bold\">Więcej Preferencji</span> → "
+#~ "<span weight=\"bold\">Zawiadomienie pocztowe</span>)."
+
+#~ msgid "_Configure Mail Notification"
+#~ msgstr "_Konfiguracja Zawiadomienia pocztowego"
+
+#~ msgid "When all mail has _been read:"
+#~ msgstr "Kiedy wszystkie wiadomości zostały przeczytane:"
+
+#~ msgid "<span weight=\"bold\">Tooltip Mail Summary</span>"
+#~ msgstr "<span weight=\"bold\">Podsumowanie wiadomości</span>"
+
+#~ msgid "icon tooltip's mail summary layout|_Standard"
+#~ msgstr "_Standardowe"
+
+#~ msgid "icon tooltip's mail summary layout|Co_mpact"
+#~ msgstr "Ko_mpaktowe"
+
+#~ msgid "_Display this dialog"
+#~ msgstr "Pokaż to okno _dialogowe"
+
+#~ msgid "_Never"
+#~ msgstr "_Nigdy"
+
+#~ msgid "Us_e Default"
+#~ msgstr "_Domyślnie"
+
+#~ msgid "<span weight=\"bold\">Location</span>"
+#~ msgstr "<span weight=\"bold\">Lokalizacja</span>"
+
+#~ msgid "about"
+#~ msgstr "około"
+
+#~ msgid "ago"
+#~ msgstr "temu"
diff --git a/src/mn-conf.c b/src/mn-conf.c
@@ -221,7 +221,8 @@ check_schemas (void)
MN_CONF_POPUPS_ACTIONS,
MN_CONF_POPUPS_LIMIT,
MN_CONF_FALLBACK_CHARSETS,
- MN_CONF_POPUPS_EXPIRATION_DELAY
+ MN_CONF_POPUPS_EXPIRATION_DELAY,
+ MN_CONF_MESSAGES_CONSIDERED_AS_READ
};
int i;
GConfClient *client;
@@ -480,6 +481,54 @@ mn_conf_set_string_list (const char *key, GSList *list)
handle_error(&err);
}
+GHashTable *
+mn_conf_get_string_hash_set (const char *key)
+{
+ GSList *list;
+ GSList *l;
+ GHashTable *set;
+
+ g_return_val_if_fail(key != NULL, NULL);
+
+ list = mn_conf_get_string_list(key);
+
+ set = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
+
+ MN_LIST_FOREACH(l, list)
+ {
+ const char *str = l->data;
+
+ g_hash_table_replace(set, g_strdup(str), GINT_TO_POINTER(TRUE));
+ }
+
+ mn_g_slist_free_deep(list);
+
+ return set;
+}
+
+static void
+set_string_hash_set_cb (const char *str,
+ gpointer value,
+ GSList **list)
+{
+ *list = g_slist_prepend(*list, (gpointer) str);
+}
+
+void
+mn_conf_set_string_hash_set (const char *key, GHashTable *set)
+{
+ GSList *list = NULL;
+
+ g_return_if_fail(key != NULL);
+ g_return_if_fail(set != NULL);
+
+ g_hash_table_foreach(set, (GHFunc) set_string_hash_set_cb, &list);
+
+ mn_conf_set_string_list(key, list);
+
+ g_slist_free(list);
+}
+
void
mn_conf_suggest_sync (void)
{
diff --git a/src/mn-conf.h b/src/mn-conf.h
@@ -96,6 +96,8 @@
MN_CONF_POPUPS_NAMESPACE "/limit"
#define MN_CONF_FALLBACK_CHARSETS \
MN_CONF_NAMESPACE "/fallback-charsets"
+#define MN_CONF_MESSAGES_CONSIDERED_AS_READ \
+ MN_CONF_NAMESPACE "/messages-considered-as-read"
/* obsolete keys */
#define MN_CONF_OBSOLETE_MAILBOXES \
@@ -150,6 +152,10 @@ GSList *mn_conf_get_string_list (const char *key);
void mn_conf_set_string_list (const char *key,
GSList *list);
+GHashTable *mn_conf_get_string_hash_set (const char *key);
+void mn_conf_set_string_hash_set (const char *key,
+ GHashTable *set);
+
void mn_conf_suggest_sync (void);
void mn_conf_recursive_unset (const char *key,
diff --git a/src/mn-evolution-server.gob b/src/mn-evolution-server.gob
@@ -215,9 +215,9 @@ class MN:Evolution:Server
private gboolean
get_unseen_messages (self,
- const char *folder_uri (check null),
- GPtrArray **ret (check null),
- GError **err)
+ const char *folder_uri (check null),
+ GPtrArray **ret (check null),
+ GError **err)
{
CamelFolder *folder;
diff --git a/src/mn-imap-mailbox.gob b/src/mn-imap-mailbox.gob
@@ -779,9 +779,13 @@ class MN:IMAP:Mailbox from MN:PI:Mailbox
int n = atoi(strings[i]);
MessageInfo *info;
- info = self_session_ensure_message_info(priv, n);
-
- info->flags |= MN_MESSAGE_NEW;
+ info = self_session_get_message_info(priv, n);
+ if (info)
+ info->flags |= MN_MESSAGE_NEW;
+ /*
+ * Otherwise the message is recent but not unseen,
+ * and we must ignore it (fixes #230425).
+ */
}
g_strfreev(strings);
diff --git a/src/mn-mailbox.gob b/src/mn-mailbox.gob
@@ -82,6 +82,7 @@ typedef enum
#include "mn-message.h"
#include "mn-conf.h"
#include "mn-locked-callback.h"
+#include "mn-shell.h"
struct _MNMailboxConfiguration
{
@@ -94,9 +95,19 @@ GType mn_mailbox_types[MN_MAILBOX_MAX_TYPES + 1];
typedef struct
{
+ MNMailbox *self;
+ GHashTable *messages;
+ GHashTable *messages_considered_as_read;
+ gboolean display_seen_mail;
+} FilterMessagesInfo;
+
+typedef struct
+{
GHashTable *other;
gboolean changed;
} CompareMessagesInfo;
+
+static unsigned int cleanup_messages_considered_as_read_idle_id = 0;
%}
class MN:Mailbox (abstract)
@@ -162,6 +173,20 @@ class MN:Mailbox (abstract)
self_set_active(self, FALSE);
mn_source_clear(&selfp->check_timeout_id);
+
+ /*
+ * Do not queue a cleanup of the messages-considered-as-read GConf
+ * setting: it should not be done if the mailbox is only being
+ * replaced (eg. from mn_mailbox_properties_dialog_apply()).
+ *
+ * If however the mailbox is being permanently removed, its
+ * messages considered as read will be cleaned up the next time
+ * another mailbox is checked, which is good enough.
+ *
+ * Note that we could queue a cleanup from here by adding and
+ * testing a "gboolean replacing" signal parameter, but it is not
+ * worth the effort.
+ */
}
public char *runtime_name destroywith g_free;
@@ -242,35 +267,22 @@ class MN:Mailbox (abstract)
selfp->check_timeout_id = gdk_threads_add_timeout(self->runtime_check_delay * 1000, self_check_timeout_cb, self);
}
- /* all unread (unseen and seen) messages */
- private GSList *all_messages destroywith mn_g_object_slist_free;
+ /* whether set_messages() has ever been called */
+ private gboolean all_messages_set;
- /* all_messages, indexed by mid
- *
- * These messages are not necessarily present in all_messages (a
- * seen or considered as read message might not be added to
- * all_messages), so the hash table holds a reference to each
- * message.
- */
- private GHashTable *all_messages_mid_hash_table = {g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref)} destroywith g_hash_table_destroy;
-
- /*
- * These messages are not necessarily present in all_messages (they
- * might have been marked as read previously), so the hash table
- * holds a reference to each message.
- */
- private GHashTable *all_messages_considered_as_read = {g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref)} destroywith g_hash_table_destroy;
+ /* all unread (unseen and seen) messages, indexed by id */
+ private GHashTable *all_messages = {g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref)} destroywith g_hash_table_destroy;
- /* all_messages after applying the "seen messages" filter */
- public GPtrArray *messages = {g_ptr_array_new()} destroywith mn_g_object_ptr_array_free;
+ /* all_messages, indexed by mid (message references held by all_message) */
+ private GHashTable *all_messages_by_mid = {g_hash_table_new(g_str_hash, g_str_equal)} destroywith g_hash_table_destroy;
- /* self->messages, indexed by id */
- private GHashTable *messages_hash_table = {g_hash_table_new(g_str_hash, g_str_equal)} destroywith g_hash_table_destroy;
+ /* all_messages after applying the "seen messages" filter, indexed by id */
+ public GHashTable *messages = {g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref)} destroywith g_hash_table_destroy;
/* for performance */
public time_t timestamp; /* timestamp of most recent message in self->messages */
- property POINTER messages (type = GPtrArray *)
+ property POINTER messages (type = GHashTable *)
get
{
g_value_set_pointer(VAL, self->messages);
@@ -279,8 +291,29 @@ class MN:Mailbox (abstract)
protected void
set_messages (self, GSList *messages)
{
- mn_g_object_slist_free(selfp->all_messages);
- selfp->all_messages = mn_g_object_slist_copy(messages);
+ GSList *l;
+
+ selfp->all_messages_set = TRUE;
+
+ g_hash_table_remove_all(selfp->all_messages);
+ g_hash_table_remove_all(selfp->all_messages_by_mid);
+
+ MN_LIST_FOREACH(l, messages)
+ {
+ MNMessage *message = l->data;
+
+ g_hash_table_replace(selfp->all_messages, message->id, g_object_ref(message));
+
+ if (message->mid)
+ /* do not ref message, it is owned by all_messages */
+ g_hash_table_replace(selfp->all_messages_by_mid, message->mid, message);
+ }
+
+ /*
+ * Some messages might be gone, queue a cleanup of the
+ * considered-as-read GConf setting.
+ */
+ self_queue_cleanup_messages_considered_as_read();
self_filter_messages(self);
}
@@ -289,70 +322,40 @@ class MN:Mailbox (abstract)
* filter_messages:
* @self: the mailbox to act upon
*
- * Filters @self->all_messages with the "seen mail" filter and
- * @selfp->all_messages_considered_as_read, and stores the resulting
- * list in @self->messages. Additionally, if @self->messages has
- * changed, emits the "messages-changed" signal.
+ * Filters @self->all_messages with the "seen mail" filter and the
+ * considered-as-read GConf list, and stores the resulting set in
+ * @self->messages. Additionally, if @self->messages has changed,
+ * emits the "messages-changed" signal.
**/
private void
filter_messages (self)
{
- GPtrArray *messages;
- GHashTable *all_messages_hash_table;
- GHashTable *messages_hash_table;
- gboolean display_seen_mail;
- GSList *l;
+ FilterMessagesInfo info;
gboolean changed = FALSE;
gboolean has_new = FALSE;
/* filter messages */
- messages = g_ptr_array_new();
self->timestamp = 0;
- all_messages_hash_table = g_hash_table_new(g_str_hash, g_str_equal);
- messages_hash_table = g_hash_table_new(g_str_hash, g_str_equal);
-
- display_seen_mail = mn_conf_get_bool(MN_CONF_DISPLAY_SEEN_MAIL);
-
- MN_LIST_FOREACH(l, selfp->all_messages)
- {
- MNMessage *message = l->data;
-
- g_hash_table_replace(all_messages_hash_table, message->id, message);
-
- if (message->mid)
- g_hash_table_replace(selfp->all_messages_mid_hash_table, message->mid, g_object_ref(message));
-
- if ((display_seen_mail || (message->flags & MN_MESSAGE_NEW) != 0)
- && ! g_hash_table_lookup(selfp->all_messages_considered_as_read, message->id))
- {
- if (message->sent_time > self->timestamp)
- self->timestamp = message->sent_time;
-
- g_ptr_array_add(messages, g_object_ref(message));
- g_hash_table_replace(messages_hash_table, message->id, message);
- }
- }
+ info.self = self;
+ info.messages = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref);
+ info.messages_considered_as_read = mn_conf_get_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ);
+ info.display_seen_mail = mn_conf_get_bool(MN_CONF_DISPLAY_SEEN_MAIL);
- /* remove stale messages */
- g_hash_table_foreach_remove(selfp->all_messages_mid_hash_table, (GHRFunc) self_remove_stale_messages_cb, all_messages_hash_table);
- g_hash_table_foreach_remove(selfp->all_messages_considered_as_read, (GHRFunc) self_remove_stale_messages_cb, all_messages_hash_table);
+ g_hash_table_foreach(selfp->all_messages, (GHFunc) self_filter_messages_cb, &info);
- g_hash_table_destroy(all_messages_hash_table);
+ g_hash_table_destroy(info.messages_considered_as_read);
/* detect changes */
- if (self_compare_messages(selfp->messages_hash_table, messages_hash_table))
+ if (self_compare_messages(self->messages, info.messages))
changed = TRUE;
- if (self_compare_messages(messages_hash_table, selfp->messages_hash_table))
+ if (self_compare_messages(info.messages, self->messages))
changed = has_new = TRUE;
- mn_g_object_ptr_array_free(self->messages);
- self->messages = messages;
-
- g_hash_table_destroy(selfp->messages_hash_table);
- selfp->messages_hash_table = messages_hash_table;
+ g_hash_table_destroy(self->messages);
+ self->messages = info.messages;
g_object_notify(G_OBJECT(self), "messages");
@@ -360,12 +363,23 @@ class MN:Mailbox (abstract)
self_messages_changed(self, has_new);
}
- private gboolean
- remove_stale_messages_cb (gpointer key,
- MNMessage *message,
- GHashTable *messages)
+ private void
+ filter_messages_cb (const char *id,
+ MNMessage *message,
+ FilterMessagesInfo *info)
{
- return g_hash_table_lookup(messages, message->id) == NULL;
+ Self *self = info->self;
+
+ if (! info->display_seen_mail && (message->flags & MN_MESSAGE_NEW) == 0)
+ return;
+
+ if (g_hash_table_lookup(info->messages_considered_as_read, message->id))
+ return;
+
+ if (message->sent_time > self->timestamp)
+ self->timestamp = message->sent_time;
+
+ g_hash_table_replace(info->messages, message->id, g_object_ref(message));
}
/**
@@ -399,6 +413,80 @@ class MN:Mailbox (abstract)
info->changed = TRUE;
}
+ private void
+ queue_cleanup_messages_considered_as_read (void)
+ {
+ if (! cleanup_messages_considered_as_read_idle_id)
+ cleanup_messages_considered_as_read_idle_id = gdk_threads_add_idle(self_cleanup_messages_considered_as_read_cb, NULL);
+ }
+
+ private gboolean
+ cleanup_messages_considered_as_read_cb (gpointer data)
+ {
+ self_cleanup_messages_considered_as_read();
+
+ cleanup_messages_considered_as_read_idle_id = 0;
+ return FALSE; /* remove source */
+ }
+
+ /*
+ * Remove messages which no longer exist from the considered-as-read
+ * GConf list.
+ *
+ * The primary goal is to ensure that a message which has been
+ * opened or marked as read (these functions implicitly add the
+ * message to the considered-as-read list) and then marked back as
+ * unread in the mail reader will reappear in MN.
+ *
+ * The secondary goal is to ensure that the considered-as-list will
+ * not grow forever.
+ */
+ private void
+ cleanup_messages_considered_as_read (void)
+ {
+ GList *l;
+ GHashTable *set;
+
+ /*
+ * If there is a mailbox which has not been successfully checked
+ * yet, abort. Otherwise, the messages of that mailbox could be
+ * mistakenly cleaned up.
+ */
+ MN_LIST_FOREACH(l, mn_shell->mailboxes->list)
+ {
+ MNMailbox *mailbox = l->data;
+
+ if (! mailbox->_priv->all_messages_set)
+ return;
+ }
+
+ set = mn_conf_get_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ);
+
+ if (g_hash_table_foreach_remove(set, (GHRFunc) self_cleanup_messages_considered_as_read_remove_cb, NULL))
+ /* one or more messages were removed, reflect the changes */
+ mn_conf_set_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ, set);
+
+ g_hash_table_destroy(set);
+ }
+
+ private gboolean
+ cleanup_messages_considered_as_read_remove_cb (const char *id,
+ gpointer value,
+ gpointer user_data)
+ {
+ GList *l;
+
+ MN_LIST_FOREACH(l, mn_shell->mailboxes->list)
+ {
+ MNMailbox *mailbox = l->data;
+
+ if (g_hash_table_lookup(mailbox->_priv->all_messages, id))
+ return FALSE; /* message still exists, do not remove it */
+ }
+
+ return TRUE; /* message no longer exists, remove it */
+ }
+
/**
* messages-changed:
* @self: the object which received the signal
@@ -507,7 +595,10 @@ class MN:Mailbox (abstract)
init (self)
{
- mn_g_object_gconf_notification_add_gdk_locked(self, MN_CONF_DISPLAY_SEEN_MAIL, self_notify_display_seen_messages_cb, self);
+ mn_g_object_gconf_notifications_add_gdk_locked(self,
+ MN_CONF_DISPLAY_SEEN_MAIL, self_notify_display_seen_messages_cb, self,
+ MN_CONF_MESSAGES_CONSIDERED_AS_READ, self_notify_messages_considered_as_read_cb, self,
+ NULL);
}
finalize (self)
@@ -532,6 +623,17 @@ class MN:Mailbox (abstract)
self_filter_messages(self);
}
+ private void
+ notify_messages_considered_as_read_cb (GConfClient *client,
+ unsigned int cnxn_id,
+ GConfEntry *entry,
+ gpointer user_data)
+ {
+ Self *self = user_data;
+
+ self_filter_messages(self);
+ }
+
[G_GNUC_NULL_TERMINATED]
public MNMailbox *
new (const char *type (check null), ...)
@@ -1072,66 +1174,7 @@ class MN:Mailbox (abstract)
protected MNMessage *
get_message_from_mid (self, const char *mid (check null))
{
- return g_hash_table_lookup(selfp->all_messages_mid_hash_table, mid);
- }
-
- private void
- consider_as_read_real (self, MN:Message *message (check null type))
- {
- g_hash_table_replace(selfp->all_messages_considered_as_read, message->id, g_object_ref(message));
- }
-
- /*
- * This function serves two purposes:
- *
- * - there can be a slight (or large if polling is in effect)
- * delay between marking a message as read and having the next
- * mail check catch the change. This function is used to conceal
- * the delay from the user.
- * - this function is called on each new message when the user
- * chooses the "Consider new mail as read" action
- */
- public void
- consider_as_read (MN:Message *message (check null type))
- {
- Self *self;
-
- self = message->mailbox;
- g_assert(self != NULL);
-
- self_consider_as_read_real(self, message);
-
- self_filter_messages(self);
- }
-
- /*
- * Atomically considers a list of messages as read (updates the
- * mailbox message list only once rather than for each message).
- * Each message in the list must belong to the same mailbox.
- */
- public void
- consider_as_read_list (GSList *messages)
- {
- Self *self = NULL;
- GSList *l;
-
- MN_LIST_FOREACH(l, messages)
- {
- MNMessage *message = l->data;
-
- if (self)
- g_assert(self == message->mailbox);
- else
- {
- self = message->mailbox;
- g_assert(self != NULL);
- }
-
- self_consider_as_read_real(self, message);
- }
-
- if (self) /* non empty list */
- self_filter_messages(self);
+ return g_hash_table_lookup(selfp->all_messages_by_mid, mid);
}
public char *
diff --git a/src/mn-mailboxes.gob b/src/mn-mailboxes.gob
@@ -145,20 +145,22 @@ class MN:Mailboxes
MN_LIST_FOREACH(l, self->list)
{
MNMailbox *mailbox = l->data;
- int i;
- MN_ARRAY_FOREACH(i, mailbox->messages)
- {
- MNMessage *message = g_ptr_array_index(mailbox->messages, i);
-
- g_ptr_array_add(self->messages, g_object_ref(message));
- g_hash_table_insert(self->messages_hash_table, message->id, message);
- }
+ g_hash_table_foreach(mailbox->messages, (GHFunc) self_messages_changed_cb, self);
}
g_ptr_array_sort(self->messages, (GCompareFunc) self_messages_sort_cb);
}
+ private void
+ messages_changed_cb (const char *id,
+ MNMessage *message,
+ Self *self)
+ {
+ g_ptr_array_add(self->messages, g_object_ref(message));
+ g_hash_table_insert(self->messages_hash_table, message->id, message);
+ }
+
private int
messages_sort_cb (MNMessage **a, MNMessage **b)
{
@@ -546,9 +548,12 @@ class MN:Mailboxes
gpointer user_data)
{
Self *self = user_data;
+ int num_messages;
+
+ num_messages = g_hash_table_size(mailbox->messages);
- mn_info(ngettext("%s has %i new message", "%s has %i new messages", mailbox->messages->len),
- mailbox->runtime_name, mailbox->messages->len);
+ mn_info(ngettext("%s has %i new message", "%s has %i new messages", num_messages),
+ mailbox->runtime_name, num_messages);
self_messages_changed(self, has_new);
}
diff --git a/src/mn-maildir-mailbox-backend.gob b/src/mn-maildir-mailbox-backend.gob
@@ -135,7 +135,7 @@ class MN:Maildir:Mailbox:Backend from MN:VFS:Mailbox:Backend
{
char *mid;
MNMessageFlags flags = 0;
- MNVFSMessage *message;
+ MNVFSMessage *message = NULL;
if (mn_reentrant_mailbox_check_aborted(MN_REENTRANT_MAILBOX(backend->mailbox), check_id))
{
@@ -163,13 +163,25 @@ class MN:Maildir:Mailbox:Backend from MN:VFS:Mailbox:Backend
mid = g_strndup(file_info->name, info - file_info->name);
}
+ /*
+ * Hold the GDK lock while using
+ * mn_mailbox_get_message_from_mid(), since for
+ * MNReentrantMailbox, mail checks can run concurrently, so
+ * another check could be modifying the MID hash table.
+ */
+ GDK_THREADS_ENTER();
+
message = MN_VFS_MESSAGE(mn_mailbox_get_message_from_mid(MN_MAILBOX(backend->mailbox), mid));
if (message)
message = mn_vfs_message_new_from_message(message,
uri,
file_info->name,
flags);
- else
+
+ gdk_flush();
+ GDK_THREADS_LEAVE();
+
+ if (! message)
{
GError *tmp_err = NULL;
diff --git a/src/mn-message.gob b/src/mn-message.gob
@@ -78,6 +78,7 @@ typedef GError *(*MNMessageActionPerformCallback) (MNMessage *message, gpointer
#include <glib/gi18n.h>
#include <gnome.h>
#include <libgnomevfs/gnome-vfs.h>
+#include "mn-conf.h"
#include "mn-util.h"
typedef struct
@@ -456,7 +457,7 @@ class MN:Message
open_done (self, GError *err)
{
if (! err)
- mn_mailbox_consider_as_read(self);
+ self_consider_as_read(self); /* [1] */
}
virtual private gboolean
@@ -472,7 +473,7 @@ class MN:Message
mark_as_read_done (self, GError *err)
{
if (! err)
- mn_mailbox_consider_as_read(self);
+ self_consider_as_read(self); /* [1] */
}
virtual private gboolean
@@ -488,7 +489,7 @@ class MN:Message
mark_as_spam_done (self, GError *err)
{
if (! err)
- mn_mailbox_consider_as_read(self);
+ self_consider_as_read(self); /* [1] */
}
virtual private gboolean
@@ -504,7 +505,65 @@ class MN:Message
delete_done (self, GError *err)
{
if (! err)
- mn_mailbox_consider_as_read(self);
+ self_consider_as_read(self); /* [1] */
+ }
+
+ public void
+ consider_as_read (self)
+ {
+ GSList *list;
+ GSList *l;
+ gboolean exists = FALSE;
+
+ list = mn_conf_get_string_list(MN_CONF_MESSAGES_CONSIDERED_AS_READ);
+
+ MN_LIST_FOREACH(l, list)
+ {
+ const char *id = l->data;
+
+ if (! strcmp(id, self->id))
+ {
+ exists = TRUE;
+ break;
+ }
+ }
+
+ if (! exists)
+ {
+ list = g_slist_prepend(list, g_strdup(self->id));
+
+ mn_conf_set_string_list(MN_CONF_MESSAGES_CONSIDERED_AS_READ, list);
+ }
+
+ mn_g_slist_free_deep(list);
+ }
+
+ /*
+ * Atomically considers a list of messages as read, setting the
+ * GConf list only once rather than for each message.
+ */
+ public void
+ consider_as_read_list (GList *messages)
+ {
+ GHashTable *set;
+ unsigned int old_size;
+ GList *l;
+
+ set = mn_conf_get_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ);
+
+ old_size = g_hash_table_size(set);
+
+ MN_LIST_FOREACH(l, messages)
+ {
+ MNMessage *message = l->data;
+
+ g_hash_table_replace(set, g_strdup(message->id), GINT_TO_POINTER(TRUE));
+ }
+
+ if (g_hash_table_size(set) != old_size)
+ mn_conf_set_string_hash_set(MN_CONF_MESSAGES_CONSIDERED_AS_READ, set);
+
+ g_hash_table_destroy(set);
}
public MNMessage *
@@ -545,3 +604,12 @@ class MN:Message
return node;
}
}
+
+/*
+ * [1]: there can be a slight (or large if polling is in effect) delay
+ * between executing an action which should cause a message to
+ * disappear from MN (open it, mark it as read, etc) and having the
+ * next mail check catch the change. By adding the message to the
+ * considered-as-read GConf list, this delay is concealed from the
+ * user.
+ */
diff --git a/src/mn-shell.gob b/src/mn-shell.gob
@@ -532,7 +532,7 @@ class MN:Shell
{
MNMailbox *mailbox = l->data;
- if (mailbox->messages->len != 0)
+ if (g_hash_table_size(mailbox->messages) != 0)
has_new = TRUE;
if (mailbox->error)
blink = TRUE;
@@ -582,7 +582,7 @@ class MN:Shell
{
MNMailbox *mailbox = la->data;
- if (mailbox->messages->len != 0)
+ if (g_hash_table_size(mailbox->messages) != 0)
new_mailboxes = g_slist_insert_sorted(new_mailboxes, mailbox, (GCompareFunc) self_new_mailboxes_compare_cb);
if (mailbox->error)
@@ -597,12 +597,14 @@ class MN:Shell
{
MNMailbox *mailbox = lb->data;
- g_assert(mailbox->messages->len != 0);
+ g_assert(g_hash_table_size(mailbox->messages) != 0);
if (*string->str)
g_string_append_c(string, '\n');
- g_string_append_printf(string, _("%s (%i)"), mailbox->runtime_name, mailbox->messages->len);
+ g_string_append_printf(string, _("%s (%i)"),
+ mailbox->runtime_name,
+ (int) g_hash_table_size(mailbox->messages));
}
g_slist_free(new_mailboxes);
@@ -725,7 +727,7 @@ class MN:Shell
return cmp;
/* sort by number of messages (descending order) */
- cmp = b->messages->len - a->messages->len;
+ cmp = (int) g_hash_table_size(b->messages) - g_hash_table_size(a->messages);
if (cmp != 0)
return cmp;
@@ -811,11 +813,11 @@ class MN:Shell
MN_LIST_FOREACH(l, self->mailboxes->list)
{
MNMailbox *mailbox = l->data;
- GSList *list;
+ GList *list;
- list = mn_g_ptr_array_to_slist(mailbox->messages);
- mn_mailbox_consider_as_read_list(list);
- g_slist_free(list);
+ list = g_hash_table_get_values(mailbox->messages);
+ mn_message_consider_as_read_list(list);
+ g_list_free(list);
}
}