TODO Options: Automatic library management ✓ Recursive file addition ✓ Auto deletion Add only one file type if multiple are present ✓ Remember files ✓ Check files (hashes) upon restart ✓ Draw shadows ✓ Perform culling Library: ✓ sqlite3 for cover images cache ✓ sqlite3 for storing metadata ✓ Drop down for SortBy ✓ Image delegates ✓ Image reflow ✓ Search bar in toolbar ✓ Shift focus to the tab that has the book open ✓ Tie file deletion and tab closing to model updates ✓ Create separate thread for parser - Show progress in main window ✓ Memory management ✓ Mass tagging ✓ Add capability to sort by new ? Create emblem per filetype Table view Ignore a / the / numbers for sorting purposes Information dialog widget Context menu: Cache, Read, Edit database, delete, Mark read/unread Set focus to newly added file Allow editing of database data through the UI Reading: ✓ Drop down for TOC ✓ Override the keypress event of the textedit ✓ Use format* icons for toolbar buttons ✓ Implement book view settings with a(nother) toolbar ✓ Substitute textedit for another widget ✓ Theming ✓ Keep fontsize and margins consistent - Let page increase in length ✓ Fullscreening ✓ Remember open tabs ✓ Selectable background color for QGraphicsView ✓ View modes for QGraphicsView ✓ View and hide toolbar actions in a list ✓ Line spacing Search document using QTextCursor? Use embedded fonts Graphical themes Comic view keyboard shortcuts Comic view modes Continuous paging Double pages Record progress Bookmarks Pagination Set context menu for definitions and the like Scrolling: Smooth / By Line Filetypes: ✓ cbz, cbr support ✓ Keep font settings enabled but only for background color Cache next and previous images epub support mobi, azw support txt, doc, chm, djvu, fb2 support ? Plugin system for parsers ? pdf support Internet: Goodreads API: Ratings, Read, Recommendations Get ISBN using python-isbnlib Other: ✓ Define every widget in code ✓ Include icons for emblems Shift to logging instead of print statements Bugs: If there are files open and the database is deleted, TypeErrors result The auto scan doesn't work on a new database