From b8cf2bea778cec866535037424b3ebcc3db106eb Mon Sep 17 00:00:00 2001 From: ChristianVisintin Date: Tue, 15 Dec 2020 13:55:41 +0100 Subject: [PATCH] load bookmarks --- src/ui/activities/auth_activity/bookmarks.rs | 50 ++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/ui/activities/auth_activity/bookmarks.rs b/src/ui/activities/auth_activity/bookmarks.rs index 493f4a9..d391176 100644 --- a/src/ui/activities/auth_activity/bookmarks.rs +++ b/src/ui/activities/auth_activity/bookmarks.rs @@ -95,6 +95,31 @@ impl AuthActivity { } } + /// ### load_bookmark + /// + /// Load selected bookmark (at index) to input fields + pub(super) fn load_bookmark(&mut self, idx: usize) { + if let Some(hosts) = self.bookmarks.as_mut() { + // Iterate over bookmarks + for (i, bookmark) in hosts.bookmarks.values().enumerate() { + if i == idx { + // Load parameters + self.address = bookmark.address.clone(); + self.port = bookmark.port.to_string(); + self.protocol = match bookmark.protocol.as_str().to_uppercase().as_str() { + "FTP" => FileTransferProtocol::Ftp(false), + "FTPS" => FileTransferProtocol::Ftp(true), + "SCP" => FileTransferProtocol::Scp, + _ => FileTransferProtocol::Sftp, // Default to SFTP + }; + self.username = bookmark.username.clone(); + // Break + break; + } + } + } + } + /// ### save_bookmark /// /// Save current input fields as a bookmark @@ -108,6 +133,31 @@ impl AuthActivity { } } + /// ### load_recent + /// + /// Load selected recent (at index) to input fields + pub(super) fn load_recent(&mut self, idx: usize) { + if let Some(hosts) = self.bookmarks.as_mut() { + // Iterate over bookmarks + for (i, bookmark) in hosts.recents.values().enumerate() { + if i == idx { + // Load parameters + self.address = bookmark.address.clone(); + self.port = bookmark.port.to_string(); + self.protocol = match bookmark.protocol.as_str().to_uppercase().as_str() { + "FTP" => FileTransferProtocol::Ftp(false), + "FTPS" => FileTransferProtocol::Ftp(true), + "SCP" => FileTransferProtocol::Scp, + _ => FileTransferProtocol::Sftp, // Default to SFTP + }; + self.username = bookmark.username.clone(); + // Break + break; + } + } + } + } + /// ### save_recent /// /// Save current input fields as a "recent"