Skip to content

Commit 1d66b0e

Browse files
committed
refactor: improve file structure
1 parent 638bd4b commit 1d66b0e

32 files changed

+118
-95
lines changed

src/app.rs

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
pub mod actions;
2+
pub mod context;
3+
pub mod dialog;
4+
pub mod error;
5+
mod flags;
6+
pub mod markdown;
7+
pub mod menu;
8+
9+
pub use flags::*;
110
use std::{
211
any::TypeId,
312
collections::{HashMap, VecDeque},
@@ -23,25 +32,24 @@ use cosmic::{
2332
};
2433

2534
use crate::{
26-
actions::{Action, ApplicationAction, NavMenuAction, TasksAction},
27-
app::{config::CONFIG_VERSION, key_bind::key_binds},
28-
content::{self, Content},
29-
context::ContextPage,
30-
core::{models::List, storage::LocalStorage},
31-
details::{self, Details},
32-
dialog::{DialogAction, DialogPage},
35+
app::{
36+
actions::{Action, ApplicationAction, NavMenuAction, TasksAction},
37+
context::ContextPage,
38+
dialog::{DialogAction, DialogPage},
39+
},
40+
core::{
41+
config::{self, CONFIG_VERSION},
42+
icons,
43+
key_bind::key_binds,
44+
},
3345
fl,
46+
pages::{
47+
content::{self, Content},
48+
details::{self, Details},
49+
},
50+
storage::{models::List, LocalStorage},
3451
};
3552

36-
pub mod config;
37-
pub mod icons;
38-
mod key_bind;
39-
pub mod localize;
40-
pub mod markdown;
41-
pub mod menu;
42-
pub mod settings;
43-
pub mod style;
44-
4553
pub struct Tasks {
4654
core: Core,
4755
about: widget::about::About,
@@ -454,7 +462,7 @@ impl Tasks {
454462

455463
impl Application for Tasks {
456464
type Executor = cosmic::executor::Default;
457-
type Flags = crate::settings::app::Flags;
465+
type Flags = crate::app::Flags;
458466
type Message = Message;
459467
const APP_ID: &'static str = "dev.edfloreshz.Tasks";
460468

src/actions.rs renamed to src/app/actions.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
use crate::{
2-
app::Message,
3-
context::ContextPage,
4-
core::models::List,
5-
dialog::{DialogAction, DialogPage},
2+
app::{
3+
context::ContextPage,
4+
dialog::{DialogAction, DialogPage},
5+
Message,
6+
},
7+
storage::models::List,
68
};
79
use cosmic::{
810
iced::keyboard::{Key, Modifiers},
File renamed without changes.

src/dialog.rs renamed to src/app/dialog.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use cosmic::{
66
widget::{self, calendar::CalendarModel, segmented_button},
77
};
88

9-
use crate::{actions::ApplicationAction, app::Message, fl};
9+
use crate::{app::actions::ApplicationAction, app::Message, fl};
1010

1111
#[derive(Debug, Clone)]
1212
pub enum DialogAction {
@@ -20,7 +20,7 @@ pub enum DialogAction {
2020
#[derive(Clone, Debug, Eq, PartialEq)]
2121
pub enum DialogPage {
2222
New(String),
23-
Icon(Option<segmented_button::Entity>, String, String), // Added search string
23+
Icon(Option<segmented_button::Entity>, String, String),
2424
Rename(Option<segmented_button::Entity>, String),
2525
Delete(Option<segmented_button::Entity>),
2626
Calendar(CalendarModel),
@@ -97,7 +97,7 @@ impl DialogPage {
9797
)),
9898
DialogPage::Icon(entity, icon, search) => {
9999
let search_lower = search.to_lowercase();
100-
let icon_buttons = crate::app::icons::get_all_icon_handles(20)
100+
let icon_buttons = crate::core::icons::get_all_icon_handles(20)
101101
.iter()
102102
.filter(|(name, _)| name.to_lowercase().contains(&search_lower))
103103
.map(|(name, icon)| {
@@ -128,7 +128,7 @@ impl DialogPage {
128128

129129
let dialog = widget::dialog()
130130
.title(fl!("icon-select"))
131-
.icon(crate::app::icons::get_icon(icon, 32))
131+
.icon(crate::core::icons::get_icon(icon, 32))
132132
.primary_action(widget::button::suggested(fl!("ok")).on_press_maybe(Some(
133133
Message::Application(ApplicationAction::Dialog(DialogAction::Complete)),
134134
)))
File renamed without changes.

src/app/flags.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
use cosmic::cosmic_config;
2+
3+
use crate::{
4+
core::config::{self, TasksConfig},
5+
storage::LocalStorage,
6+
};
7+
8+
#[derive(Clone, Debug)]
9+
pub struct Flags {
10+
pub config_handler: Option<cosmic_config::Config>,
11+
pub config: config::TasksConfig,
12+
pub storage: LocalStorage,
13+
}
14+
15+
pub fn flags(storage: LocalStorage) -> Flags {
16+
let (config_handler, config) = (TasksConfig::config_handler(), TasksConfig::config());
17+
18+
Flags {
19+
config_handler,
20+
config,
21+
storage,
22+
}
23+
}

src/app/markdown.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::core::models::{List, Status, Task};
1+
use crate::storage::models::{List, Status, Task};
22

33
pub trait Markdown {
44
fn markdown(&self) -> String;

src/app/menu.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ use cosmic::{
88
};
99

1010
use crate::{
11-
app::icons,
1211
app::{Action, Message},
12+
core::icons,
1313
fl,
1414
};
1515

16-
use super::config::TasksConfig;
16+
use crate::core::config::TasksConfig;
1717

1818
pub fn menu_bar<'a>(
1919
key_binds: &HashMap<KeyBind, Action>,
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)