update depends
This commit is contained in:
parent
9e51be29b9
commit
65227fcd76
5 changed files with 264 additions and 91 deletions
|
|
@ -4,23 +4,22 @@ use i18n_embed::{
|
|||
fluent::{fluent_language_loader, FluentLanguageLoader},
|
||||
DefaultLocalizer, LanguageLoader, Localizer,
|
||||
};
|
||||
use once_cell::sync::Lazy;
|
||||
use rust_embed::RustEmbed;
|
||||
|
||||
#[derive(RustEmbed)]
|
||||
#[folder = "i18n/"]
|
||||
struct Localizations;
|
||||
|
||||
lazy_static::lazy_static! {
|
||||
pub static ref LANGUAGE_LOADER: FluentLanguageLoader = {
|
||||
let loader: FluentLanguageLoader = fluent_language_loader!();
|
||||
pub static LANGUAGE_LOADER: Lazy<FluentLanguageLoader> = Lazy::new(|| {
|
||||
let loader: FluentLanguageLoader = fluent_language_loader!();
|
||||
|
||||
loader
|
||||
.load_fallback_language(&Localizations)
|
||||
.expect("Error while loading fallback language");
|
||||
loader
|
||||
.load_fallback_language(&Localizations)
|
||||
.expect("Error while loading fallback language");
|
||||
|
||||
loader
|
||||
};
|
||||
}
|
||||
loader
|
||||
});
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! fl {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
use cosmic::widget::icon;
|
||||
use once_cell::sync::Lazy;
|
||||
use std::{collections::HashMap, path::Path, sync::Mutex};
|
||||
|
||||
pub const FALLBACK_MIME_ICON: &str = "text-x-generic";
|
||||
|
|
@ -39,10 +40,7 @@ impl MimeIconCache {
|
|||
.clone()
|
||||
}
|
||||
}
|
||||
|
||||
lazy_static::lazy_static! {
|
||||
static ref MIME_ICON_CACHE: Mutex<MimeIconCache> = Mutex::new(MimeIconCache::new());
|
||||
}
|
||||
static MIME_ICON_CACHE: Lazy<Mutex<MimeIconCache>> = Lazy::new(|| Mutex::new(MimeIconCache::new()));
|
||||
|
||||
pub fn mime_icon<P: AsRef<Path>>(path: P, size: u16) -> icon::Handle {
|
||||
//TODO: smarter path handling
|
||||
|
|
|
|||
67
src/tab.rs
67
src/tab.rs
|
|
@ -8,6 +8,7 @@ use cosmic::{
|
|||
},
|
||||
theme, widget, Element,
|
||||
};
|
||||
use once_cell::sync::Lazy;
|
||||
use std::{
|
||||
cmp::Ordering,
|
||||
collections::HashMap,
|
||||
|
|
@ -24,41 +25,37 @@ const DOUBLE_CLICK_DURATION: Duration = Duration::from_millis(500);
|
|||
//TODO: configurable
|
||||
const ICON_SIZE_LIST: u16 = 32;
|
||||
const ICON_SIZE_GRID: u16 = 64;
|
||||
|
||||
lazy_static::lazy_static! {
|
||||
static ref SPECIAL_DIRS: HashMap<PathBuf, &'static str> = {
|
||||
let mut special_dirs = HashMap::new();
|
||||
if let Some(dir) = dirs::document_dir() {
|
||||
special_dirs.insert(dir, "folder-documents");
|
||||
}
|
||||
if let Some(dir) = dirs::download_dir() {
|
||||
special_dirs.insert(dir, "folder-download");
|
||||
}
|
||||
if let Some(dir) = dirs::audio_dir() {
|
||||
special_dirs.insert(dir, "folder-music");
|
||||
}
|
||||
if let Some(dir) = dirs::picture_dir() {
|
||||
special_dirs.insert(dir, "folder-pictures");
|
||||
}
|
||||
if let Some(dir) = dirs::public_dir() {
|
||||
special_dirs.insert(dir, "folder-publicshare");
|
||||
}
|
||||
if let Some(dir) = dirs::template_dir() {
|
||||
special_dirs.insert(dir, "folder-templates");
|
||||
}
|
||||
if let Some(dir) = dirs::video_dir() {
|
||||
special_dirs.insert(dir, "folder-videos");
|
||||
}
|
||||
if let Some(dir) = dirs::desktop_dir() {
|
||||
special_dirs.insert(dir, "user-desktop");
|
||||
}
|
||||
if let Some(dir) = dirs::home_dir() {
|
||||
special_dirs.insert(dir, "user-home");
|
||||
}
|
||||
special_dirs
|
||||
};
|
||||
}
|
||||
|
||||
static SPECIAL_DIRS: Lazy<HashMap<PathBuf, &'static str>> = Lazy::new(|| {
|
||||
let mut special_dirs = HashMap::new();
|
||||
if let Some(dir) = dirs::document_dir() {
|
||||
special_dirs.insert(dir, "folder-documents");
|
||||
}
|
||||
if let Some(dir) = dirs::download_dir() {
|
||||
special_dirs.insert(dir, "folder-download");
|
||||
}
|
||||
if let Some(dir) = dirs::audio_dir() {
|
||||
special_dirs.insert(dir, "folder-music");
|
||||
}
|
||||
if let Some(dir) = dirs::picture_dir() {
|
||||
special_dirs.insert(dir, "folder-pictures");
|
||||
}
|
||||
if let Some(dir) = dirs::public_dir() {
|
||||
special_dirs.insert(dir, "folder-publicshare");
|
||||
}
|
||||
if let Some(dir) = dirs::template_dir() {
|
||||
special_dirs.insert(dir, "folder-templates");
|
||||
}
|
||||
if let Some(dir) = dirs::video_dir() {
|
||||
special_dirs.insert(dir, "folder-videos");
|
||||
}
|
||||
if let Some(dir) = dirs::desktop_dir() {
|
||||
special_dirs.insert(dir, "user-desktop");
|
||||
}
|
||||
if let Some(dir) = dirs::home_dir() {
|
||||
special_dirs.insert(dir, "user-home");
|
||||
}
|
||||
special_dirs
|
||||
});
|
||||
fn button_style(selected: bool) -> theme::Button {
|
||||
//TODO: move to libcosmic
|
||||
theme::Button::Custom {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue