Commit Graph

49 Commits (77a48ca6aa1b1b34908a98ff97c6e05d17457df3)

Author SHA1 Message Date
Rafał Mikrut 77a48ca6aa
Add support for translations (#469)
* Reformat code with idea tool

* Pierwsza działająca wersja tłumaczeń

* Działa? I dobrze, bo ma działać

* Ćma szła i się potkła

* Ściął śmiałek źółty rząd pąków.
2 years ago
Rafał Mikrut 5f774e03bd
Add button to ignore images with non unique size. (#493)
This will help with finding different images(non 1:1 which could be easily found by duplicate finder tool)
2 years ago
Rafał Mikrut ce3d86fd4e
Approximate comparison of music (#483) 2 years ago
Rafał Mikrut c8549b3810
Make settings and progress window a dialog (#481)
This will fix issue with showing windows in random position after removing Window::Position
Settings are modal, so entire app is frozen and this needs to be closed to be able to use e.g. minimize button.
2 years ago
Rafał Mikrut f334bd6975
Add better custom selecting (#479) 2 years ago
Rafał Mikrut 1fd53b854b
Add prehash cache support (#477) 2 years ago
Rafał Mikrut 51271dcdf0
Remove HashMB mode (#476)
* Remove HashMB mode

* Add some explanation and remove this from GUI

* Not needing to handle everything
2 years ago
Rafał Mikrut 8c4c67e26f
More GTK 4 related changes (#474)
* More GTK 4 related changes

* More changes

* Change button to MenuButton
2 years ago
Rafał Mikrut 4871016a3c
Add option to not remove outdated cache entries (#472)
* Add option to not remove outdated cache entries

* Default duplicates cache size lowered to 512 KB

* Add some tooltips,
Add logic to opening cache/config folders

* Add option to clear cache files from outdated results(manually)
2 years ago
Rafał Mikrut b7e4eaccaf Modified include organization 2 years ago
Rafał Mikrut 5836e3e5b3
GTK 4 compatibility fixes (#467)
App still require GTK 3.22(3.24 in near future), but converting to GTK 4 should be easier and faster
2 years ago
Rafał Mikrut 78b49dee3d
Remove support for zeroed files (#461) 2 years ago
Rafał Mikrut 29129d3ec0
Support for finding similar videos (#460)
* Add support for similar videos to CLI

* Add GUI support for similar videos

* Video duplicates

* git_dup

* Documentation
2 years ago
Rafał Mikrut 052711bb4b
Add button for moving files/folders to choosen folder (#449)
* Add button for moving files/folders to choosen folder

* Add support for moving folders to other locations
3 years ago
Rafał Mikrut 96e7af0d25
Add support for multiple hashes in similar images to GUI (#448)
* Add support for multiple hashes in similar images to GUI

* Needs a little more testing

* General fixes
3 years ago
Rafał Mikrut a92a113714
Add maximum file size (#407)
* Add maximum file size

* Add maximum file size
3 years ago
Rafał Mikrut 909967dcd8
Update BKtree and blake3 and add new grouping algorithm (#405)
* Update BKtree and blake3

* Add new algorithm for similar images

* Improve algorithm of grouping similar images
3 years ago
Rafał Mikrut 0e9b8a1651
Use GtkScale instead radio buttons for similarity (#397)
* Use GtkScale instead radio buttons for similarity

* Fixes
3 years ago
Rafał Mikrut b5f8d6b028
Update to gtk-rs 0.14 (#383)
* Update to Gtk-rs 0.14
3 years ago
Rafał Mikrut bbf7eb3d09
Use Center instead CenterAlways(GTK Bug) (#361) 3 years ago
Rafał Mikrut b08cedd5a6
Allow to set minimal file size to caching (#321) 3 years ago
Rafał Mikrut 775b6b4f10
Fix crashes with too small message queue (#316) 3 years ago
Rafał Mikrut 50ad3f9873
Update to Rust 1.5.1 (#302) 3 years ago
Rafał Mikrut 17f97bd958
Add option to turn off cache (#263) 3 years ago
Rafał Mikrut 35c47b3230
Add new settings window (#262) 3 years ago
krzysdz 4c205ce098
Windows taskbar progress support (#264)
* Initial Windows taskbar progress support

* Changes to COM (un)init

It turns out winapi exposes IIDs through a `uuidof()` function of interfaces, so the copied one can be removed.

* Don't return error codes

Now the `TaskbarProgress` functions fail silently.
The `TaskbarProgress` struct now will always be created (even in case of errors in initialisation), but it won't do anything.

* Fix builds for other systems

* Formatted code

* Fix progress shown after the operation finished

A progress update was received after the stop event.
Also `as_ref()` was removed in many places (I don't even know why it was there).

* Remove redundant call to hide

It's already called by the `glib_stop_receiver` receiver.

* Release the ITaskbarList3 and call CoUninitialize at exit

Because objects moved to closures used as fallbacks in GTK have [static lifetimes](https://gtk-rs.org/docs-src/tutorial/closures#closures), the `TaskbarProgress` will never be dropped.
To workaround this problem a `release` function is called when the main window is closed. This function behaves like `drop`, but sets the struct in a valid "empty" state, so that calling `release`/`drop` again won't cause problems.

* Don't set the NORMAL state manually

Because only NOPROGRESS and INDETERMINATE states are used, there is no need to set the NORMAL state when changing the progress value.

Now `set_progress_value` will also change the `TaskbarProgress::current_state` if such situation occurs.

> Unless [SetProgressState](https://docs.microsoft.com/en-us/windows/desktop/api/shobjidl_core/nf-shobjidl_core-itaskbarlist3-setprogressstate)
> has set a blocking state (TBPF_ERROR or TBPF_PAUSED) for the window, a call to **SetProgressValue** assumes the TBPF_NORMAL
> state even if it is not explicitly set. A call to **SetProgressValue** overrides and clears the TBPF_INDETERMINATE state.

See the [SetProgressValue documentation](https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-itaskbarlist3-setprogressvalue#how-the-taskbar-button-chooses-the-progress-indicator-for-a-group)
3 years ago
Rafał Mikrut 9f3da0e70f
Add support for CRC32 and XXH3 hash (#243) 3 years ago
Rafał Mikrut 2c2004b316
Change progress dialog to progress window (#229) 3 years ago
Rafał Mikrut eeaaea20cc
Add broken files support (#202) 3 years ago
Rafał Mikrut b41a22a021
Fix error when closing dialog progress by X (#199) 3 years ago
Rafał Mikrut 7992ba30de
Fix included/excluded files which contains commas (#195) 3 years ago
Rafał Mikrut ff85453394
Split Gui code into multiple files (#194) 3 years ago
Rafał Mikrut 683e0f9117
Use directly TreeView instead ScrolledWindow->TreeView (#190) 3 years ago
Rafał Mikrut 30bab75a5d
Modernize notebook handling (#189) 3 years ago
Rafał Mikrut 72d74dd8e2
Adds Mac GUI (#160)
* Adds Mac GUI

* Update Rust to 1.4.9
3 years ago
Rafał Mikrut 5672431257
Add minimal similarity level (#129) 3 years ago
Rafał Mikrut 865543c7d7
Add option to open folders by double right click (#128) 3 years ago
Rafał Mikrut 1d59199bb2
Add support for checking for invalid symlinks (#124) 3 years ago
Rafał Mikrut f29e63d049
Add Image preview to similar images (#118) 3 years ago
Rafał Mikrut a047380dbe Center dialog to current window 3 years ago
Rafał Mikrut 6d5ab1d98c
Removed unused stop, resume and pause buttons (#107) 3 years ago
Rafał Mikrut 7ac4a26229
Add progress bar (#106) 3 years ago
Rafał Mikrut 29a0716be5
Add very small similarity level to finding similar images, add option to choose level from CLI, fix bug with duplicated entries in similar pictures (#104) 4 years ago
Rafał Mikrut 3e61544ec4
Add support for multithreading to zeroed files (#101) 4 years ago
Rafał Mikrut 2f72dd9d19
Add multithread support to similar image finder (#98) 4 years ago
Rafał Mikrut 110d6015bc
Similar images improvements: (#97)
Headers without data
By default only checking for High Similarity(faster search)
4 years ago
Rafał Mikrut 5d4f4db8c1
Simplify some GUI code (#96) 4 years ago
Rafał Mikrut ecebb3a1af
Implement finding duplicated music by tags/artist/year etc. (#95) 4 years ago
Rafał Mikrut 4429df2861
Refactore GUI into multiple files (#89) 4 years ago