Opened 8 years ago

Closed 8 years ago

#40 closed defect

Add offline reading option

Reported by: DarkmatterVale Owned by:
Priority: Milestone:
Component: Version:
Keywords: pull_request Cc:

Description

This PR adds support for offline reading & feed saving.

Unfortunately, by saving the file's text in normal format (which allows the reader to easily copy the file and grab the saved data), I cannot keep track of read/unread state.

Change History (6)

comment:1 by pulkomandy, 8 years ago

I would prefer if all the whitespace changes were in a separate commit, as they make reading the diff a bit harder on github.
I wonder if the manual "save" and "offline" menu items are a good idea. Wouldn't it be better to always save the items when downloaded, and switch to offline mode automatically when network is unreachable?

The "read" state can be saved as a filesystem attribute, just as done for e-mail files. This does not alter the file content.

comment:2 by DarkmatterVale, 8 years ago

I will attempt to separate the commits.

With respect to the manual buttons, it is automatic. I am only letting the user also decide if they manually want to set the application to offline or to save the feed. Do you not agree those options should be available?

comment:3 by DarkmatterVale, 8 years ago

I have now separated the commits and have removed the save button (since that is automatic when the content is downloaded the button is not needed).

I am having trouble finding where the filesystem attributes are being saved however. I need to add a "read" state to each feed in the feeds.opml, correct? If so, where is the saving portion of the code? I have been unable to find it so far.

comment:4 by pulkomandy, 8 years ago

Thanks, now I can more easily see the changes.

Instead of saving the styled text, I would have saved the feed data in plain text or HTML and let fRiSS re-render it. This is useful because it will more easily allow to compare the article with a new version from the website, and decide if an article is new or if we already had downloaded it.

For the attributes, appropriate methods are in BNode (of which BFile is a subclass): https://www.haiku-os.org/legacy-docs/bebook/BNode.html

comment:5 by pulkomandy, 8 years ago

Status: newclosed

This ticket was mentioned in e367ad2d6054f7aa4a2b688aee8badfea3d6df73

comment:6 by pulkomandy, 8 years ago

This pull request was merged in e367ad2d6054f7aa4a2b688aee8badfea3d6df73

Note: See TracTickets for help on using tickets.