Commit Graph

364 Commits (master)

Author SHA1 Message Date
Rafał Mikrut 8c1140e40d
Allow to put files to trash instead fully remove them (#284) 3 years ago
Rafał Mikrut 8ad0b907ec
Open file when clicking at the Enter button (#285) 3 years ago
Rafał Mikrut 43d76888c6
Add confirmation dialog when removing files with delete key (#282) 3 years ago
Rafał Mikrut 77cdf7e6a4
Add confirmation dialog when trying to remove all files in group (#281) 3 years ago
Rafał Mikrut 17f97bd958
Add option to turn off cache (#263) 3 years ago
Rafał Mikrut 8382f77687
Fix crash when changing tabs (#280) 3 years ago
Rafał Mikrut 13add1cbed
Add hardlinking support for GUI (#276) 3 years ago
Rafał Mikrut 35c47b3230
Add new settings window (#262) 3 years ago
Rafał Mikrut 7ea0126525 Release 2.4.0 3 years ago
Rafał Mikrut 145fa3f0e0 Modify about window, because it looks different on different themes 3 years ago
Rafał Mikrut 2e596f633a Remove all deprecated properties 3 years ago
Rafał Mikrut b274372f8c Update to Glade 3.38.2 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
Dan Dascalescu db255a87d4
Improve English (#260) 3 years ago
Dan Dascalescu c035514a0e
Improve English for "Ask in future" button (#261) 3 years ago
Rafał Mikrut ea474c2af0 Fix typo in window progress 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 49ddc041ee
Add about dialog (#226) 3 years ago
Rafał Mikrut bb7bf12354 Release 2.3.2 3 years ago
Rafał Mikrut 42af724681
Add support for moving selection by keyboard to update similar image preview (#223) 3 years ago
Rafał Mikrut 69090755df Release 2.3.1 3 years ago
Rafał Mikrut 943f8f78f1 Release 2.3.0 3 years ago
Rafał Mikrut 0c10a6a0ba
Sort Results by path where it is possible (#211) 3 years ago
Rafał Mikrut 56763846ac
Add missing popover info for invalid symlinks (#209) 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 da4bdd19e2 Release 2.2.0 3 years ago
Rafał Mikrut 80bbc9ba85
Move image cache to cache from config dir (#197) 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 4bbdbd078d
Simplify a little code (#184) 3 years ago
Rafał Mikrut 784b5be06a
Only show preview when 1 image is selected (#183) 3 years ago
Rafał Mikrut 8d4a264c6d
Use master gtk plugin again (#179)
* Use master gtk plugin again
3 years ago
Rafał Mikrut 72d74dd8e2
Adds Mac GUI (#160)
* Adds Mac GUI

* Update Rust to 1.4.9
3 years ago
Rafał Mikrut 4eefe114dd Release 2.1.0 3 years ago
Rafał Mikrut a8c0a80bcf
Add manual excluding directories (#168) 3 years ago
Rafał Mikrut 97f7c8370d
Hide preview when deleting images or symlinking it (#167) 3 years ago
Rafał Mikrut 083db7aa51
Add manual adding of directories (#165) 3 years ago
Rafał Mikrut a2f44d58c2
Add resizable top panel (#164) 3 years ago
Rafał Mikrut 10c32c90c0
Add support for delete button (#159) 3 years ago
Rafał Mikrut f622504356
Allow to select multiple entries in File Chooser (#154) 3 years ago
Rafał Mikrut 8a07dbed6b
Add selecting images with it's size (#138) 3 years ago
Rafał Mikrut d84722aa51
Modernize popovers code and simplify later changes (#137) 3 years ago
Rafał Mikrut 123bba381f Release 2.0.0 3 years ago
Rafał Mikrut 880787a67f
Show errors in image previewer when failed to generate it (#130) 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 7c3b9681b1
Split symlink path to two path and file name (#127) 3 years ago
Rafał Mikrut 4e3a6f63fe
Add new windows dark theme (#125) 3 years ago
Rafał Mikrut 1d59199bb2
Add support for checking for invalid symlinks (#124) 3 years ago
Rafał Mikrut 4a33ff7d86
Add support for symbolic links (#123) 3 years ago
Rafał Mikrut 68c3c294c9
Add button to enable/disable in settings text view errors (#122) 3 years ago
Rafał Mikrut a4d4a792e5
Add setting button to disable/enable previews(enabled by default) (#121) 3 years ago
Rafał Mikrut f29e63d049
Add Image preview to similar images (#118) 3 years ago
Rafał Mikrut 40f981dcd3
Add custom selection/unselection (#117) 3 years ago
Rafał Mikrut ff353c7014
Remove console window in Windows (#116) 3 years ago
Rafał Mikrut 7148abb8be
Add button to hide/show text view errors (#115) 3 years ago
Rafał Mikrut 30bd1f2f38
Add setting for deletion confirmation dialog (#114) 3 years ago
Rafał Mikrut 62e5e8e03e
Select longer names by default (#113) 3 years ago
Rafał Mikrut f0f3073f94 Release version 1.5.1 3 years ago
Rafał Mikrut c1afbe6b92
Fix errors in progress bar caused by dividing by 0 (#109) 3 years ago
Rafał Mikrut 6fab1a9368
Add option to save file, store settings and load them (#108) 3 years ago
Rafał Mikrut a047380dbe Center dialog to current window 4 years ago
Rafał Mikrut e6a6e5567b Release 1.5.0 4 years ago
Rafał Mikrut 6d5ab1d98c
Removed unused stop, resume and pause buttons (#107) 4 years ago
Rafał Mikrut 7ac4a26229
Add progress bar (#106) 4 years ago
Rafał Mikrut c62617df30 Release 1.4.0 4 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 2815692205
Fix removing entries (#103) 4 years ago
Rafał Mikrut 88d47e49cf
Add select for all modes (#102) 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 1fb66b32f0 Release version 1.3.0 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
Rafał Mikrut 777ac50f07
Add support for checking for zeroed files (#88) 4 years ago
Rafał Mikrut 7112ff6b92
Add support for checking same file names (#84) 4 years ago
Rafał Mikrut d996c3c46b
Add pre hash check (#83) 4 years ago
Rafał Mikrut 4d90e3170e
Remove warnings about non existent directories in Windows (#79) 4 years ago
Rafał Mikrut 2326072222 Release version 1.2.1 4 years ago
Rafał Mikrut aa63a14f68
Improve deleting files in Similar files in GUI (#75) 4 years ago
Rafał Mikrut beb14f9f1d
Improve similar images GUI a little and add sorting to Similarity Enum (#73) 4 years ago
Rafał Mikrut d2c7398bdd Release version 1.2.0 4 years ago
Rafał Mikrut 4fed419856
Added support for opening files by double clicks (#70) 4 years ago
Rafał Mikrut 1178e145ae
Add similar images support for GUI (#69) 4 years ago
Rafał Mikrut 3dd203f246
Add support for finding similar images to CLI (#66) 4 years ago
Dariusz Niedoba acfecd7ca3
Replace String with PathBuf for paths (#59) 4 years ago
Rafał Mikrut 67a775beff Release version 1.1 4 years ago
Rafał Mikrut d001592c3f
Fix not removing from GUI empty folders which contains another empty folder (#57) 4 years ago
Rafał Mikrut 8bbb12c7d4
Add ability to stop task from GUI (#55) 4 years ago
Caduser2020 085da0369e
Improve code quality. (#52)
* Remove verbose constructs in core.

* Use self and const fn where appropriate.

* Remove needless borrows.

* Fix name in function arguments.

* Merge 'master' into quality

* Decrease function complexity.

* Run fmt.

* Fix clippy.

* Fix duplicate extension files.

* Fix excluded items.

* Fix allowed extensions (Part 2).

* Fix temporary files.
4 years ago
Rafał Mikrut be30afdac6
Add support for searching in other thread (#51) 4 years ago
Rafał Mikrut 71353823e7 Update version to 1.0.1 4 years ago
Rafał Mikrut c725d1b850 Add /snap and /run to excluded directories by default 4 years ago
Rafał Mikrut 3065e0e2dd Added flexible notebook tabs at the top 4 years ago
Rafał Mikrut 8d263fdff2 Minimal file size in duplicate finder should be always greater than 0 4 years ago
Rafał Mikrut 8d824036b2 Release 1.0.0 version 4 years ago
Rafał Mikrut df065115f6 Add confirmation dialog when deleting files 4 years ago
Rafał Mikrut d7529cb64b Added support for Big, Temporary and empty file finder in GUI 4 years ago
Rafał Mikrut d3bea0db85 Small general changes 4 years ago
Rafał Mikrut ecc93484cf Fixed text,
Don't delete entry if folder/file wasn't deleted
4 years ago
Rafał Mikrut f05bce615a Fixes not visible colors in light theme 4 years ago
Rafał Mikrut 000e4ad46b Added support for selective selecting of rows 4 years ago
Rafał Mikrut 7a1a9ea9f6 Change SystemTime to u64 4 years ago
Rafał Mikrut 679bbafbd6 Added ability to reverse selection 4 years ago
Rafał Mikrut 90baebea05 Use for now GTK 3.22 because is available in CI 4 years ago
Rafał Mikrut f550b42fc2 Add support for selecting and unselecting all records in duplicate finder 4 years ago
Rafał Mikrut 4bca6a133d Add Save system 4 years ago
Rafał Mikrut 326ad5d746 Added probably all functionality to upper notebook(connection of buttons) 4 years ago
Rafał Mikrut 3c588c6316 Remove unused GtkFileChooserDialog from Glade File 4 years ago
Rafał Mikrut 6f516223a5 Added logic to radio buttons to select method of duplicate finder 4 years ago
Rafał Mikrut 26084a695a Added Radio buttons to Glade 4 years ago
Rafał Mikrut b91a115eac Fixes missing multiple values in excluded and included directories
Added support for recursive button
4 years ago
Rafał Mikrut 4a27b2b3d9 Added support for deleting selected files and folders 4 years ago
Rafał Mikrut 801b9083da Disable selection of header 4 years ago
Rafał Mikrut fe78ca4428 Add more info about packages 4 years ago
Rafał Mikrut d34100461e Bump version to 0.1.4 dev 4 years ago
Rafał Mikrut 338352f384 Added checking for duplicates by checking hash of first 1MB of file 4 years ago
Rafał Mikrut 85432f1c18 Fix some typos in words and remove empty space 4 years ago
Rafał Mikrut 8161a1c59b Big code refactoring 4 years ago
Rafał Mikrut 3cff32c031 Bump to 0.1.3 dev version 4 years ago
Rafał Mikrut 45e0bde981 Create basic function to disable selecting object 4 years ago
Rafał Mikrut 4b96634305 Added support for different background colors in tree rows 4 years ago
Rafał Mikrut 468c2d7a67 Unified look of enum elements 4 years ago
Rafał Mikrut 05684a9051 Read more info from GUI fields 4 years ago
Rafał Mikrut c7b9daaff2 Add basic scroll window to include and exclude directory folders 4 years ago
Rafał Mikrut 4242e8e222 Resize added and remove buttons 4 years ago
Rafał Mikrut be2d4ed77c Added simple selecting multiple entries 4 years ago
Rafał Mikrut 8d4174ac89 Add basic to notebook bar 4 years ago
Rafał Mikrut 5cb3a264ac Basic included folder in Glade 4 years ago
Rafał Mikrut 85b4190e8f Add support for version argument e.g.
`czkawka_cli --version`
4 years ago
Rafał Mikrut ab71ee55ed Respect Clippy and minimal size value 4 years ago
Rafał Mikrut aba4e65fb8 Add empty folder support for GUI 4 years ago
Rafał Mikrut 063b5e0918 Bump version to 0.1.2 dev 4 years ago
Rafał Mikrut b1426d7f95 Added basic printing results in tree_view 4 years ago
Rafał Mikrut 481b899b21 Add support for checking how much data was read by tool 4 years ago
Rafał Mikrut cf127d5c36 Add errors and warnings class 4 years ago
Rafał Mikrut 2c008b874b Update packages 4 years ago
Rafał Mikrut 4757b28486 Simplify code with duplication and checking 4 years ago
Rafał Mikrut 0f06ed636a Improved searching and printing duplicated entries,
Saving to file
4 years ago
Rafał Mikrut c28b5a8a2f Trying to add button state to GTK 4 years ago
Rafał Mikrut cff5ac93c4 Added support for non recursive search 4 years ago
Rafał Mikrut b1ddfad0d1 Remove printing 4 years ago
Rafał Mikrut ba6c0281a7 Remove unused functions 4 years ago
Rafał Mikrut b19612cfdf Added support for different buttons events for different notebook tabs 4 years ago
Rafał Mikrut feee8c6a83 Add basic search 4 years ago
Rafał Mikrut b2d1b7b779 Add basic TreeView 4 years ago
Rafał Mikrut 49403751e5 Started thinking about GTK rs functions 4 years ago
Rafał Mikrut 843ce17107 Update version to 0.1.1 4 years ago
Rafał Mikrut 29ca30aea0 Small glade changes 4 years ago
Rafał Mikrut a47ce77bc6 Fixed crash with invalid glade file 4 years ago
Rafał Mikrut c90d6cd8b8 Almost complete basic GTK GUI 4 years ago
Rafał Mikrut 9013f447f0 Start creating basic Orbtk GUI 4 years ago
Rafał Mikrut 22e7031d3c Fix window GTK name 4 years ago
Rafał Mikrut ae549a17a7 Added more buttons 4 years ago
Rafał Mikrut 9c8481f44b Added some more widgets 4 years ago
Rafał Mikrut e22ff1b362 Add basic glade file 4 years ago
Rafał Mikrut 1ccaa91129 Better explanation, starting working with GUI 4 years ago
Rafał Mikrut 9d4de08ece Use different modules for library and GUI and CLI apps 4 years ago