rm_config/main_config/
torrents_tab.rs1use rm_shared::header::Header;
2use serde::Deserialize;
3
4#[derive(Deserialize)]
5pub struct TorrentsTab {
6 #[serde(default = "default_headers")]
7 pub headers: Vec<Header>,
8 #[serde(default = "default_sort")]
9 pub default_sort: Header,
10 #[serde(default = "default_true")]
11 pub default_sort_reverse: bool,
12 #[serde(default = "default_true")]
13 pub category_icon_insert_into_name: bool,
14}
15
16fn default_true() -> bool {
17 true
18}
19
20fn default_sort() -> Header {
21 Header::AddedDate
22}
23
24fn default_headers() -> Vec<Header> {
25 vec![
26 Header::Name,
27 Header::SizeWhenDone,
28 Header::Progress,
29 Header::Eta,
30 Header::DownloadRate,
31 Header::UploadRate,
32 ]
33}
34
35impl Default for TorrentsTab {
36 fn default() -> Self {
37 Self {
38 headers: default_headers(),
39 default_sort: default_sort(),
40 default_sort_reverse: default_true(),
41 category_icon_insert_into_name: default_true(),
42 }
43 }
44}