* Add reference folder
* Basic tree view cleaning
* Computations
* Similar Images
* Muzyka i Wideo
* Podwójne dwa razy, cztery razy!
* Rozmiar i Nazwa
* Spanko i działanko(przynajmniej zdaje mi się że działa)
* Translatanko
* Implement threaded search in rest of modes(except empty folders)
* Add more tools in gui to use allowed extension
* Change progress window to modal
* Nazair
* Clippy
* 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.
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.
* 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)