1
0
Fork 0
mirror of synced 2024-05-08 22:42:21 +12:00
Commit graph

26 commits

Author SHA1 Message Date
Rafał Mikrut 17f97bd958
Add option to turn off cache (#263) 2021-03-04 12:09:53 +01:00
Rafał Mikrut 35c47b3230
Add new settings window (#262) 2021-02-23 09:40:19 +01:00
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)
2021-02-20 12:24:36 +01:00
Rafał Mikrut 9f3da0e70f
Add support for CRC32 and XXH3 hash (#243) 2021-02-03 19:59:06 +01:00
Rafał Mikrut 2c2004b316
Change progress dialog to progress window (#229) 2021-01-25 18:23:42 +01:00
Rafał Mikrut eeaaea20cc
Add broken files support (#202) 2021-01-12 20:06:12 +01:00
Rafał Mikrut b41a22a021
Fix error when closing dialog progress by X (#199) 2021-01-12 11:51:54 +01:00
Rafał Mikrut 7992ba30de
Fix included/excluded files which contains commas (#195) 2021-01-10 20:44:10 +01:00
Rafał Mikrut ff85453394
Split Gui code into multiple files (#194) 2021-01-10 20:12:08 +01:00
Rafał Mikrut 683e0f9117
Use directly TreeView instead ScrolledWindow->TreeView (#190) 2021-01-10 13:45:05 +01:00
Rafał Mikrut 30bab75a5d
Modernize notebook handling (#189) 2021-01-10 12:06:25 +01:00
Rafał Mikrut 72d74dd8e2
Adds Mac GUI (#160)
* Adds Mac GUI

* Update Rust to 1.4.9
2020-12-31 19:53:49 +01:00
Rafał Mikrut 5672431257
Add minimal similarity level (#129) 2020-12-23 20:10:10 +01:00
Rafał Mikrut 865543c7d7
Add option to open folders by double right click (#128) 2020-12-22 20:04:16 +01:00
Rafał Mikrut 1d59199bb2
Add support for checking for invalid symlinks (#124) 2020-12-21 16:09:39 +01:00
Rafał Mikrut f29e63d049
Add Image preview to similar images (#118) 2020-12-16 10:13:56 +01:00
Rafał Mikrut a047380dbe Center dialog to current window 2020-12-02 17:34:19 +01:00
Rafał Mikrut 6d5ab1d98c
Removed unused stop, resume and pause buttons (#107) 2020-12-02 10:58:31 +01:00
Rafał Mikrut 7ac4a26229
Add progress bar (#106) 2020-12-02 10:25:27 +01:00
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) 2020-11-09 12:55:27 +01:00
Rafał Mikrut 3e61544ec4
Add support for multithreading to zeroed files (#101) 2020-11-08 19:01:48 +01:00
Rafał Mikrut 2f72dd9d19
Add multithread support to similar image finder (#98) 2020-11-08 07:41:29 +01:00
Rafał Mikrut 110d6015bc
Similar images improvements: (#97)
Headers without data
By default only checking for High Similarity(faster search)
2020-11-07 16:26:40 +01:00
Rafał Mikrut 5d4f4db8c1
Simplify some GUI code (#96) 2020-11-04 18:15:06 +01:00
Rafał Mikrut ecebb3a1af
Implement finding duplicated music by tags/artist/year etc. (#95) 2020-11-02 21:56:07 +01:00
Rafał Mikrut 4429df2861
Refactore GUI into multiple files (#89) 2020-10-31 14:23:31 +01:00