1
0
Fork 0
mirror of synced 2024-05-03 20:14:00 +12:00

Small general changes

This commit is contained in:
Rafał Mikrut 2020-10-01 16:54:26 +02:00
parent ecc93484cf
commit d3bea0db85
4 changed files with 39 additions and 10 deletions

View file

@ -4,7 +4,12 @@
- Cleaned a little code
- Deleting files and folders i GUI
- Support for all notebooks items in GUI
- Support for deleting and adding directories to search and to exclude
- Support for deleting and adding directories to search and to exclude in GUI
- Support for light themes in GUI
- Changed SystemTime to u64 from EPOCH_TIME
- Selective selecting of rows duplicate finder in GUI
- Changed minimum version of GTK to 3.22
- Added save system to GUI
## Version 0.1.3 - 27.09.2020r
- Big code refactoring - now is a lot of easier create new modules and maintain old ones

View file

@ -3,10 +3,14 @@ Czkawka is simple, fast and easy to use alternative to Fslint, written in Rust.
This is my first ever project in Rust so probably a lot of things are not being written in the most optimal way.
## Why?
In internet exists a lot of tools to find duplicates, empty folders, temporary files etc. but in most cases there are only available on CLI, which is hard to use by users.
GUI FSlint allows to really easy select different files and folders, but is based on old and unsupported Python 2 and GTK 2.
In internet exists a lot of tools to find duplicates, empty folders, temporary files etc. but in most cases there are only available on CLI, which is hard to use by users.
GUI FSlint allows to really easy select different files and folders, but is based on old and unsupported Python 2 and GTK 2.
Other tools are mostly written in C/C++ to provide big performance but still needs to be tested a lot if not contains memory leaks, invalid memory reads/write and double frees.
But the most important thing for me was to learn Rust and create a program useful for the open source community.
## Features
- Written in fast and memory safe Rust
- CLI frontend, very fast and powerful with rich help
@ -89,6 +93,26 @@ Empty folder finder
Differences should be more visible when using slower processor or faster disk.
## Comparsion with FSLint
| | Czkawka | FSlint |
|:----------:|:-------------:|:-----:|
| Language | Rust| Python |
| Framework | GTK 3 (Gtk-rs)| GTK 2 (PyGTK) |
| Duplicate finder | Yes | Yes |
| Empty files | Yes | Yes |
| Empty folders | Yes | Yes |
| Temporary files | Yes | Yes |
| Big files | Yes | No |
| Installed packages | No | Yes |
| Invalid names | No | Yes |
| Names conflict | No | Yes |
| Invalid symlinks | No | Yes |
| Bad ID | No | Yes |
| Non stripped binaries | No | Yes |
| Redundant whitespace | No | Yes |
| Project Activity | High | Very Low |
## How it works?
### Duplicate Finder
The only required parameter for checking duplicates is included folders `-i`. This parameter validates provided folders - which must have absolute path(without ~ and other similar symbols at the beginning), not contains *(wildcard), be dir(not file or symlink), exists. Later same things are done with excluded folders `-e`.

View file

@ -364,11 +364,11 @@ fn print_help() {
[Main commands]:
--help / --h - prints help, also works without any arguments
--d <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-s min_size = 1024] [-x allowed_extension = ""] [-l type_of_search = "hash"] [-o] [-f file_to_save = "results.txt"] [-delete = "aeo"] - search for duplicates files
--e <-i directories_to_search> [-e excluded_directories = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - option to find and delete empty folders
--b <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-p number_of_files = 50] [-x allowed_extension = ""] [-f file_to_save = "results.txt"]
--y <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - search and delete empty files
--t <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - search for temporary files
--d <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-s min_size = 1024] [-x allowed_extension = ""] [-l type_of_search = "hash"] [-o] [-f file_to_save = "results.txt"] [-delete = "aeo"] - finds duplicates files
--e <-i directories_to_search> [-e excluded_directories = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - finds empty folders
--b <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-p number_of_files = 50] [-x allowed_extension = ""] [-f file_to_save = "results.txt"] - finds biggest files
--y <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - finds empty files
--t <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - finds temporary files
--version / --v - prints program name and version
[Options]:

View file

@ -24,7 +24,7 @@ fn main() {
for i in all_arguments {
if i == "--v" || i == "--version" {
println!("Czkawka CLI {}", CZKAWKA_VERSION);
println!("Czkawka GUI {}", CZKAWKA_VERSION);
process::exit(0);
}
}
@ -39,7 +39,7 @@ fn main() {
//// Windows
let main_window: gtk::Window = builder.get_object("main_window").unwrap();
main_window.show_all();
main_window.set_title("Czkawka GTK GUI");
main_window.set_title("Czkawka");
////////////////////////////////////////////////////////////////////////////////////////////////
//// States