* match all orientations
* use rotation as option
---------
Co-authored-by: Andrew Senetar <arsenetar@gmail.com>
Co-authored-by: Luke <byunghun.hyun26@gmail.com>
- Add exclude pattern for flake8 when running with pre-commit as it does
not fully honor the exclude paths.
- Cleanup exclude paths for flake8 in tox.ini
- Re-enable line length check and correct three affected files
- Remove shelve picture cache as it has had a fair number of historical
issues. Original issue for which it was added should be long
resolved. Additionally this allows additional consolidation of the
various cache code and potentially dbs in the future.
- Remove all related preferences and related code for changing cache
backend between sqlite and shelve.
- Implement a confirmation dialog for cancellation of jobs, required
changing from QProgressDialog to QDialog to keep cleaner.
- Update ui translation source file
Close#1033, #515
- Add option to include file existence check at end of scan, speeds up
end of scan operation time considerably, however if user has removed
or moved files since starting a scan there could be later errors when
interacting with results. Defaults to existing behavior of including
the check, until it can be verified later dialogs and actions handle
non-existent items better.
- Add option to ignore differences in mtime when checking hash cache.
Option is present in advanced tab of preferences. Closes#1022.
- Regenerate pot files for translations
- Remove app.py from qtlib (unused)
- Remove .gitignore from qtlib (unecessary)
- Move contents of preferences.py in qtlib to qt, clean up references
- Simplify language dropdown code
- Add preference for profiling scans
- Move debug options to tab in preferences
- Add label with clickable link to debug output (appdata) to debug tab in preferences
- Update translation source files
When zooming in or out, the value computed might be a float instead
of an int, which is what the QScrollBar expect for its setValue method.
Simply casting to int should be enough here.
- Other platforms can achieve this with the OS theme so not enabled for them at this time.
- Adds preference in display options to use dark style, default is false.
- Move offscreen windows back on screen
- Restore maximized state without impacting resored size
- Fullscreen comes back on primary screen, needs further work to support
restore on other screens
- Cleanup columns.py and tables
- Other misc cleanups
- Remove text_field.py from qtlib as it is not used
- Remove unused variables from image_viewer method
If settings.ini is present next to the executable, will run in portable mode.
This results in settings, data, and cache all being in same folder as dupeGuru.
- Pull updates from Transifex
- Add Turkish
- Sort language lists in code
- Remove old locale conversion code as it appears to work correctly on
windows without different conversions.
* Big files above the user selected threshold can be partially hashed in 3 places.
* If the user is willing to take the risk, we consider files with identical md5samples as being identical.
* Doing a full match should be safer to avoid partial results which would result in overly aggressive filtering.
* Add new tests to test suite to cover this issue.
* Fixes#903.
* Fixes "'DetailsPanel' object has no attribute '_table'" error on shutdown if the Results table is updated (item removed) while the Details Dialog is shown as a floating window.
* It seems that QApplication.quit() triggers some sort of refresh on the floating QDockWidget, which in turn makes calls to the underlying model that is possibly being destroyed, ie. there might be a race condition here.
* Closing or hiding the QDockWidget before the cal to quit() is a workaround. Similarly, this is already done in the quitTriggered() method anyway.
* This fixes#857.