general database classes instead of sqlite specific code database: set a number of paths to default index. will require an indexer code though sandboxing! allow from GUI to ues commandlin, e. g. "/add ..." would be the same as "qss add ..." in termial PdfPreview: Use some kind of paging instead of memory limit Consider injecting Logger (default stdout/stderr) to classes instead of using Logger::info()/Logger::error():: sync/share GUI and CLI data-structures. Better to share codebase in general - cli: tagging - cli: command line parser: wrong position of [options] - ability to set the WHERE condition (allow editing the SQL query) - Basic OCR in images (screenshots) - Index .ebup - Preview for: .txt, source code files, .ebup, images - index: DVD menus, media metadata in audio/files etc? - Stats: Number of results found - PdfPreview: Files per file, or directory (so basically filter the results) - Hide PdfPreview Tab if there are no pdfs in the results -Tagging: add an "addtag" utility, to assign tags to folder and files -gui: Search expclitly for tags, list by tags, remove tags, add tags -gui: Filter already found results. For example, "show only folders", or just search with those results. -split each tab into own class, not everything in mainwindow.cpp? Menu: -Delete from index -Delete from fs -Reindex Filter: type:d type:file mtime: tag: