summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqkzk <qu3nt1n@gmail.com>2023-12-23 16:28:46 +0100
committerqkzk <qu3nt1n@gmail.com>2023-12-23 16:28:46 +0100
commit3589b77a067fdb489c88ad338703ce0674383948 (patch)
treec4ed136b970a01b729fb6c4e0ba5f19028497033
parentf3e1f7020fabcc4e956432d907072f919c20410a (diff)
menus: uniform instance creation
-rw-r--r--src/modes/edit/marks.rs5
-rw-r--r--src/modes/edit/menu.rs25
2 files changed, 15 insertions, 15 deletions
diff --git a/src/modes/edit/marks.rs b/src/modes/edit/marks.rs
index 62c30b2..e2872e4 100644
--- a/src/modes/edit/marks.rs
+++ b/src/modes/edit/marks.rs
@@ -5,7 +5,6 @@ use std::path::{Path, PathBuf};
use anyhow::{anyhow, Context, Result};
use crate::common::read_lines;
-use crate::common::MARKS_FILEPATH;
use crate::impl_content;
use crate::impl_selectable;
use crate::log_info;
@@ -39,8 +38,8 @@ impl Marks {
/// If an invalid marks is read, only the valid ones are kept
/// and the file is saved again.
#[must_use]
- pub fn read_from_config_file() -> Self {
- let path = PathBuf::from(shellexpand::tilde(&MARKS_FILEPATH).to_string());
+ pub fn new(config_path: &str) -> Self {
+ let path = PathBuf::from(shellexpand::tilde(config_path).to_string());
Self::read_from_file(path)
}
diff --git a/src/modes/edit/menu.rs b/src/modes/edit/menu.rs
index 1a7fa6d..db3fea2 100644
--- a/src/modes/edit/menu.rs
+++ b/src/modes/edit/menu.rs
@@ -4,6 +4,7 @@ use anyhow::Result;
use crate::app::Tab;
use crate::common::is_program_in_path;
use crate::common::CLI_PATH;
+use crate::common::MARKS_FILEPATH;
use crate::common::SSHFS_EXECUTABLE;
use crate::common::TUIS_PATH;
use crate::io::drop_sudo_privileges;
@@ -77,24 +78,24 @@ pub struct Menu {
impl Menu {
pub fn new(start_dir: &std::path::Path, mount_points: &[&std::path::Path]) -> Result<Self> {
Ok(Self {
- window: ContentWindow::new(0, 80),
- sudo_command: None,
+ bulk: Bulk::default(),
+ cli_applications: CliApplications::new(CLI_PATH).update_desc_size(),
+ completion: Completion::default(),
compression: Compresser::default(),
context: ContextMenu::default(),
- cli_applications: CliApplications::new(CLI_PATH).update_desc_size(),
- tui_applications: TuiApplications::new(TUIS_PATH),
- removable_devices: RemovableDevices::default(),
- password_holder: PasswordHolder::default(),
- bulk: Bulk::default(),
- iso_device: None,
encrypted_devices: CryptoDeviceOpener::default(),
- trash: Trash::new()?,
- marks: Marks::read_from_config_file(),
flagged: Flagged::default(),
+ history: History::default(),
input: Input::default(),
- completion: Completion::default(),
+ iso_device: None,
+ marks: Marks::new(MARKS_FILEPATH),
+ password_holder: PasswordHolder::default(),
+ removable_devices: RemovableDevices::default(),
shortcut: Shortcut::new(start_dir).with_mount_points(mount_points),
- history: History::default(),
+ sudo_command: None,
+ trash: Trash::new()?,
+ tui_applications: TuiApplications::new(TUIS_PATH),
+ window: ContentWindow::new(0, 80),
})
}