diff --git a/src/App.cpp b/src/App.cpp index 2b153af..d34cfea 100644 --- a/src/App.cpp +++ b/src/App.cpp @@ -165,6 +165,10 @@ App::_OpenEntryFile(BMessage* refMessage) { entry_ref entryRef; refMessage->FindRef("refs", &entryRef); + BFile entryFile(&entryRef, B_WRITE_ONLY); + + BString readStatus("Read"); + entryFile.WriteAttrString("Feed:status", &readStatus); if (fPreferences->EntryOpenAsHtml()) _OpenEntryFileAsHtml(entryRef); diff --git a/src/Entry.cpp b/src/Entry.cpp index a50cb67..890dc97 100644 --- a/src/Entry.cpp +++ b/src/Entry.cpp @@ -46,14 +46,12 @@ Entry::Filetize() file.WriteAttr("BEOS:TYPE", B_MIME_STRING_TYPE, 0, betype.String(), betype.CountChars() + 1); - file.WriteAttr("Feed:name", B_STRING_TYPE, 0, - fTitle.String(), fTitle.CountChars()); - file.WriteAttr("Feed:description", B_STRING_TYPE, 0, - fDescription.String(), fDescription.CountChars()); - file.WriteAttr("Feed:source", B_STRING_TYPE, 0, - fFeedTitle.String(), fFeedTitle.CountChars()); - file.WriteAttr("META:url", B_STRING_TYPE, 0, fPostUrl.String(), - fPostUrl.CountChars()); + BString readStatus("Unread"); + file.WriteAttrString("Feed:name", &fTitle); + file.WriteAttrString("Feed:description", &fDescription); + file.WriteAttrString("Feed:source", &fFeedTitle); + file.WriteAttrString("META:url", &fPostUrl); + file.WriteAttrString("Feed:status", &readStatus); if (fDate != NULL) { file.WriteAttr("Feed:when", B_TIME_TYPE, 0, &tt_date, sizeof(time_t)); diff --git a/src/Feed.cpp b/src/Feed.cpp index 38d943b..9a5da64 100644 --- a/src/Feed.cpp +++ b/src/Feed.cpp @@ -45,10 +45,10 @@ Feed::Feed(BEntry entry) entry.GetPath(&path); SetCachePath(BString(path.Path())); - BString name; - BString url; + BString name, url; file.ReadAttrString("META:url", &url); file.ReadAttrString("Feed:name", &name); + file.ReadAttrString("Feed:hash", &fLastHash); if (!url.IsEmpty()) SetXmlUrl(BUrl(url)); @@ -120,8 +120,6 @@ Feed::Fetch() { BFile cacheFile = BFile(fCachePath, B_READ_WRITE | B_CREATE_FILE); - cacheFile.ReadAttrString("Feed:hash", &fLastHash); - int32 result = fetch(fXmlUrl, &cacheFile, &fHash, 30); cacheFile.WriteAttrString("Feed:hash", &fHash); diff --git a/src/Mimetypes.cpp b/src/Mimetypes.cpp index efeace5..61eeeb9 100644 --- a/src/Mimetypes.cpp +++ b/src/Mimetypes.cpp @@ -75,6 +75,7 @@ feedEntryMimeType() addAttribute(info, "Feed:description", "Description"); addAttribute(info, "META:url", "URL"); addAttribute(info, "Feed:source", "Source"); + addAttribute(info, "Feed:status", "Status"); addAttribute(info, "Feed:when", "When", B_TIME_TYPE, 150); return mime.SetAttrInfo(&info);