summaryrefslogtreecommitdiff
path: root/schist_desktop_gui/src/gui/screens/files_screen.rs
diff options
context:
space:
mode:
Diffstat (limited to 'schist_desktop_gui/src/gui/screens/files_screen.rs')
-rw-r--r--schist_desktop_gui/src/gui/screens/files_screen.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/schist_desktop_gui/src/gui/screens/files_screen.rs b/schist_desktop_gui/src/gui/screens/files_screen.rs
new file mode 100644
index 0000000..68a9556
--- /dev/null
+++ b/schist_desktop_gui/src/gui/screens/files_screen.rs
@@ -0,0 +1,36 @@
+mod update_files_screen;
+mod view_files_screen;
+
+use std::{fmt::Debug, path::PathBuf};
+
+use crate::DatabaseConnection;
+
+pub struct FilesScreen {
+ new_file_err: Option<(PathBuf, String)>,
+ file_paths: Vec<PathBuf>,
+ open_file_err: Option<(PathBuf, String)>,
+}
+
+#[derive(Clone, Debug)]
+pub enum Message {
+ ImportFromActualbudget,
+ NewFile,
+ OpenFile(std::path::PathBuf),
+ PickFile,
+}
+
+#[derive(Debug)]
+pub enum Action {
+ None,
+ OpenedFile(DatabaseConnection),
+}
+
+impl<'a> FilesScreen {
+ pub fn new(file_paths: &'a [PathBuf]) -> Self {
+ Self {
+ file_paths: file_paths.to_vec(),
+ new_file_err: None,
+ open_file_err: None,
+ }
+ }
+}