* Update icons for MS Office filetypes
* Remove unused old PDF word count code
* Add more strict office file detection
* Remove old HydrusDocumentHandling import
* Add word count for docx and pptx and thumbnails for pptx
* Update filetypes doc
* Update filetype docs with pptx dpi
* Remove prints and clean up formatting
* Center default thumbnails inside target resolution
* Work on quick look integration
* Add pyobjc requirements and make sure it's only imported on macOS
* Fix requirements
* Rename HydrusDataSource to HydrusQLDataSource
* Add version to Info.plist in .app
* Clean up ClientMacIntegration.py
* New macOS icon
* Add .DS_Store to .gitignore
* Attempt to use global menu bar
* Use Qt palette colors for some things in default qss
* Better handling of native menu bar
* Explicitly set menu bar roles for macOS
* Enable system tray for macOS
* Change CFBundleName to Hydrus
* Bump pyoxidizer version and use python 3.10 for macOS build
* Fix minimize to system tray option text
* Use square hydrus SVG for help menu
* Default do_macos_debug_dialog_menus to False
* Remove commented code for menu roles
* Work on popups API
* Add basic ability to dismiss popups with the API
* Add canceling and calling the user callable func for notifications API
* Use better method to dismiss popups
* Update for Hydrus v552
* Add the ability to add and update basic popups with the API
* Add 'seconds' parameter to dismiss and cancel popup API
* Add finish popup endpoint
* Allow setting cancellable and pausable for popups
* Fixes for popup api
* Finish add/update popups api
* Various cleanup
* Small fixes
* attached_files_mergable fix
* Add only_in_view query param to get_popups
* Minor popup api changes
* Tweak some field names for job statuses
* Add docs for the popups api
* Docs spacing
* Add manage popups permission to api docs
* Add under construction warning to popup api docs
* Small fixes
* Add generate_hashes API endpoint
It allows generating phash, pixel hash, and sha256 file hash for files not yet in hydrus
* At least give the sha256 hash of any file
* Tweak how temp_file_info is used
* Add check to ensure path is a file
* Add same isfile check to add_file
* Add docs for generate_hashes api
* Restore original handling of temp_file_info so temp file cleanup happens