2
0
mirror of https://github.com/qarmin/czkawka synced 2024-11-10 07:10:40 +00:00
Commit Graph

89 Commits

Author SHA1 Message Date
Rafał Mikrut
574cc78b12
Zip update (#667) 2022-04-06 12:19:31 +02:00
Rafał Mikrut
2d8a930ae5
Update image-rs and fix selecting windows path (#656) 2022-04-02 16:11:28 +02:00
Rafał Mikrut
3ce5d4a967
Change AudioTags to lofty and support moree audio things (#590) 2022-02-25 18:47:25 +01:00
Rafał Mikrut
4427ec06c0
Update GTK (#583) 2022-02-01 17:08:41 +01:00
Rafał Mikrut
a0d17fccea
Release 4.0 and do "small" refactoring to fix problems with packing (#593) 2022-01-19 22:35:07 +01:00
Rafał Mikrut
17e45b959f
Latest fixes (#592) 2022-01-19 19:30:16 +01:00
Rafał Mikrut
ed4b721665
Random Changes (#576)
* Random Changes

* Urra

* ABC
2022-01-14 06:34:43 +01:00
Rafał Mikrut
6171eba0f7
Don't include all possible icons in Windows builds (#540)
* Don't include all possible icons in Windows builds

* ABba

* B

* Stonker

* ABEC

* Update to latest
2022-01-10 17:58:18 +01:00
Rafał Mikrut
0f0e7a338f
[WIP] Add raw images support (#532)
* Add raw images support

* Potato

* Update
2021-12-31 22:34:24 +01:00
Rafał Mikrut
619e64466c
More GTK4 compatibility fixes (#503)
* Don't create new treeview

* Dont

* ABC

* Detlaff

* Update
2021-12-17 19:44:29 +01:00
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.
2021-12-11 16:16:14 +01:00
Rafał Mikrut
a8aa8a2a23
Multiple small changes (#490) 2021-12-05 21:01:16 +01:00
Farmadupe
88b8f11e07
Cache vidoes with serde to avoid forked vid_dup_finder_lib (#486)
* Cache vidoes with serde to avoid forked vid_dup_finder_lib

* Fix clippy lint.

* Replace json serialization with bincode for videos
2021-12-05 18:34:12 +01:00
Rafał Mikrut
bb428171cb
Add better custom selecting (#478) 2021-12-02 13:31:10 +01:00
Rafał Mikrut
c7b9abcfa0
Fix buttons when converting to GTK 4 (#473)
* Fix buttons when converting to GTK 4

* Childrens
2021-11-30 13:53:04 +01:00
Rafał Mikrut
d302c3b2d8 Update cache creating 2021-11-27 20:42:31 +01:00
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
2021-11-23 11:10:24 +01:00
Rafał Mikrut
4a202633ee Release 3.3.1 2021-11-22 06:48:07 +01:00
Rafał Mikrut
9d28fb8a59 Release 3.3.0 2021-11-20 12:06:44 +01:00
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
2021-11-20 08:32:28 +01:00
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
2021-11-19 06:35:26 +01:00
Rafał Mikrut
20c89f44f0
Adds support for multiple hashes type and size in similar images, resize formats and also test to check performacne (#447) 2021-11-18 11:23:17 +01:00
Rafał Mikrut
742139379c
Add better errors explanation(native from libraries) (#446) 2021-11-14 15:53:55 +01:00
Rafał Mikrut
dc8c14ea3c
Disable crashing image extensions (#445)
Bump minimal Rust to 1.53.0
Update Packages
2021-11-09 07:08:39 +01:00
Rafał Mikrut
243505b692 Release 3.2.0 2021-08-07 21:25:43 +02:00
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
2021-08-06 16:40:43 +02:00
Rafał Mikrut
da76f75e11
Update Rust to 1.54 (#400) 2021-07-30 07:16:35 +02:00
Rafał Mikrut
0e9b8a1651
Use GtkScale instead radio buttons for similarity (#397)
* Use GtkScale instead radio buttons for similarity

* Fixes
2021-07-24 22:00:39 +02:00
Rafał Mikrut
a623f2be00
Update all dependencies except trash which don't crosscompile on Windows (#395)
* Update all dependencies except trash which don't crosscompile on Windows
2021-07-21 21:48:21 +02:00
Rafał Mikrut
bb2fea2b92
Select things by checkbox (#392) 2021-07-16 06:51:54 +02:00
Rafał Mikrut
b5f8d6b028
Update to gtk-rs 0.14 (#383)
* Update to Gtk-rs 0.14
2021-06-25 18:07:13 +02:00
Rafał Mikrut
237d879f03 Release 3.1.0 2021-05-08 22:14:53 +02:00
Rafał Mikrut
b08cedd5a6
Allow to set minimal file size to caching (#321) 2021-05-06 21:54:44 +02:00
Rafał Mikrut
d90d2270fb Update Dependences 2021-04-10 21:35:36 +02:00
Rafał Mikrut
50ad3f9873
Update to Rust 1.5.1 (#302) 2021-03-27 13:14:02 +01:00
Rafał Mikrut
ce8161fd7e Release 3.0.0 2021-03-11 21:41:33 +01:00
Rafał Mikrut
8c1140e40d
Allow to put files to trash instead fully remove them (#284) 2021-03-11 14:31:59 +01:00
Rafał Mikrut
e3aca69499 Update Image dependency to fix crashes 2021-03-06 13:51:59 +01:00
Rafał Mikrut
7ea0126525 Release 2.4.0 2021-02-22 12:24:05 +01:00
Rafał Mikrut
e0b6572f03
Update dependencies (#272) 2021-02-22 12:18:20 +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
Thomas Andreas Jung
03d41e173f
Keep original file if replacing duplicate with hardlink fails (#253)
If the user could not create a hard link (due to permissions or
different block devices) then czkawka lost the duplicate file.

```
$ mkdir hardlink
$ cd hardlink
$ echo a > a
$ cp a b
$ chown thetestuser:thetestuser a
$ ls -il .

25169246 -rw-rw-r-- 1 thetestuser thetestuser 2 Feb  7 11:18 a
25169641 -rw-rw-r-- 1 thomas      thomas      2 Feb  7 11:18 b

$ cargo run --bin czkawka_cli dup --directories $(pwd) -m 1 -f
test101.result --delete-method HARD

[...]
-------------------------------WARNINGS--------------------------------
Failed to link /home/thomas/Development/czkawka/hardlink/b ->
/home/thomas/Development/czkawka/hardlink/a
---------------------------END OF WARNINGS-----------------------------

$ ls -il .
25169246 -rw-rw-r-- 1 thetestuser thetestuser 2 Feb  7 11:18 a
```

Now czkawka keeps all files and the warning provides more information
why czkawka can't replace the duplicate with a hard link.

```
$ cargo run --bin czkawka_cli dup --directories $(pwd) -m 1 -f
test101.result --delete-method HARD

-------------------------------WARNINGS--------------------------------
Failed to link /home/thomas/Development/czkawka/hardlink/b ->
/home/thomas/Development/czkawka/hardlink/a (Operation not permitted (os
error 1))
---------------------------END OF WARNINGS-----------------------------
[...]

25169246 -rw-rw-r-- 1 thetestuser thetestuser 2 Feb  7 11:18 a
25169641 -rw-rw-r-- 1 thomas      thomas      2 Feb  7 11:18 b
```
2021-02-11 19:04:23 +01:00
Rafał Mikrut
9f3da0e70f
Add support for CRC32 and XXH3 hash (#243) 2021-02-03 19:59:06 +01:00
Rafał Mikrut
bb7bf12354 Release 2.3.2 2021-01-21 20:52:43 +01:00
Rafał Mikrut
69090755df Release 2.3.1 2021-01-20 15:41:44 +01:00
Rafał Mikrut
943f8f78f1 Release 2.3.0 2021-01-15 16:49:13 +01:00
Rafał Mikrut
cc8d42e0ff
Add support for finding broken zip and audio files (#210) 2021-01-15 11:04:52 +01:00
Rafał Mikrut
da4bdd19e2 Release 2.2.0 2021-01-11 12:26:03 +01:00
Rafał Mikrut
4eefe114dd Release 2.1.0 2020-12-31 10:29:36 +01:00
Rafał Mikrut
3f333e7ceb
Add cache support for similar images (#139) 2020-12-27 10:56:26 +01:00