1
0
Fork 0
mirror of synced 2024-05-17 19:03:08 +12:00

Excluded items

This commit is contained in:
Rafał Mikrut 2023-11-23 07:39:17 +01:00
parent 9cbfe5274b
commit 20c8b6ec01
3 changed files with 30 additions and 7 deletions

View file

@ -42,7 +42,7 @@ jobs:
- name: Show console window on windows
run: |
./sd.exe -s '#![windows_subsystem = "windows"]' '//#![windows_subsystem = "windows"]' krokiet/src/main.rs
./sd -s '#![windows_subsystem = "windows"]' '//#![windows_subsystem = "windows"]' krokiet/src/main.rs
cat krokiet/src/main.rs
- name: Compile Krokiet Console

View file

@ -15,12 +15,21 @@ const DEFAULT_EXCLUDED_DIRECTORIES: &[&str] = &["/proc", "/dev", "/sys", "/run",
#[cfg(not(target_family = "unix"))]
const DEFAULT_EXCLUDED_DIRECTORIES: &[&str] = &["C:\\Windows"];
#[cfg(target_family = "unix")]
pub const DEFAULT_EXCLUDED_ITEMS: &str = "*/.git/*,*/node_modules/*,*/lost+found/*,*/Trash/*,*/.Trash-*/*,*/snap/*,/home/*/.cache/*";
#[cfg(not(target_family = "unix"))]
pub const DEFAULT_EXCLUDED_ITEMS: &str = "*\\.git\\*,*\\node_modules\\*,*\\lost+found\\*,*:\\windows\\*,*:\\$RECYCLE.BIN\\*,*:\\$SysReset\\*,*:\\System Volume Information\\*,*:\\OneDriveTemp\\*,*:\\hiberfil.sys,*:\\pagefile.sys,*:\\swapfile.sys";
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SettingsCustom {
#[serde(default = "default_included_directories")]
pub included_directories: Vec<PathBuf>,
#[serde(default = "default_excluded_directories")]
pub excluded_directories: Vec<PathBuf>,
#[serde(default = "default_excluded_items")]
pub excluded_items: String,
#[serde(default)]
pub allowed_extensions: String,
}
impl Default for SettingsCustom {
@ -28,12 +37,14 @@ impl Default for SettingsCustom {
Self {
included_directories: default_included_directories(),
excluded_directories: default_excluded_directories(),
excluded_items: default_excluded_items(),
allowed_extensions: String::new(),
}
}
}
pub fn reset_settings(app: &MainWindow) {
set_settings_to_gui(app, &SettingsCustom::default());
serde::set_settings_to_gui(app, &SettingsCustom::default());
}
pub fn load_settings_from_file(app: &MainWindow) {
@ -100,12 +111,15 @@ pub fn set_settings_to_gui(app: &MainWindow, custom_settings: &SettingsCustom) {
let settings = app.global::<Settings>();
// Included directories
let included_items = create_string_standard_list_view_from_pathbuf(&custom_settings.included_directories);
settings.set_included_directories(included_items);
let included_directories = create_string_standard_list_view_from_pathbuf(&custom_settings.included_directories);
settings.set_included_directories(included_directories);
// Excluded directories
let excluded_items = create_string_standard_list_view_from_pathbuf(&custom_settings.excluded_directories);
settings.set_excluded_directories(excluded_items);
let excluded_directories = create_string_standard_list_view_from_pathbuf(&custom_settings.excluded_directories);
settings.set_excluded_directories(excluded_directories);
settings.set_excluded_items(custom_settings.excluded_items.clone().into());
settings.set_allowed_extensions(custom_settings.allowed_extensions.clone().into());
// Clear text
app.global::<GuiState>().set_info_text("".into());
@ -120,9 +134,14 @@ pub fn collect_settings(app: &MainWindow) -> SettingsCustom {
let excluded_directories = settings.get_excluded_directories();
let excluded_directories = excluded_directories.iter().map(|x| PathBuf::from(x.text.as_str())).collect::<Vec<_>>();
let excluded_items = settings.get_excluded_items().to_string();
let allowed_extensions = settings.get_allowed_extensions().to_string();
SettingsCustom {
included_directories,
excluded_directories,
excluded_items,
allowed_extensions,
}
}
@ -147,3 +166,7 @@ fn default_excluded_directories() -> Vec<PathBuf> {
excluded_directories.sort();
excluded_directories
}
fn default_excluded_items() -> String {
DEFAULT_EXCLUDED_ITEMS.to_string()
}

View file

@ -17,7 +17,7 @@ component TextComponent inherits HorizontalLayout {
LineEdit {
horizontal-stretch: 1.0;
height: SettingsSize.item_height;
text: Settings.excluded_items;
text: model;
}
}