Use paste button instead of auto paste (#111)

This commit is contained in:
Philip Kristoffersen
2022-05-01 07:35:50 +02:00
committed by GitHub
parent 9fdf56d5ed
commit 3f075f80f1
+9 -21
View File
@@ -182,24 +182,19 @@ impl MyEguiApp {
.auth_key .auth_key
.as_mut() .as_mut()
.unwrap_or(&mut empty_string); .unwrap_or(&mut empty_string);
let mut auth_key_clipboard = false;
ui.label("Authentication key: "); ui.label("Authentication key: ");
if let Ok(mut clipboard_ctx) = copypasta::ClipboardContext::new() { if ui.text_edit_singleline(auth_key).changed() {
if let Ok(content) = clipboard_ctx.get_contents() { *auth_key = auth_key.to_string();
if auth_key.is_empty() && looks_like_auth_key(&content) { }
*auth_key = content.clone(); if auth_key.is_empty() {
auth_key_clipboard = true; if ui.button("Paste from clipboard").clicked() {
} else if content.eq(auth_key) { if let Ok(mut clipboard_ctx) = copypasta::ClipboardContext::new() {
auth_key_clipboard = true; if let Ok(content) = clipboard_ctx.get_contents() {
self.settings.steamgrid_db.auth_key = Some(content.clone());
}
} }
} }
} }
if ui.text_edit_singleline(auth_key).changed() {
self.settings.steamgrid_db.auth_key = Some(auth_key.to_string());
}
if auth_key_clipboard {
ui.label("Found API Key in clipboard");
}
}); });
ui.horizontal(|ui| { ui.horizontal(|ui| {
ui.label( ui.label(
@@ -294,10 +289,3 @@ impl MyEguiApp {
} }
} }
} }
fn looks_like_auth_key(content: &String) -> bool {
content.len() == 32
&& content.is_ascii()
&& content.chars().all(char::is_alphanumeric)
&& content.chars().all(char::is_lowercase)
}