projects
/
org.ibex.mail.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
11270f6
)
add 1 to uids to make Mail.app happy
author
adam
<adam@megacz.com>
Sat, 17 Mar 2007 08:52:02 +0000
(08:52 +0000)
committer
adam
<adam@megacz.com>
Sat, 17 Mar 2007 08:52:02 +0000
(08:52 +0000)
darcs-hash:
20070317085202
-5007d-
2ee8dbae95852a3c13620fa17a9f749bf6ce5e6d
.gz
src/org/ibex/mail/FileBasedMailbox.java
patch
|
blob
|
history
diff --git
a/src/org/ibex/mail/FileBasedMailbox.java
b/src/org/ibex/mail/FileBasedMailbox.java
index
0621689
..
79f9567
100644
(file)
--- a/
src/org/ibex/mail/FileBasedMailbox.java
+++ b/
src/org/ibex/mail/FileBasedMailbox.java
@@
-123,7
+123,10
@@
public class FileBasedMailbox extends Mailbox.Default {
}
public int uidValidity() { return uidValidity; }
}
public int uidValidity() { return uidValidity; }
- public int uidNext() { return uidNext; }
+
+ // UGLY: Apple Mail doesn't like UID=0, so we add one
+ public int uidNext() { return uidNext+1; }
+
public synchronized void insert(Message message, int flags) {
try {
String name, fullname; File target, f;
public synchronized void insert(Message message, int flags) {
try {
String name, fullname; File target, f;
@@
-146,6
+149,8
@@
public class FileBasedMailbox extends Mailbox.Default {
Log.info(this, path + " <= " + message.summary());
}
Log.info(this, path + " <= " + message.summary());
}
+
+
private static FilenameFilter filter =
new FilenameFilter() { public boolean accept(File dir, String name) {
return name.endsWith(".");
private static FilenameFilter filter =
new FilenameFilter() { public boolean accept(File dir, String name) {
return name.endsWith(".");
@@
-161,9
+166,20
@@
public class FileBasedMailbox extends Mailbox.Default {
public boolean recent() { return false; }
public int nntpNumber() { return cur+1; } // FIXME: lame
public int imapNumber() { return cur+1; } // EUDORA insists that message numbers start at 1, not 0
public boolean recent() { return false; }
public int nntpNumber() { return cur+1; } // FIXME: lame
public int imapNumber() { return cur+1; } // EUDORA insists that message numbers start at 1, not 0
- public int uid() { return done() ? -1 : Integer.parseInt(files[cur].substring(0, files[cur].length()-1)); }
+
+ // UGLY: Apple Mail doesn't like UID=0, so we add one
+ public int uid() { return done() ? -1 : 1+Integer.parseInt(files[cur].substring(0, files[cur].length()-1)); }
+
public void delete() { File f = file(); if (f != null && f.exists()) f.delete(); }
public void delete() { File f = file(); if (f != null && f.exists()) f.delete(); }
- public void seen(boolean seen) { }
+ public int getFlags() {
+ return file().lastModified()==MAGIC_DATE ? 0 : Flag.SEEN;
+ }
+ public void setFlags(int flags) {
+ File f = file();
+ if ((flags & Mailbox.Flag.SEEN) == 0) f.setLastModified(MAGIC_DATE);
+ else if (f.lastModified()==MAGIC_DATE) f.setLastModified(System.currentTimeMillis());
+ // FIXME
+ }
public Headers head() {
if (done()) return null;
FileInputStream fis = null;
public Headers head() {
if (done()) return null;
FileInputStream fis = null;