import {IncludedDirectoriesModel, ExcludedDirectoriesModel} from "common.slint"; export global Settings { in-out property settings_preset_idx: 0; in-out property <[string]> settings_presets: ["Preset 1", "Preset 2"]; in-out property <[IncludedDirectoriesModel]> included_directories_model: [{path: "/home/path", referenced_folder: false, selected_row: false}]; in-out property included_directories_model_selected_idx: -1; in-out property <[ExcludedDirectoriesModel]> excluded_directories_model: [{path:"/home/path", selected_row: false}, {path:"/home/a", selected_row: false}]; in-out property excluded_directories_model_selected_idx: -1; // Settings in-out property excluded_items: "Excluded items"; in-out property allowed_extensions: "Allowed extensions"; in-out property excluded_extensions: "Excluded extensions"; in-out property minimum_file_size: 0; in-out property maximum_file_size: 0; in-out property recursive_search: true; in-out property use_cache: false; in-out property save_as_json: false; in-out property move_to_trash: false; in-out property ignore_other_filesystems: false; in-out property thread_number: 4; in-out property duplicate_image_preview; in-out property duplicate_hide_hard_links; in-out property duplicate_use_prehash; in-out property duplicate_minimal_hash_cache_size; in-out property duplicate_minimal_prehash_cache_size; in-out property duplicate_delete_outdated_entries; in-out property similar_images_show_image_preview; in-out property similar_images_delete_outdated_entries; // in-out property similar_videos_show_video_preview; // TODO - maybe someday in-out property similar_videos_delete_outdated_entries; in-out property similar_music_delete_outdated_entries; // Allowed subsettings // Similar Images in-out property <[string]> similar_images_sub_available_hash_size: ["8", "16", "32", "64"]; in-out property similar_images_sub_hash_size_index: 0; in-out property similar_images_sub_hash_size_value: "8"; in-out property <[string]> similar_images_sub_available_resize_algorithm: ["Lanczos3", "Nearest", "Triangle", "Gaussian", "CatmullRom"]; in-out property similar_images_sub_resize_algorithm_index: 0; in-out property similar_images_sub_resize_algorithm_value: "Lanczos3"; in-out property <[string]> similar_images_sub_available_hash_type: ["Gradient", "Mean", "VertGradient", "BlockHash", "DoubleGradient"]; in-out property similar_images_sub_hash_alg_index: 0; in-out property similar_images_sub_hash_alg_value: "Gradient"; in-out property similar_images_sub_max_similarity: 40; in-out property similar_images_sub_current_similarity: 20; in-out property similar_images_sub_ignore_same_size; // Duplicates in-out property <[string]> duplicates_sub_check_method: ["Hash", "Size", "Name", "Size and Name"]; in-out property duplicates_sub_check_method_index: 0; in-out property duplicates_sub_check_method_value: "Hash"; in-out property <[string]> duplicates_sub_available_hash_type: ["Blake3", "CRC32", "XXH3"]; in-out property duplicates_sub_available_hash_type_index: 0; in-out property duplicates_sub_available_hash_type_value: "Blake3"; // Big files in-out property <[string]> biggest_files_sub_method: ["The Biggest", "The Smallest"]; in-out property biggest_files_sub_method_index: 0; in-out property biggest_files_sub_method_value: "The Biggest"; in-out property biggest_files_sub_number_of_files: 50; // Similar Videos in-out property similar_videos_sub_ignore_same_size; in-out property similar_videos_sub_max_similarity: 20; in-out property similar_videos_sub_current_similarity: 15; // Same Music in-out property <[string]> similar_music_sub_audio_check_type: ["Tags", "Fingerprint"]; in-out property similar_music_sub_audio_check_type_index: 0; in-out property similar_music_sub_audio_check_type_value: "Tags"; in-out property similar_music_sub_approximate_comparison; in-out property similar_music_sub_title: true; in-out property similar_music_sub_artist: true; in-out property similar_music_sub_year: false; in-out property similar_music_sub_bitrate: false; in-out property similar_music_sub_genre: false; in-out property similar_music_sub_length: false; // Broken Files in-out property broken_files_sub_audio: true; in-out property broken_files_sub_pdf: false; in-out property broken_files_sub_archive: false; in-out property broken_files_sub_image: false; }