1
0
Fork 0
mirror of synced 2024-05-14 09:23:13 +12:00
Commit graph

124 commits

Author SHA1 Message Date
Rafał Mikrut 378fa1fd6e
Excluded extensions and krokiet new features (#1184)
* AVC

* Import split

* Default thread size

* Hen

* Allowed extensions

* Perf

* Connect

* Excluded

* Zmiany

* Optimization

* 4.10

* At once

* Included

* Chang

* VD

* VD

* Hashes

* Wersja

* SD

* Up

* Up

* 2024

* Dup

* Slint files

* Added  select

* Selections

* Fix

* LTO

* Actions

* Added popup delete

* AB

* V4

* Release

* LTO

* Basic moving

* Commonsy

* Moving probably works

* Popup move
2024-02-14 17:45:25 +01:00
Rafał Mikrut 219f9f058b
Allocation decrease (#1156) 2023-12-11 19:12:26 +01:00
Rafał Mikrut c6b1eaeeb4
Alternative frontend with Slint (#1102) 2023-12-03 12:06:42 +01:00
Rafał Mikrut 9b57382e39
Core cleanup/changes (#1082)
* FunTime

* Ft

* Unify delete files

* Files

* FunTime

* Smaller Printing

* Cleaned

* Fallen
2023-10-10 20:54:41 +02:00
Rafał Mikrut edfc8e7b5f
Random updates and modifications (#1070)
* Updates

* Rust embed

* GTK 4

* Handsome logger

* Handsome logger

* Lock

* DB

* Logging

* It compile

* Cleanup

* Sl

* Sl

* Slint

* 1.70.0

* Appimage
2023-10-05 08:06:47 +02:00
Rafał Mikrut a77cb27f3b
Random randoms (#1012)
* Not so many

* A1

* A3

* A4
2023-07-10 08:36:03 +02:00
Rafał Mikrut 582e5417ac
Unify progress data (#972)
* Unify progress data code

* Do not increment in threads values every time when finding file/folder(works quite good, may works bad with folders with ~several thousands of files)

* Partial changes

* Simplify creating tree_view

* Allow setting thread number in CLI

* Simplified code and add tests with help of copilot
2023-05-10 21:27:41 +02:00
Rafał Mikrut 78d00eeb99
Add finding similar audio by content (#970)
* In prehashing check for user clicks, less often

* Similar audio

* Remove ugly time checking

* Fix using cache

* Fix cache and improve performance of validating items

* Remove cache type - cache should be saved to two different cache files(because )

* Working

* Simple multithreading

* Basic Generalization

* Reference folder and swap cleaning

* Split into multiple files

* Commons, improved GUI message

* Simplifying thread run

* Check was stopped

* Fix checking same files

* Make read single file tag more general

* Remove unnnecessary clone

* Reading tags

* Base

* Search

* Gui Fix

* Gui Fix

* Tooltip
2023-05-07 20:54:05 +02:00
Rafał Mikrut 72df211ca2
Big core cleaning (#969)
* Update dependencies

* Split functions in big file finder

* Bad Extensions

* Thread handler bad extensions

* Progress handler

* Atomic counter

* All thread handler simplifying

* Simplifying

* More

* Again

* Btreemap simplifying

* Also

* Next

* Common dir

* Simplify music checking

* Similar Images coplexity

* Loading cache

* Hashes

* Split chunked hashes

* Split into multiple parts

* Last similar video piece

* Probably last part

* Cleaned

* Temp
2023-05-02 22:37:12 +02:00
Rafał Mikrut f1c6e6da17
Add sort button (#894)
* Add sort button

* Update lofty and gtk-rs

* Fix bug with invalid music tags with reference folders

* Remove try at

* Fix loading of certain directories with disabled loading settings at start

* Change FileChooserDialog to FileChooserNative

* Any

* Copy Clone

* Popover sort basic

* Builder using

* Basic sorting

* Fix not working sorting by size

* Changelog
2023-02-19 10:21:14 +01:00
Rafał Mikrut 8ea9b4b800
Run pydantic clippy lints on project (#901)
* Update dependencies

* Pydantic part 1

* Some renames, basic Cambalache view

* 2

* 3

* Unwrap

* Tests

* Update CLI to Ubuntu 20.04
2023-01-28 18:54:02 +01:00
Rafał Mikrut a66a2849d1
Allow to set number of used threads in scan (#839) 2022-11-25 20:38:27 +01:00
Rafał Mikrut 4765bee87f
Add info about column type to global variable (#760) 2022-06-21 17:24:08 +02:00
Rafał Mikrut cf94ab918e
Reformat code with Intelij tool (#741) 2022-05-31 17:52:55 +02:00
Rafał Mikrut 6d8b33d8cf
GTK 4 Port (#466) 2022-05-22 10:59:09 +02:00
Rafał Mikrut 8e4e1f58cb
Finding invalid extensions (#678)
* Find invalid extensions

* Another day

* Libc

* Basic Renames

* Ending words

* Better renaming

* Stonks because works
2022-04-22 21:46:33 +02:00
Rafał Mikrut c88d347e00
Allow to set included/excluded directories by command line arguments (#677) 2022-04-16 18:31:01 +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 a0d17fccea
Release 4.0 and do "small" refactoring to fix problems with packing (#593) 2022-01-19 22:35:07 +01:00
Rafał Mikrut ed4b721665
Random Changes (#576)
* Random Changes

* Urra

* ABC
2022-01-14 06:34:43 +01:00
Rafał Mikrut 489ec3cfda
Split files to different folders (#575) 2022-01-13 15:58:33 +01:00
Rafał Mikrut 5dab9286cb
Add compare images tool (#568)
* Add compare images tool

* Crash lord, crashes more than needed

* Kluchy piertuchy

* Głowa mała

* Troszkę

* Czokoszoki

* Ajzenbiśla

* Środa

* Piątek

* Stonk

* TreePath

* Czego, śpiem przecież

* Mój tród skończon

* Aktualizacja nazw
2022-01-10 12:19:28 +01:00
Rafał Mikrut e7e98d5dd1
Save to cache more informations about items (#567) 2022-01-07 16:45:08 +01:00
Peter Blackson db3b1f5304
Use DirTraversal for similar music (#559)
* Use DirTraversal for similar music

* Simplify file type checking

* Fix for clippy
2022-01-05 16:43:26 +01:00
Peter Blackson db47e8b711
Use DirTraversal for empty folders (#544) 2022-01-03 18:13:07 +01:00
Peter Blackson 51df63b8ea
Implement DirTraversal (#531)
* Implement DirTraversal

* rustfmt

* Fix for options

* Fix entries

* Fix symlinks

* Fix other entry type
2022-01-01 21:07:20 +01:00
Rafał Mikrut 7cff862434 Remove application ID 2021-12-27 16:30:41 +01:00
Rafał Mikrut 5db5d17afb
Use max line length 180 instead 250 (#515)
This was a little too big value.
I don't like too much too small values, because code looks ugly.
2021-12-21 18:44:20 +01:00
Rafał Mikrut c8ade1fb0f
Use system language when available (#506)
* Use system language when available

* Use clippy nightly
2021-12-18 23:45:37 +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 975b285c1f
Make UI take less space (#500) 2021-12-13 19:13:53 +01:00
Rafał Mikrut 89f24f14b5
Use translated strings in more places (#498) 2021-12-12 12:02:53 +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 457b55ada5
Allow to hide upper notebook (#491) 2021-12-06 14:30:29 +01:00
Rafał Mikrut 51271dcdf0
Remove HashMB mode (#476)
* Remove HashMB mode

* Add some explanation and remove this from GUI

* Not needing to handle everything
2021-12-01 12:37:17 +01:00
Rafał Mikrut b7e4eaccaf Modified include organization 2021-11-27 20:49:20 +01:00
Rafał Mikrut 5836e3e5b3
GTK 4 compatibility fixes (#467)
App still require GTK 3.22(3.24 in near future), but converting to GTK 4 should be easier and faster
2021-11-27 16:44:30 +01:00
Rafał Mikrut c9719758c7
Clean GUI code, make it easier to understand and change (#462)
* Add static variable for basic notebook data

* Opening, selecting results by space, enter and mouse

* Now hard/symbolic links

* Now deleting

* Now popovers

* Move tests to different function

* Don't crash when there is no selected records

* Button symlinks

* Now move

* Compute results

* Move again

* Again Popovers

* More popovers and more

* Key clicking, removing

* KEY_DELETE

* No more GuiData clone

* Adding directories

* Reorganize a little files
2021-11-25 08:36:49 +01:00
Rafał Mikrut 78b49dee3d
Remove support for zeroed files (#461) 2021-11-23 11:38:37 +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 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 bb2fea2b92
Select things by checkbox (#392) 2021-07-16 06:51:54 +02:00
Rafał Mikrut 775b6b4f10
Fix crashes with too small message queue (#316) 2021-04-14 08:23:59 +02:00
Rafał Mikrut 13add1cbed
Add hardlinking support for GUI (#276) 2021-02-24 13:53:46 +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 49ddc041ee
Add about dialog (#226) 2021-01-24 12:01:02 +01:00
Rafał Mikrut eeaaea20cc
Add broken files support (#202) 2021-01-12 20:06:12 +01:00
Rafał Mikrut ff85453394
Split Gui code into multiple files (#194) 2021-01-10 20:12:08 +01:00