Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multiple stacks #44

Closed
24 tasks done
adamwulf opened this issue Jun 5, 2013 · 7 comments
Closed
24 tasks done

Support multiple stacks #44

adamwulf opened this issue Jun 5, 2013 · 7 comments
Assignees
Labels
Milestone

Comments

@adamwulf
Copy link
Owner

adamwulf commented Jun 5, 2013

For some reason, the branch at 1f49466aa doesn't show more than 20 pages in the visible stack when loading.

  1. load app -> choose to view last page in the document so that 100% are in visible stack and 0 in hidden. should be > 20 pages
  2. exit app
  3. relaunch
  4. subviews shows all > 20 pages, but view inspector only shows 20.
  5. add page button
  6. only visible 20 pages will be written to disk, the other pages are now lost

it's the strangest thing, i've no idea what's going on, and hopefully a bisect on the multiple-stacks branch will track it down.

Just stack then in list mode, separated by a line/header. Easily drag pages between stacks. Delete/export entire stacks from their header.

Very similar to events in iPhoto

  • look through other managers that are shared
  • find other places that save the stack manager as the delegate
  • load into list view from fresh launch
  • switch between lists while maintaining memory performance
  • when switching stacks, it's loading the wrong page thumbnail in list mode for the current top page. it's loading the base ink thumbnail, but needs the scrapped thumbnail. might be an artifact of loading into page view instead of list view (?)
  • ability to add stack default to empty three page documents for new stacks
  • support arbitrary number of stacks
  • ability to delete stacks
  • to copy a page to a stack, use ability to clone a page #501 first the move one of the duplicates
  • simple UI for browsing stacks
  • differentiate the active stack vs non-active stacks
  • animation when switching stacks
  • allow pages to be rotated slightly when in collapsed view, but turn off the anti-aliasing when in normal list mode, otherwise it's too laggy
  • ensure all lists will load their page thumbnails when visible in collapsed view
  • performance check for at least 1000 stacks (related to ability to import PDF with margin, default as scale to fit #1632)
  • add stack button to add empty stack
  • import document button ability to import PDF with margin, default as scale to fit #1632
  • long press or use two fingers to pick up a stack to reorder it in the list, just like in list mode for pages
  • swipe to the left a little to show duplicate / delete / export buttons
  • swipe to the left a lot to delete
  • button in list view (top right?) to immediately transition to collapsed view regardless of scroll offset
  • tutorial button at bottom of collapsed view
  • handle scenario where user is in multiple stacks view, closes the app, and then Open In's to Loose Leaf with an image or pdf. We should probably auto-create a new stack and show that stack. Alternatively, show the import stack menu / option without auto-creating it

Possible features, needs thought:

  • Ability to name a document and for that name to show in collapsed / list views
@adamwulf
Copy link
Owner Author

One thought is to tap the header bar for each stack, and all the pages slide into just one toe beneath the header w/ the most recent note on top visibly. Since only a few px of rah page would be visible after stacking, it'd be fairly easy to cache

@adamwulf adamwulf added feature and removed marketing labels Jun 2, 2014
@adamwulf
Copy link
Owner Author

adamwulf commented Jun 2, 2014

possibly have an "insert document" button in list view to create a new document header and pre-populate it
unnamed

@adamwulf
Copy link
Owner Author

adamwulf commented Jun 3, 2014

with announcement of iCloud Document Library, i need to decide how Loose Leaf should handle documents. since i can save edits back to the original document, then i need to be able to import as well, yes?

for instance:

  1. user creates PDF in god reader or something
  2. opens it as list in Loose Leaf
  3. edits a page in Loose Leaf
  4. re-opens in good notes and edits
  5. opens in Loose Leaf

in this case, i need to be able to still support the scraps and content that they wrote on the page(s) the first time, and also respect the edits made in good notes. the best way i can see to do this is to support importing images on PDFs as scraps immediately.

then, when saving to PDF, the page bg is a flag image, and all the scraps on the page get exported as images in the PDF context. not sure how i can organized or set properties on these objects, or if they'd be respected at all. ideally, i could maintain any text in the PDF and not convert all that text to images.

@adamwulf
Copy link
Owner Author

adamwulf commented Jun 3, 2014

looseleaf-12

@adamwulf adamwulf modified the milestone: Icebox Jun 8, 2014
@adamwulf adamwulf modified the milestones: v2.0.0, Icebox Jan 10, 2016
@adamwulf adamwulf self-assigned this Jan 10, 2016
@adamwulf
Copy link
Owner Author

adamwulf commented Mar 4, 2016

New file structure inside the app's documents directory:
screen shot 2016-03-04 at 2 16 00 am

  • At startup, upgrade the file structure to the new structure, if needed
    • create a new folder "StackUDID"
    • move the visible/hidden plist into that folder
    • move the Pages directory into that new stack directory too
    • load the stack as normal
  • create stacks.plist
    • preserves the order of the stacks in the UI
  • update the stack manager to load from an arbitrary folder
  • show all stacks in that top stack chooser row in list mode.
  • hide/show the stack chooser when the user scrolls / taps it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant