- Added a preference on iPad to show videos inline or full-screen. Defaults to inline.
- This preference only applies after the app is restarted, as it's a configuration option of the web view, that has to be set on creation.
- Implemented the feature, showing or hiding hidden stories, only offering it if there are some.
- I used the “all” icon in the menu as a placeholder; please provide one you’d prefer.
- Since the crusty old menu mechanism doesn’t handle dynamic items well, I took this opportunity to migrate the feed detail menu to the block-based MenuViewController mechanism, resulting in significant code reduction.
- Enhanced MenuViewController to support the theme controls etc, so other menus can be more easily migrated next time they need to be updated.
- Added a "Restore position" preference in the "Reading Stories" group, with options to restore the previous state on launch always, within a specified interval, or never.
- When within the indicated interval, the app restores the feeds, feed detail, and story selections and scrolling positions.
- The active story is marked unread to ensure it remains available for restoring, and re-marked read when resumed.
- NOTE: only supported on iPhone for now. I’ll add iPad support later.
This should have significant performance improvements, leveraging the
full power of the Safari Nitro Javascript engine and out-of-process
rendering. Also as requested, it now observes the progress and removes
the spinner as soon as the base HTML has loaded. Some big changes, but
doesn’t look like anything is broken.